Browse Source

Tweaked a few jucer settings to improve the default setup of a new plugin project.

tags/2021-05-28
Julian Storer 15 years ago
parent
commit
e90dcf51fb
4 changed files with 17 additions and 7 deletions
  1. +2
    -1
      extras/Jucer (experimental)/Source/Project/jucer_NewProjectWizard.cpp
  2. +6
    -3
      extras/Jucer (experimental)/Source/Project/jucer_Project.cpp
  3. +3
    -1
      extras/Jucer (experimental)/Source/Project/jucer_Project.h
  4. +6
    -2
      extras/Jucer (experimental)/Source/Project/jucer_ProjectSaver.h

+ 2
- 1
extras/Jucer (experimental)/Source/Project/jucer_NewProjectWizard.cpp View File

@@ -238,7 +238,8 @@ public:
File editorHFile = editorCppFile.withFileExtension (".h");
project.getProjectType() = Project::audioPlugin;
project.getObjectiveCClassSuffix() = project.getProjectUID();
Project::Item group (project.createNewGroup());
project.getMainGroup().addChild (group, 0);
group.getName() = "Source";


+ 6
- 3
extras/Jucer (experimental)/Source/Project/jucer_Project.cpp View File

@@ -134,8 +134,8 @@ void Project::setMissingDefaultValues()
getPluginName() = getProjectName().toString();
getPluginDesc() = getProjectName().toString();
getPluginManufacturer() = "yourcompany";
getPluginManufacturerCode() = "abcd";
getPluginCode() = "Abcd";
getPluginManufacturerCode() = "Manu";
getPluginCode() = "Plug";
getPluginChannelConfigs() = "{1, 1}, {2, 2}";
getPluginIsSynth() = false;
getPluginWantsMidiInput() = false;
@@ -347,6 +347,9 @@ void Project::createPropertyEditors (Array <PropertyComponent*>& props)
props.getLast()->setTooltip ("Sets an icon to use for the executable.");
}
props.add (new TextPropertyComponent (getObjectiveCClassSuffix(), "Objective-C Name Suffix", 256, false));
props.getLast()->setTooltip ("An optional string which will be appended to objective-C class names. If you're building a plugin, it's important to define this, to avoid name clashes between multiple plugin modules that are dynamically loaded into the same address space.");
if (isAudioPlugin())
{
props.add (new BooleanPropertyComponent (shouldBuildVST(), "Build VST", "Enabled"));
@@ -367,7 +370,7 @@ void Project::createPropertyEditors (Array <PropertyComponent*>& props)
props.add (new TextPropertyComponent (getPluginManufacturer(), "Plugin Manufacturer", 256, false));
props.getLast()->setTooltip ("The name of your company (cannot be blank).");
props.add (new TextPropertyComponent (getPluginManufacturerCode(), "Plugin Manufacturer Code", 4, false));
props.getLast()->setTooltip ("A four-character unique ID for your company.");
props.getLast()->setTooltip ("A four-character unique ID for your company. Note that for AU compatibility, this must contain at least one upper-case letter!");
props.add (new TextPropertyComponent (getPluginCode(), "Plugin Code", 4, false));
props.getLast()->setTooltip ("A four-character unique ID for your plugin. Note that for AU compatibility, this must contain at least one upper-case letter!");


+ 3
- 1
extras/Jucer (experimental)/Source/Project/jucer_Project.h View File

@@ -107,11 +107,13 @@ public:
const Image getBigIcon();
const Image getSmallIcon();
Value getObjectiveCClassSuffix() const { return getProjectValue ("objCSuffix"); }
Value shouldBuildVST() const { return getProjectValue ("buildVST"); }
Value shouldBuildRTAS() const { return getProjectValue ("buildRTAS"); }
Value shouldBuildAU() const { return getProjectValue ("buildAU"); }
bool shouldAddVSTFolderToPath() { return (isAudioPlugin() && (bool) shouldBuildVST().getValue()) || getJuceConfigFlag ("JUCE_PLUGINHOST_VST").toString() == configFlagEnabled; }
Value getPluginName() const { return getProjectValue ("pluginName"); }
Value getPluginDesc() const { return getProjectValue ("pluginDesc"); }
Value getPluginManufacturer() const { return getProjectValue ("pluginManufacturer"); }


+ 6
- 2
extras/Jucer (experimental)/Source/Project/jucer_ProjectSaver.h View File

@@ -362,8 +362,12 @@ private:
<< "#define JucePlugin_AUCocoaViewClassName " << project.getPluginAUCocoaViewClassName().toString() << newLine
<< "#define JucePlugin_RTASCategory " << ((bool) project.getPluginIsSynth().getValue() ? "ePlugInCategory_SWGenerators" : "ePlugInCategory_None") << newLine
<< "#define JucePlugin_RTASManufacturerCode JucePlugin_ManufacturerCode" << newLine
<< "#define JucePlugin_RTASProductId JucePlugin_PluginCode" << newLine
<< "#define JUCE_USE_VSTSDK_2_4 1" << newLine
<< "#define JucePlugin_RTASProductId JucePlugin_PluginCode" << newLine;
if (project.getObjectiveCClassSuffix().toString().isNotEmpty())
out << "#define JUCE_ObjCExtraSuffix " << project.getObjectiveCClassSuffix().toString() << newLine;
out << "#define JUCE_USE_VSTSDK_2_4 1" << newLine
<< newLine
<< "#endif // " << headerGuard << newLine;
}


Loading…
Cancel
Save