Problems creating new target AU in XCode

Hi all:

I am a Juce newbie, and am struggling with XCode. Here’s the details:

  • I can get the Juce example plugins to compile for AU, Mac VST, and Windows VST.
  • I have my own plugin running as a Windows VST.
  • I am having a lot of problems taking the example AU project, and using it to compile my new plugin.

Specific issues:

  • If I try to rename the existing Target, things work well, but if I try to rename the .component file under Products, it will either disallow this (XCode 2.5) or crash (XCode 3.0).
  • If I duplicate the existing Target, I still am unable to rename the .component.
  • Creating a new Target from scratch works, but I am unsure how to get the files I need within the .component.

This might be basic XCode stuff, but I am only using XCode for this product, as I am much more used to VisualStudio and other products (VisualDSP++, CodeComposer for TI).

Ideally, I would like to have a single project file with multiple Targets, one for each of my plugins.

Any help on this would be greatly appreciated. I would like to use Juce commercially (the Windows plugin I created works nicely), but I want to have both the Mac and Windows side up and running before purchasing.

Thanks,

Sean Costello

Yes, XCode is a bit of a shock when you’re used to visual studio!

I think the name of the output .component is somewhere in the list of build settings, you can’t edit it directly.

double click the target under the “targets” node. Go to the Build tab, change the “Product Name” field.

For multiple targets it’s a bit unlike Visual Studio because there’s only one project. Each source file in the project has flags as to whether or not it is to be built into the various targets. This can be edited in 3 ways I remember off hand:

  1. When you add or create the file, you pick the targets.
  2. In the file’s info window and “targets” tab.
  3. Right in the project file listing, there’s a check box that indicates whether a file will be built into the Active Target.

You can also create an aggregate target to do the equivalent of “Build Solution”.

What I usually do is this:

Say I have a project with one plugin target and I want to add another plugin to the project. Just duplicate the existing target, change all the properties and build settings, add the files for the new plug-in (be sure to only check the new target in the dialog that pops up), make the new target the “active target”, and un-check any files that only belong to the original target.

I have just made a template for Xcode2.5/3.x, does anyone have free space for me uploading?

Using the template you can create a new project for VST/AU with desired project name and project/solution for VS.NET2005 is created as well.

So you can start cross platform audio plugin project from that template.

Best regards,
Masanao Hayashi

[quote=“hayashi”]I have just made a template for Xcode2.5/3.x, does anyone have free space for me uploading?
[/quote]

Sure, PM me.

[quote=“jules”]Yes, XCode is a bit of a shock when you’re used to visual studio!

I think the name of the output .component is somewhere in the list of build settings, you can’t edit it directly.[/quote]

I’ve been using $TARGET_NAME everywhere I needed the product name i.e int the plist (using preprocess plist info), the PRODUCT_NAME…etc

that way you can easly copy/paste an old xcode project, change the targetName and you’re done

[quote=“mdsp”]
I’ve been using $TARGET_NAME everywhere I needed the product name i.e int the plist (using preprocess plist info), the PRODUCT_NAME…etc

that way you can easly copy/paste an old xcode project, change the targetName and you’re done[/quote]

OK, I have done this in the Build pane of my target, and it seems to work well. However, the preprocess plist info does not seem to be working as I would like. I have a file titled Info-SeanAU.plist, and I have the following line in the XML:

<key>CFBundleIdentifier</key>
<string>com.ValhallaDSP.${TARGET_NAME}</string>

When I view the Properties pane of my target, I get the following Identifier:

com.ValhallaDSP.${TARGET_NAME}

Is there some other formatting I need in order to have the TARGET_NAME used as part of the CFBundleIdentifier?

Thanks,

Sean Costello

[quote=“hayashi”]I have just made a template for Xcode2.5/3.x, does anyone have free space for me uploading?

Using the template you can create a new project for VST/AU with desired project name and project/solution for VS.NET2005 is created as well.

So you can start cross platform audio plugin project from that template.

Best regards,
Masanao Hayashi[/quote]

did your template make it up on the web? i can host it if you like. just email to jono at aliendigit dot com and i’ll get it up.

It can be downloaded from here.
http://www16.tok2.com/home/ring2/Test/JuceAudioPlugin.zip

The template replaces the file name and class name with given project name as well as project name, but it might not good because you can’t use ‘-’ or space for the project name.

Best regards,
Masanao Hayashi

404 not found, could you upload again? I’m also having a lot of trouble with xcode projects

cheers,

oli

[quote=“olilarkin”]404 not found, could you upload again? I’m also having a lot of trouble with xcode projects

cheers,

oli[/quote]

Oops, sorry…

Please try to access this page.
http://www16.tok2.com/home/ring2/Test/

  • Masa