diff options
Diffstat (limited to 'README')
-rw-r--r-- | README | 80 |
1 files changed, 53 insertions, 27 deletions
@@ -2,8 +2,7 @@ pdj - java plugin interface to pure-data ########################################################################### -RELEASE 0.8.3 / September 2007 - +RELEASE 0.8.4 / March 2008 PDJ enables you to write java code to interact with pure-data objects. The API is totally based on Cycling74 Max/MSP 'mxj' object implementation. This @@ -22,15 +21,10 @@ IMPLEMENTED: * Atom 98% * MaxSystem 90% * MaxQelem 90% - * MSPObject 85% (missing signal in/outlet detection) + * MSPObject 90% (missing signal in/outlet detection) * MSPPerformable 100% * MaxPatcher 5% -TODO: - - * MSPObject connection status - * MaxBox/MaxPatcher object; inspiration from dyn~ (kudo Mr. Grill!) - LIMITATION: * Signal inlets cannot be hot inlets for receiving atom message. @@ -38,13 +32,6 @@ LIMITATION: to this inlet, pdj won't be able to process it; float or symbol. This looks like a work as designed in pd. -BUGS: - - * OS X: cannot use AWT classes with OS X because of a weird bug - that locks the thread when the GUI libraries are loaded. - -> http://lists.apple.com/archives/java-dev/2004/Mar/msg00910.html - this solution has been tested but the loadLibrary still hang. - WORKAROUNDS: * on most cases you don't have to put the JVM libs dir to the @@ -53,34 +40,32 @@ WORKAROUNDS: * on some machines, the System.out redirection can crash PD. If it is the case, you can disable it in the pdj.properties file; check the property: pdj.redirect-pdio. + * You must use pdj pd scheduler if you need to use AWT with OS X. + See below. REQUIEREMENTS: - * pure-data 0.38.x or better + * pure-data 0.41.x * java JDK version 1.4.x or better; use 1.5 if you can ! - * works on linux, windows + * works on linux, windows and OS X (10.3.9) REQUIEREMENTS FOR BUILDING: * apache ant 1.6.x or better + * comes with it's own version of cpptask that has been patched for + linking with GCC/OS X with the -arch argument. * c compiler INSTALLATION: * if you are using the source distribution, build it before -> download java sdk from java.sun.com (unless you are using OS X) - -> download apache ant for ant.apache.org -> edit file <your platform>-build.properties -> in the root directory of pdj, run 'ant package' - * add the pdj external (pdj.pd_linux/pd.dll/pd.pd_dawrin) directory - to your pd path (very important on OS X) * the other files of the original binary directory must be in the same directory * double check dist/pdj.properties to be sure that the JAVA environment parameters are right - * === OS X WARNING ==== - I am working on a universal binary of pdj. This is planned on version - 0.8.4. If you really need a OS X build, email me. USAGE: @@ -88,18 +73,57 @@ USAGE: * create a pdj object with the name of the java class; if you have not compiled it before, pdj will do it for you +USING AWT WITH OS X: + + Unlike Linux or Windows, you cannot just simply fire-up a AWT form on OS X. + This is because the event GUI mecanism has these limitation : + + --> A CFRunLoopRun must be park in the main thread before the main loop is + started + --> Java must be run in a secondary thread. + + Since this prerequisite need a pure-data patch, we will write our own pd + scheduler. This scheduler will simple fire-up another thread that will + run the real pd scheduler (m_mainloop) and park the main thread with a + CFRunLoopRun. + + To be able to use the pdj scheduler, you need to apply a patch to pd. (Yes + there is a bug with the -schedlib option). The patch is available in the + directory src/pd_patch/osx_extsched_fix.patch. This patch has been made on + a miller's 41.2 pd version. + + Once the patch is applied and compiled, you must configure your pure-data + environement to add the option : -schedlib [fullpath of the pdj external + without the extension]. Use the menu Pd -> Preference -> Startup to do this. + Don't forget to click on [Save All Settings]. + + Be carfull when you configure this switch since it can crash PD on startup. + If you do have the problem; you will have to delete all pd-preferences by + deleting file: ~/Library/Preferences/org.puredata.pd.plist + + If the scheduler is loaded, you should have this pd message : + 'pdj: using pdj scheduler for Java AWT' + CHANGELOG: + + --- VERSION 0.8.4 --- + * amd64 for Linux (thanks to Sergio Torres-Perez) + * getInlets() starts at 0 not 1 (thanks to MiS) + * OS X gets pdj path by it's library path + * OS X powerpc/intel distribution + * added a user guide + * FIXED: AWT usage on OS X + --- VERSION 0.8.3 --- * Atom.getInt() on a float now works. * corrected some classpath definition issues with windows * bypass the java compilation with pdj.compiler=null * remove dependencies task for cpptasks.jar (now part of distribution) * FIXED: comment on property pdj.vm_args failed to initialize VM - * BUG: cannot link with OS X and cpptasks. Planned on 0.8.4 --- VERSION 0.8.2 --- * if javac is set, using the javac compiler from the JAVA_HOME first - * optimizations (main thread JVM and symbol method resolution) + * optimization (main thread JVM and symbol method resolution) * FIXED: using pdj.classpath with directories * FIXED: search path on file in the current directory * FIXED: leak with open_path and casting warnings @@ -144,7 +168,7 @@ CHANGELOG: --- VERSION 0.5 --- * method inlet resolution (bang->float->list->anything) now works - * windows support (premilinary support) + * windows support (preliminary support) * auto-compiling class of every .java in /class (max -1; pdj +1) --- VERSION 0.4 --- @@ -166,9 +190,11 @@ CHANGELOG: THANKS: + * Sergio Torres-Perez * Thomas Grill + * Michal Seta * patrick a 11h11 * pd-mtl crew ! -(c) Pascal Gauthier 2004-2007, under BSD like license +(c) Pascal Gauthier 2004-2008, under BSD like license asb2m10@users.sourceforge.net |