Thanks for the help, I appreciate it.
Right now I'm just going through and removing references to functions in each those files (s_loader.c, s_inter.c, x_net.c), replacing them with stuff that will silently fail or do nothing, and things are compiling well.
Just to be sure (s_inter.c seems very large), if I completely remove s_inter.c, am I going to break things, or should I be writing basic functions (return 0 or -1) for each of the functions in socket.h?
Again, thanks for the quick responses. This is really helping me out a lot!
-AndrewOn Wed, Jul 27, 2011 at 3:39 PM, Hans-Christoph Steiner <hans@at.or.at> wrote:
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.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.
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.
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
No <socket.h> means no gui, no [netsend] and no [netreceive].
.hc
----------------------------------------------------------------------------
Programs should be written for people to read, and only incidentally for machines to execute.
- from Structure and Interpretation of Computer Programs