@@ -412,11 +412,13 @@ attributes directly to these creation functions, rather than adding them later. | |||||
- `PLUGIN_MANUFACTURER_CODE` | - `PLUGIN_MANUFACTURER_CODE` | ||||
- A four-character unique ID for your company. For AU compatibility, this must contain at least | - A four-character unique ID for your company. For AU compatibility, this must contain at least | ||||
one upper-case letter. | |||||
one upper-case letter. GarageBand 10.3 requires the first letter to be upper-case, and the | |||||
remaining letters to be lower-case. | |||||
- `PLUGIN_CODE` | - `PLUGIN_CODE` | ||||
- A four-character unique ID for your plugin. For AU compatibility, this must contain at least | |||||
one upper-case letter. | |||||
- A four-character unique ID for your plugin. For AU compatibility, this must contain exactly one | |||||
upper-case letter. GarageBand 10.3 requires the first letter to be upper-case, and the remaining | |||||
letters to be lower-case. | |||||
- `DESCRIPTION` | - `DESCRIPTION` | ||||
- A short description of your plugin. | - A short description of your plugin. | ||||
@@ -49,7 +49,8 @@ juce_add_plugin(AudioPluginExample | |||||
# EDITOR_WANTS_KEYBOARD_FOCUS TRUE/FALSE # Does the editor need keyboard focus? | # EDITOR_WANTS_KEYBOARD_FOCUS TRUE/FALSE # Does the editor need keyboard focus? | ||||
# COPY_PLUGIN_AFTER_BUILD TRUE/FALSE # Should the plugin be installed to a default location after building? | # COPY_PLUGIN_AFTER_BUILD TRUE/FALSE # Should the plugin be installed to a default location after building? | ||||
PLUGIN_MANUFACTURER_CODE Juce # A four-character manufacturer id with at least one upper-case character | PLUGIN_MANUFACTURER_CODE Juce # A four-character manufacturer id with at least one upper-case character | ||||
PLUGIN_CODE Dem0 # A unique four-character plugin id with at least one upper-case character | |||||
PLUGIN_CODE Dem0 # A unique four-character plugin id with exactly one upper-case character | |||||
# GarageBand 10.3 requires the first letter to be upper-case, and the remaining letters to be lower-case | |||||
FORMATS AU VST3 Standalone # The formats to build. Other valid formats are: AAX Unity VST AU AUv3 | FORMATS AU VST3 Standalone # The formats to build. Other valid formats are: AAX Unity VST AU AUv3 | ||||
PRODUCT_NAME "Audio Plugin Example") # The name of the final executable, which can differ from the target name | PRODUCT_NAME "Audio Plugin Example") # The name of the final executable, which can differ from the target name | ||||
@@ -1394,9 +1394,11 @@ void Project::createAudioPluginPropertyEditors (PropertyListBuilder& props) | |||||
props.add (new TextPropertyComponent (pluginManufacturerValue, "Plugin Manufacturer", 256, false), | props.add (new TextPropertyComponent (pluginManufacturerValue, "Plugin Manufacturer", 256, false), | ||||
"The name of your company (cannot be blank)."); | "The name of your company (cannot be blank)."); | ||||
props.add (new TextPropertyComponent (pluginManufacturerCodeValue, "Plugin Manufacturer Code", 4, false), | props.add (new TextPropertyComponent (pluginManufacturerCodeValue, "Plugin Manufacturer Code", 4, false), | ||||
"A four-character unique ID for your company. Note that for AU compatibility, this must contain at least one upper-case letter!"); | |||||
"A four-character unique ID for your company. Note that for AU compatibility, this must contain at least one upper-case letter!" | |||||
" GarageBand 10.3 requires the first letter to be upper-case, and the remaining letters to be lower-case."); | |||||
props.add (new TextPropertyComponent (pluginCodeValue, "Plugin Code", 4, false), | props.add (new TextPropertyComponent (pluginCodeValue, "Plugin Code", 4, false), | ||||
"A four-character unique ID for your plugin. Note that for AU compatibility, this must contain at least one upper-case letter!"); | |||||
"A four-character unique ID for your plugin. Note that for AU compatibility, this must contain exactly one upper-case letter!" | |||||
" GarageBand 10.3 requires the first letter to be upper-case, and the remaining letters to be lower-case."); | |||||
props.add (new TextPropertyComponent (pluginChannelConfigsValue, "Plugin Channel Configurations", 1024, false), | props.add (new TextPropertyComponent (pluginChannelConfigsValue, "Plugin Channel Configurations", 1024, false), | ||||
"This list is a comma-separated set list in the form {numIns, numOuts} and each pair indicates a valid plug-in " | "This list is a comma-separated set list in the form {numIns, numOuts} and each pair indicates a valid plug-in " | ||||
"configuration. For example {1, 1}, {2, 2} means that the plugin can be used either with 1 input and 1 output, " | "configuration. For example {1, 1}, {2, 2} means that the plugin can be used either with 1 input and 1 output, " | ||||