StandAlone/VST/AU/RTAS and... iPad!


#1

Hi all,

I’m working on a new software project, and my company already has a commercial Juce license, so I wanted to look into using it for the complete cross-platform project. I’d like to have a single project with a lot of common code that can run my app as a StandAlone app, any one of the plugin formats, or also on the iPad or iPhone. Let’s pretend it’s just the iPad (no iphone, but yes stand-alone and plugins) and that I want to use the same resolution for all versions 1024x768.

I’ve built the AU plugin example and I’ve built the iPhone example. Any tips on getting them to live in the same XCode project? I’d like to get to the point where I have a HelloWorld speech bubble class/project and I hit build, and I get a Stand-Alone, a plugin, and an iPad app out of the process. I’m familiar with the basics of Juce, and I’m very familiar with coding for the iPhone and the iPad, having released several audio apps for iOS. I spend the least amount of my time creating build environments. It’s one of those things I hate for a few days, and then forget how I did it six months later when I’ve shipped the thing. I have not used Juce to create an UI, but I’m more familiar with its basic file handing functions, core audio, and plugin wrapper classes.

I’m thinking multiple targets and I’ll just have to exclude unnecessary files from each target by unchecking the file from the Details tab. Am I on the right track?

Thanks in advance,
Hayden


#2

A plugin and app are fundamentally different beasts, they need different files to be included, they have entirely different startup sequences…

Personally I’d use the jucer to generate two projects, one for the plugin and one for the app, and share most of the files between both. I suspect that it’d be far less hassle to maintain two simple, automatically-generated projects than one complicated, hand-built one with multiple targets.


#3

I was experimenting with the Jucer pre-built binary version, and I don’t see any project creation. Only a MyComponent.cpp export sort of thing. If I had a Stand Alone desktop project, an iPad project, and a plugin project, I’d like to share GUI code between them. Could I create one interface using the Jucer, and have each project point to those interface classes in such a way that I don’t have to add resources and classes three times every time they change, or maintain three variations of the same GUI components?

I’m trying to avoid the change the same thing multiple times in order to maintain the GUI across all these apps. Common audio classes shouldn’t be a problem.

I’m following your advice right now though and attempting to build a few different projects that all the load the same component class that I created in the Jucer.


#4

There are two very diffent kind of “Jucer” applications right now. The one that is also available in the prebuilt directory is the “old” one whichdeals with composing GUI classes. The one jules mentioned for project management can be found in the “extras/Jucer (experimental)” folder, and its currently not available in a prebuilt-version, but there are project files available for all supported platforms, so it should be easy to your to build it yourself.

To share jucer-generated GUI components between your different projects you’d just save them once with the “old” jucer, then add them to each of your project with the “new” jucer.


#5

Got it. Thanks for that. Are there any examples for compiling plugins to run as stand-alone?

H


#6

I got a plugin running as standalone using the standalone wrapper.
It’s not complicated at all. All you need is a startup file creating the standalone window.
That said, I wish there was an example of the standalone wrapper as well.