Migrating to Juce, any feedback?


#1

Hi board,

That’s it ! I’m considering moving my plugins to Juce (I don’t like spending most of my time dealing with 32/64 bits issues, or incompatibilities with AudioUnits). Can anyone provide feedback on how easy (or hard) this is ? where to start ? any advice ?

Many thanks in advance,

'Tick


#2

No one ? :?


#3

It is a bit surprising that no-one’s replied to this!


#4

Yes. Anyway, the plugins I’m working on right now clearly show the limits of the libraries I’m using (vstgui, vstau, and many others…), so Juce seems to be the most logical choice.


#5

What i can say, i tried using VSTGui, but it was … well it was a bad experience, one i don’t want to repeat.

With JUCE it’s all simple, you need to wrap your head around Components and events that happen, and you should be set. DSP stuff is the same as always JUCE helps with that but will not do the job for you, in terms of UI and cross-platform’ness it will help a lot. I got my plugins on Windows/Linux/OSX VST/AU[osx] working and running, no #ifdef’s and ugly stuff, i do mostly MIDI stuff but i did some Audio too.

It’s easy and it’s fun i guess that’s what i can say. So go for it.


#6

You should be aware that the cross-platform plugin wrapper only extends so far. If you want to use “real world” values for your plugin parameters (i.e. 440 Hz, 540 msec, etc.) as opposed to a 0.0-1.0 range, you will need to come up with your own solution for mapping your AU parameter values to the 0.0-1.0 range for VST and RTAS.

I would also suggest creating a base audio plugin class that is proprietary, and having wrappers for native AU, VST, and Juce. This helps when prototyping plugins, as you can whip out an Audio Unit or VST sans GUI very quickly, and create the Juce GUI later.

Jules knows a lot, but he’s in London, which can make for a big time lag between when you write a question on the forum and when you receive an answer if you are in North America. Staying up really late at night every now and then can be helpful.

Juce is huge. I’ve been working with it for a few years, and am only now getting the hang of it. There is a LOT to learn in there. Sometimes this is annoying, sometimes it can be a good thing. VSTGUI seems much simpler, but pretty limited overall.

Sean Costello


#7

and crap :slight_smile:

Juce is one of the most impressive code playground for your applications. Everything is organic and well written, and this perfection style of coding helps you write in a better style overall. You’ll never go back :slight_smile:


#8

[quote=“BigTick”]Hi board,

That’s it ! I’m considering moving my plugins to Juce (I don’t like spending most of my time dealing with 32/64 bits issues, or incompatibilities with AudioUnits). Can anyone provide feedback on how easy (or hard) this is ? where to start ? any advice ?

Many thanks in advance,

'Tick[/quote]

Check out the ValueTree for parameter management :slight_smile:


#9

Yep. ValueTree is awesome, I just finished implementing it in my app.
Which by the way is becoming this (well, it’s not a plugin, but it will soon host plugins):
http://img684.imageshack.us/img684/7007/puzzledu.jpg

BigTick, I’m sure you will not be disappointed! Juce is amazing for crossplatform development!


#10

[quote=“masshacker”]Yep. ValueTree is awesome, I just finished implementing it in my app.
Which by the way is becoming this (well, it’s not a plugin, but it will soon host plugins):
http://img684.imageshack.us/img684/7007/puzzledu.jpg

BigTick, I’m sure you will not be disappointed! Juce is amazing for crossplatform development![/quote]

Nice looking app by the way !

Migrating to Juce will take you some time to learn how it works, but once you understand it, it’s a huge time saver, and it’s a breeze to use it. Honestly, IMHO, it’s the best all-encompassing C++ library around. Check out the reviews on the web, they all say pretty much the same !

The only thing it’s missing right now is some good “getting started” documentation, but after all, it’s an open-source library, so it should be our job too to write it :slight_smile: