Libpd and Juce - from a noob's perspective!


Hi All,

I’ve always struggled with anything more lowlevel than Arduino/Processing/Openframeworks so forgive the dumb question.

I’ve come here through libpd and after watching hours of Juce conference videos but still not really having a great understanding of Juce. To my knowledge it appears to be a layer of abstraction between the OS and your application that takes care of all the audio glue. But if so, why would anyone want to combine libpd with juice, since that’s also what libpd does?

There is even a thread in this forum talking about the possibility of embedding Juce into Pure Data! Now I’m really confused.


JUCE is an OS level abstraction library, covering not just audio, but all of the major OS API’s, file system, UI, process/thread control, etc. While I believe libpd is Pure Data without the GUI? So, I assume it operates on PD objects, and can lod PD patches, etc. It seems one would want to use libpd if they want to either create, and/or load and use PD patches in their app. So, embedding it in a JUCE app makes total sense in that context.


Yes, I see now. It’s handy if you specifically want ‘PD patches’ in your app. Maybe as a feature for end users, but I guess once you go to the trouble of coding a JUCE app, you might as well port all of your DSP to JUCE since libpd/PD is not very CPU friendly.