JUCE and openframeworks?

I want to create a desktop application with full native GUI, ability to load and play midi+audio files, and lots of 2d/3D animation.

  • I like JUCE for its overall application structure, audio handling, and native UI.
  • I like openframeworks graphics abilities (wrapping OpenGL, eliminating overly complex and verbose graphics coding).

Is there any way I can combine openframeworks and JUCE to get both of these needs met? I considered switching purely to JUCE but learning OpenGL from scratch (after having spent over a year building a prototype on oF) seems like a massive setback.



ive been wanting a way to create. a plugin or a way to use openFrameworks as a plugin development workflow.
audio unit would be fantastic, since I live in the macOS realm [not Catalina thank you ;)]. but even doing a merge of both would be interesting.
I remember asking this question quite a few years ago [just using oF & not any other framework] to create audio effects plugins to use in DAW

Hey, that’s an interesting topic, I spend some time the last days trying to integrate OF into some DAW plugin framework, or the other way around. Unfortunately without much success.

Maybe I can take this opportunity to share some of my thoughts on this broader topic:

I have restarted some work on my OF/iOS synth app where I worked on and off the last years. But “pro” iOS music users expect pretty much all the options like AU/AB/Link/Midi and casual users will probably not pay for such “niche” apps. I managed to integrate AB, Link and Midi, but was barley able to fund the Apple Dev membership with the sales of my last app. So even putting something up for free, so that others could use it, would just cost me money. Not really happy with this situation :frowning: as I think the audio/music environment for iOS is really great and OF has some nice experimental potential for that niche.

So I looked also at JUCE and Iplug2, both wrap all those plugin targets (VST2,VST3, AU, x64, x32, osx, ios, standalone etc…) into projects similar to the OF project generator. That’s really convenient, but I think both frameworks are lacking in the graphical side compared to OF and make it hard to integrate other libs or frameworks. JUCE has also a big downside which is the licensing. Iplug2 has only a basic 2d gui lib integrated.

Maybe just using the VST SDK could be an option for a minimal integration, it can run on both osx and Windows. But I have no idea how it would even run with OF as it needs to be a osx Bundle or win Dll. The closest I have come to compile VST on its own (there is really not much documentation) was this example, but still only get errors.

So in the end I’m not sure if it’s worth to spend so much time on finding a solution. The ratio of low level coding/setup vs. actual building something interesting is really bad. Also most of the interaction with DAW’s or other apps should be possible with audio routing (Soundflower, Blackhole, Midi, OSC). I remember the huge amount of time I’v spend on figuring out how to integrate the Audiobus Sdk into OF (Github template) for my last app, mostly only to tick a feature checkbox.

Curious what other people think.


I remember @marek showing me a Juce + OF integration several years ago.
Although I still think he might give a good advice about how to approach this.


iplug2 seems like the better option. mainly because there doesn’t seem to be any pricing wall. personally that’s where I would want to go if I wanted something like it.
though admittedly I am going to look into iplug2 in general, even if I don’t use it with openFrameworks. though that would be the bonus :wink:


@lethalrush - what sort of interface do you need? Can you just make it in openframeworks? I don’t think Juce actually supports a native UI, it just draws it’s own one (all on cpu iirc, which is not ideal). Would you entertain the idea of writing your own ui?

@roymacdonald - hope you’re well! - it wasn’t OF + Juce but OF + iplug2 (sort of). I can’t seem to find the code anywhere though, otherwise I’d share it…

@lewislepton I agree with you about the licensing of Juce being a bit of a turn off, same reason I went with iplug2. There is an opengl example in iplug2 already, so I guess that’s the starting point, so it’s just a case of fusing that to openframeworks somehow. I would probably start with the wdl-ol project and start pulling oF stuff into it because the xcode configuration for creating AU’s etc it a bit more tricky to set up from scratch

1 Like

Hey @marek. All good here. Hope you too!
I remembered that you were using JUCE + OF but I might just be wrong. iplug2 seems quite nice. I’ll give it a try, hopefully soon.

what sort of interface do you need? Can you just make it in openframeworks? I don’t think Juce actually supports a native UI, it just draws it’s own one (all on cpu iirc, which is not ideal). Would you entertain the idea of writing your own ui?

I just need platform-native menus, buttons, dropdowns, etc. ofxGui is pretty good but it doesn’t have some important GUI controls (like dropdown menus), and it looks very raw (which is great for prototyping but not so much for creating consumer application)

How about just using the native GUI directly? Here’s an example that comes with the iOS openframeworks example, haven’t actually run it, but it looks like what you might need.

I agree that ofxGui does look a bit raw, I guess it’s more of a debug UI. My 2 iphone apps (koala sampler and sampletoy) have only opengl based UI’s with things like dropdowns and menus etc, but they were coded from scratch and a bit of a pain but a good learning experience. Can help you with that if you go down that route.