pdj-logo java external plugin for pure-data

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.

This is a work in progress and some features are missing and some might not even be ported. I am trying to do my best to release soon and often! If you find any bugs feel free to contact me.

Is it compatible with mxj on Max/MSP ?

On the I/O level it is. Anything that deals on receiving/sending atoms will try to match extact mxj behavior. Off course, mxj is acting like a reference implementation. The API complience is based on Max/MSP 4.5.5 with MSP signal support.

How does it looks ?

This overview :

import com.cycling74.max.*;

public class help_class extends MaxObject {

public help_class() {
declareOutlets(new int[] { DataTypes.FLOAT, DataTypes.ALL });
}

public void inlet(float x) {
outlet(0, x);
}

public void bang() {
outlet(1, "BANG! received");
}

public void callme(Atom args[]) {
outlet(1, "callme has called with arg1:" + args[0].toString());
}

public void dynamic_method() {
outlet(1, "dynamic_method has been called");
}

}
Looks like this:

pdj-help example

Please see the javadoc for more information.

How to write pdj externals:

Edit your .java in the /classes directory (in the pdj home) with your favorite editor. Type the name of the .java file (without the extension) into the pdj object argument. If pdj finds out that the .java is younger than the .class, pdj will compile it for you.

Requirements:

  • pure-data 0.41.x
  • java jdk 1.4.x or better; use java 1.5 !!!
  • apache ant 1.5.x or better for building
  • works on Linux / Windows / OS X
  • Download:

    Download latest release here: pdj-0.8.5.tar.gz / pdj-0.8.5-win32.zip / pdj-0.8.5-osx.tar.gz - for 10.4/10.5 / pdj-0.8.5-osx103.tar.gz - for 10.3 (May 2008)

    Documentation: pdj.pdf

    Contact: asb2m10 .at. users.sourceforge.net