libpd Xcode projects

screen shot of the demo application

screen shot of the demo application

I have created two projects based in Xcode for Mac OS 10.8.  They use the libpd audio synthesis library which in my opinion is the best sounding and easiest to use audio synthesis library I am aware of.  The first project uses only C.  I took the libpd C example and added an audio port using the port audio API.  With this project you can interface with your .pd patch using only C.  This is a great way to test things before applying a GUI layer or to just demo the library.  The project could also be used in C++ too, but I did not test it.

The second example is more complex.  It uses both libpd and port audio, and includes a GUI layer programmed in C++ using the JUCE library.  This is a way to customize your application in whatever way you like.  It is advised that you have a general knowledge of C++ or other object-oriented programming languages, as I will probably not be answering an email questions about how to use these libraries.  But you can always try.

If you have never used libpd or Pd (Pure Data) then you should probably start with Pure Data which is free here: http://www.puredata.info.  It is a patcher-style visual programming language for audio synthesis.  Libpd is a code-based library version of Pd that can be embedded into almost any project, which means Pd can work just about anywhere (your iPhone, Android, Watch, Car, Oven, etc…)

Finally, if you want to use this code in another platform you are welcome to try.  I didn’t use any preprocessor directives in my code to check for the OS when compiling but JUCE, libpd and portaudio are pretty good about that.  Good luck.

Download the Xcode project using C-only: Libpd using C

Download the Xcode project using JUCE, et. al.:  Libpd using JUCE