Personal tools
You are here: Home documentation developer BuildingPdForiPhone
Views


Straight Pd-vanilla can run fine on the iPhone and iPod Touch. You will need a jailbroken OS in order to run it. Building it is easy:

Once you have scp'ed your Pd to your iThing, then you can run it via the terminal on your iThing:

  • ldid -S /tmp/pd

  • /tmp/pd -nogui -noaudio -nomidi -open mypatch.pd

externals

It is also possible to build and load externals. If you have jailbroken your iThing, then you can use regular externals. There is a Makefile template available in pure-data svn: http://pure-data.svn.sourceforge.net/viewvc/pure-data/trunk/externals/ext13/Makefile?view=log

To build for iPhoneOS, run this on a Mac OS X machine: make CPU=arm

running it on the command line

Currently, there is no Pd GUI on the iPhone, only for Pd-based apps like iJam and rjdj. But you can run it from ssh or the Terminal. -nogui is essential, the rest of the flags are optional:

 ./pd -nogui -noaudio -nomidi -open multitouch-test.pd

building cyclone

cd pure-data/trunk/externals/miXed/cyclone
make clean
find .. -name \*.o -delete
make \
    CC=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc \
    CPP=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/cpp \
    CXX=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++ \
    CFLAGS="-I../shared -I/Applications/Pd-extended.app/Contents/Resources/include -fast -funroll-loops -fomit-frame-pointer -miphoneos-version-min=3.0 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk -arch armv6" \
    LFLAGS="-bundle -undefined dynamic_lookup -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk  -arch armv6 -lc"

Related Projects

  • libpd for iOS

  • rjdj is based on Pd running on iPhoneOS, but is not fully free software

  • pdlib is another Pd port for iPhoneOS related to the iJam app

  • iPd is another Pd port for iPhoneOS designed to be an audio engine



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