[PD] Porting PD to Java (feasible with Cibyl?)

Hans-Christoph Steiner hans at at.or.at
Wed Jul 27 21:39:23 CEST 2011



In terms of feasibility, most of Pd is really plain C, so it should be  
an easy port.  The only things that are not are the various I/O  
methods (audio, midi, files, net, etc).  You'll need to write a audio  
I/O driver, that'll probably be in Java.  You can look at the Android  
port for an example.  libpd talks to the Java audio I/O via a JNI lib.

On Jul 27, 2011, at 2:28 PM, Mathieu Bouchard wrote:

> On Wed, 27 Jul 2011, Andrew VanderVeen wrote:
>
>> So, since it's not exactly ideal to re-implement these headers in  
>> Java (I don't even know if it's possible), is there a way that I  
>> can pull these files out of the pure data project?  I'm not  
>> entirely sure what they do, or how essential/core they are to the  
>> project.  Can I just remove certain (unneeded?) functionality?
>
> No <dlfcn.h> means no externals except by explicit linkage.

Yeah, basically, if you want to add extra objects, then'll need to be  
compiled and linked in before processing with cibyl.  You can ignore  
that stuff to get things working, indeed the iOS version does not use  
it at all.  Then later you can figure out how to include external  
objects if need be.

> No <socket.h> means no gui, no [netsend] and no [netreceive].


Since you're most interested in the libpd approach, then you don't  
need to worry about the socket for the GUI.  That you can skip.   
Indeed that's the normal way with libpd.  As for [netsend] and  
[netreceive], those are a way

.hc



----------------------------------------------------------------------------

Programs should be written for people to read, and only incidentally  
for machines to execute.
  - from Structure and Interpretation of Computer Programs




More information about the Pd-list mailing list