I gave-a-go to libPD last summer. I discovered Peter’s book, immediately ordered the kindle version, and sat at the kitchen table coding the night away. To be honest, there wasn’t much coding; just an endless slew of Xcode warning flags and warnings. I was excited about the idea of linking dataflow programming and objective-c, but libPD ended up adding way too much complexity to the process.

Time warp to this past week. I discovered this new video tutorial from Hdez on getting up and running with libPD, and c’est super bon!  Hdez, who has also done a few courses for, knocks this one out of the park. Here is a quick run-down of the 11-video course:

Video 1: What you need to get up and running
Video 2: Downloading and installing libPD (which is not straightforward)
Video 3: Importing libPd into Xcode (probably a million ways to mess this up)
Video 4: Getting rid of the Xcode warning messages (A+ here Dr. Raphael)
Video 5: PD-101 (super quick patching)
Video 6: Initializing the PD engine (working the AppDelegate)
Video 7: Making a PD “container” (i.e. class) for your patches
Video 8: Dropping your PD Patch into your new container
Video 9: Window-dressing and Interface Building; MVC stuff
Video 10: Objective-c talks to PD (FINALLY).
Video 11: From simulator to device

The end result is a iOS app that “switches” an oscillator on and off. Yes, it’s simple…but it works (finally). In a few days I’ll post some follow-up work that I’ve done since getting up and running with libPD. In particular, I’m finishing a short tutorial that explores sending data from the various iOS UI elements (switches, buttons, sliders, segmented-controls, steppers, etc.). “Receiving” data from PD is a whole different can of worms.  Adding “listeners” involves a few extra steps; I’ll post some details on those processes soon.

If only we could convince Yokoyama to make a similar video series for his foray into libPD for Swift.   Until then, objective-c it will be.