Is it possible to use an existing C/C++ library in JUCE?


I have a MIDI Processing application where all the work (the engine) is done in a C/C++ library. In the past, I’ve created Mac and Windows applications by wrapping this library in a platform-specific GUI “shell” and then using the APIs in the engine to access the library. MIDI comes in to the shell, calls an API that goes into the engine, it spits out MIDI through an API which is then sent out to the real-world by the shell.

I’m looking to turn this into a plug-in, somehow. I’ve come across JUCE and am wondering if I could do the same thing here - incorporate my library (without rewriting it) and sort of wrap it with the JUCE in/out stuff and GUI, accessing my engine through the built-in APIs.


I had similar questions when starting with juce.
It‘s totally up to you which parts of juce you use. I didn’t totally understand if your library handles MIDI I/O itself or just processes MIDI data. Assumed the First is true, you could set up a juce GUI application that doesn‘t handle any audio and midi I/O, build a juce bases GUI and call your midi library code from within there. You can simply add external libraries to link in the projucer and it will set up the plattform specific project to include that library.