Clone an iPlug2 Example
Use this skill when the user wants to create a new plugin project from an iPlug2 example.
Workflow
Ask for project details:
- Plugin name (required): No spaces or special characters
- Manufacturer name (required): Default to "AcmeInc" if not provided
- Base template: Which example to clone from
Available templates:
| Template |
Description |
| IPlugEffect |
Basic audio effect (volume control) - recommended for effects |
| IPlugInstrument |
MPE-capable polyphonic synth - recommended for instruments |
| IPlugControls |
Widget demonstration |
| IPlugWebUI |
HTML/CSS/JS UI via WebView |
| IPlugSwiftUI |
SwiftUI for macOS/iOS |
| IPlugSvelteUI |
Svelte-based UI |
Run the duplicate script:
cd Examples
./duplicate.py [SourceExample] [NewPluginName] [ManufacturerName]
Customize config.h (offer to user):
PLUG_UNIQUE_ID - Auto-generated 4-char ID (verify it's unique)
PLUG_MFR_ID - 4-char manufacturer ID
- Copyright, email, URLs - prompt but allow skipping
Warn about sensitive settings:
- Don't change
BUNDLE_NAME without updating plist files
- Keep config.h free of
#include statements
Example
cd Examples
./duplicate.py IPlugEffect MyGainPlugin MyCompany
Creates Examples/MyGainPlugin/ with all project files renamed and configured.