| name | duplicate-example |
| description | Create a new iPlug2 plugin project by duplicating an example template |
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.