aboutsummaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README80
1 files changed, 53 insertions, 27 deletions
diff --git a/README b/README
index 5737e2a..53fbd90 100644
--- a/README
+++ b/README
@@ -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