Personal tools
You are here: Home development Google Summer of Code LibPDEngine
Views

Edit history

Edit: -1 of 1
Time: 2009-03-08 20:54:22
Note: /pd/pd/dev/summer-of-code/LibPDEngine/edit

changed:
-
----

=== Possible Mentors ===

Chris McCormick

=== Description ===

**!LibPD: Pd's Engine as a Library**

Several people have expressed interested in embedding Pd's audio engine inside their application, often a game, and Pd has already been implemented in at least one commercial game (Spore) and one commercial application (RjDj).  At the moment, using Pd's engine as a library is kind of annoying. There is no default makefile target to build it like that and you have to tweak and mess about with things quite a lot.

For this summer of code task we'd like to see it become easy to compile and distribute Pd's engine as a standalone library, to enable it to be embedded inside other programs.

The result should be:

 1. Modifications to the makefile to provide a libpd.so target (cross platform).
 2. Example code for linking Pd into your own projects.
 3. Support the different options for the scheduler integration and multi-threading vs. multi-process (see mailing list threads below)

Articles about Pd in games:

 * Gamasutra article on using Pd: http://www.gamasutra.com/resource_guide/20030528/paul_01.shtml
 * Pd in spore post: http://lists.puredata.info/pipermail/pd-list/2007-11/056324.html


Some useful links to start:

 * http://pure-data.svn.sourceforge.net/viewvc/pure-data/trunk/pd/src/ : Pd's source code
 * The following threads: http://lists.puredata.info/pipermail/pd-list/2007-12/057951.html , http://lists.puredata.info/pipermail/pd-list/2008-02/059463.html
 * Chris !McCormick's post in this thread includes a makefile example: http://lists.puredata.info/pipermail/pd-list/2008-02/059572.html
 * Good messages from Miller Puckette in the same thread: http://lists.puredata.info/pipermail/pd-list/2008-02/059540.html http://lists.puredata.info/pipermail/pd-list/2008-02/059612.html
 * And one more thread where Miller discusses this more and gives example code: http://lists.puredata.info/pipermail/pd-list/2008-12/066755.html

=== Required Skills ===

 * C programming
 * Some knowledge or interest in learning about the basics of Pd's core, scheduler etc.
 * Some knowledge of build systems (makefiles, autoconf) on Linux, Windows and OS-X


Powered by IEM Powered by Plone Section 508 WCAG Valid XHTML Valid CSS Usable in any browser