diff options
author | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2008-03-22 02:15:12 +0000 |
---|---|---|
committer | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2008-03-22 02:15:12 +0000 |
commit | a764e59e1d3a8e330f0d484fdb26b35ca3f0b2e4 (patch) | |
tree | c4ecadccdecf2809b99c0da0545f255a6ad25bb5 /README |
bringing pdj-0.8.3 into the main branchsvn2git-root
svn path=/trunk/externals/loaders/pdj/; revision=9621
Diffstat (limited to 'README')
-rw-r--r-- | README | 174 |
1 files changed, 174 insertions, 0 deletions
@@ -0,0 +1,174 @@ +########################################################################### +pdj - java plugin interface to pure-data +########################################################################### + +RELEASE 0.8.3 / September 2007 + + +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 +will enable java mxj objects to run on pure-data with pdj. You can also +create signal/tilde (~) objects. + +This is a work in progress and some of features are missing and some might +not even be ported. + +IMPLEMENTED: + + * MaxClock 100% + * MSPBuffer 100% + * Callback 100% + * MaxObject 100% + * Atom 98% + * MaxSystem 90% + * MaxQelem 90% + * MSPObject 85% (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. + This means that if you create a signal inlet and send an atom + 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 + LD_LIBRARY_PATH. If you have a UnsatisfiedLinkError, add it + before you start PD. + * 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. + +REQUIEREMENTS: + + * pure-data 0.38.x or better + * java JDK version 1.4.x or better; use 1.5 if you can ! + * works on linux, windows + +REQUIEREMENTS FOR BUILDING: + + * apache ant 1.6.x or better + * 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: + + * put your .java file in the /classes directory + * create a pdj object with the name of the java class; if + you have not compiled it before, pdj will do it for you + +CHANGELOG: + --- 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) + * FIXED: using pdj.classpath with directories + * FIXED: search path on file in the current directory + * FIXED: leak with open_path and casting warnings + * build for Intel Mac + * getting better at attribute support + + --- VERSION 0.8.1 --- + * added MaxPatcher object to get patch path + * FIXED: to match mxj: method with args[] will always be called first + + --- VERSION 0.8 --- + * pdj~ object support (MSPSignal/MSPObject/MSPPerformable) + * The JVM can now be server or in client mode (windows/linux only) + * JVM selection for OS X + * FIXED: working jikes compiler on OS X + * FIXED: declareIO inlets count + * FIXED: windows: System.out CR/LF errors on the PD console + + --- VERSION 0.7.1 --- + * OS X support with distribution + * FIXED: MaxSystem.locateFile now works + + --- VERSION 0.7 --- + * Better JVM resolution on win32 (eg: with the registry) + * Full implementation of MSPBuffer + * Added Atom methods with unit tests + * Windows binaries distribution + * FIXED: now filtering { and } with post() not to lock PD + * FIXED: anything gets called on a undefined bang/float/list method + * FIXED: defined inlet(int) without inlet(float) now works... :-\ + + --- VERSION 0.6.1 --- + * FIXED: outlet(Atom) and outlet(Atom[]) resolution error + + --- VERSION 0.6 --- + * MaxObject constructor with arguments + * partial attribute support; automatic field setter/getter + * added method bail on MaxObject + * strict declaration of inlets/outlets (with info outlet) + * System.out and System.err linked to the pd console + * outlet(atom[]) checks type before calling the right func. + + --- VERSION 0.5 --- + * method inlet resolution (bang->float->list->anything) now works + * windows support (premilinary support) + * auto-compiling class of every .java in /class (max -1; pdj +1) + + --- VERSION 0.4 --- + * more javadoc and documentation... but could be better + * multiple inlet operations + * loadbang now works + + --- VERSION 0.3 --- + * added a small and cheap javadoc. the original MXJ should be the + reference. + * partial MSPBuffer support + * Atom and MaxObject now supports Atom arrays + + --- VERSION 0.2 --- + * added classpath of $PDJ_HOME/classes and $PDJ_HOME/lib/* by default + * 95 % Dynamic JVM resolution with the JAVA_HOME; via dlsym (see BUGS) + * MaxSystem.deferLow(...) works ! :-\ + * added an help patch + +THANKS: + + * Thomas Grill + * patrick a 11h11 + * pd-mtl crew ! + +(c) Pascal Gauthier 2004-2007, under BSD like license +asb2m10@users.sourceforge.net |