├── samples ├── vst │ ├── InterAppAudio │ │ ├── .gitignore │ │ └── InterAppAudioExample │ │ │ ├── en.lproj │ │ │ └── InfoPlist.strings │ │ │ ├── InterAppAudioExample.entitlements │ │ │ ├── main.m │ │ │ ├── InterAppAudioExample-Prefix.pch │ │ │ ├── VSTInterAppAudioAppDelegate.h │ │ │ └── VSTInterAppAudioHostUIControllerViewController.h │ ├── again │ │ ├── resource │ │ │ ├── vu_on.png │ │ │ ├── vu_off.png │ │ │ ├── background.png │ │ │ ├── slider_handle.png │ │ │ ├── slider_background.png │ │ │ ├── slider_handle_2.0x.png │ │ │ ├── 41347FD6FED64094AFBB12B7DBA1D441_snapshot.png │ │ │ ├── 84E8DE5F92554F5396FAE4133C935A18_snapshot.png │ │ │ ├── 41347FD6FED64094AFBB12B7DBA1D441_snapshot_2.0x.png │ │ │ ├── 84E8DE5F92554F5396FAE4133C935A18_snapshot_2.0x.png │ │ │ └── again.rc │ │ ├── mac │ │ │ └── Info.plist │ │ ├── README.md │ │ └── source │ │ │ ├── againparamids.h │ │ │ ├── againcids.h │ │ │ └── version.h │ ├── hostchecker │ │ ├── resource │ │ │ ├── knob.png │ │ │ ├── bypass.png │ │ │ └── vst_compatibility.json │ │ ├── README.md │ │ ├── source │ │ │ ├── version.h │ │ │ └── eventlogger.h │ │ └── CMakeLists.txt │ ├── again_auv3 │ │ ├── Shared │ │ │ └── drumLoop.wav │ │ ├── macOS │ │ │ ├── Resources │ │ │ │ ├── again.icns │ │ │ │ └── Info.plist │ │ │ ├── again.entitlements │ │ │ └── Sources │ │ │ │ ├── AppDelegate.h │ │ │ │ ├── ViewController.h │ │ │ │ └── AppDelegate.m │ │ ├── iOS │ │ │ ├── again.entitlements │ │ │ └── Sources │ │ │ │ ├── AppDelegate.h │ │ │ │ ├── ViewController.h │ │ │ │ ├── main.mm │ │ │ │ └── AppDelegate.m │ │ └── README.md │ ├── panner │ │ ├── resource │ │ │ ├── background.png │ │ │ ├── animation_knob.png │ │ │ ├── background_2x.png │ │ │ ├── background_3x.png │ │ │ ├── animation_knob_2x.png │ │ │ ├── animation_knob_3x.png │ │ │ ├── A2EAF7DB320640F48EDE380DDF89562C_snapshot.png │ │ │ ├── A2EAF7DB320640F48EDE380DDF89562C_snapshot_2.0x.png │ │ │ └── info.rc │ │ ├── README.md │ │ ├── CMakeLists.txt │ │ └── include │ │ │ └── plugids.h │ ├── note_expression_synth │ │ ├── resource │ │ │ ├── InterAppAudio │ │ │ │ ├── Images.xcassets │ │ │ │ │ ├── Contents.json │ │ │ │ │ └── AppIcon.appiconset │ │ │ │ │ │ ├── AppIcon_iPadApp_76.png │ │ │ │ │ │ ├── AppIcon_AppStore_1024.png │ │ │ │ │ │ ├── AppIcon_iPadApp_76@2x.png │ │ │ │ │ │ ├── AppIcon_iPadSettings_29.png │ │ │ │ │ │ ├── AppIcon_iPadSpotlight_40.png │ │ │ │ │ │ ├── AppIcon_iPhoneApp_60@2x.png │ │ │ │ │ │ ├── AppIcon_iPhoneApp_60@3x.png │ │ │ │ │ │ ├── AppIcon_iPhoneSettings_29.png │ │ │ │ │ │ ├── AppIcon_iPadProApp_83.5@2x.png │ │ │ │ │ │ ├── AppIcon_iPadSettings_29@2x.png │ │ │ │ │ │ ├── AppIcon_iPadSpotlight_40@2x.png │ │ │ │ │ │ ├── AppIcon_iPhoneSettings_29@2x.png │ │ │ │ │ │ ├── AppIcon_iPhoneSettings_29@3x.png │ │ │ │ │ │ ├── AppIcon_iPhoneSpotlight_40@2x.png │ │ │ │ │ │ └── AppIcon_iPhoneSpotlight_40@3x.png │ │ │ │ └── noteexpressionsynth_ios.entitlements │ │ │ ├── knob.png │ │ │ ├── about.png │ │ │ ├── knob2.png │ │ │ ├── knob big.png │ │ │ ├── background.png │ │ │ ├── groupframe.png │ │ │ ├── vst3_logo_small.png │ │ │ ├── 41466D9BB0654576B641098F686371B3_snapshot.png │ │ │ ├── 41466D9BB0654576B641098F686371B3_snapshot_2.0x.png │ │ │ ├── au-info.plist │ │ │ └── info.rc │ │ └── README.md │ ├── note_expression_synth_auv3 │ │ ├── macOS │ │ │ ├── Resources │ │ │ │ ├── NoteExpressionSynth.icns │ │ │ │ └── Info.plist │ │ │ └── noteexpressionsynth.entitlements │ │ ├── iOS │ │ │ ├── Resources │ │ │ │ └── Assets.xcassets │ │ │ │ │ └── AppIcon.appiconset │ │ │ │ │ ├── apple-icon-76x76.png │ │ │ │ │ ├── apple-icon-120x120.png │ │ │ │ │ ├── apple-icon-152x152.png │ │ │ │ │ └── apple-icon-180x180.png │ │ │ └── noteexpressionsynth.entitlements │ │ └── README.md │ ├── remap_paramid │ │ ├── resource │ │ │ ├── vst_compatibility.json │ │ │ └── info.rc │ │ ├── CMakeLists.txt │ │ └── source │ │ │ ├── version.h │ │ │ └── remapparamidcids.h │ ├── prefetchablesupport │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── source │ │ │ ├── plugparamids.h │ │ │ ├── plugcids.h │ │ │ └── version.h │ │ └── resource │ │ │ └── info.rc │ ├── programchange │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── source │ │ │ ├── plugparamids.h │ │ │ ├── plugcids.h │ │ │ └── version.h │ │ └── resource │ │ │ └── info.rc │ ├── channelcontext │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── source │ │ │ ├── plugcids.h │ │ │ └── plugparamids.h │ │ └── resource │ │ │ └── info.rc │ ├── legacymidiccout │ │ ├── CMakeLists.txt │ │ ├── source │ │ │ ├── plugcids.h │ │ │ ├── plugparamids.h │ │ │ └── version.h │ │ ├── README.md │ │ └── resource │ │ │ └── info.rc │ ├── utf16name │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── source │ │ │ ├── utf16namecids.h │ │ │ └── version.h │ │ └── resource │ │ │ └── info.rc │ ├── syncdelay │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── source │ │ │ └── syncdelayids.h │ │ └── resource │ │ │ └── info.rc │ ├── multiple_programchanges │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── source │ │ │ ├── plugcids.h │ │ │ ├── plugparamids.h │ │ │ └── version.h │ │ └── resource │ │ │ └── info.rc │ ├── pitchnames │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── resource │ │ │ └── info.rc │ │ └── source │ │ │ └── version.h │ ├── adelay │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── source │ │ │ ├── adelayids.h │ │ │ └── version.h │ │ └── resource │ │ │ └── info.rc │ ├── again_sampleaccurate │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── resource │ │ │ └── info.rc │ ├── note_expression_text │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── source │ │ │ ├── plugparamids.h │ │ │ └── plugcids.h │ ├── mda-vst3 │ │ ├── README.md │ │ ├── resource │ │ │ └── info.rc │ │ └── source │ │ │ └── helpers.h │ ├── hostchecker_aax │ │ └── README.md │ ├── dataexchange │ │ ├── source │ │ │ ├── 3rdparty │ │ │ │ ├── nanovg │ │ │ │ │ └── LICENSE.txt │ │ │ │ └── MetalNanoVG │ │ │ │ │ └── LICENSE │ │ │ └── version.h │ │ ├── README.md │ │ └── resource │ │ │ └── info.rc │ ├── again_aax │ │ └── README.md │ └── mac │ │ └── make_vst3_symbolic_link.sh ├── vst-hosting │ ├── CMakeLists.txt │ ├── validator │ │ ├── README.md │ │ └── source │ │ │ └── usediids.cpp │ ├── audiohost │ │ ├── README.md │ │ └── source │ │ │ ├── usediids.cpp │ │ │ └── platform │ │ │ └── appinit.h │ ├── editorhost │ │ ├── README.md │ │ └── source │ │ │ ├── usediids.cpp │ │ │ └── platform │ │ │ └── appinit.h │ └── inspectorapp │ │ ├── resource │ │ └── Info.plist │ │ ├── README.md │ │ └── source │ │ └── window.h └── vst-utilities │ └── CMakeLists.txt ├── source ├── main │ └── macexport.exp ├── vst │ ├── aaxwrapper │ │ ├── resource │ │ │ ├── PlugIn.ico │ │ │ ├── desktop.ini │ │ │ └── PreBuildEvent.bat │ │ └── CMakeLists.txt │ ├── testsuite │ │ ├── vsttestsuite.cpp │ │ ├── general │ │ │ └── plugcompat.h │ │ ├── bus │ │ │ ├── busactivation.h │ │ │ ├── busconsistency.h │ │ │ ├── businvalidindex.h │ │ │ ├── sidechainarrangement.h │ │ │ └── scanbusses.h │ │ └── processing │ │ │ ├── silenceflags.h │ │ │ └── processformat.h │ ├── auwrapper │ │ ├── auwrapper_prefix.pch │ │ ├── config │ │ │ ├── auwrapper_debug.xcconfig │ │ │ ├── auwrapper_release.xcconfig │ │ │ ├── ausdkpath.xcconfig │ │ │ └── auwrapper.xcconfig │ │ └── aucocoaview.h │ ├── auv3wrapper │ │ ├── AUv3WrappermacOS │ │ │ └── main.mm │ │ └── Shared │ │ │ ├── AUv3WrapperFactory.h │ │ │ ├── AUv3AudioEngine.h │ │ │ └── AUv3WrapperFactory.mm │ ├── interappaudio │ │ ├── SettingsViewController.h │ │ ├── PresetSaveViewController.h │ │ └── PresetBrowserViewController.h │ ├── vstgui_linux_runloop_support.h │ ├── vstgui_win32_bundle_support.h │ ├── basewrapper │ │ └── basewrapper.sdk.cpp │ └── moduleinfo │ │ └── ReadMe.md ├── vst3stdsdk.cpp └── common │ ├── readfile.h │ ├── commoniids.cpp │ ├── threadchecker.h │ └── openurl.h ├── README.md └── LICENSE.txt /samples/vst/InterAppAudio/.gitignore: -------------------------------------------------------------------------------- 1 | /DerivedData 2 | /build 3 | -------------------------------------------------------------------------------- /source/main/macexport.exp: -------------------------------------------------------------------------------- 1 | _GetPluginFactory 2 | _bundleEntry 3 | _bundleExit 4 | -------------------------------------------------------------------------------- /samples/vst/InterAppAudio/InterAppAudioExample/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /samples/vst/again/resource/vu_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/again/resource/vu_on.png -------------------------------------------------------------------------------- /samples/vst/again/resource/vu_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/again/resource/vu_off.png -------------------------------------------------------------------------------- /samples/vst/again/resource/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/again/resource/background.png -------------------------------------------------------------------------------- /samples/vst/hostchecker/resource/knob.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/hostchecker/resource/knob.png -------------------------------------------------------------------------------- /source/vst/aaxwrapper/resource/PlugIn.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/source/vst/aaxwrapper/resource/PlugIn.ico -------------------------------------------------------------------------------- /samples/vst/again_auv3/Shared/drumLoop.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/again_auv3/Shared/drumLoop.wav -------------------------------------------------------------------------------- /samples/vst/hostchecker/resource/bypass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/hostchecker/resource/bypass.png -------------------------------------------------------------------------------- /samples/vst/panner/resource/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/panner/resource/background.png -------------------------------------------------------------------------------- /samples/vst/again/resource/slider_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/again/resource/slider_handle.png -------------------------------------------------------------------------------- /samples/vst/panner/resource/animation_knob.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/panner/resource/animation_knob.png -------------------------------------------------------------------------------- /samples/vst/panner/resource/background_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/panner/resource/background_2x.png -------------------------------------------------------------------------------- /samples/vst/panner/resource/background_3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/panner/resource/background_3x.png -------------------------------------------------------------------------------- /samples/vst/again/resource/slider_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/again/resource/slider_background.png -------------------------------------------------------------------------------- /samples/vst-hosting/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | if(ANDROID) 3 | return() 4 | endif(ANDROID) 5 | 6 | include(SMTG_AddSubDirectories) 7 | 8 | smtg_add_subdirectories() 9 | -------------------------------------------------------------------------------- /samples/vst/again/resource/slider_handle_2.0x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/again/resource/slider_handle_2.0x.png -------------------------------------------------------------------------------- /samples/vst/again_auv3/macOS/Resources/again.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/again_auv3/macOS/Resources/again.icns -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/knob.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/knob.png -------------------------------------------------------------------------------- /samples/vst/panner/resource/animation_knob_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/panner/resource/animation_knob_2x.png -------------------------------------------------------------------------------- /samples/vst/panner/resource/animation_knob_3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/panner/resource/animation_knob_3x.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/about.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/knob2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/knob2.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/knob big.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/knob big.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/background.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/groupframe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/groupframe.png -------------------------------------------------------------------------------- /source/vst/aaxwrapper/resource/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | IconResource=PlugIn.ico,0 3 | ;For compatibility with Windows XP 4 | IconFile=PlugIn.ico 5 | IconIndex=0 6 | -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/vst3_logo_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/vst3_logo_small.png -------------------------------------------------------------------------------- /samples/vst/again/resource/41347FD6FED64094AFBB12B7DBA1D441_snapshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/again/resource/41347FD6FED64094AFBB12B7DBA1D441_snapshot.png -------------------------------------------------------------------------------- /samples/vst/again/resource/84E8DE5F92554F5396FAE4133C935A18_snapshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/again/resource/84E8DE5F92554F5396FAE4133C935A18_snapshot.png -------------------------------------------------------------------------------- /samples/vst/panner/resource/A2EAF7DB320640F48EDE380DDF89562C_snapshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/panner/resource/A2EAF7DB320640F48EDE380DDF89562C_snapshot.png -------------------------------------------------------------------------------- /samples/vst/again/resource/41347FD6FED64094AFBB12B7DBA1D441_snapshot_2.0x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/again/resource/41347FD6FED64094AFBB12B7DBA1D441_snapshot_2.0x.png -------------------------------------------------------------------------------- /samples/vst/again/resource/84E8DE5F92554F5396FAE4133C935A18_snapshot_2.0x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/again/resource/84E8DE5F92554F5396FAE4133C935A18_snapshot_2.0x.png -------------------------------------------------------------------------------- /samples/vst/panner/resource/A2EAF7DB320640F48EDE380DDF89562C_snapshot_2.0x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/panner/resource/A2EAF7DB320640F48EDE380DDF89562C_snapshot_2.0x.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth_auv3/macOS/Resources/NoteExpressionSynth.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth_auv3/macOS/Resources/NoteExpressionSynth.icns -------------------------------------------------------------------------------- /samples/vst/hostchecker/resource/vst_compatibility.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "New": "23FC190E02DD4499A8D2230E50617DA3", // VST3 Host Checker 4 | "Old": [ 5 | "84E8DE5F92554F5396FAE4133C935A18", // AGain 6 | ], 7 | }, 8 | ] 9 | -------------------------------------------------------------------------------- /samples/vst/remap_paramid/resource/vst_compatibility.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "New": "1012FB81B92C57E485AD3D5D5FC2469D", // Test Remap ParamID 4 | "Old": [ 5 | "84E8DE5F92554F5396FAE4133C935A18", // AGain 6 | ], 7 | }, 8 | ] 9 | -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/41466D9BB0654576B641098F686371B3_snapshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/41466D9BB0654576B641098F686371B3_snapshot.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/41466D9BB0654576B641098F686371B3_snapshot_2.0x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/41466D9BB0654576B641098F686371B3_snapshot_2.0x.png -------------------------------------------------------------------------------- /samples/vst/again_auv3/iOS/again.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /samples/vst/note_expression_synth_auv3/iOS/Resources/Assets.xcassets/AppIcon.appiconset/apple-icon-76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth_auv3/iOS/Resources/Assets.xcassets/AppIcon.appiconset/apple-icon-76x76.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth_auv3/iOS/Resources/Assets.xcassets/AppIcon.appiconset/apple-icon-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth_auv3/iOS/Resources/Assets.xcassets/AppIcon.appiconset/apple-icon-120x120.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth_auv3/iOS/Resources/Assets.xcassets/AppIcon.appiconset/apple-icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth_auv3/iOS/Resources/Assets.xcassets/AppIcon.appiconset/apple-icon-152x152.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth_auv3/iOS/Resources/Assets.xcassets/AppIcon.appiconset/apple-icon-180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth_auv3/iOS/Resources/Assets.xcassets/AppIcon.appiconset/apple-icon-180x180.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth_auv3/iOS/noteexpressionsynth.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPadApp_76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPadApp_76.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_AppStore_1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_AppStore_1024.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPadApp_76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPadApp_76@2x.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPadSettings_29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPadSettings_29.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPadSpotlight_40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPadSpotlight_40.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPhoneApp_60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPhoneApp_60@2x.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPhoneApp_60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPhoneApp_60@3x.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPhoneSettings_29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPhoneSettings_29.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPadProApp_83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPadProApp_83.5@2x.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPadSettings_29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPadSettings_29@2x.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPadSpotlight_40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPadSpotlight_40@2x.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPhoneSettings_29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPhoneSettings_29@2x.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPhoneSettings_29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPhoneSettings_29@3x.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPhoneSpotlight_40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPhoneSpotlight_40@2x.png -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPhoneSpotlight_40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steinbergmedia/vst3_public_sdk/HEAD/samples/vst/note_expression_synth/resource/InterAppAudio/Images.xcassets/AppIcon.appiconset/AppIcon_iPhoneSpotlight_40@3x.png -------------------------------------------------------------------------------- /samples/vst/again_auv3/macOS/again.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /samples/vst/InterAppAudio/InterAppAudioExample/InterAppAudioExample.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | inter-app-audio 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/InterAppAudio/noteexpressionsynth_ios.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | inter-app-audio 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /samples/vst/note_expression_synth_auv3/macOS/noteexpressionsynth.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /samples/vst-utilities/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | if(ANDROID) 3 | return() 4 | endif(ANDROID) 5 | 6 | # Add VST3 Hosting Samples 7 | if(NOT DEFINED SMTG_ADD_VST3_UTILITIES) 8 | option(SMTG_ADD_VST3_UTILITIES "Build VST3 Utilities" ON) 9 | endif(NOT DEFINED SMTG_ADD_VST3_UTILITIES) 10 | 11 | if(SMTG_ADD_VST3_UTILITIES) 12 | include(SMTG_AddSubDirectories) 13 | smtg_add_subdirectories() 14 | endif(SMTG_ADD_VST3_UTILITIES) 15 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Welcome to VST 3 SDK public_sdk 2 | 3 | Here are located: 4 | 5 | - helper classes implementing **VST 3** Interfaces 6 | - samples of **VST 3** Hosting and **VST 3** plug-ins 7 | - **AAX** Wrapper 8 | - **AU** Wrapper 9 | - **AUv3** Wrapper 10 | - InterAppAudio 11 | 12 | ## License & Usage guidelines 13 | 14 | More details are found at [VST 3 SDK public_sdk License](https://forums.steinberg.net/t/vst-3-sdk-public-sdk-license/695592) 15 | 16 | ---- 17 | Return to [VST 3 SDK](https://github.com/steinbergmedia/vst3sdk) 18 | -------------------------------------------------------------------------------- /samples/vst/prefetchablesupport/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | cmake_minimum_required(VERSION 3.25.0) 3 | 4 | project(smtg-vst3-prefetchable 5 | VERSION ${vstsdk_VERSION}.0 6 | DESCRIPTION "Steinberg VST 3 Prefetchable example" 7 | ) 8 | 9 | smtg_add_vst3plugin(prefetchable 10 | source/plug.cpp 11 | source/plug.h 12 | source/plugcids.h 13 | source/plugcontroller.cpp 14 | source/plugcontroller.h 15 | source/plugentry.cpp 16 | source/plugparamids.h 17 | source/version.h 18 | ) 19 | 20 | smtg_target_setup_as_vst3_example(prefetchable) 21 | -------------------------------------------------------------------------------- /samples/vst/programchange/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | cmake_minimum_required(VERSION 3.25.0) 3 | 4 | project(smtg-vst3-programchange 5 | VERSION ${vstsdk_VERSION}.0 6 | DESCRIPTION "Steinberg VST 3 Programchange example" 7 | ) 8 | 9 | smtg_add_vst3plugin(program-change 10 | source/plug.cpp 11 | source/plug.h 12 | source/plugcids.h 13 | source/plugcontroller.cpp 14 | source/plugcontroller.h 15 | source/plugentry.cpp 16 | source/plugparamids.h 17 | source/version.h 18 | ) 19 | 20 | smtg_target_setup_as_vst3_example(program-change) 21 | -------------------------------------------------------------------------------- /samples/vst/channelcontext/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | cmake_minimum_required(VERSION 3.25.0) 3 | 4 | project(smtg-vst3-channelcontext 5 | VERSION ${vstsdk_VERSION}.0 6 | DESCRIPTION "Steinberg VST 3 Channel Context example" 7 | ) 8 | 9 | smtg_add_vst3plugin(channel-context 10 | source/plug.cpp 11 | source/plug.h 12 | source/plugcids.h 13 | source/plugcontroller.cpp 14 | source/plugcontroller.h 15 | source/plugentry.cpp 16 | source/plugparamids.h 17 | source/version.h 18 | ) 19 | 20 | smtg_target_setup_as_vst3_example(channel-context) 21 | -------------------------------------------------------------------------------- /samples/vst/legacymidiccout/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | cmake_minimum_required(VERSION 3.25.0) 3 | 4 | project(smtg-vst3-legacymidiccout 5 | VERSION ${vstsdk_VERSION}.0 6 | DESCRIPTION "Steinberg VST 3 Legacy MIDI CC out example" 7 | ) 8 | 9 | smtg_add_vst3plugin(legacy-midicc-out 10 | source/plug.cpp 11 | source/plug.h 12 | source/plugcids.h 13 | source/plugcontroller.cpp 14 | source/plugcontroller.h 15 | source/plugentry.cpp 16 | source/plugparamids.h 17 | source/version.h 18 | ) 19 | 20 | smtg_target_setup_as_vst3_example(legacy-midicc-out) 21 | -------------------------------------------------------------------------------- /samples/vst/utf16name/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | cmake_minimum_required(VERSION 3.15.0) 3 | 4 | project(smtg-vst3-utf16name 5 | VERSION ${vstsdk_VERSION}.0 6 | DESCRIPTION "Steinberg VST 3 UTF16-Name example" 7 | ) 8 | 9 | smtg_add_vst3plugin(utf16-name 10 | source/version.h 11 | source/utf16namecids.h 12 | source/utf16nameprocessor.h 13 | source/utf16nameprocessor.cpp 14 | source/utf16namecontroller.h 15 | source/utf16namecontroller.cpp 16 | source/utf16nameentry.cpp 17 | README.md 18 | ) 19 | 20 | smtg_target_setup_as_vst3_example(utf16-name) 21 | -------------------------------------------------------------------------------- /samples/vst/syncdelay/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | cmake_minimum_required(VERSION 3.25.0) 3 | 4 | project(smtg-vst3-syncdelay 5 | VERSION ${vstsdk_VERSION}.0 6 | DESCRIPTION "Steinberg VST 3 Sync Delay example" 7 | ) 8 | 9 | smtg_add_vst3plugin(sync-delay 10 | source/sync.h 11 | source/syncdelaycontroller.cpp 12 | source/syncdelaycontroller.h 13 | source/syncdelayfactory.cpp 14 | source/syncdelayids.h 15 | source/syncdelayprocessor.cpp 16 | source/syncdelayprocessor.h 17 | source/syncdelayversion.h 18 | ) 19 | 20 | smtg_target_setup_as_vst3_example(sync-delay) 21 | -------------------------------------------------------------------------------- /samples/vst/multiple_programchanges/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | cmake_minimum_required(VERSION 3.15.0) 3 | 4 | project(smtg-vst3-multiple-program-changes 5 | VERSION ${vstsdk_VERSION}.0 6 | DESCRIPTION "Steinberg VST 3 Multiple Program Changes example" 7 | ) 8 | smtg_add_vst3plugin(multiple-program-changes 9 | source/plug.cpp 10 | source/plug.h 11 | source/plugcids.h 12 | source/plugcontroller.cpp 13 | source/plugcontroller.h 14 | source/plugentry.cpp 15 | source/plugparamids.h 16 | source/version.h 17 | ) 18 | 19 | smtg_target_setup_as_vst3_example(multiple-program-changes) 20 | -------------------------------------------------------------------------------- /samples/vst/pitchnames/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | if(NOT SMTG_ENABLE_VSTGUI_SUPPORT) 3 | return() 4 | endif() 5 | 6 | cmake_minimum_required(VERSION 3.25.0) 7 | 8 | project(smtg-vst3-pitchnames 9 | VERSION ${vstsdk_VERSION}.0 10 | DESCRIPTION "Steinberg VST 3 Pitch Names example" 11 | ) 12 | 13 | smtg_add_vst3plugin(pitch-names 14 | source/factory.cpp 15 | source/pitchnames.cpp 16 | source/pitchnames.h 17 | source/pitchnamesdatabrowsersource.cpp 18 | source/pitchnamesdatabrowsersource.h 19 | source/version.h 20 | ) 21 | 22 | target_link_libraries(pitch-names 23 | PRIVATE 24 | vstgui_support 25 | ) 26 | 27 | smtg_target_setup_as_vst3_example(pitch-names) 28 | -------------------------------------------------------------------------------- /samples/vst/adelay/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | cmake_minimum_required(VERSION 3.25.0) 3 | 4 | project(smtg-vst3-adelay 5 | VERSION ${vstsdk_VERSION}.0 6 | DESCRIPTION "Steinberg VST 3 ADelay example" 7 | ) 8 | 9 | smtg_add_vst3plugin(adelay 10 | source/adelaycontroller.cpp 11 | source/adelaycontroller.h 12 | source/adelayids.h 13 | source/adelayprocessor.cpp 14 | source/adelayprocessor.h 15 | source/exampletest.cpp 16 | source/factory.cpp 17 | source/version.h 18 | ${SDK_ROOT}/public.sdk/source/vst/utility/test/ringbuffertest.cpp 19 | ${SDK_ROOT}/public.sdk/source/vst/utility/test/versionparsertest.cpp 20 | ) 21 | 22 | smtg_target_setup_as_vst3_example(adelay) -------------------------------------------------------------------------------- /samples/vst/remap_paramid/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | cmake_minimum_required(VERSION 3.25.0) 3 | 4 | project(smtg-vst3-remapparamid 5 | VERSION ${vstsdk_VERSION}.0 6 | DESCRIPTION "Steinberg VST 3 Remap ParamID example" 7 | ) 8 | 9 | set(COMPATIBILITY_FILE resource/vst_compatibility.json) 10 | 11 | smtg_add_vst3plugin(remap-paramid 12 | MODULEINFO_COMPATIBILITY 13 | ${COMPATIBILITY_FILE} 14 | source/version.h 15 | source/remapparamidcids.h 16 | source/remapparamidprocessor.h 17 | source/remapparamidprocessor.cpp 18 | source/remapparamidcontroller.h 19 | source/remapparamidcontroller.cpp 20 | source/remapparamidentry.cpp 21 | README.md 22 | ) 23 | 24 | smtg_target_setup_as_vst3_example(remap-paramid) 25 | -------------------------------------------------------------------------------- /samples/vst/again_sampleaccurate/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | cmake_minimum_required(VERSION 3.25.0) 3 | 4 | project(smtg-vst3-again-sampleaccurate 5 | VERSION ${vstsdk_VERSION}.0 6 | DESCRIPTION "Steinberg VST 3 AGain example" 7 | ) 8 | 9 | smtg_add_vst3plugin(again-sample-accurate 10 | source/agsa_controller.cpp 11 | source/agsa_factory.cpp 12 | source/agsa_processor.cpp 13 | source/agsa.h 14 | source/tutorial.cpp 15 | source/tutorial.h 16 | source/version.h 17 | ${SDK_ROOT}/public.sdk/source/vst/utility/test/sampleaccuratetest.cpp 18 | ${SDK_ROOT}/public.sdk/source/vst/utility/test/rttransfertest.cpp 19 | ) 20 | 21 | target_link_libraries(again-sample-accurate 22 | PRIVATE 23 | sdk_hosting 24 | ) 25 | 26 | smtg_target_setup_as_vst3_example(again-sample-accurate) -------------------------------------------------------------------------------- /samples/vst/adelay/README.md: -------------------------------------------------------------------------------- 1 | # ADelay 2 | 3 | ## Introduction 4 | 5 | **ADelay** is a simple FX plug-in with just one parameter for delay control. 6 | 7 | > See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html#adelay). 8 | 9 | ## Getting Started 10 | 11 | This plug-in is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 12 | 13 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 14 | 15 | ## Getting Help 16 | 17 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 18 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 19 | -------------------------------------------------------------------------------- /samples/vst-hosting/validator/README.md: -------------------------------------------------------------------------------- 1 | # Validator 2 | 3 | ## Introduction 4 | 5 | Validator is a small command line host application which can be used to check your plug-in for **VST 3** conformity. 6 | 7 | > See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Validator.html). 8 | 9 | ## Getting Started 10 | 11 | This application is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 12 | 13 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 14 | 15 | ## Getting Help 16 | 17 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 18 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 19 | -------------------------------------------------------------------------------- /source/vst/testsuite/vsttestsuite.cpp: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : VST SDK 3 | // 4 | // Category : Validator 5 | // Filename : public.sdk/source/vst/testsuite/vsttestsuite.cpp 6 | // Created by : Steinberg, 10/2005 7 | // Description : VST Hosting Utilities 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | -------------------------------------------------------------------------------- /samples/vst/multiple_programchanges/README.md: -------------------------------------------------------------------------------- 1 | # Test Multiple Program Changes 2 | 3 | ## Introduction 4 | 5 | **Test Multiple Program Changes** is simple FX plug-in showing how to support Program List. 6 | 7 | > See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html#test-program-change). 8 | 9 | ## Getting Started 10 | 11 | This plug-in is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 12 | 13 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 14 | 15 | ## Getting Help 16 | 17 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 18 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 19 | -------------------------------------------------------------------------------- /samples/vst/again_sampleaccurate/README.md: -------------------------------------------------------------------------------- 1 | # AGain Sample Accurate 2 | 3 | ## Introduction 4 | 5 | AGain Sample Accurate is the variant of the AGain FX plug-in showing how to achieve sample-accurate processing for the gain value. 6 | 7 | > See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html#again-sample-accurate). 8 | 9 | ## Getting Started 10 | 11 | This plug-in is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 12 | 13 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 14 | 15 | ## Getting Help 16 | 17 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 18 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 19 | -------------------------------------------------------------------------------- /samples/vst/note_expression_text/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | if(NOT SMTG_ENABLE_VSTGUI_SUPPORT) 3 | return() 4 | endif() 5 | 6 | cmake_minimum_required(VERSION 3.25.0) 7 | 8 | project(smtg-vst3-noteexpressiontext 9 | VERSION ${vstsdk_VERSION}.0 10 | DESCRIPTION "Steinberg VST 3 Note Expression Text example" 11 | ) 12 | 13 | smtg_add_vst3plugin(note-expression-text 14 | source/plug.cpp 15 | source/plug.h 16 | source/plugcids.h 17 | source/plugcontroller.cpp 18 | source/plugcontroller.h 19 | source/plugentry.cpp 20 | source/plugparamids.h 21 | source/version.h 22 | resource/plug.uidesc 23 | ) 24 | 25 | target_link_libraries(note-expression-text 26 | PRIVATE 27 | vstgui_support 28 | ) 29 | 30 | smtg_target_add_plugin_resources(note-expression-text 31 | RESOURCES 32 | resource/plug.uidesc 33 | ) 34 | 35 | smtg_target_setup_as_vst3_example(note-expression-text) 36 | -------------------------------------------------------------------------------- /samples/vst-hosting/audiohost/README.md: -------------------------------------------------------------------------------- 1 | # AudioHost Application 2 | 3 | ## Introduction 4 | 5 | As Cross-platform source code: Simple cross-platform (only tested on Linux) host application allowing you to register a **VST 3** plug-in with Jack Server. 6 | 7 | > See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/AudioHost.html#audiohost-application). 8 | 9 | ## Getting Started 10 | 11 | This application is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 12 | 13 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 14 | 15 | ## Getting Help 16 | 17 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 18 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 19 | -------------------------------------------------------------------------------- /samples/vst/mda-vst3/README.md: -------------------------------------------------------------------------------- 1 | # mda plug-ins 2 | 3 | ## Introduction 4 | 5 | **mda plug-ins** are FX plug-ins based on the OpenSource mda plug-ins (http://mda.smartelectronix.com/), this set of plug-ins demonstrates how wrap DS- code in a VST 3 plug-in. 6 | 7 | > See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html#mda-plug-ins). 8 | 9 | ## Getting Started 10 | 11 | This plug-in is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 12 | 13 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 14 | 15 | ## Getting Help 16 | 17 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 18 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 19 | -------------------------------------------------------------------------------- /samples/vst-hosting/editorhost/README.md: -------------------------------------------------------------------------------- 1 | # EditorHost Application 2 | 3 | ## Introduction 4 | 5 | As Cross-platform source code: Simple cross-platform (Win/macOS/Linux) host application allowing you to open the editor of a **VST 3** plug-in (with HiDPI support on Windows/macOS). 6 | 7 | > See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/EditorHost.html). 8 | 9 | ## Getting Started 10 | 11 | This application is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 12 | 13 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 14 | 15 | ## Getting Help 16 | 17 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 18 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 19 | -------------------------------------------------------------------------------- /samples/vst/hostchecker/README.md: -------------------------------------------------------------------------------- 1 | # VST 3 Host Checker 2 | 3 | ## Introduction 4 | 5 | The VST 3 Host Checker plug-in can test a VST 3 host application. It tracks all incoming function calls, monitors calling sequences and performs various other tests. 6 | 7 | > See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html?highlight=host%20checker#hostchecker). 8 | 9 | ## Getting Started 10 | 11 | This plug-in is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 12 | 13 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 14 | 15 | ## Getting Help 16 | 17 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 18 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 19 | -------------------------------------------------------------------------------- /samples/vst/again_auv3/README.md: -------------------------------------------------------------------------------- 1 | # AGain AUv3 2 | 3 | ## Introduction 4 | 5 | AGain AUv3 is the AUv3 version of the AGain plug-in for macOS and iOS. 6 | 7 | 8 | > See also: [VST 3 - AudioUnit v3 Wrapper](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Wrappers/AUv3+Wrapper.html) and [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html#again). 9 | 10 | ## Getting Started 11 | 12 | This plug-in is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 13 | 14 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 15 | 16 | ## Getting Help 17 | 18 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 19 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 20 | -------------------------------------------------------------------------------- /samples/vst/hostchecker_aax/README.md: -------------------------------------------------------------------------------- 1 | # VST 3 Host Checker AAX 2 | 3 | ## Introduction 4 | 5 | This plug-in is the AAX version of the *VST 3 Host Checker* plug-in. It tracks all incoming function calls, monitors calling sequences and performs various other tests. 6 | 7 | > See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html?highlight=host%20checker#hostchecker). 8 | 9 | ## Getting Started 10 | 11 | This plug-in is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 12 | 13 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 14 | 15 | ## Getting Help 16 | 17 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 18 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 19 | -------------------------------------------------------------------------------- /samples/vst/pitchnames/README.md: -------------------------------------------------------------------------------- 1 | # PitchNames 2 | 3 | ## Introduction 4 | 5 | **PitchNames** is a simple Instrument showing [PitchNames](https://steinbergmedia.github.io/vst3_dev_portal/pages/Technical+Documentation/Presets+Program+Lists/Index.html?highlight=PitchNames#pitch-names) support. 6 | 7 | > See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html#pitchnames). 8 | 9 | ## Getting Started 10 | 11 | This plug-in is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 12 | 13 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 14 | 15 | ## Getting Help 16 | 17 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 18 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 19 | -------------------------------------------------------------------------------- /source/vst/auwrapper/auwrapper_prefix.pch: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : public.sdk/source/vst/auwrapper/auwrapper_prefix.pch 6 | // Created by : Steinberg, 12/2007 7 | // Description : VST 3 -> AU Wrapper 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #include 18 | #include 19 | -------------------------------------------------------------------------------- /samples/vst/panner/README.md: -------------------------------------------------------------------------------- 1 | # Panner 2 | 3 | ## Introduction 4 | 5 | **Panner** is a simple Panner plug-in showing how to support Panner category [Vst::PlugType::kSpatial](https://steinbergmedia.github.io/vst3_doc/vstinterfaces/group__plugType.html#gaa334568999d986b4e50627646e51a8b4) (mono to Stereo). 6 | 7 | > See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html#panner). 8 | 9 | ## Getting Started 10 | 11 | This plug-in is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 12 | 13 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 14 | 15 | ## Getting Help 16 | 17 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 18 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 19 | -------------------------------------------------------------------------------- /samples/vst/programchange/README.md: -------------------------------------------------------------------------------- 1 | # Test Program Change 2 | 3 | ## Introduction 4 | 5 | **Test Program Change** is simple FX plug-in showing how to support multiple ProgramChange parameters: 16 slots with one associated program change parameter and a program list for each slot. 6 | 7 | > See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html#test-multiple-program-changes). 8 | 9 | ## Getting Started 10 | 11 | This plug-in is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 12 | 13 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 14 | 15 | ## Getting Help 16 | 17 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 18 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 19 | -------------------------------------------------------------------------------- /source/vst/auv3wrapper/AUv3WrappermacOS/main.mm: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : 6 | // Created by : Steinberg, 03/2017. 7 | // Description : VST 3 AUv3Wrapper 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | #import 17 | 18 | int main (int argc, const char* argv[]) 19 | { 20 | return NSApplicationMain (argc, argv); 21 | } 22 | -------------------------------------------------------------------------------- /samples/vst/syncdelay/README.md: -------------------------------------------------------------------------------- 1 | # Sync Delay 2 | 3 | ## Introduction 4 | 5 | **Sync Delay** is a simple FX plug-in showing how to support [IProcessContextRequirements](https://steinbergmedia.github.io/vst3_dev_portal/pages/Technical+Documentation/Change+History/3.7.0/IProcessContextRequirements.html). 6 | 7 | > See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html#sync-delay). 8 | 9 | ## Getting Started 10 | 11 | This plug-in is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 12 | 13 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 14 | 15 | ## Getting Help 16 | 17 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 18 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 19 | -------------------------------------------------------------------------------- /samples/vst/dataexchange/source/3rdparty/nanovg/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Mikko Mononen memon@inside.org 2 | 3 | This software is provided 'as-is', without any express or implied 4 | warranty. In no event will the authors be held liable for any damages 5 | arising from the use of this software. 6 | 7 | Permission is granted to anyone to use this software for any purpose, 8 | including commercial applications, and to alter it and redistribute it 9 | freely, subject to the following restrictions: 10 | 11 | 1. The origin of this software must not be misrepresented; you must not 12 | claim that you wrote the original software. If you use this software 13 | in a product, an acknowledgment in the product documentation would be 14 | appreciated but is not required. 15 | 2. Altered source versions must be plainly marked as such, and must not be 16 | misrepresented as being the original software. 17 | 3. This notice may not be removed or altered from any source distribution. 18 | 19 | -------------------------------------------------------------------------------- /source/vst/auv3wrapper/Shared/AUv3WrapperFactory.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : 6 | // Created by : Steinberg, 07/2017. 7 | // Description : VST 3 AUv3Wrapper 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | #import "AUv3Wrapper.h" 20 | 21 | @interface AUv3WrapperViewController (AUAudioUnitFactory) 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /samples/vst/again_auv3/macOS/Sources/AppDelegate.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : public.sdk/samples/vst/again_auv3/macOS/Sources/AppDelegate.h 6 | // Created by : Steinberg, 07/2017. 7 | // Description : VST 3 - AUv3Wrapper 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #import 18 | 19 | @interface AppDelegate : NSObject 20 | @end 21 | -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/README.md: -------------------------------------------------------------------------------- 1 | # Note Expression Synth 2 | 3 | ## Introduction 4 | 5 | **Note Expression Synth** is a simple Instrument plug-in supporting [note expression](https://steinbergmedia.github.io/vst3_dev_portal/pages/Technical+Documentation/Change+History/3.5.0/INoteExpressionController.html) events. 6 | 7 | > See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html#note-expression-synth). 8 | 9 | ## Getting Started 10 | 11 | This plug-in is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 12 | 13 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 14 | 15 | ## Getting Help 16 | 17 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 18 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 19 | -------------------------------------------------------------------------------- /samples/vst/note_expression_text/README.md: -------------------------------------------------------------------------------- 1 | # note-expression-text 2 | 3 | ## Introduction 4 | 5 | **note-expression-text** is a simple Instrument plug-in visualizing the [note expression](https://steinbergmedia.github.io/vst3_dev_portal/pages/Technical+Documentation/Change+History/3.5.0/INoteExpressionController.html) as text. 6 | 7 | > See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html#note-expression-text). 8 | 9 | ## Getting Started 10 | 11 | This plug-in is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 12 | 13 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 14 | 15 | ## Getting Help 16 | 17 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 18 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 19 | -------------------------------------------------------------------------------- /samples/vst-hosting/inspectorapp/resource/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE} 9 | CFBundleIdentifier 10 | com.steinberg.vstsdk.vst3inspector 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | VST3Inspector 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleVersion 20 | 1 21 | NSHumanReadableCopyright 22 | Copyright © 2021 Steinberg Media Technologies. All rights reserved. 23 | NSPrincipalClass 24 | NSApplication 25 | 26 | 27 | -------------------------------------------------------------------------------- /samples/vst/channelcontext/README.md: -------------------------------------------------------------------------------- 1 | # Test Channel Context 2 | 3 | ## Introduction 4 | 5 | **Test Channel Context** is simple FX plug-in showing how to use the [Steinberg::Vst::ChannelContext::IInfoListener](https://steinbergmedia.github.io/vst3_dev_portal/pages/Technical+Documentation/Change+History/3.6.5/IInfoListener.html) interface. 6 | 7 | > See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html#testchannelcontext). 8 | 9 | ## Getting Started 10 | 11 | This plug-in is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 12 | 13 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 14 | 15 | ## Getting Help 16 | 17 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 18 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 19 | -------------------------------------------------------------------------------- /samples/vst/prefetchablesupport/README.md: -------------------------------------------------------------------------------- 1 | # Test Prefetchable Support 2 | 3 | ## Introduction 4 | 5 | **Test Prefetchable Support** is simple FX plug-in showing how to use the [Vst::IPrefetchableSupport](https://steinbergmedia.github.io/vst3_dev_portal/pages/Technical+Documentation/Change+History/3.6.5/IPrefetchableSupport.html) interface. 6 | 7 | > See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html#test-prefetchable-support). 8 | 9 | ## Getting Started 10 | 11 | This plug-in is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 12 | 13 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 14 | 15 | ## Getting Help 16 | 17 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 18 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 19 | -------------------------------------------------------------------------------- /source/vst/aaxwrapper/resource/PreBuildEvent.bat: -------------------------------------------------------------------------------- 1 | set OutDir=%1 2 | 3 | if not exist %OutDir%\..\..\Contents mkdir %OutDir%\..\..\Contents 4 | if errorlevel 1 goto err 5 | if not exist %OutDir%\..\..\Contents\Resources mkdir %OutDir%\..\..\Contents\Resources 6 | if errorlevel 1 goto err 7 | 8 | echo Copy "aaxwrapperPages.xml" 9 | copy /Y ..\resource\aaxwrapperPages.xml %OutDir%\..\..\Contents\Resources\ > NUL 10 | if errorlevel 1 goto err 11 | 12 | attrib -r %OutDir%\..\.. 13 | 14 | if exist %OutDir%\..\..\PlugIn.ico goto PlugIn_ico_exists 15 | copy /Y ..\resource\PlugIn.ico %OutDir%\..\..\ > NUL 16 | if errorlevel 1 goto err 17 | attrib +h +r +s %OutDir%\..\..\PlugIn.ico 18 | if errorlevel 1 goto err 19 | :PlugIn_ico_exists 20 | 21 | if exist %OutDir%\..\..\desktop.ini goto desktop_ini_exists 22 | copy /Y ..\resource\desktop.ini %OutDir%\..\..\ > NUL 23 | if errorlevel 1 goto err 24 | attrib +h +r +s %OutDir%\..\..\desktop.ini 25 | if errorlevel 1 goto err 26 | :desktop_ini_exists 27 | 28 | attrib +r %OutDir%\..\.. 29 | 30 | :err 31 | -------------------------------------------------------------------------------- /samples/vst/again_auv3/macOS/Sources/ViewController.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : public.sdk/samples/vst/again_auv3/macOS/Sources/ViewController.h 6 | // Created by : Steinberg, 07/2017. 7 | // Description : VST 3 - AUv3Wrapper 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #import 18 | 19 | @interface ViewController : NSViewController 20 | 21 | @end 22 | 23 | 24 | -------------------------------------------------------------------------------- /samples/vst/again/mac/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NSHumanReadableCopyright 6 | Copyright © 2018 Steinberg Media Technologies. All rights reserved. 7 | CFBundleDevelopmentRegion 8 | English 9 | CFBundleExecutable 10 | $(EXECUTABLE_NAME) 11 | CFBundleIconFile 12 | 13 | CFBundleIdentifier 14 | $(PRODUCT_BUNDLE_IDENTIFIER) 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundlePackageType 18 | BNDL 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | CFBundleShortVersionString 24 | 1.0 25 | CSResourcesFileMapped 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /samples/vst/again/README.md: -------------------------------------------------------------------------------- 1 | # AGain VST 3 2 | 3 | ## Introduction 4 | 5 | AGain VST 3 is the most simple FX plug-in with just one parameter for gain control. 6 | 7 | There are several targets to show how the AGain plug-in can be built for different use cases. 8 | 9 | * AGain VST 3 10 | * AGain VST 3 Simple (SingleComponent approach) 11 | * AGain AU (Audio Unit) 12 | * AGain iOS 13 | 14 | > See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html#again). 15 | 16 | ## Getting Started 17 | 18 | This plug-in is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 19 | 20 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 21 | 22 | ## Getting Help 23 | 24 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 25 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 26 | -------------------------------------------------------------------------------- /source/vst/auwrapper/config/auwrapper_debug.xcconfig: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : ausdkpath_debug.xcconfig 6 | // Created by : Steinberg, 5/24/12 7 | // Description : Xcode configuration file to specify paths to the AU SDK files, VST 3 -> AU Wrapper 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #include "../../../../../base/mac/config/debug" 18 | 19 | GCC_OPTIMIZATION_LEVEL = 0 20 | DEPLOYMENT_POSTPROCESSING = NO 21 | -------------------------------------------------------------------------------- /source/vst/auwrapper/config/auwrapper_release.xcconfig: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : auwrapper_release.xcconfig 6 | // Created by : Steinberg, 5/24/12 7 | // Description : Xcode configuration file to specify paths to the AU SDK files, VST 3 -> AU Wrapper 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #include "../../../../../base/mac/config/release" 18 | 19 | GCC_OPTIMIZATION_LEVEL = 3 20 | DEPLOYMENT_POSTPROCESSING = NO 21 | -------------------------------------------------------------------------------- /samples/vst/again_aax/README.md: -------------------------------------------------------------------------------- 1 | # AGain AAX 2 | 3 | ## Introduction 4 | 5 | AGain AAX is the AAX version of the AGain plug-in by just adding a file (public.sdk/samples/vst/again_aax/source/againaax.cpp). It defines a mono and a stereo variant with a MIDI input. 6 | 7 | 8 | > See also: [VST 3 - AAX Wrapper]((https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Wrappers/AAX+Wrapper.html) and [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html#again). 9 | 10 | ## Getting Started 11 | 12 | This plug-in is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 13 | 14 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 15 | 16 | ## Getting Help 17 | 18 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 19 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 20 | -------------------------------------------------------------------------------- /samples/vst/again_auv3/iOS/Sources/AppDelegate.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : public.sdk/samples/vst/again_auv3/iOS/Sources/AppDelegate.h 6 | // Created by : Steinberg, 07/2017. 7 | // Description : VST 3 - AUv3Wrapper 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #import 18 | 19 | @interface AppDelegate : UIResponder 20 | 21 | @property (strong, nonatomic) UIWindow *window; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /samples/vst/note_expression_synth_auv3/README.md: -------------------------------------------------------------------------------- 1 | # Note Expression Synth AUv3 2 | 3 | ## Introduction 4 | 5 | **Note Expression Synth AUv3** is a simple AUv3 Instrument plug-in using the AUv3 wrapper (for macOS and iOS) and supporting [note expression](https://steinbergmedia.github.io/vst3_dev_portal/pages/Technical+Documentation/Change+History/3.5.0/INoteExpressionController.html) events. 6 | 7 | > See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html#note-expression-synth). 8 | 9 | ## Getting Started 10 | 11 | This plug-in is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 12 | 13 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 14 | 15 | ## Getting Help 16 | 17 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 18 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 19 | -------------------------------------------------------------------------------- /samples/vst/again_auv3/iOS/Sources/ViewController.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : public.sdk/samples/vst/again_auv3/iOS/Sources/ViewController.h 6 | // Created by : Steinberg, 07/2017. 7 | // Description : VST 3 - AUv3Wrapper 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #import 18 | #import 19 | 20 | @interface ViewController : UIViewController 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /samples/vst/note_expression_text/source/plugparamids.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/note_expression_text/source/plugparamids.h 6 | // Created by : Steinberg, 12/2007 7 | // Description : define the parameter IDs 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | enum 20 | { 21 | /** parameter ID */ 22 | kBypassId = 0 ///< Bypass value (we will handle the bypass process) (is automatable) 23 | }; 24 | -------------------------------------------------------------------------------- /samples/vst-hosting/inspectorapp/README.md: -------------------------------------------------------------------------------- 1 | # VST 3 Inspector Application 2 | 3 | ## Introduction 4 | 5 | As Cross-platform source code: Simple cross-platform (Win/macOS/Linux) host application, built with [VSTGUI](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/VST3Inspector.html), which scans the **VST 3** Folder, collects information from the factory about each **VST 3** plug-in and display it in its UI. 6 | 7 | > See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/AudioHost.html#audiohost-application). 8 | 9 | ## Getting Started 10 | 11 | This application is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 12 | 13 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 14 | 15 | ## Getting Help 16 | 17 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 18 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 19 | -------------------------------------------------------------------------------- /samples/vst/prefetchablesupport/source/plugparamids.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/prefetchablesupport/source/plugparamids.h 6 | // Created by : Steinberg, 04/2015 7 | // Description : define the parameter IDs used by prefetchablesupport 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | enum 20 | { 21 | /** parameter ID */ 22 | kBypassId = 0, ///< Bypass value (we will handle the bypass process) (is automatable) 23 | kPrefetchableMode 24 | }; 25 | -------------------------------------------------------------------------------- /source/vst/auwrapper/config/ausdkpath.xcconfig: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : ausdkpath.xcconfig 6 | // Created by : Steinberg, 5/24/12 7 | // Description : Xcode configuration file to specify paths to the AU SDK files, VST 3 -> AU Wrapper 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | // If you are building with Xcode >= 4.x please add the path to your downloaded Audio Tools for Xcode 17 | CUSTOM_AU_SDK_PATH=/Applications/Xcode.app/Contents/Developer/Extras/CoreAudio/ // AUWRAPPER_CHANGE 18 | -------------------------------------------------------------------------------- /samples/vst/again_auv3/iOS/Sources/main.mm: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : public.sdk/samples/vst/again_auv3/iOS/Sources/main.mm 6 | // Created by : Steinberg, 07/2017. 7 | // Description : VST 3 - AUv3Wrapper 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #import 18 | #import "AppDelegate.h" 19 | 20 | int main (int argc, char* argv[]) 21 | { 22 | @autoreleasepool 23 | { 24 | return UIApplicationMain (argc, argv, nil, NSStringFromClass ([AppDelegate class])); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /samples/vst/programchange/source/plugparamids.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/programchange/source/plugparamids.h 6 | // Created by : Steinberg, 02/2016 7 | // Description : Plug-in Example for VST SDK 3.x using ProgramChange parameter 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | enum 20 | { 21 | /** parameter ID */ 22 | kBypassId = 0, ///< Bypass value (we will handle the bypass process) (is automatable) 23 | kProgramId, 24 | 25 | kGainId, 26 | 27 | kNumProgs = 100 28 | }; 29 | -------------------------------------------------------------------------------- /samples/vst/InterAppAudio/InterAppAudioExample/main.m: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/interappaudio/InterAppAudioExample/main.m 6 | // Created by : Steinberg, 08/2013 7 | // Description : 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #import 18 | 19 | #import "VSTInterAppAudioAppDelegate.h" 20 | 21 | int main(int argc, char * argv[]) 22 | { 23 | @autoreleasepool { 24 | return UIApplicationMain (argc, argv, nil, NSStringFromClass ([VSTInterAppAudioAppDelegate class])); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/vst3stdsdk.cpp: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : public.sdk/source/vst3stdsdk.cpp 6 | // Created by : Steinberg, 09/2008 7 | // Description : include basic helpers cpp files 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #include "public.sdk/source/vst/vstaudioeffect.cpp" 18 | #include "public.sdk/source/vst/vstcomponent.cpp" 19 | #include "public.sdk/source/vst/vstcomponentbase.cpp" 20 | #include "public.sdk/source/vst/vsteditcontroller.cpp" 21 | #include "public.sdk/source/vst/vstbus.cpp" 22 | #include "public.sdk/source/vst/vstparameters.cpp" 23 | -------------------------------------------------------------------------------- /samples/vst/dataexchange/source/3rdparty/MetalNanoVG/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Ollix 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /samples/vst/prefetchablesupport/source/plugcids.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/prefetchablesupport/source/plugcids.h 6 | // Created by : Steinberg, 04/2015 7 | // Description : define the class IDs for prefetchablesupport 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | namespace Steinberg { 20 | namespace Vst { 21 | static const FUID PlugProcessorUID (0xABFECE0, 0x1A93E746, 0x8341C634, 0x2394798D); 22 | static const FUID PlugControllerUID (0xC2472691, 0xB1FA6441, 0xB272196A, 0xD5CE58BB); 23 | 24 | }} // namespaces 25 | -------------------------------------------------------------------------------- /samples/vst/InterAppAudio/InterAppAudioExample/InterAppAudioExample-Prefix.pch: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/interappaudio/InterAppAudioExample/InterAppAudioExample-Prefix.pch 6 | // Created by : Steinberg, 08/2013 7 | // Description : 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #import 18 | 19 | #ifndef __IPHONE_3_0 20 | #warning "This project uses features only available in iOS SDK 3.0 and later." 21 | #endif 22 | 23 | #ifdef __OBJC__ 24 | #import 25 | #import 26 | #endif 27 | -------------------------------------------------------------------------------- /samples/vst/channelcontext/source/plugcids.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/channelcontext/source/plugcids.h 6 | // Created by : Steinberg, 02/2014 7 | // Description : define the class IDs for channelcontext 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | namespace Steinberg { 20 | namespace Vst { 21 | // Plug A 22 | static const FUID PlugProcessorUID (0x01EDEBE8, 0x8CD14564, 0xAF34B1A2, 0xDDC13384); 23 | static const FUID PlugControllerUID(0xB4D97900, 0xAAC84AAE, 0xB9D1C427, 0xB77A698B); 24 | 25 | }} // namespaces 26 | -------------------------------------------------------------------------------- /samples/vst/again/source/againparamids.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/again/source/againparamids.h 6 | // Created by : Steinberg, 12/2007 7 | // Description : define the parameter IDs used by AGain 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | enum 20 | { 21 | /** parameter ID */ 22 | kGainId = 0, ///< for the gain value (is automatable) 23 | kVuPPMId, ///< for the Vu value return to host (ReadOnly parameter for our UI) 24 | kBypassId ///< Bypass value (we will handle the bypass process) (is automatable) 25 | }; 26 | -------------------------------------------------------------------------------- /samples/vst/dataexchange/README.md: -------------------------------------------------------------------------------- 1 | # DataExchange 2 | 3 | ## Introduction 4 | 5 | **DataExchange** is simple FX plug-in showing : 6 | * how to exchange data (waveform) between processor (in the realtime thread) and controller using the VST Data Exchange API: [Steinberg::Vst::IDataExchangeHandler](https://steinbergmedia.github.io/vst3_dev_portal/pages/Technical+Documentation/Data+Exchange/Index.html) 7 | * how easy it is to use [VSTGUI](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/VSTGUI.html) 8 | 9 | > See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html#dataexchange). 10 | 11 | ## Getting Started 12 | 13 | This plug-in is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 14 | 15 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 16 | 17 | ## Getting Help 18 | 19 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 20 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 21 | -------------------------------------------------------------------------------- /samples/vst/programchange/source/plugcids.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/programchange/source/plugcids.h 6 | // Created by : Steinberg, 02/2016 7 | // Description : Plug-in Example for VST SDK 3.x using ProgramChange parameter 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | namespace Steinberg { 20 | namespace Vst { 21 | static const FUID PlugProcessorUID (0xC09CDA28, 0x346B4318, 0x9906B54E, 0x8A7023E2); 22 | static const FUID PlugControllerUID (0x86152E37, 0x6F094BDF, 0x9929F219, 0xBA3BBED7); 23 | } 24 | } // namespaces 25 | -------------------------------------------------------------------------------- /source/vst/interappaudio/SettingsViewController.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : public.sdk/source/vst/interappaudio/SettingsViewController.h 6 | // Created by : Steinberg, 09/2013 7 | // Description : VST 3 InterAppAudio 8 | // Flags : clang-format SMTGSequencer 9 | // 10 | //----------------------------------------------------------------------------- 11 | // This file is part of a Steinberg SDK. It is subject to the license terms 12 | // in the LICENSE file found in the top-level directory of this distribution 13 | // and at www.steinberg.net/sdklicenses. 14 | // No part of the SDK, including this file, may be copied, modified, propagated, 15 | // or distributed except according to the terms contained in the LICENSE file. 16 | //----------------------------------------------------------------------------- 17 | 18 | #pragma once 19 | 20 | #ifdef __OBJC__ 21 | 22 | #import 23 | 24 | @interface SettingsViewController : UIViewController 25 | 26 | @end 27 | 28 | #endif // __OBJC__ 29 | 30 | extern void showIOSettings (); 31 | -------------------------------------------------------------------------------- /samples/vst/mac/make_vst3_symbolic_link.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #//------------------------------------------------------------------------ 4 | #// Project : VST SDK 5 | #// 6 | #// Category : Examples 7 | #// Filename : public.sdk/samples/vst/mac/make_vst3_symbolic_link.sh 8 | #// Created by : Steinberg, 06/2009 9 | #// Description : places a symbolic link for the VST 3 Plug-In into the users VST3 folder. 10 | #// To be used as "Run Script" build phase in Xcode 11 | #// 12 | #//----------------------------------------------------------------------------- 13 | #// This file is part of a Steinberg SDK. It is subject to the license terms 14 | #// in the LICENSE file found in the top-level directory of this distribution 15 | #// and at www.steinberg.net/sdklicenses. 16 | #// No part of the SDK, including this file, may be copied, modified, propagated, 17 | #// or distributed except according to the terms contained in the LICENSE file. 18 | #//----------------------------------------------------------------------------- 19 | 20 | if [[ "$CONFIGURATION" == "Debug" ]] 21 | then 22 | mkdir -p ~/Library/Audio/Plug-Ins/VST3/ 23 | cd ~/Library/Audio/Plug-Ins/VST3/ 24 | ln -f -s "$BUILT_PRODUCTS_DIR/$WRAPPER_NAME" . 25 | fi 26 | -------------------------------------------------------------------------------- /samples/vst/multiple_programchanges/source/plugcids.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/multiple_programchanges/source/plugcids.h 6 | // Created by : Steinberg, 02/2016 7 | // Description : Plug-in Example for VST SDK 3.x using Multiple ProgramChange parameters 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | namespace Steinberg { 20 | namespace Vst { 21 | static const FUID PlugProcessorUID (0xC2E7B1E1, 0x4EFF4B22, 0xB90DE6D2, 0x4D147E6C); 22 | static const FUID PlugControllerUID (0x5D804D77, 0xE16B4A2F, 0x910B46A7, 0x9272C5A0); 23 | } 24 | } // namespaces 25 | -------------------------------------------------------------------------------- /samples/vst/panner/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | if(NOT SMTG_ENABLE_VSTGUI_SUPPORT) 3 | return() 4 | endif() 5 | 6 | cmake_minimum_required(VERSION 3.25.0) 7 | 8 | project(smtg-vst3-panner 9 | VERSION ${vstsdk_VERSION}.0 10 | DESCRIPTION "Steinberg VST 3 Panner example" 11 | ) 12 | 13 | smtg_add_vst3plugin(panner 14 | include/plugcontroller.h 15 | include/plugids.h 16 | include/plugprocessor.h 17 | include/version.h 18 | source/plugfactory.cpp 19 | source/plugcontroller.cpp 20 | source/plugprocessor.cpp 21 | resource/plug.uidesc 22 | ) 23 | 24 | target_link_libraries(panner 25 | PRIVATE 26 | vstgui_support 27 | ) 28 | 29 | smtg_target_add_plugin_resources(panner 30 | RESOURCES 31 | resource/plug.uidesc 32 | resource/background.png 33 | resource/animation_knob.png 34 | resource/background_2x.png 35 | resource/background_3x.png 36 | resource/animation_knob_3x.png 37 | ) 38 | 39 | smtg_target_add_plugin_snapshots(panner 40 | RESOURCES 41 | resource/A2EAF7DB320640F48EDE380DDF89562C_snapshot.png 42 | resource/A2EAF7DB320640F48EDE380DDF89562C_snapshot_2.0x.png 43 | ) 44 | 45 | smtg_target_setup_as_vst3_example(panner) 46 | -------------------------------------------------------------------------------- /samples/vst/legacymidiccout/source/plugcids.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/legacymidiccout/source/plugcids.h 6 | // Created by : Steinberg, 11/2018 7 | // Description : Plug-in Example for VST SDK 3.x using Legacy MIDI CC 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | namespace Steinberg { 20 | namespace Vst { 21 | namespace LegacyMIDICCOut { 22 | static const FUID PlugProcessorUID (0x5DDBB0D4, 0xF9284622, 0x90FE5A5E, 0x1414905A); 23 | static const FUID PlugControllerUID (0x9F34E8E9, 0x22FC42E6, 0x993C6007, 0x642512C9); 24 | } 25 | } 26 | } // namespaces 27 | -------------------------------------------------------------------------------- /samples/vst/legacymidiccout/README.md: -------------------------------------------------------------------------------- 1 | # TestLegacyMIDICCOut 2 | 3 | ## Introduction 4 | 5 | **TestLegacyMIDICCOut** is simple FX plug-in showing : 6 | * how to use [LegacyMIDICCOutEvent](https://steinbergmedia.github.io/vst3_dev_portal/pages/Technical+Documentation/Change+History/3.6.12/LegacyMIDICCOutEvent.html) which allow to generate MIDI CC as output event. 7 | * VST parameters change which creates [LegacyMIDICCOutEvent](https://steinbergmedia.github.io/vst3_dev_portal/pages/Technical+Documentation/Change+History/3.6.12/LegacyMIDICCOutEvent.html) Event. 8 | 9 | > See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html#testlegacymidiccout). 10 | 11 | ## Getting Started 12 | 13 | This plug-in is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 14 | 15 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 16 | 17 | ## Getting Help 18 | 19 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 20 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 21 | -------------------------------------------------------------------------------- /source/vst/vstgui_linux_runloop_support.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : public.sdk/source/vst/vstgui_linux_runloop_support.h 6 | // Created by : Steinberg, 10/2025 7 | // Description : VSTGUI Linux Runloop Support 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | #include "pluginterfaces/base/funknown.h" 20 | 21 | //----------------------------------------------------------------------------- 22 | namespace Steinberg::Linux { 23 | 24 | bool setupVSTGUIRunloop (FUnknown* hostContext); 25 | 26 | //----------------------------------------------------------------------------- 27 | } // Steinberg::Linux 28 | -------------------------------------------------------------------------------- /source/vst/auwrapper/aucocoaview.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : public.sdk/source/vst/auwrapper/aucocoaview.h 6 | // Created by : Steinberg, 12/2007 7 | // Description : VST 3 -> AU Wrapper 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | /// \cond ignore 17 | 18 | #pragma once 19 | 20 | #ifndef SMTG_AUCocoaUIBase_CLASS_NAME 21 | #import "aucocoaclassprefix.h" 22 | #endif 23 | 24 | #import 25 | #import 26 | 27 | //------------------------------------------------------------------------ 28 | @interface SMTG_AUCocoaUIBase_CLASS_NAME : NSObject 29 | @end 30 | 31 | /// \endcond 32 | -------------------------------------------------------------------------------- /samples/vst/again_auv3/macOS/Sources/AppDelegate.m: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : public.sdk/samples/vst/again_auv3/macOS/Sources/AppDelegate.m 6 | // Created by : Steinberg, 07/2017. 7 | // Description : VST 3 - AUv3Wrapper 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #import "AppDelegate.h" 18 | 19 | @implementation AppDelegate 20 | 21 | - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 22 | } 23 | 24 | - (void)applicationWillTerminate:(NSNotification *)aNotification { 25 | } 26 | 27 | - (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)sender 28 | { 29 | return YES; 30 | } 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /source/vst/vstgui_win32_bundle_support.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : public.sdk/source/vst/vstgui_win32_bundle_support.h 6 | // Created by : Steinberg, 10/2018 7 | // Description : VSTGUI Win32 Bundle Support 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | //----------------------------------------------------------------------------- 20 | namespace Steinberg { 21 | namespace Vst { 22 | 23 | //----------------------------------------------------------------------------- 24 | void setupVSTGUIBundleSupport (void* hInstance); 25 | 26 | //----------------------------------------------------------------------------- 27 | } // Vst 28 | } // Steinberg 29 | -------------------------------------------------------------------------------- /samples/vst/utf16name/README.md: -------------------------------------------------------------------------------- 1 | // SDKInclusion: Vst3Sdk 2 | 3 | # UTF16Name 4 | 5 | ## Introduction 6 | 7 | As part of the [VST 3 Plug-ins Examples](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html), 8 | [UTF16Name](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html?#utf16name) is a simple FX plug-in with [UTF16](https://en.wikipedia.org/wiki/UTF-16) characters in plug-in and company name: 9 | 10 | - #define stringPluginNameU u"UTF16Name öüäéèê-やあ-مرحبًا" 11 | - #define stringCompanyNameU u"Steinberg Media Technologies - öüäéèê-やあ-مرحبًا" 12 | 13 | > See also: [Online Documentation](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/Plug-in+Examples.html#utf16name). 14 | 15 | ## Getting Started 16 | 17 | This plug-in is part of the VST 3 SDK package. It is created with the VST 3 SDK root project. 18 | 19 | > See the top-level README of the VST 3 SDK: https://github.com/steinbergmedia/vst3sdk.git 20 | 21 | ## Getting Help 22 | 23 | * Read through the SDK documentation on the **[VST 3 Developer Portal](https://steinbergmedia.github.io/vst3_dev_portal/pages/index.html)** 24 | * Ask some real people in the official **[VST 3 Developer Forum](https://forums.steinberg.net/c/developer/103)** 25 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | MIT License 3 | 4 | Copyright (c) 2025, Steinberg Media Technologies GmbH 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | 24 | //--------------------------------------------------------------------------------- -------------------------------------------------------------------------------- /samples/vst-hosting/audiohost/source/usediids.cpp: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Flags : clang-format auto 3 | // Project : VST SDK 4 | // 5 | // Category : AudioHost 6 | // Filename : public.sdk/samples/vst-hosting/audiohost/source/usediids.cpp 7 | // Created by : Steinberg 09.2008 8 | // Description : Audio Host Example for VST 3 9 | // 10 | //----------------------------------------------------------------------------- 11 | // This file is part of a Steinberg SDK. It is subject to the license terms 12 | // in the LICENSE file found in the top-level directory of this distribution 13 | // and at www.steinberg.net/sdklicenses. 14 | // No part of the SDK, including this file, may be copied, modified, propagated, 15 | // or distributed except according to the terms contained in the LICENSE file. 16 | //----------------------------------------------------------------------------- 17 | 18 | //#define INIT_CLASS_IID 19 | // This macro definition modifies the behavior of DECLARE_CLASS_IID (funknown.h) 20 | // and produces the actual symbols for all interface identifiers. 21 | // It must be defined before including the interface headers and 22 | // in only one source file! 23 | //------------------------------------------------------------------------ 24 | //#define INIT_CLASS_IID 25 | -------------------------------------------------------------------------------- /samples/vst-hosting/editorhost/source/usediids.cpp: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Flags : clang-format auto 3 | // Project : VST SDK 4 | // 5 | // Category : EditorHost 6 | // Filename : public.sdk/samples/vst-hosting/editorhost/source/usediids.cpp 7 | // Created by : Steinberg 09.2008 8 | // Description : Interface symbols file 9 | // 10 | //----------------------------------------------------------------------------- 11 | // This file is part of a Steinberg SDK. It is subject to the license terms 12 | // in the LICENSE file found in the top-level directory of this distribution 13 | // and at www.steinberg.net/sdklicenses. 14 | // No part of the SDK, including this file, may be copied, modified, propagated, 15 | // or distributed except according to the terms contained in the LICENSE file. 16 | //----------------------------------------------------------------------------- 17 | 18 | //#define INIT_CLASS_IID 19 | // This macro definition modifies the behavior of DECLARE_CLASS_IID (funknown.h) 20 | // and produces the actual symbols for all interface identifiers. 21 | // It must be defined before including the interface headers and 22 | // in only one source file! 23 | //------------------------------------------------------------------------ 24 | //#define INIT_CLASS_IID 25 | -------------------------------------------------------------------------------- /source/vst/interappaudio/PresetSaveViewController.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : public.sdk/source/vst/interappaudio/PresetSaveViewController.h 6 | // Created by : Steinberg, 09/2013 7 | // Description : VST 3 InterAppAudio 8 | // Flags : clang-format SMTGSequencer 9 | // 10 | //----------------------------------------------------------------------------- 11 | // This file is part of a Steinberg SDK. It is subject to the license terms 12 | // in the LICENSE file found in the top-level directory of this distribution 13 | // and at www.steinberg.net/sdklicenses. 14 | // No part of the SDK, including this file, may be copied, modified, propagated, 15 | // or distributed except according to the terms contained in the LICENSE file. 16 | //----------------------------------------------------------------------------- 17 | 18 | #pragma once 19 | 20 | /// \cond ignore 21 | 22 | #ifdef __OBJC__ 23 | 24 | #import 25 | #import 26 | 27 | @interface PresetSaveViewController : UIViewController 28 | 29 | - (id)initWithCallback:(std::function)callback; 30 | 31 | @end 32 | 33 | #endif //__OBJC__ 34 | 35 | /// \endcond 36 | -------------------------------------------------------------------------------- /samples/vst-hosting/inspectorapp/source/window.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Flags : clang-format SMTGSequencer 3 | // Project : VST SDK 4 | // 5 | // Category : VST3Inspector 6 | // Filename : public.sdk/samples/vst-hosting/inspectorapp/window.h 7 | // Created by : Steinberg, 01/2021 8 | // Description : VST3 Inspector Application 9 | // 10 | //----------------------------------------------------------------------------- 11 | // This file is part of a Steinberg SDK. It is subject to the license terms 12 | // in the LICENSE file found in the top-level directory of this distribution 13 | // and at www.steinberg.net/sdklicenses. 14 | // No part of the SDK, including this file, may be copied, modified, propagated, 15 | // or distributed except according to the terms contained in the LICENSE file. 16 | //----------------------------------------------------------------------------- 17 | 18 | #include "vstgui/standalone/include/iwindow.h" 19 | 20 | //------------------------------------------------------------------------ 21 | namespace VST3Inspector { 22 | 23 | //------------------------------------------------------------------------ 24 | VSTGUI::Standalone::WindowPtr makeWindow (); 25 | 26 | //------------------------------------------------------------------------ 27 | } // VST3Inspector 28 | -------------------------------------------------------------------------------- /source/common/readfile.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Flags : clang-format SMTGSequencer 3 | // Project : VST SDK 4 | // 5 | // Category : readfile 6 | // Filename : public.sdk/source/common/readfile.h 7 | // Created by : Steinberg, 3/2023 8 | // Description : read file routine 9 | // 10 | //----------------------------------------------------------------------------- 11 | // This file is part of a Steinberg SDK. It is subject to the license terms 12 | // in the LICENSE file found in the top-level directory of this distribution 13 | // and at www.steinberg.net/sdklicenses. 14 | // No part of the SDK, including this file, may be copied, modified, propagated, 15 | // or distributed except according to the terms contained in the LICENSE file. 16 | //----------------------------------------------------------------------------- 17 | 18 | #pragma once 19 | 20 | #include 21 | 22 | namespace Steinberg { 23 | 24 | //------------------------------------------------------------------------ 25 | /** Reads entire file content 26 | \ingroup sdkBase 27 | 28 | Returns entire file content at the given path 29 | \endcode 30 | */ 31 | std::string readFile (const std::string& path); 32 | 33 | //------------------------------------------------------------------------ 34 | } // namespace Steinberg 35 | -------------------------------------------------------------------------------- /samples/vst/InterAppAudio/InterAppAudioExample/VSTInterAppAudioAppDelegate.h: -------------------------------------------------------------------------------- 1 | // clang-format off 2 | //----------------------------------------------------------------------------- 3 | // Project : VST SDK 4 | // 5 | // Category : Examples 6 | // Filename : public.sdk/samples/vst/interappaudio/InterAppAudioExample/VSTInterAppAudioAppDelegate.h 7 | // Created by : Steinberg, 08/2013 8 | // Description : 9 | // Flags : clang-format SMTGSequencer 10 | // 11 | //----------------------------------------------------------------------------- 12 | // This file is part of a Steinberg SDK. It is subject to the license terms 13 | // in the LICENSE file found in the top-level directory of this distribution 14 | // and at www.steinberg.net/sdklicenses. 15 | // No part of the SDK, including this file, may be copied, modified, propagated, 16 | // or distributed except according to the terms contained in the LICENSE file. 17 | //----------------------------------------------------------------------------- 18 | // clang-format on 19 | 20 | #import "public.sdk/source/vst/interappaudio/VSTInterAppAudioAppDelegateBase.h" 21 | 22 | //------------------------------------------------------------------------ 23 | @interface VSTInterAppAudioAppDelegate : VSTInterAppAudioAppDelegateBase 24 | //------------------------------------------------------------------------ 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /samples/vst/again_auv3/macOS/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIconFile 10 | again 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1 25 | LSMinimumSystemVersion 26 | $(MACOSX_DEPLOYMENT_TARGET) 27 | NSHumanReadableCopyright 28 | Copyright © 2024 Steinberg Media Technologies. All rights reserved. 29 | NSMainStoryboardFile 30 | Main 31 | NSPrincipalClass 32 | NSApplication 33 | SupportedNumChannels 34 | kSupportedNumChannels 35 | 36 | 37 | -------------------------------------------------------------------------------- /source/vst/auv3wrapper/Shared/AUv3AudioEngine.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : AUv3AudioEngine.h 6 | // Created by : Steinberg, 07/2017. 7 | // Description : VST 3 AUv3Wrapper 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | #import 20 | 21 | @interface AUv3AudioEngine : NSObject 22 | 23 | @property (assign) AUAudioUnit* currentAudioUnit; 24 | 25 | - (NSError*)loadAudioFile:(NSURL*)url; 26 | - (instancetype)initWithComponentType:(uint32_t)unitComponentType; 27 | - (void)loadAudioUnitWithComponentDescription:(AudioComponentDescription)desc 28 | completion:(void (^) (void))completionBlock; 29 | - (BOOL)startStop; 30 | - (void)shutdown; 31 | @end 32 | -------------------------------------------------------------------------------- /samples/vst/adelay/source/adelayids.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/adelay/source/adelayids.h 6 | // Created by : Steinberg, 06/2009 7 | // Description : 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | namespace Steinberg { 20 | namespace Vst { 21 | 22 | // parameter tags 23 | enum { 24 | kDelayId = 100, 25 | kBypassId = 101 26 | }; 27 | 28 | // unique class ids 29 | static DECLARE_UID (ADelayProcessorUID, 0x0CDBB669, 0x85D548A9, 0xBFD83719, 0x09D24BB3); 30 | static DECLARE_UID (ADelayControllerUID, 0x038E7FA9, 0x629A4EAA, 0x8541B889, 0x18E8952C); 31 | 32 | //------------------------------------------------------------------------ 33 | } // namespace Vst 34 | } // namespace Steinberg 35 | -------------------------------------------------------------------------------- /samples/vst/syncdelay/source/syncdelayids.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/syncdelay/source/syncdelayids.h 6 | // Created by : Steinberg, 01/2020 7 | // Description : 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | namespace Steinberg { 20 | namespace Vst { 21 | 22 | // parameter tags 23 | enum 24 | { 25 | kDelayId = 100, 26 | kBypassId = 101 27 | }; 28 | 29 | // unique class ids 30 | static const FUID SyncDelayProcessorUID (0x73088025, 0xDFC14D03, 0xACFEE5B5, 0x0D2C4356); 31 | static const FUID SyncDelayControllerUID (0x2B00D28A, 0x0A1F4A87, 0xB65DD9A1, 0xB315804B); 32 | 33 | //------------------------------------------------------------------------ 34 | } // namespace Vst 35 | } // namespace Steinberg 36 | -------------------------------------------------------------------------------- /samples/vst/channelcontext/source/plugparamids.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/channelcontext/source/plugparamids.h 6 | // Created by : Steinberg, 02/2014 7 | // Description : define the parameter IDs used by channelcontext 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | enum 20 | { 21 | /** parameter ID */ 22 | kBypassId = 0, ///< Bypass value (we will handle the bypass process) (is automatable) 23 | 24 | kChannelUIDId, ///< read Only parameters 25 | kChannelUIDLengthId, 26 | kChannelNameId, 27 | kChannelNameLengthId, 28 | kChannelIndexNamespaceOrderId, 29 | kChannelIndexNamespaceId, 30 | kChannelIndexNamespaceLengthId, 31 | kChannelColorId, 32 | kChannelIndexId, 33 | kChannelPluginLocationId 34 | }; 35 | -------------------------------------------------------------------------------- /samples/vst/note_expression_synth_auv3/macOS/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIconFile 10 | NoteExpressionSynth 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1 25 | LSMinimumSystemVersion 26 | $(MACOSX_DEPLOYMENT_TARGET) 27 | NSHumanReadableCopyright 28 | Copyright © 2020 Steinberg Media Technologies. All rights reserved. 29 | NSMainStoryboardFile 30 | Main 31 | NSPrincipalClass 32 | NSApplication 33 | SupportedNumChannels 34 | kSupportedNumChannels 35 | 36 | 37 | -------------------------------------------------------------------------------- /source/vst/basewrapper/basewrapper.sdk.cpp: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : public.sdk/source/vst/basewrapper/basewrapper.sdk.cpp 6 | // Created by : Steinberg, 05/2018 7 | // Description : VST 3 -> XXX Wrapper 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #include "public.sdk/source/common/memorystream.cpp" 18 | 19 | #include "public.sdk/source/vst/basewrapper/basewrapper.cpp" 20 | 21 | #include "public.sdk/source/vst/hosting/connectionproxy.cpp" 22 | #include "public.sdk/source/vst/hosting/eventlist.cpp" 23 | #include "public.sdk/source/vst/hosting/hostclasses.cpp" 24 | #include "public.sdk/source/vst/hosting/parameterchanges.cpp" 25 | #include "public.sdk/source/vst/hosting/pluginterfacesupport.cpp" 26 | #include "public.sdk/source/vst/hosting/processdata.cpp" 27 | -------------------------------------------------------------------------------- /source/vst/auwrapper/config/auwrapper.xcconfig: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : auwrapper.xcconfig 6 | // Created by : Steinberg, 5/24/12 7 | // Description : Xcode configuration file to specify paths to the AU SDK files, VST 3 -> AU Wrapper 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #include "../../../../../base/mac/config/libc++base" 18 | #include "ausdkpath" 19 | 20 | PRODUCT_NAME = auwrapper 21 | 22 | HEADER_SEARCH_PATHS = ../../../.. $(DEVELOPER_DIR)/Examples/CoreAudio/** $(DEVELOPER_DIR)/Extras/CoreAudio/** $(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/AUViewBase/** ../../../../external.apple.coreaudio/** 23 | GCC_PREFIX_HEADER = auwrapper_prefix.pch 24 | GCC_PRECOMPILE_PREFIX_HEADER = YES 25 | 26 | CLANG_CXX_LANGUAGE_STANDARD = c++17 27 | CLANG_CXX_LIBRARY = libc++ 28 | -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/au-info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleName 12 | $(PRODUCT_NAME) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1.0 21 | CSResourcesFileMapped 22 | yes 23 | AudioComponents 24 | 25 | 26 | factoryFunction 27 | AUWrapperFactory 28 | description 29 | NoteExpressionSynth 30 | manufacturer 31 | Stgb 32 | name 33 | Steinberg: NoteExpressionSynth 34 | subtype 35 | 0001 36 | type 37 | aumu 38 | version 39 | 1 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /samples/vst-hosting/validator/source/usediids.cpp: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : VST SDK 3 | // 4 | // Category : Validator 5 | // Filename : public.sdk/samples/vst-hosting/validator/source/usediids.cpp 6 | // Created by : Steinberg 09.2008 7 | // Description : Interface symbols file 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | //#define INIT_CLASS_IID 17 | // This macro definition modifies the behavior of DECLARE_CLASS_IID (funknown.h) 18 | // and produces the actual symbols for all interface identifiers. 19 | // It must be defined before including the interface headers and 20 | // in only one source file! 21 | //------------------------------------------------------------------------ 22 | //#define INIT_CLASS_IID 23 | 24 | #include "pluginterfaces/base/ipluginbase.h" 25 | #include "pluginterfaces/test/itest.h" 26 | 27 | namespace Steinberg { 28 | DEF_CLASS_IID (ITestResult) 29 | } 30 | -------------------------------------------------------------------------------- /samples/vst/utf16name/source/utf16namecids.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/utf16name/source/utf16namecids.h 6 | // Created by : Steinberg, 11/2023 7 | // Description : UTF16Name Example for VST 3 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | #include "pluginterfaces/base/funknown.h" 20 | #include "pluginterfaces/vst/vsttypes.h" 21 | 22 | namespace Steinberg { 23 | //------------------------------------------------------------------------ 24 | static const Steinberg::FUID kUTF16NameProcessorUID (0x04F0CA5C, 0x1A1650F6, 0x9F2EE4F3, 0xC216D8B5); 25 | static const Steinberg::FUID kUTF16NameControllerUID (0xB6F0EFA6, 0x5EAB57DF, 0x9965FCF8, 0x026EA04D); 26 | 27 | #define UTF16NameVST3Category "Fx" 28 | 29 | //------------------------------------------------------------------------ 30 | } // namespace Steinberg 31 | -------------------------------------------------------------------------------- /source/common/commoniids.cpp: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : SDK Core 3 | // Version : 1.0 4 | // 5 | // Category : Common Base Classes 6 | // Filename : public.sdk/source/common/commoniids.cpp 7 | // Created by : Steinberg, 01/2019 8 | // Description : Define some IIDs 9 | // 10 | //----------------------------------------------------------------------------- 11 | // This file is part of a Steinberg SDK. It is subject to the license terms 12 | // in the LICENSE file found in the top-level directory of this distribution 13 | // and at www.steinberg.net/sdklicenses. 14 | // No part of the SDK, including this file, may be copied, modified, propagated, 15 | // or distributed except according to the terms contained in the LICENSE file. 16 | //----------------------------------------------------------------------------- 17 | 18 | #include "pluginterfaces/gui/iplugview.h" 19 | #include "pluginterfaces/gui/iplugviewcontentscalesupport.h" 20 | 21 | namespace Steinberg 22 | { 23 | //----VST 3.0-------------------------------- 24 | DEF_CLASS_IID (IPlugView) 25 | DEF_CLASS_IID (IPlugFrame) 26 | 27 | //----VST 3.6.0-------------------------------- 28 | DEF_CLASS_IID (IPlugViewContentScaleSupport) 29 | 30 | #if SMTG_OS_LINUX 31 | DEF_CLASS_IID (Linux::IEventHandler) 32 | DEF_CLASS_IID (Linux::ITimerHandler) 33 | DEF_CLASS_IID (Linux::IRunLoop) 34 | #endif 35 | 36 | //------------------------------------------------------------------------ 37 | } // namespace Steinberg 38 | -------------------------------------------------------------------------------- /samples/vst/again/source/againcids.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/again/source/againcids.h 6 | // Created by : Steinberg, 12/2007 7 | // Description : define the class IDs for AGain 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | namespace Steinberg { 20 | namespace Vst { 21 | 22 | // Here are defined the UIDs for the 2 processors (2 plug-ins) and 1 controller (shared by the 2 plug-ins) 23 | static const FUID AGainProcessorUID (0x84E8DE5F, 0x92554F53, 0x96FAE413, 0x3C935A18); 24 | static const FUID AGainWithSideChainProcessorUID (0x41347FD6, 0xFED64094, 0xAFBB12B7, 0xDBA1D441); 25 | 26 | static const FUID AGainControllerUID (0xD39D5B65, 0xD7AF42FA, 0x843F4AC8, 0x41EB04F0); 27 | 28 | #define AGainVST3Category "Fx" 29 | 30 | //------------------------------------------------------------------------ 31 | } // namespace Vst 32 | } // namespace Steinberg 33 | -------------------------------------------------------------------------------- /source/common/threadchecker.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/source/common/threadchecker.h 6 | // Created by : Steinberg, 01/2019 7 | // Description : thread checker 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | #include "pluginterfaces/base/ftypes.h" 20 | #include 21 | 22 | //------------------------------------------------------------------------ 23 | namespace Steinberg { 24 | namespace Vst { 25 | 26 | //------------------------------------------------------------------------ 27 | class ThreadChecker 28 | { 29 | public: 30 | static std::unique_ptr create (); 31 | 32 | virtual bool test (const char* failmessage = nullptr, bool exit = false) = 0; 33 | 34 | virtual ~ThreadChecker () noexcept = default; 35 | }; 36 | 37 | //------------------------------------------------------------------------ 38 | } // namespace Vst 39 | } // namespace Steinberg 40 | -------------------------------------------------------------------------------- /samples/vst/InterAppAudio/InterAppAudioExample/VSTInterAppAudioHostUIControllerViewController.h: -------------------------------------------------------------------------------- 1 | // clang-format off 2 | //----------------------------------------------------------------------------- 3 | // Project : VST SDK 4 | // 5 | // Category : Examples 6 | // Filename : public.sdk/samples/vst/interappaudio/InterAppAudioExample/VSTInterAppAudioHostUIControllerViewController.h 7 | // Created by : Steinberg, 08/2013 8 | // Description : 9 | // Flags : clang-format SMTGSequencer 10 | // 11 | //----------------------------------------------------------------------------- 12 | // This file is part of a Steinberg SDK. It is subject to the license terms 13 | // in the LICENSE file found in the top-level directory of this distribution 14 | // and at www.steinberg.net/sdklicenses. 15 | // No part of the SDK, including this file, may be copied, modified, propagated, 16 | // or distributed except according to the terms contained in the LICENSE file. 17 | //----------------------------------------------------------------------------- 18 | // clang-format on 19 | 20 | #import 21 | 22 | //------------------------------------------------------------------------ 23 | @interface VSTInterAppAudioHostUIControllerViewController : UIViewController 24 | //------------------------------------------------------------------------ 25 | 26 | - (IBAction)hideView:(id)sender; 27 | 28 | - (IBAction)switchToHost:(id)sender; 29 | - (IBAction)play:(id)sender; 30 | - (IBAction)rewind:(id)sender; 31 | - (IBAction)record:(id)sender; 32 | 33 | @end 34 | 35 | -------------------------------------------------------------------------------- /source/vst/auv3wrapper/Shared/AUv3WrapperFactory.mm: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : 6 | // Created by : Steinberg, 07/2017. 7 | // Description : VST 3 AUv3Wrapper 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #import "AUv3WrapperFactory.h" 18 | 19 | @implementation AUv3WrapperViewController (AUAudioUnitFactory) 20 | 21 | - (AUv3Wrapper *) createAudioUnitWithComponentDescription:(AudioComponentDescription) desc error:(NSError **)error { 22 | @synchronized (self) 23 | { 24 | if (!self.audioUnit) 25 | { 26 | if (![NSThread isMainThread]) 27 | { 28 | dispatch_sync(dispatch_get_main_queue(), [&]{ 29 | self.audioUnit = [[AUv3Wrapper alloc] initWithComponentDescription:desc error:error]; 30 | }); 31 | } 32 | else 33 | { 34 | self.audioUnit = [[AUv3Wrapper alloc] initWithComponentDescription:desc error:error]; 35 | } 36 | } 37 | } 38 | return self.audioUnit; 39 | } 40 | 41 | @end 42 | -------------------------------------------------------------------------------- /source/vst/testsuite/general/plugcompat.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Flags : clang-format SMTGSequencer 3 | // Project : VST SDK 4 | // 5 | // Category : Validator 6 | // Filename : public.sdk/source/vst/testsuite/general/plugcompat.h 7 | // Created by : Steinberg, 03/2022 8 | // Description : VST Test Suite 9 | // 10 | //----------------------------------------------------------------------------- 11 | // This file is part of a Steinberg SDK. It is subject to the license terms 12 | // in the LICENSE file found in the top-level directory of this distribution 13 | // and at www.steinberg.net/sdklicenses. 14 | // No part of the SDK, including this file, may be copied, modified, propagated, 15 | // or distributed except according to the terms contained in the LICENSE file. 16 | //----------------------------------------------------------------------------- 17 | 18 | #pragma once 19 | 20 | #include "public.sdk/source/vst/hosting/module.h" 21 | #include "pluginterfaces/base/iplugincompatibility.h" 22 | #include 23 | 24 | //------------------------------------------------------------------------ 25 | namespace Steinberg { 26 | 27 | //------------------------------------------------------------------------ 28 | bool checkPluginCompatibility (VST3::Hosting::Module::Ptr& module, 29 | IPtr compat, std::ostream* errorStream); 30 | 31 | //------------------------------------------------------------------------ 32 | } // Steinberg 33 | -------------------------------------------------------------------------------- /source/common/openurl.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Flags : clang-format SMTGSequencer 3 | // 4 | // Category : Helpers 5 | // Project : Steinberg Plug-In SDK 6 | // Filename : public.sdk/source/common/openurl.h 7 | // Created by : Steinberg 04.2020 8 | // Description : Simple helper allowing to open a URL in the default associated application 9 | // 10 | //----------------------------------------------------------------------------- 11 | // This file is part of a Steinberg SDK. It is subject to the license terms 12 | // in the LICENSE file found in the top-level directory of this distribution 13 | // and at www.steinberg.net/sdklicenses. 14 | // No part of the SDK, including this file, may be copied, modified, propagated, 15 | // or distributed except according to the terms contained in the LICENSE file. 16 | //----------------------------------------------------------------------------- 17 | 18 | #pragma once 19 | 20 | #include "base/source/fstring.h" 21 | 22 | namespace Steinberg { 23 | 24 | /** Open the given URL into the default web browser. 25 | \ingroup sdkBase 26 | 27 | It returns true if a default application is found and opened else false. 28 | Example: 29 | \code{.cpp} 30 | if (openURLInDefaultApplication ("https://www.steinberg.net/")) 31 | { 32 | // everything seems to be ok 33 | } 34 | \endcode 35 | */ 36 | bool openURLInDefaultApplication (const String& address); 37 | 38 | //------------------------------------------------------------------------ 39 | } // namespace Steinberg 40 | -------------------------------------------------------------------------------- /source/vst/moduleinfo/ReadMe.md: -------------------------------------------------------------------------------- 1 | 2 | # ModuleInfoLib 3 | 4 | This is a c++17 library to parse and create the Steinberg moduleinfo.json files. 5 | 6 | ## Parsing 7 | 8 | To parse a moduleinfo.json file you need to include the following files to your project: 9 | 10 | * moduleinfoparser.cpp 11 | * moduleinfoparser.h 12 | * moduleinfo.h 13 | * json.h 14 | * jsoncxx.h 15 | 16 | And add a header search path to the root folder of the VST SDK. 17 | 18 | Now to parse a moduleinfo.json file in code you need to read the moduleinfo.json into a memory buffer and call 19 | 20 | ``` c++ 21 | auto moduleInfo = ModuleInfoLib::parseCompatibilityJson (std::string_view (buffer, bufferSize), &std::cerr); 22 | ``` 23 | 24 | Afterwards if parsing succeeded the moduleInfo optional has a value containing the ModuleInfo. 25 | 26 | ## Creating 27 | 28 | The VST3 SDK contains the moduleinfotool utility that can create moduleinfo.json files from VST3 modules. 29 | 30 | To add this capability to your own project you need to link to the sdk_hosting library from the SDK and include the following files to your project: 31 | 32 | * moduleinfocreator.cpp 33 | * moduleinfocreator.h 34 | * moduleinfo.h 35 | 36 | Additionally you need to add the module platform implementation from the hosting directory (module_win32.cpp, module_mac.mm or module_linux.cpp). 37 | 38 | Now you can use the two methods in moduleinfocreator.h to create a moduleinfo.json file: 39 | 40 | ``` c++ 41 | auto moduleInfo = ModuleInfoLib::createModuleInfo (module, false); 42 | ModuleInfoLib::outputJson (moduleInfo, std::cout); 43 | ``` 44 | -------------------------------------------------------------------------------- /samples/vst/again_auv3/iOS/Sources/AppDelegate.m: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : public.sdk/samples/vst/again_auv3/iOS/Sources/AppDelegate.m 6 | // Created by : Steinberg, 07/2017. 7 | // Description : VST 3 - AUv3Wrapper 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #import "AppDelegate.h" 18 | 19 | @interface AppDelegate () 20 | 21 | @end 22 | 23 | @implementation AppDelegate 24 | 25 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 26 | return YES; 27 | } 28 | 29 | - (void)applicationWillResignActive:(UIApplication *)application { 30 | } 31 | 32 | - (void)applicationDidEnterBackground:(UIApplication *)application { 33 | } 34 | 35 | - (void)applicationWillEnterForeground:(UIApplication *)application { 36 | } 37 | 38 | - (void)applicationDidBecomeActive:(UIApplication *)application { 39 | } 40 | 41 | - (void)applicationWillTerminate:(UIApplication *)application { 42 | } 43 | 44 | @end 45 | -------------------------------------------------------------------------------- /samples/vst/legacymidiccout/source/plugparamids.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/legacymidiccout/source/plugparamids.h 6 | // Created by : Steinberg, 11/2018 7 | // Description : Plug-in Example for VST SDK 3.x using Legacy MIDI CC 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | enum 20 | { 21 | /** parameter ID */ 22 | kBypassId = 0, ///< Bypass value (we will handle the bypass process) (is automatable) 23 | 24 | kChannelId, 25 | kControllerNumId, 26 | kControllerId, 27 | kProgramChangeId, 28 | kPitchBendId, 29 | kPolyPressureNoteId, 30 | kPolyPressureId, 31 | kAftertouchId, 32 | 33 | kCtrlQuarterFrameId, 34 | kSystemSongSelectId, 35 | kSystemSongPointerId, 36 | kSystemCableSelectId, 37 | kSystemTuneRequestId, 38 | kSystemMidiClockStartId, 39 | kSystemMidiClockContinueId, 40 | kSystemMidiClockStopId, 41 | kSystemActiveSensingId, 42 | 43 | //--- others 44 | kMaxMIDIChannelSupported = 16 45 | }; 46 | -------------------------------------------------------------------------------- /samples/vst/utf16name/source/version.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/utf16name/source/version.h 6 | // Created by : Steinberg, 11/2023 7 | // Description : UTF16Name Example for VST 3 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | #include "pluginterfaces/base/fplatform.h" 20 | 21 | // Plain project version file generated by cmake 22 | #include "projectversion.h" 23 | 24 | #define stringOriginalFilename "UTF16Name.vst3" 25 | #if SMTG_PLATFORM_64 26 | #define stringFileDescription "UTF16Name VST3 (64Bit)" 27 | #else 28 | #define stringFileDescription "UTF16Name VST3" 29 | #endif 30 | #define stringCompanyWeb "http://www.steinberg.net" 31 | #define stringCompanyEmail "mailto:info@steinberg.de" 32 | #define stringCompanyName "Steinberg Media Technologies" 33 | #define stringLegalCopyright "� 2024 Steinberg Media Technologies" 34 | #define stringLegalTrademarks "VST is a trademark of Steinberg Media Technologies GmbH" 35 | -------------------------------------------------------------------------------- /samples/vst-hosting/audiohost/source/platform/appinit.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Flags : clang-format auto 3 | // Project : VST SDK 4 | // 5 | // Category : AudioHost 6 | // Filename : public.sdk/samples/vst-hosting/audiohost/source/platform/appinit.h 7 | // Created by : Steinberg, 04/2005 8 | // Description : Audio Host Example for VST 3 9 | // 10 | //----------------------------------------------------------------------------- 11 | // This file is part of a Steinberg SDK. It is subject to the license terms 12 | // in the LICENSE file found in the top-level directory of this distribution 13 | // and at www.steinberg.net/sdklicenses. 14 | // No part of the SDK, including this file, may be copied, modified, propagated, 15 | // or distributed except according to the terms contained in the LICENSE file. 16 | //----------------------------------------------------------------------------- 17 | 18 | #pragma once 19 | 20 | #include "public.sdk/samples/vst-hosting/editorhost/source/platform/iapplication.h" 21 | 22 | //------------------------------------------------------------------------ 23 | namespace Steinberg { 24 | namespace Vst { 25 | namespace AudioHost { 26 | 27 | //------------------------------------------------------------------------ 28 | struct AppInit 29 | { 30 | explicit AppInit (EditorHost::ApplicationPtr&& _app) { app = std::move (_app); } 31 | 32 | EditorHost::ApplicationPtr app; 33 | }; 34 | 35 | //------------------------------------------------------------------------ 36 | } // EditorHost 37 | } // Vst 38 | } // Steinberg 39 | -------------------------------------------------------------------------------- /samples/vst/panner/include/plugids.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/panner/include/plugids.h 6 | // Created by : Steinberg, 02/2020 7 | // Description : Panner Example for VST 3 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | namespace Steinberg { 20 | namespace Panner { 21 | 22 | // HERE are defined the parameter Ids which are exported to the host 23 | enum PannerParams : Vst::ParamID 24 | { 25 | kBypassId = 100, 26 | 27 | kParamPanId = 102, 28 | }; 29 | 30 | 31 | // HERE you have to define new unique class ids: for processor and for controller 32 | // you can use GUID creator tools like https://www.guidgenerator.com/ 33 | static const FUID MyProcessorUID (0xA2EAF7DB, 0x320640F4, 0x8EDE380D, 0xDF89562C); 34 | static const FUID MyControllerUID (0x239F80C2, 0x4F1442C4, 0x8B58AE6E, 0x7C8644EB); 35 | 36 | //------------------------------------------------------------------------ 37 | } // namespace Panner 38 | } // namespace Steinberg 39 | -------------------------------------------------------------------------------- /source/vst/interappaudio/PresetBrowserViewController.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : VST SDK 3 | // 4 | // Category : Helpers 5 | // Filename : public.sdk/source/vst/interappaudio/PresetBrowserViewController.h 6 | // Created by : Steinberg, 09/2013 7 | // Description : VST 3 InterAppAudio 8 | // Flags : clang-format SMTGSequencer 9 | // 10 | //----------------------------------------------------------------------------- 11 | // This file is part of a Steinberg SDK. It is subject to the license terms 12 | // in the LICENSE file found in the top-level directory of this distribution 13 | // and at www.steinberg.net/sdklicenses. 14 | // No part of the SDK, including this file, may be copied, modified, propagated, 15 | // or distributed except according to the terms contained in the LICENSE file. 16 | //----------------------------------------------------------------------------- 17 | 18 | #pragma once 19 | 20 | /// \cond ignore 21 | 22 | #ifdef __OBJC__ 23 | 24 | #import 25 | #import 26 | 27 | //----------------------------------------------------------------------------- 28 | @interface PresetBrowserViewController 29 | : UIViewController 30 | //----------------------------------------------------------------------------- 31 | 32 | - (id)initWithCallback:(std::function)callback; 33 | 34 | - (void)setFactoryPresets:(NSArray*)factoryPresets userPresets:(NSArray*)userPresets; 35 | 36 | @end 37 | 38 | #endif // __OBJC__ 39 | 40 | /// \endcond 41 | -------------------------------------------------------------------------------- /samples/vst/panner/resource/info.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "../include/version.h" 3 | 4 | #define APSTUDIO_READONLY_SYMBOLS 5 | 6 | ///////////////////////////////////////////////////////////////////////////// 7 | // Version 8 | ///////////////////////////////////////////////////////////////////////////// 9 | VS_VERSION_INFO VERSIONINFO 10 | FILEVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 11 | PRODUCTVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 12 | FILEFLAGSMASK 0x3fL 13 | #ifdef _DEBUG 14 | FILEFLAGS 0x1L 15 | #else 16 | FILEFLAGS 0x0L 17 | #endif 18 | FILEOS 0x40004L 19 | FILETYPE 0x1L 20 | FILESUBTYPE 0x0L 21 | BEGIN 22 | BLOCK "StringFileInfo" 23 | BEGIN 24 | BLOCK "040004e4" 25 | BEGIN 26 | VALUE "FileVersion", FULL_VERSION_STR 27 | VALUE "ProductVersion", FULL_VERSION_STR 28 | VALUE "OriginalFilename", stringOriginalFilename 29 | VALUE "FileDescription", stringFileDescription 30 | VALUE "InternalName", stringFileDescription 31 | VALUE "ProductName", stringFileDescription 32 | VALUE "CompanyName", stringCompanyName 33 | VALUE "LegalCopyright", stringLegalCopyright 34 | VALUE "LegalTrademarks", stringLegalTrademarks 35 | //VALUE "PrivateBuild", " \0" 36 | //VALUE "SpecialBuild", " \0" 37 | //VALUE "Comments", " \0" 38 | END 39 | END 40 | BLOCK "VarFileInfo" 41 | BEGIN 42 | VALUE "Translation", 0x400, 1252 43 | END 44 | END -------------------------------------------------------------------------------- /samples/vst/adelay/resource/info.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "../source/version.h" 3 | 4 | #define APSTUDIO_READONLY_SYMBOLS 5 | 6 | ///////////////////////////////////////////////////////////////////////////// 7 | // Version 8 | ///////////////////////////////////////////////////////////////////////////// 9 | VS_VERSION_INFO VERSIONINFO 10 | FILEVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 11 | PRODUCTVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 12 | FILEFLAGSMASK 0x3fL 13 | #ifdef _DEBUG 14 | FILEFLAGS 0x1L 15 | #else 16 | FILEFLAGS 0x0L 17 | #endif 18 | FILEOS 0x40004L 19 | FILETYPE 0x1L 20 | FILESUBTYPE 0x0L 21 | BEGIN 22 | BLOCK "StringFileInfo" 23 | BEGIN 24 | BLOCK "040004e4" 25 | BEGIN 26 | VALUE "FileVersion", FULL_VERSION_STR 27 | VALUE "ProductVersion", FULL_VERSION_STR 28 | VALUE "OriginalFilename", stringOriginalFilename 29 | VALUE "FileDescription", stringFileDescription 30 | VALUE "InternalName", stringFileDescription 31 | VALUE "ProductName", stringFileDescription 32 | VALUE "CompanyName", stringCompanyName 33 | VALUE "LegalCopyright", stringLegalCopyright 34 | VALUE "LegalTrademarks", stringLegalTrademarks 35 | //VALUE "PrivateBuild", " \0" 36 | //VALUE "SpecialBuild", " \0" 37 | //VALUE "Comments", " \0" 38 | END 39 | END 40 | BLOCK "VarFileInfo" 41 | BEGIN 42 | VALUE "Translation", 0x400, 1252 43 | END 44 | END 45 | 46 | -------------------------------------------------------------------------------- /samples/vst/again/resource/again.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "../source/version.h" 3 | 4 | #define APSTUDIO_READONLY_SYMBOLS 5 | 6 | ///////////////////////////////////////////////////////////////////////////// 7 | // Version 8 | ///////////////////////////////////////////////////////////////////////////// 9 | VS_VERSION_INFO VERSIONINFO 10 | FILEVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 11 | PRODUCTVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 12 | FILEFLAGSMASK 0x3fL 13 | #ifdef _DEBUG 14 | FILEFLAGS 0x1L 15 | #else 16 | FILEFLAGS 0x0L 17 | #endif 18 | FILEOS 0x40004L 19 | FILETYPE 0x1L 20 | FILESUBTYPE 0x0L 21 | BEGIN 22 | BLOCK "StringFileInfo" 23 | BEGIN 24 | BLOCK "040004e4" 25 | BEGIN 26 | VALUE "FileVersion", FULL_VERSION_STR 27 | VALUE "ProductVersion", FULL_VERSION_STR 28 | VALUE "OriginalFilename", stringOriginalFilename 29 | VALUE "FileDescription", stringFileDescription 30 | VALUE "InternalName", stringFileDescription 31 | VALUE "ProductName", stringFileDescription 32 | VALUE "CompanyName", stringCompanyName 33 | VALUE "LegalCopyright", stringLegalCopyright 34 | VALUE "LegalTrademarks", stringLegalTrademarks 35 | //VALUE "PrivateBuild", " \0" 36 | //VALUE "SpecialBuild", " \0" 37 | //VALUE "Comments", " \0" 38 | END 39 | END 40 | BLOCK "VarFileInfo" 41 | BEGIN 42 | VALUE "Translation", 0x400, 1252 43 | END 44 | END 45 | 46 | -------------------------------------------------------------------------------- /samples/vst/remap_paramid/source/version.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/remap_paramid/source/remapparamidcontroller.h 6 | // Created by : Steinberg, 02/2024 7 | // Description : Remap ParamID Example for VST 3 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | #include "pluginterfaces/base/fplatform.h" 20 | 21 | // Plain project version file generated by cmake 22 | #include "projectversion.h" 23 | 24 | #define stringOriginalFilename "TestRemapParamID.vst3" 25 | #if SMTG_PLATFORM_64 26 | #define stringFileDescription "TestRemapParamID VST3 (64Bit)" 27 | #else 28 | #define stringFileDescription "TestRemapParamID VST3" 29 | #endif 30 | #define stringCompanyWeb "http://www.steinberg.net" 31 | #define stringCompanyEmail "mailto:info@steinberg.de" 32 | #define stringCompanyName "Steinberg Media Technologies" 33 | #define stringLegalCopyright "� 2025 Steinberg Media Technologies" 34 | #define stringLegalTrademarks "VST is a trademark of Steinberg Media Technologies GmbH" 35 | -------------------------------------------------------------------------------- /samples/vst/dataexchange/resource/info.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "../source/version.h" 3 | 4 | #define APSTUDIO_READONLY_SYMBOLS 5 | 6 | ///////////////////////////////////////////////////////////////////////////// 7 | // Version 8 | ///////////////////////////////////////////////////////////////////////////// 9 | VS_VERSION_INFO VERSIONINFO 10 | FILEVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 11 | PRODUCTVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 12 | FILEFLAGSMASK 0x3fL 13 | #ifdef _DEBUG 14 | FILEFLAGS 0x1L 15 | #else 16 | FILEFLAGS 0x0L 17 | #endif 18 | FILEOS 0x40004L 19 | FILETYPE 0x1L 20 | FILESUBTYPE 0x0L 21 | BEGIN 22 | BLOCK "StringFileInfo" 23 | BEGIN 24 | BLOCK "040004e4" 25 | BEGIN 26 | VALUE "FileVersion", FULL_VERSION_STR 27 | VALUE "ProductVersion", FULL_VERSION_STR 28 | VALUE "OriginalFilename", stringOriginalFilename 29 | VALUE "FileDescription", stringFileDescription 30 | VALUE "InternalName", stringFileDescription 31 | VALUE "ProductName", stringFileDescription 32 | VALUE "CompanyName", stringCompanyName 33 | VALUE "LegalCopyright", stringLegalCopyright 34 | VALUE "LegalTrademarks", stringLegalTrademarks 35 | //VALUE "PrivateBuild", " \0" 36 | //VALUE "SpecialBuild", " \0" 37 | //VALUE "Comments", " \0" 38 | END 39 | END 40 | BLOCK "VarFileInfo" 41 | BEGIN 42 | VALUE "Translation", 0x400, 1252 43 | END 44 | END 45 | 46 | -------------------------------------------------------------------------------- /samples/vst/hostchecker/source/version.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/hostchecker/source/version.h 6 | // Created by : Steinberg, 04/2012 7 | // Description : 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | #include "pluginterfaces/base/fplatform.h" 20 | 21 | // Plain project version file generated by cmake 22 | #include "projectversion.h" 23 | 24 | #define stringPluginName "VST3 Host Checker" 25 | 26 | #define stringOriginalFilename "HostChecker.vst3" 27 | #if SMTG_PLATFORM_64 28 | #define stringFileDescription "HostChecker VST3-SDK (64Bit)" 29 | #else 30 | #define stringFileDescription "HostChecker VST3-SDK" 31 | #endif 32 | #define stringCompanyWeb "http://www.steinberg.net" 33 | #define stringCompanyEmail "mailto:info@steinberg.de" 34 | #define stringCompanyName "Steinberg Media Technologies" 35 | #define stringLegalCopyright "© 2025 Steinberg Media Technologies" 36 | #define stringLegalTrademarks "VST is a trademark of Steinberg Media Technologies GmbH" 37 | -------------------------------------------------------------------------------- /samples/vst/mda-vst3/resource/info.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "../source/version.h" 3 | 4 | #define APSTUDIO_READONLY_SYMBOLS 5 | 6 | ///////////////////////////////////////////////////////////////////////////// 7 | // Version 8 | ///////////////////////////////////////////////////////////////////////////// 9 | VS_VERSION_INFO VERSIONINFO 10 | FILEVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 11 | PRODUCTVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 12 | FILEFLAGSMASK 0x3fL 13 | #ifdef _DEBUG 14 | FILEFLAGS 0x1L 15 | #else 16 | FILEFLAGS 0x0L 17 | #endif 18 | FILEOS 0x40004L 19 | FILETYPE 0x1L 20 | FILESUBTYPE 0x0L 21 | BEGIN 22 | BLOCK "StringFileInfo" 23 | BEGIN 24 | BLOCK "040004e4" 25 | BEGIN 26 | VALUE "FileVersion", FULL_VERSION_STR 27 | VALUE "ProductVersion", FULL_VERSION_STR 28 | VALUE "OriginalFilename", stringOriginalFilename 29 | VALUE "FileDescription", stringFileDescription 30 | VALUE "InternalName", stringFileDescription 31 | VALUE "ProductName", stringFileDescription 32 | VALUE "CompanyName", stringCompanyName 33 | VALUE "LegalCopyright", stringLegalCopyright 34 | VALUE "LegalTrademarks", stringLegalTrademarks 35 | //VALUE "PrivateBuild", " \0" 36 | //VALUE "SpecialBuild", " \0" 37 | //VALUE "Comments", " \0" 38 | END 39 | END 40 | BLOCK "VarFileInfo" 41 | BEGIN 42 | VALUE "Translation", 0x400, 1252 43 | END 44 | END 45 | 46 | -------------------------------------------------------------------------------- /samples/vst/prefetchablesupport/resource/info.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "../source/version.h" 3 | 4 | #define APSTUDIO_READONLY_SYMBOLS 5 | 6 | ///////////////////////////////////////////////////////////////////////////// 7 | // Version 8 | ///////////////////////////////////////////////////////////////////////////// 9 | VS_VERSION_INFO VERSIONINFO 10 | FILEVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 11 | PRODUCTVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 12 | FILEFLAGSMASK 0x3fL 13 | #ifdef _DEBUG 14 | FILEFLAGS 0x1L 15 | #else 16 | FILEFLAGS 0x0L 17 | #endif 18 | FILEOS 0x40004L 19 | FILETYPE 0x1L 20 | FILESUBTYPE 0x0L 21 | BEGIN 22 | BLOCK "StringFileInfo" 23 | BEGIN 24 | BLOCK "040004e4" 25 | BEGIN 26 | VALUE "FileVersion", FULL_VERSION_STR 27 | VALUE "ProductVersion", FULL_VERSION_STR 28 | VALUE "OriginalFilename", stringOriginalFilename 29 | VALUE "FileDescription", stringFileDescription 30 | VALUE "InternalName", stringFileDescription 31 | VALUE "ProductName", stringFileDescription 32 | VALUE "CompanyName", stringCompanyName 33 | VALUE "LegalCopyright", stringLegalCopyright 34 | VALUE "LegalTrademarks", stringLegalTrademarks 35 | //VALUE "PrivateBuild", " \0" 36 | //VALUE "SpecialBuild", " \0" 37 | //VALUE "Comments", " \0" 38 | END 39 | END 40 | BLOCK "VarFileInfo" 41 | BEGIN 42 | VALUE "Translation", 0x400, 1252 43 | END 44 | END 45 | 46 | -------------------------------------------------------------------------------- /samples/vst/utf16name/resource/info.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "../source/version.h" 3 | 4 | #define APSTUDIO_READONLY_SYMBOLS 5 | 6 | ///////////////////////////////////////////////////////////////////////////// 7 | // Version 8 | ///////////////////////////////////////////////////////////////////////////// 9 | VS_VERSION_INFO VERSIONINFO 10 | FILEVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 11 | PRODUCTVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 12 | FILEFLAGSMASK 0x3fL 13 | #ifdef _DEBUG 14 | FILEFLAGS 0x1L 15 | #else 16 | FILEFLAGS 0x0L 17 | #endif 18 | FILEOS 0x40004L 19 | FILETYPE 0x1L 20 | FILESUBTYPE 0x0L 21 | BEGIN 22 | BLOCK "StringFileInfo" 23 | BEGIN 24 | BLOCK "040004e4" 25 | BEGIN 26 | VALUE "FileVersion", FULL_VERSION_STR 27 | VALUE "ProductVersion", FULL_VERSION_STR 28 | VALUE "OriginalFilename", stringOriginalFilename 29 | VALUE "FileDescription", stringFileDescription 30 | VALUE "InternalName", stringFileDescription 31 | VALUE "ProductName", stringFileDescription 32 | VALUE "CompanyName", stringCompanyName 33 | VALUE "LegalCopyright", stringLegalCopyright 34 | VALUE "LegalTrademarks", stringLegalTrademarks 35 | //VALUE "PrivateBuild", " \0" 36 | //VALUE "SpecialBuild", " \0" 37 | //VALUE "Comments", " \0" 38 | END 39 | END 40 | BLOCK "VarFileInfo" 41 | BEGIN 42 | VALUE "Translation", 0x400, 1252 43 | END 44 | END 45 | 46 | -------------------------------------------------------------------------------- /source/vst/testsuite/bus/busactivation.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Flags : clang-format SMTGSequencer 3 | // Project : VST SDK 4 | // 5 | // Category : Validator 6 | // Filename : public.sdk/source/vst/testsuite/bus/busactivation.h 7 | // Created by : Steinberg, 04/2005 8 | // Description : VST Test Suite 9 | // 10 | //----------------------------------------------------------------------------- 11 | // This file is part of a Steinberg SDK. It is subject to the license terms 12 | // in the LICENSE file found in the top-level directory of this distribution 13 | // and at www.steinberg.net/sdklicenses. 14 | // No part of the SDK, including this file, may be copied, modified, propagated, 15 | // or distributed except according to the terms contained in the LICENSE file. 16 | //----------------------------------------------------------------------------- 17 | 18 | #pragma once 19 | 20 | #include "public.sdk/source/vst/testsuite/testbase.h" 21 | 22 | //------------------------------------------------------------------------ 23 | namespace Steinberg { 24 | namespace Vst { 25 | 26 | //------------------------------------------------------------------------ 27 | /** Test Bus Activation. 28 | * \ingroup TestClass 29 | */ 30 | class BusActivationTest : public TestBase 31 | { 32 | public: 33 | BusActivationTest (ITestPlugProvider* plugProvider); 34 | 35 | bool PLUGIN_API run (ITestResult* testResult) SMTG_OVERRIDE; 36 | 37 | DECLARE_VSTTEST ("Bus Activation") 38 | }; 39 | 40 | //------------------------------------------------------------------------ 41 | } // Vst 42 | } // Steinberg 43 | -------------------------------------------------------------------------------- /samples/vst/channelcontext/resource/info.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "../source/version.h" 3 | 4 | #define APSTUDIO_READONLY_SYMBOLS 5 | 6 | ///////////////////////////////////////////////////////////////////////////// 7 | // Version 8 | ///////////////////////////////////////////////////////////////////////////// 9 | VS_VERSION_INFO VERSIONINFO 10 | FILEVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 11 | PRODUCTVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 12 | FILEFLAGSMASK 0x3fL 13 | #ifdef _DEBUG 14 | FILEFLAGS 0x1L 15 | #else 16 | FILEFLAGS 0x0L 17 | #endif 18 | FILEOS 0x40004L 19 | FILETYPE 0x1L 20 | FILESUBTYPE 0x0L 21 | BEGIN 22 | BLOCK "StringFileInfo" 23 | BEGIN 24 | BLOCK "040004e4" 25 | BEGIN 26 | VALUE "FileVersion", FULL_VERSION_STR 27 | VALUE "ProductVersion", FULL_VERSION_STR 28 | VALUE "OriginalFilename", stringOriginalFilename 29 | VALUE "FileDescription", stringFileDescription 30 | VALUE "InternalName", stringFileDescription 31 | VALUE "ProductName", stringFileDescription 32 | VALUE "CompanyName", stringCompanyName 33 | VALUE "LegalCopyright", stringLegalCopyright 34 | VALUE "LegalTrademarks", stringLegalTrademarks 35 | //VALUE "PrivateBuild", " \0" 36 | //VALUE "SpecialBuild", " \0" 37 | //VALUE "Comments", " \0" 38 | END 39 | END 40 | BLOCK "VarFileInfo" 41 | BEGIN 42 | VALUE "Translation", 0x400, 1252 43 | END 44 | END 45 | 46 | -------------------------------------------------------------------------------- /samples/vst/legacymidiccout/resource/info.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "../source/version.h" 3 | 4 | #define APSTUDIO_READONLY_SYMBOLS 5 | 6 | ///////////////////////////////////////////////////////////////////////////// 7 | // Version 8 | ///////////////////////////////////////////////////////////////////////////// 9 | VS_VERSION_INFO VERSIONINFO 10 | FILEVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 11 | PRODUCTVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 12 | FILEFLAGSMASK 0x3fL 13 | #ifdef _DEBUG 14 | FILEFLAGS 0x1L 15 | #else 16 | FILEFLAGS 0x0L 17 | #endif 18 | FILEOS 0x40004L 19 | FILETYPE 0x1L 20 | FILESUBTYPE 0x0L 21 | BEGIN 22 | BLOCK "StringFileInfo" 23 | BEGIN 24 | BLOCK "040004e4" 25 | BEGIN 26 | VALUE "FileVersion", FULL_VERSION_STR 27 | VALUE "ProductVersion", FULL_VERSION_STR 28 | VALUE "OriginalFilename", stringOriginalFilename 29 | VALUE "FileDescription", stringFileDescription 30 | VALUE "InternalName", stringFileDescription 31 | VALUE "ProductName", stringFileDescription 32 | VALUE "CompanyName", stringCompanyName 33 | VALUE "LegalCopyright", stringLegalCopyright 34 | VALUE "LegalTrademarks", stringLegalTrademarks 35 | //VALUE "PrivateBuild", " \0" 36 | //VALUE "SpecialBuild", " \0" 37 | //VALUE "Comments", " \0" 38 | END 39 | END 40 | BLOCK "VarFileInfo" 41 | BEGIN 42 | VALUE "Translation", 0x400, 1252 43 | END 44 | END 45 | 46 | -------------------------------------------------------------------------------- /samples/vst/legacymidiccout/source/version.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/legacymidiccout/source/version.h 6 | // Created by : Steinberg, 11/2018 7 | // Description : Plug-in Example for VST SDK 3.x using Legacy MIDI CC 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | #include "pluginterfaces/base/fplatform.h" 20 | 21 | // Plain project version file generated by cmake 22 | #include "projectversion.h" 23 | 24 | #define stringOriginalFilename "legacymidiccout.vst3" 25 | #if SMTG_PLATFORM_64 26 | #define stringFileDescription "LegacyMIDICCOut VST3-SDK (64Bit)" 27 | #else 28 | #define stringFileDescription "LegacyMIDICCOut VST3-SDK" 29 | #endif 30 | #define stringCompanyWeb "http://www.steinberg.net" 31 | #define stringCompanyEmail "mailto:info@steinberg.de" 32 | #define stringCompanyName "Steinberg Media Technologies" 33 | #define stringLegalCopyright "© 2025 Steinberg Media Technologies" 34 | #define stringLegalTrademarks "VST is a trademark of Steinberg Media Technologies GmbH" 35 | -------------------------------------------------------------------------------- /samples/vst/multiple_programchanges/source/plugparamids.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/multiple_programchanges/source/plugparamids.h 6 | // Created by : Steinberg, 02/2016 7 | // Description : Plug-in Example for VST SDK 3.x using Multiple ProgramChange parameters 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | #include "pluginterfaces/base/ftypes.h" 20 | 21 | namespace Steinberg { 22 | 23 | enum : int32 24 | { 25 | kNumSlots = 16, 26 | kNumProgs = 128, 27 | kMinProgramCount = 6, // minimum number of programs in a programList 28 | kMaxProgramCount = 128, // maximum number of programs in a programList 29 | 30 | /** parameter ID */ 31 | kBypassId = 0, ///< Bypass value (we will handle the bypass process) (is automatable) 32 | 33 | kProgramStartId, 34 | kProgramEndId = kProgramStartId + kNumSlots, 35 | 36 | kGainId = 1000, 37 | kProgramCountId = 2000 38 | }; 39 | 40 | //------------------------------------------------------------------------ 41 | } // namespace Steinberg -------------------------------------------------------------------------------- /samples/vst/programchange/resource/info.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "../source/version.h" 3 | 4 | #define APSTUDIO_READONLY_SYMBOLS 5 | 6 | ///////////////////////////////////////////////////////////////////////////// 7 | // Version 8 | ///////////////////////////////////////////////////////////////////////////// 9 | VS_VERSION_INFO VERSIONINFO 10 | FILEVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 11 | PRODUCTVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 12 | FILEFLAGSMASK 0x3fL 13 | #ifdef _DEBUG 14 | FILEFLAGS 0x1L 15 | #else 16 | FILEFLAGS 0x0L 17 | #endif 18 | FILEOS 0x40004L 19 | FILETYPE 0x1L 20 | FILESUBTYPE 0x0L 21 | BEGIN 22 | BLOCK "StringFileInfo" 23 | BEGIN 24 | BLOCK "040004e4" 25 | BEGIN 26 | VALUE "FileVersion", FULL_VERSION_STR 27 | VALUE "ProductVersion", FULL_VERSION_STR 28 | VALUE "OriginalFilename", stringOriginalFilename 29 | VALUE "FileDescription", stringFileDescription 30 | VALUE "InternalName", stringFileDescription 31 | VALUE "ProductName", stringFileDescription 32 | VALUE "CompanyName", stringCompanyName 33 | VALUE "LegalCopyright", stringLegalCopyright 34 | VALUE "LegalTrademarks", stringLegalTrademarks 35 | //VALUE "PrivateBuild", " \0" 36 | //VALUE "SpecialBuild", " \0" 37 | //VALUE "Comments", " \0" 38 | END 39 | END 40 | BLOCK "VarFileInfo" 41 | BEGIN 42 | VALUE "Translation", 0x400, 1252 43 | END 44 | END 45 | 46 | -------------------------------------------------------------------------------- /samples/vst/remap_paramid/resource/info.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "../source/version.h" 3 | 4 | #define APSTUDIO_READONLY_SYMBOLS 5 | 6 | ///////////////////////////////////////////////////////////////////////////// 7 | // Version 8 | ///////////////////////////////////////////////////////////////////////////// 9 | VS_VERSION_INFO VERSIONINFO 10 | FILEVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 11 | PRODUCTVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 12 | FILEFLAGSMASK 0x3fL 13 | #ifdef _DEBUG 14 | FILEFLAGS 0x1L 15 | #else 16 | FILEFLAGS 0x0L 17 | #endif 18 | FILEOS 0x40004L 19 | FILETYPE 0x1L 20 | FILESUBTYPE 0x0L 21 | BEGIN 22 | BLOCK "StringFileInfo" 23 | BEGIN 24 | BLOCK "040004e4" 25 | BEGIN 26 | VALUE "FileVersion", FULL_VERSION_STR 27 | VALUE "ProductVersion", FULL_VERSION_STR 28 | VALUE "OriginalFilename", stringOriginalFilename 29 | VALUE "FileDescription", stringFileDescription 30 | VALUE "InternalName", stringFileDescription 31 | VALUE "ProductName", stringFileDescription 32 | VALUE "CompanyName", stringCompanyName 33 | VALUE "LegalCopyright", stringLegalCopyright 34 | VALUE "LegalTrademarks", stringLegalTrademarks 35 | //VALUE "PrivateBuild", " \0" 36 | //VALUE "SpecialBuild", " \0" 37 | //VALUE "Comments", " \0" 38 | END 39 | END 40 | BLOCK "VarFileInfo" 41 | BEGIN 42 | VALUE "Translation", 0x400, 1252 43 | END 44 | END 45 | 46 | -------------------------------------------------------------------------------- /samples/vst/again_sampleaccurate/resource/info.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "../source/version.h" 3 | 4 | #define APSTUDIO_READONLY_SYMBOLS 5 | 6 | ///////////////////////////////////////////////////////////////////////////// 7 | // Version 8 | ///////////////////////////////////////////////////////////////////////////// 9 | VS_VERSION_INFO VERSIONINFO 10 | FILEVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 11 | PRODUCTVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 12 | FILEFLAGSMASK 0x3fL 13 | #ifdef _DEBUG 14 | FILEFLAGS 0x1L 15 | #else 16 | FILEFLAGS 0x0L 17 | #endif 18 | FILEOS 0x40004L 19 | FILETYPE 0x1L 20 | FILESUBTYPE 0x0L 21 | BEGIN 22 | BLOCK "StringFileInfo" 23 | BEGIN 24 | BLOCK "040004e4" 25 | BEGIN 26 | VALUE "FileVersion", FULL_VERSION_STR 27 | VALUE "ProductVersion", FULL_VERSION_STR 28 | VALUE "OriginalFilename", stringOriginalFilename 29 | VALUE "FileDescription", stringFileDescription 30 | VALUE "InternalName", stringFileDescription 31 | VALUE "ProductName", stringFileDescription 32 | VALUE "CompanyName", stringCompanyName 33 | VALUE "LegalCopyright", stringLegalCopyright 34 | VALUE "LegalTrademarks", stringLegalTrademarks 35 | //VALUE "PrivateBuild", " \0" 36 | //VALUE "SpecialBuild", " \0" 37 | //VALUE "Comments", " \0" 38 | END 39 | END 40 | BLOCK "VarFileInfo" 41 | BEGIN 42 | VALUE "Translation", 0x400, 1252 43 | END 44 | END 45 | 46 | -------------------------------------------------------------------------------- /samples/vst/dataexchange/source/version.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/dataexchange/source/version.h 6 | // Created by : Steinberg, 06/2023 7 | // Description : Versioning and copyright info for the data-exchange example plug-in 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | #include "pluginterfaces/base/fplatform.h" 20 | 21 | // Plain project version file generated by cmake 22 | #include "projectversion.h" 23 | 24 | #define stringOriginalFilename "DataExchange.vst3" 25 | #if SMTG_PLATFORM_64 26 | #define stringFileDescription "DataExchange VST3-SDK (64Bit)" 27 | #else 28 | #define stringFileDescription "DataExchange VST3-SDK" 29 | #endif 30 | #define stringCompanyWeb "http://www.steinberg.net" 31 | #define stringCompanyEmail "mailto:info@steinberg.de" 32 | #define stringCompanyName "Steinberg Media Technologies" 33 | #define stringLegalCopyright "© 2025 Steinberg Media Technologies" 34 | #define stringLegalTrademarks "VST is a trademark of Steinberg Media Technologies GmbH" 35 | -------------------------------------------------------------------------------- /samples/vst/syncdelay/resource/info.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "../source/syncdelayversion.h" 3 | 4 | #define APSTUDIO_READONLY_SYMBOLS 5 | 6 | ///////////////////////////////////////////////////////////////////////////// 7 | // Version 8 | ///////////////////////////////////////////////////////////////////////////// 9 | VS_VERSION_INFO VERSIONINFO 10 | FILEVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 11 | PRODUCTVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 12 | FILEFLAGSMASK 0x3fL 13 | #ifdef _DEBUG 14 | FILEFLAGS 0x1L 15 | #else 16 | FILEFLAGS 0x0L 17 | #endif 18 | FILEOS 0x40004L 19 | FILETYPE 0x1L 20 | FILESUBTYPE 0x0L 21 | BEGIN 22 | BLOCK "StringFileInfo" 23 | BEGIN 24 | BLOCK "040004e4" 25 | BEGIN 26 | VALUE "FileVersion", FULL_VERSION_STR 27 | VALUE "ProductVersion", FULL_VERSION_STR 28 | VALUE "OriginalFilename", stringOriginalFilename 29 | VALUE "FileDescription", stringFileDescription 30 | VALUE "InternalName", stringFileDescription 31 | VALUE "ProductName", stringFileDescription 32 | VALUE "CompanyName", stringCompanyName 33 | VALUE "LegalCopyright", stringLegalCopyright 34 | VALUE "LegalTrademarks", stringLegalTrademarks 35 | //VALUE "PrivateBuild", " \0" 36 | //VALUE "SpecialBuild", " \0" 37 | //VALUE "Comments", " \0" 38 | END 39 | END 40 | BLOCK "VarFileInfo" 41 | BEGIN 42 | VALUE "Translation", 0x400, 1252 43 | END 44 | END 45 | 46 | -------------------------------------------------------------------------------- /source/vst/testsuite/bus/busconsistency.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Flags : clang-format SMTGSequencer 3 | // Project : VST SDK 4 | // 5 | // Category : Validator 6 | // Filename : public.sdk/source/vst/testsuite/bus/busconsistency.h 7 | // Created by : Steinberg, 04/2005 8 | // Description : VST Test Suite 9 | // 10 | //----------------------------------------------------------------------------- 11 | // This file is part of a Steinberg SDK. It is subject to the license terms 12 | // in the LICENSE file found in the top-level directory of this distribution 13 | // and at www.steinberg.net/sdklicenses. 14 | // No part of the SDK, including this file, may be copied, modified, propagated, 15 | // or distributed except according to the terms contained in the LICENSE file. 16 | //----------------------------------------------------------------------------- 17 | 18 | #pragma once 19 | 20 | #include "public.sdk/source/vst/testsuite/testbase.h" 21 | 22 | //------------------------------------------------------------------------ 23 | namespace Steinberg { 24 | namespace Vst { 25 | 26 | //------------------------------------------------------------------------ 27 | /** Test Bus Consistency. 28 | * \ingroup TestClass 29 | */ 30 | class BusConsistencyTest : public TestBase 31 | { 32 | public: 33 | BusConsistencyTest (ITestPlugProvider* plugProvider); 34 | 35 | bool PLUGIN_API run (ITestResult* testResult) SMTG_OVERRIDE; 36 | 37 | DECLARE_VSTTEST ("Bus Consistency") 38 | }; 39 | 40 | //------------------------------------------------------------------------ 41 | } // Vst 42 | } // Steinberg 43 | -------------------------------------------------------------------------------- /samples/vst/multiple_programchanges/resource/info.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "../source/version.h" 3 | 4 | #define APSTUDIO_READONLY_SYMBOLS 5 | 6 | ///////////////////////////////////////////////////////////////////////////// 7 | // Version 8 | ///////////////////////////////////////////////////////////////////////////// 9 | VS_VERSION_INFO VERSIONINFO 10 | FILEVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 11 | PRODUCTVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 12 | FILEFLAGSMASK 0x3fL 13 | #ifdef _DEBUG 14 | FILEFLAGS 0x1L 15 | #else 16 | FILEFLAGS 0x0L 17 | #endif 18 | FILEOS 0x40004L 19 | FILETYPE 0x1L 20 | FILESUBTYPE 0x0L 21 | BEGIN 22 | BLOCK "StringFileInfo" 23 | BEGIN 24 | BLOCK "040004e4" 25 | BEGIN 26 | VALUE "FileVersion", FULL_VERSION_STR 27 | VALUE "ProductVersion", FULL_VERSION_STR 28 | VALUE "OriginalFilename", stringOriginalFilename 29 | VALUE "FileDescription", stringFileDescription 30 | VALUE "InternalName", stringFileDescription 31 | VALUE "ProductName", stringFileDescription 32 | VALUE "CompanyName", stringCompanyName 33 | VALUE "LegalCopyright", stringLegalCopyright 34 | VALUE "LegalTrademarks", stringLegalTrademarks 35 | //VALUE "PrivateBuild", " \0" 36 | //VALUE "SpecialBuild", " \0" 37 | //VALUE "Comments", " \0" 38 | END 39 | END 40 | BLOCK "VarFileInfo" 41 | BEGIN 42 | VALUE "Translation", 0x400, 1252 43 | END 44 | END 45 | 46 | -------------------------------------------------------------------------------- /samples/vst/prefetchablesupport/source/version.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/prefetchablesupport/source/version.h 6 | // Created by : Steinberg, 04/2015 7 | // Description : Example of handle prefetchablesupport 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | #include "pluginterfaces/base/fplatform.h" 20 | 21 | // Plain project version file generated by cmake 22 | #include "projectversion.h" 23 | 24 | #define stringOriginalFilename "IPrefetchableSupport.vst3" 25 | #if SMTG_PLATFORM_64 26 | #define stringFileDescription "IPrefetchableSupport VST3-SDK (64Bit)" 27 | #else 28 | #define stringFileDescription "IPrefetchableSupport VST3-SDK" 29 | #endif 30 | #define stringCompanyWeb "http://www.steinberg.net" 31 | #define stringCompanyEmail "mailto:info@steinberg.de" 32 | #define stringCompanyName "Steinberg Media Technologies" 33 | #define stringLegalCopyright "© 2025 Steinberg Media Technologies" 34 | #define stringLegalTrademarks "VST is a trademark of Steinberg Media Technologies GmbH" 35 | -------------------------------------------------------------------------------- /source/vst/testsuite/bus/businvalidindex.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Flags : clang-format SMTGSequencer 3 | // Project : VST SDK 4 | // 5 | // Category : Validator 6 | // Filename : public.sdk/source/vst/testsuite/bus/businvalidindex.h 7 | // Created by : Steinberg, 04/2005 8 | // Description : VST Test Suite 9 | // 10 | //----------------------------------------------------------------------------- 11 | // This file is part of a Steinberg SDK. It is subject to the license terms 12 | // in the LICENSE file found in the top-level directory of this distribution 13 | // and at www.steinberg.net/sdklicenses. 14 | // No part of the SDK, including this file, may be copied, modified, propagated, 15 | // or distributed except according to the terms contained in the LICENSE file. 16 | //----------------------------------------------------------------------------- 17 | 18 | #pragma once 19 | 20 | #include "public.sdk/source/vst/testsuite/testbase.h" 21 | 22 | //------------------------------------------------------------------------ 23 | namespace Steinberg { 24 | namespace Vst { 25 | 26 | //------------------------------------------------------------------------ 27 | /** Test Bus Invalid Index. 28 | * \ingroup TestClass 29 | */ 30 | class BusInvalidIndexTest : public TestBase 31 | { 32 | public: 33 | BusInvalidIndexTest (ITestPlugProvider* plugProvider); 34 | 35 | bool PLUGIN_API run (ITestResult* testResult) SMTG_OVERRIDE; 36 | 37 | DECLARE_VSTTEST ("Bus Invalid Index") 38 | }; 39 | 40 | //------------------------------------------------------------------------ 41 | } // Vst 42 | } // Steinberg 43 | -------------------------------------------------------------------------------- /samples/vst/programchange/source/version.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/programchange/source/version.h 6 | // Created by : Steinberg, 02/2016 7 | // Description : Plug-in Example for VST SDK 3.x using ProgramChange parameter 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | #include "pluginterfaces/base/fplatform.h" 20 | 21 | // Plain project version file generated by cmake 22 | #include "projectversion.h" 23 | 24 | #define stringOriginalFilename "TestProgramChange.vst3" 25 | #if SMTG_PLATFORM_64 26 | #define stringFileDescription "TestProgramChange VST3-SDK (64Bit)" 27 | #else 28 | #define stringFileDescription "TestProgramChange VST3-SDK" 29 | #endif 30 | #define stringCompanyWeb "http://www.steinberg.net" 31 | #define stringCompanyEmail "mailto:info@steinberg.de" 32 | #define stringCompanyName "Steinberg Media Technologies" 33 | #define stringLegalCopyright "© 2025 Steinberg Media Technologies" 34 | #define stringLegalTrademarks "VST is a trademark of Steinberg Media Technologies GmbH" 35 | -------------------------------------------------------------------------------- /samples/vst/remap_paramid/source/remapparamidcids.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Flags : clang-format SMTGSequencer 3 | // Project : VST SDK 4 | // 5 | // Category : Examples 6 | // Filename : public.sdk/samples/vst/remap_paramid/source/remapparamidcontroller.h 7 | // Created by : Steinberg, 02/2024 8 | // Description : Remap ParamID Example for VST 3 9 | // 10 | //----------------------------------------------------------------------------- 11 | // This file is part of a Steinberg SDK. It is subject to the license terms 12 | // in the LICENSE file found in the top-level directory of this distribution 13 | // and at www.steinberg.net/sdklicenses. 14 | // No part of the SDK, including this file, may be copied, modified, propagated, 15 | // or distributed except according to the terms contained in the LICENSE file. 16 | //----------------------------------------------------------------------------- 17 | 18 | #pragma once 19 | 20 | #include "pluginterfaces/base/funknown.h" 21 | #include "pluginterfaces/vst/vsttypes.h" 22 | 23 | namespace Steinberg { 24 | //------------------------------------------------------------------------ 25 | static const FUID kTestRemapParamIDProcessorUID (0x1012FB81, 0xB92C57E4, 0x85AD3D5D, 0x5FC2469D); 26 | static const FUID kTestRemapParamIDControllerUID (0x0F1CA171, 0xFC7755DC, 0x906DD887, 0x2363F93A); 27 | 28 | #define TestRemapParamIDVST3Category "Fx" 29 | 30 | enum RemapParamID : Vst::ParamID 31 | { 32 | kMyGainParamTag = 123, 33 | 34 | kBypassId = 1000 35 | }; 36 | 37 | //------------------------------------------------------------------------ 38 | } // namespace Steinberg 39 | -------------------------------------------------------------------------------- /samples/vst/again/source/version.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/again/source/version.h 6 | // Created by : Steinberg, 01/2008 7 | // Description : Example of handle the versioning and copyright info of again plug-in 8 | // used for the resources (RC file for example) 9 | // 10 | //----------------------------------------------------------------------------- 11 | // This file is part of a Steinberg SDK. It is subject to the license terms 12 | // in the LICENSE file found in the top-level directory of this distribution 13 | // and at www.steinberg.net/sdklicenses. 14 | // No part of the SDK, including this file, may be copied, modified, propagated, 15 | // or distributed except according to the terms contained in the LICENSE file. 16 | //----------------------------------------------------------------------------- 17 | 18 | #pragma once 19 | 20 | #include "pluginterfaces/base/fplatform.h" 21 | 22 | // Plain project version file generated by cmake 23 | #include "projectversion.h" 24 | 25 | #define stringOriginalFilename "again.vst3" 26 | #if SMTG_PLATFORM_64 27 | #define stringFileDescription "AGain VST3-SDK (64Bit)" 28 | #else 29 | #define stringFileDescription "AGain VST3-SDK" 30 | #endif 31 | #define stringCompanyWeb "http://www.steinberg.net" 32 | #define stringCompanyEmail "mailto:info@steinberg.de" 33 | #define stringCompanyName "Steinberg Media Technologies" 34 | #define stringLegalCopyright "© 2025 Steinberg Media Technologies" 35 | #define stringLegalTrademarks "VST is a trademark of Steinberg Media Technologies GmbH" 36 | -------------------------------------------------------------------------------- /samples/vst/adelay/source/version.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/adelay/source/version.h 6 | // Created by : Steinberg, 06/2009 7 | // Description : Example of handle the versioning and copyright info of adelay plugin 8 | // used for the resources (RC file for example) 9 | // 10 | //----------------------------------------------------------------------------- 11 | // This file is part of a Steinberg SDK. It is subject to the license terms 12 | // in the LICENSE file found in the top-level directory of this distribution 13 | // and at www.steinberg.net/sdklicenses. 14 | // No part of the SDK, including this file, may be copied, modified, propagated, 15 | // or distributed except according to the terms contained in the LICENSE file. 16 | //----------------------------------------------------------------------------- 17 | 18 | #pragma once 19 | 20 | #include "pluginterfaces/base/fplatform.h" 21 | 22 | // Plain project version file generated by cmake 23 | #include "projectversion.h" 24 | 25 | #define stringOriginalFilename "adelay.vst3" 26 | #if SMTG_PLATFORM_64 27 | #define stringFileDescription "ADelay VST3-SDK (64Bit)" 28 | #else 29 | #define stringFileDescription "ADelay VST3-SDK" 30 | #endif 31 | #define stringCompanyWeb "http://www.steinberg.net" 32 | #define stringCompanyEmail "mailto:info@steinberg.de" 33 | #define stringCompanyName "Steinberg Media Technologies" 34 | #define stringLegalCopyright "© 2025 Steinberg Media Technologies" 35 | #define stringLegalTrademarks "VST is a trademark of Steinberg Media Technologies GmbH" 36 | -------------------------------------------------------------------------------- /samples/vst-hosting/editorhost/source/platform/appinit.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Flags : clang-format auto 3 | // Project : VST SDK 4 | // 5 | // Category : EditorHost 6 | // Filename : public.sdk/samples/vst-hosting/editorhost/source/platform/appinit.h 7 | // Created by : Steinberg, 04/2005 8 | // Description : Editor Host Example for VST SDK 3 9 | // 10 | //----------------------------------------------------------------------------- 11 | // This file is part of a Steinberg SDK. It is subject to the license terms 12 | // in the LICENSE file found in the top-level directory of this distribution 13 | // and at www.steinberg.net/sdklicenses. 14 | // No part of the SDK, including this file, may be copied, modified, propagated, 15 | // or distributed except according to the terms contained in the LICENSE file. 16 | //----------------------------------------------------------------------------- 17 | 18 | #pragma once 19 | 20 | #include "public.sdk/samples/vst-hosting/editorhost/source/platform/iapplication.h" 21 | #include "public.sdk/samples/vst-hosting/editorhost/source/platform/iplatform.h" 22 | 23 | //------------------------------------------------------------------------ 24 | namespace Steinberg { 25 | namespace Vst { 26 | namespace EditorHost { 27 | 28 | //------------------------------------------------------------------------ 29 | struct AppInit 30 | { 31 | explicit AppInit (ApplicationPtr&& app) 32 | { 33 | IPlatform::instance ().setApplication (std::move (app)); 34 | } 35 | }; 36 | 37 | //------------------------------------------------------------------------ 38 | } // EditorHost 39 | } // Vst 40 | } // Steinberg 41 | -------------------------------------------------------------------------------- /samples/vst/hostchecker/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | if(NOT SMTG_ENABLE_VSTGUI_SUPPORT) 3 | return() 4 | endif() 5 | 6 | cmake_minimum_required(VERSION 3.25.0) 7 | 8 | project(smtg-vst3-hostchecker 9 | VERSION ${vstsdk_VERSION}.0 10 | DESCRIPTION "Steinberg VST 3 Host Checker example" 11 | ) 12 | 13 | set(COMPATIBILITY_FILE resource/vst_compatibility.json) 14 | 15 | smtg_add_vst3plugin(host-checker 16 | MODULEINFO_COMPATIBILITY 17 | ${COMPATIBILITY_FILE} 18 | resource/hostchecker.uidesc 19 | source/cids.h 20 | source/editorsizecontroller.cpp 21 | source/editorsizecontroller.h 22 | source/eventlistcheck.cpp 23 | source/eventlistcheck.h 24 | source/eventlogdatabrowsersource.cpp 25 | source/eventlogdatabrowsersource.h 26 | source/eventlogger.cpp 27 | source/eventlogger.h 28 | source/factory.cpp 29 | source/hostcheck.cpp 30 | source/hostcheck.h 31 | source/hostcheckercontroller.cpp 32 | source/hostcheckercontroller.h 33 | source/hostcheckerprocessor.cpp 34 | source/hostcheckerprocessor.h 35 | source/logevents.h 36 | source/parameterchangescheck.cpp 37 | source/parameterchangescheck.h 38 | source/processcontextcheck.cpp 39 | source/processcontextcheck.h 40 | source/processsetupcheck.cpp 41 | source/processsetupcheck.h 42 | source/version.h 43 | ) 44 | 45 | target_link_libraries(host-checker 46 | PRIVATE 47 | vstgui_support 48 | ) 49 | 50 | smtg_target_add_plugin_resources(host-checker 51 | RESOURCES 52 | resource/hostchecker.uidesc 53 | resource/bypass.png 54 | resource/knob.png 55 | ) 56 | 57 | smtg_target_setup_as_vst3_example(host-checker) 58 | -------------------------------------------------------------------------------- /samples/vst/mda-vst3/source/helpers.h: -------------------------------------------------------------------------------- 1 | /* 2 | * helpers.h 3 | * mda-vst3 4 | * 5 | * Created by Arne Scheffler on 6/14/08. 6 | * 7 | * mda VST Plug-ins 8 | * 9 | * Copyright (c) 2008 Paul Kellett 10 | * 11 | * Permission is hereby granted, free of charge, to any person obtaining a copy of this software 12 | * and associated documentation files (the "Software"), to deal in the Software without restriction, 13 | * including without limitation the rights to use, copy, modify, merge, publish, distribute, 14 | * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: The above copyright notice and this 16 | * permission notice shall be included in all copies or substantial portions of the Software. 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT 18 | * NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 20 | * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | * 23 | */ 24 | 25 | #pragma once 26 | 27 | #include "pluginterfaces/base/ftypes.h" 28 | 29 | #if BYTEORDER == kBigEndian 30 | #define SWAP64_LE(x) 31 | #define SWAP64_BE(x) SWAP_64(x) 32 | #define SWAP32_LE(x) 33 | #define SWAP32_BE(x) SWAP_32(x) 34 | #else 35 | #define SWAP64_LE(x) SWAP_64(x) 36 | #define SWAP64_BE(x) 37 | #define SWAP32_LE(x) SWAP_32(x) 38 | #define SWAP32_BE(x) 39 | #endif 40 | -------------------------------------------------------------------------------- /source/vst/aaxwrapper/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | if(NOT SMTG_LINUX) 3 | set(target aax_wrapper) 4 | set(${target}_sources 5 | ${SDK_ROOT}/public.sdk/source/vst/basewrapper/basewrapper.sdk.cpp 6 | aaxentry.cpp 7 | aaxlibrary.cpp 8 | aaxwrapper.cpp 9 | aaxwrapper.h 10 | aaxwrapper_description.h 11 | aaxwrapper_gui.cpp 12 | aaxwrapper_gui.h 13 | aaxwrapper_parameters.cpp 14 | aaxwrapper_parameters.h 15 | resource/PlugIn.ico 16 | ) 17 | add_library(${target} STATIC ${${target}_sources}) 18 | 19 | target_include_directories(${target} 20 | PRIVATE 21 | "${SMTG_AAX_SDK_PATH}/Interfaces" 22 | "${SMTG_AAX_SDK_PATH}/Interfaces/ACF" 23 | "${SMTG_AAX_SDK_PATH}/Libs/AAXLibrary/Include" 24 | ) 25 | target_link_libraries(${target} 26 | PRIVATE 27 | base 28 | ) 29 | smtg_target_setup_universal_binary(${target}) 30 | 31 | target_compile_features(aax_wrapper 32 | PUBLIC 33 | cxx_std_17 34 | ) 35 | 36 | if(XCODE) 37 | add_compile_options(-Wno-incompatible-ms-struct) 38 | elseif(SMTG_WIN) 39 | # too much warnings in the AAX SDK!! 40 | add_compile_options(/wd4996) 41 | add_definitions(-D_CRT_SECURE_NO_WARNINGS) 42 | add_compile_options(/GR) 43 | if(MSVC) 44 | target_compile_options(${target} 45 | PRIVATE 46 | /wd4127 # conditional expression is constant 47 | /wd5033 # 'register' is no longer a supported storage class 48 | ) 49 | endif(MSVC) 50 | endif(XCODE) 51 | endif() 52 | -------------------------------------------------------------------------------- /source/vst/testsuite/bus/sidechainarrangement.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Flags : clang-format SMTGSequencer 3 | // Project : VST SDK 4 | // 5 | // Category : Validator 6 | // Filename : public.sdk/source/vst/testsuite/bus/sidechainarrangement.h 7 | // Created by : Steinberg, 11/2020 8 | // Description : VST Test Suite 9 | // 10 | //----------------------------------------------------------------------------- 11 | // This file is part of a Steinberg SDK. It is subject to the license terms 12 | // in the LICENSE file found in the top-level directory of this distribution 13 | // and at www.steinberg.net/sdklicenses. 14 | // No part of the SDK, including this file, may be copied, modified, propagated, 15 | // or distributed except according to the terms contained in the LICENSE file. 16 | //----------------------------------------------------------------------------- 17 | 18 | #pragma once 19 | 20 | #include "public.sdk/source/vst/testsuite/testbase.h" 21 | 22 | //------------------------------------------------------------------------ 23 | namespace Steinberg { 24 | namespace Vst { 25 | 26 | //------------------------------------------------------------------------ 27 | /** Test SideChain Arrangement. 28 | * \ingroup TestClass 29 | */ 30 | class SideChainArrangementTest : public TestBase 31 | { 32 | public: 33 | SideChainArrangementTest (ITestPlugProvider* plugProvider); 34 | 35 | bool PLUGIN_API run (ITestResult* testResult) SMTG_OVERRIDE; 36 | 37 | DECLARE_VSTTEST ("SideChain Arrangement") 38 | }; 39 | 40 | //------------------------------------------------------------------------ 41 | } // Vst 42 | } // Steinberg 43 | -------------------------------------------------------------------------------- /samples/vst/hostchecker/source/eventlogger.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/hostchecker/source/eventlogger.h 6 | // Created by : Steinberg, 12/2012 7 | // Description : Event List check 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | #include "pluginterfaces/base/ftypes.h" 20 | #include 21 | 22 | //------------------------------------------------------------------------ 23 | // EventLogger 24 | //------------------------------------------------------------------------ 25 | class EventLogger 26 | { 27 | public: 28 | //------------------------------------------------------------------------ 29 | EventLogger (); 30 | 31 | using Codes = std::vector; 32 | 33 | void clearLogEvents (); 34 | void resetLogEvents (); 35 | const Codes& getLogEvents () const; 36 | void addLogEvent (Steinberg::int32 logId); 37 | bool empty () const { return mLogEvents.empty (); } 38 | 39 | //------------------------------------------------------------------------ 40 | protected: 41 | Codes mLogEvents; 42 | }; 43 | -------------------------------------------------------------------------------- /samples/vst/multiple_programchanges/source/version.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/multiple_programchanges/source/version.h 6 | // Created by : Steinberg, 02/2016 7 | // Description : Plug-in Example for VST SDK 3.x using Multiple ProgramChange parameters 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | #include "pluginterfaces/base/fplatform.h" 20 | 21 | // Plain project version file generated by cmake 22 | #include "projectversion.h" 23 | 24 | #define stringOriginalFilename "TestProgramChange.vst3" 25 | #if SMTG_PLATFORM_64 26 | #define stringFileDescription "TestProgramChange VST3-SDK (64Bit)" 27 | #else 28 | #define stringFileDescription "TestProgramChange VST3-SDK" 29 | #endif 30 | #define stringCompanyWeb "http://www.steinberg.net" 31 | #define stringCompanyEmail "mailto:info@steinberg.de" 32 | #define stringCompanyName "Steinberg Media Technologies" 33 | #define stringLegalCopyright "© 2025 Steinberg Media Technologies" 34 | #define stringLegalTrademarks "VST is a trademark of Steinberg Media Technologies GmbH" 35 | -------------------------------------------------------------------------------- /samples/vst/pitchnames/resource/info.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "pluginterfaces/base/fplatform.h" 3 | #include "../source/version.h" 4 | 5 | #define APSTUDIO_READONLY_SYMBOLS 6 | 7 | ///////////////////////////////////////////////////////////////////////////// 8 | // Version 9 | ///////////////////////////////////////////////////////////////////////////// 10 | VS_VERSION_INFO VERSIONINFO 11 | FILEVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 12 | PRODUCTVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 13 | FILEFLAGSMASK 0x3fL 14 | #ifdef _DEBUG 15 | FILEFLAGS 0x1L 16 | #else 17 | FILEFLAGS 0x0L 18 | #endif 19 | FILEOS 0x40004L 20 | FILETYPE 0x1L 21 | FILESUBTYPE 0x0L 22 | BEGIN 23 | BLOCK "StringFileInfo" 24 | BEGIN 25 | BLOCK "040004e4" 26 | BEGIN 27 | VALUE "FileVersion", FULL_VERSION_STR 28 | VALUE "ProductVersion", FULL_VERSION_STR 29 | VALUE "OriginalFilename", stringOriginalFilename 30 | VALUE "FileDescription", stringFileDescription 31 | VALUE "InternalName", stringFileDescription 32 | VALUE "ProductName", stringFileDescription 33 | VALUE "CompanyName", stringCompanyName 34 | VALUE "LegalCopyright", stringLegalCopyright 35 | VALUE "LegalTrademarks", stringLegalTrademarks 36 | //VALUE "PrivateBuild", " \0" 37 | //VALUE "SpecialBuild", " \0" 38 | //VALUE "Comments", " \0" 39 | END 40 | END 41 | BLOCK "VarFileInfo" 42 | BEGIN 43 | VALUE "Translation", 0x400, 1252 44 | END 45 | END 46 | 47 | -------------------------------------------------------------------------------- /source/vst/testsuite/processing/silenceflags.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Flags : clang-format SMTGSequencer 3 | // Project : VST SDK 4 | // 5 | // Category : Validator 6 | // Filename : public.sdk/source/vst/testsuite/processing/silenceflags.h 7 | // Created by : Steinberg, 04/2005 8 | // Description : VST Test Suite 9 | // 10 | //----------------------------------------------------------------------------- 11 | // This file is part of a Steinberg SDK. It is subject to the license terms 12 | // in the LICENSE file found in the top-level directory of this distribution 13 | // and at www.steinberg.net/sdklicenses. 14 | // No part of the SDK, including this file, may be copied, modified, propagated, 15 | // or distributed except according to the terms contained in the LICENSE file. 16 | //----------------------------------------------------------------------------- 17 | 18 | #pragma once 19 | 20 | #include "public.sdk/source/vst/testsuite/processing/process.h" 21 | 22 | //------------------------------------------------------------------------ 23 | namespace Steinberg { 24 | namespace Vst { 25 | 26 | //------------------------------------------------------------------------ 27 | /** Test Silence Flags. 28 | * \ingroup TestClass 29 | */ 30 | class SilenceFlagsTest : public ProcessTest 31 | { 32 | public: 33 | SilenceFlagsTest (ITestPlugProvider* plugProvider, ProcessSampleSize sampl); 34 | 35 | bool PLUGIN_API run (ITestResult* testResult) SMTG_OVERRIDE; 36 | 37 | DECLARE_VSTTEST ("Silence Flags") 38 | }; 39 | 40 | //------------------------------------------------------------------------ 41 | } // Vst 42 | } // Steinberg 43 | -------------------------------------------------------------------------------- /samples/vst/note_expression_text/source/plugcids.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/note_expression_text/source/plugcids.h 6 | // Created by : Steinberg, 12/2007 7 | // Description : define the class IDs 8 | // 9 | //----------------------------------------------------------------------------- 10 | // This file is part of a Steinberg SDK. It is subject to the license terms 11 | // in the LICENSE file found in the top-level directory of this distribution 12 | // and at www.steinberg.net/sdklicenses. 13 | // No part of the SDK, including this file, may be copied, modified, propagated, 14 | // or distributed except according to the terms contained in the LICENSE file. 15 | //----------------------------------------------------------------------------- 16 | 17 | #pragma once 18 | 19 | namespace Steinberg { 20 | namespace Vst { 21 | 22 | #if PLUGIN_A 23 | // Plug A 24 | static const FUID PlugProcessorUID (0x8F2B1ED9, 0x1D2C40E0, 0xB60F4AF2, 0x0F27711F); 25 | static const FUID PlugControllerUID (0x001B3315, 0x818044BE, 0x8FBF4AA2, 0xC9993C47); 26 | #else 27 | // Plug B 28 | static const FUID PlugProcessorUID (0x1E4DC62B, 0x974147D6, 0x9CAB1B86, 0x50D4B11C); 29 | static const FUID PlugControllerUID (0xA8D238C1, 0x97F54908, 0xB32EB808, 0x3EA43CEC); 30 | 31 | // Plug B will support Plug A (could replace it when Plug B not present) 32 | static const FUID PlugAProcessorUID (0x8F2B1ED9, 0x1D2C40E0, 0xB60F4AF2, 0x0F27711F); 33 | 34 | static const FUID PluginCompatibilityUID (0x7A8EA518, 0xECA24036, 0x9AD492D1, 0x70AD04FA); 35 | #endif 36 | 37 | }} // namespaces 38 | -------------------------------------------------------------------------------- /source/vst/testsuite/processing/processformat.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Flags : clang-format SMTGSequencer 3 | // Project : VST SDK 4 | // 5 | // Category : Validator 6 | // Filename : public.sdk/source/vst/testsuite/processing/processformat.h 7 | // Created by : Steinberg, 04/2005 8 | // Description : VST Test Suite 9 | // 10 | //----------------------------------------------------------------------------- 11 | // This file is part of a Steinberg SDK. It is subject to the license terms 12 | // in the LICENSE file found in the top-level directory of this distribution 13 | // and at www.steinberg.net/sdklicenses. 14 | // No part of the SDK, including this file, may be copied, modified, propagated, 15 | // or distributed except according to the terms contained in the LICENSE file. 16 | //----------------------------------------------------------------------------- 17 | 18 | #pragma once 19 | 20 | #include "public.sdk/source/vst/testsuite/processing/process.h" 21 | 22 | //------------------------------------------------------------------------ 23 | namespace Steinberg { 24 | namespace Vst { 25 | 26 | //------------------------------------------------------------------------ 27 | /** Test Process Format. 28 | * \ingroup TestClass 29 | */ 30 | class ProcessFormatTest : public ProcessTest 31 | { 32 | public: 33 | ProcessFormatTest (ITestPlugProvider* plugProvider, ProcessSampleSize sampl); 34 | 35 | bool PLUGIN_API run (ITestResult* testResult) SMTG_OVERRIDE; 36 | 37 | DECLARE_VSTTEST ("Process Format") 38 | }; 39 | 40 | //------------------------------------------------------------------------ 41 | } // Vst 42 | } // Steinberg 43 | -------------------------------------------------------------------------------- /samples/vst/note_expression_synth/resource/info.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "pluginterfaces/base/fplatform.h" 3 | #include "../source/version.h" 4 | 5 | #define APSTUDIO_READONLY_SYMBOLS 6 | 7 | ///////////////////////////////////////////////////////////////////////////// 8 | // Version 9 | ///////////////////////////////////////////////////////////////////////////// 10 | VS_VERSION_INFO VERSIONINFO 11 | FILEVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 12 | PRODUCTVERSION MAJOR_VERSION_INT,SUB_VERSION_INT,RELEASE_NUMBER_INT,BUILD_NUMBER_INT 13 | FILEFLAGSMASK 0x3fL 14 | #ifdef _DEBUG 15 | FILEFLAGS 0x1L 16 | #else 17 | FILEFLAGS 0x0L 18 | #endif 19 | FILEOS 0x40004L 20 | FILETYPE 0x1L 21 | FILESUBTYPE 0x0L 22 | BEGIN 23 | BLOCK "StringFileInfo" 24 | BEGIN 25 | BLOCK "040004e4" 26 | BEGIN 27 | VALUE "FileVersion", FULL_VERSION_STR 28 | VALUE "ProductVersion", FULL_VERSION_STR 29 | VALUE "OriginalFilename", stringOriginalFilename 30 | VALUE "FileDescription", stringFileDescription 31 | VALUE "InternalName", stringFileDescription 32 | VALUE "ProductName", stringFileDescription 33 | VALUE "CompanyName", stringCompanyName 34 | VALUE "LegalCopyright", stringLegalCopyright 35 | VALUE "LegalTrademarks", stringLegalTrademarks 36 | //VALUE "PrivateBuild", " \0" 37 | //VALUE "SpecialBuild", " \0" 38 | //VALUE "Comments", " \0" 39 | END 40 | END 41 | BLOCK "VarFileInfo" 42 | BEGIN 43 | VALUE "Translation", 0x400, 1252 44 | END 45 | END 46 | 47 | -------------------------------------------------------------------------------- /samples/vst/pitchnames/source/version.h: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------ 2 | // Project : VST SDK 3 | // 4 | // Category : Examples 5 | // Filename : public.sdk/samples/vst/pitchnames/source/version.h 6 | // Created by : Steinberg, 12/2010 7 | // Description : Example of handle the versioning and copyright info of pitchnames plug-in 8 | // used for the resources (RC file for example) 9 | // 10 | //----------------------------------------------------------------------------- 11 | // This file is part of a Steinberg SDK. It is subject to the license terms 12 | // in the LICENSE file found in the top-level directory of this distribution 13 | // and at www.steinberg.net/sdklicenses. 14 | // No part of the SDK, including this file, may be copied, modified, propagated, 15 | // or distributed except according to the terms contained in the LICENSE file. 16 | //----------------------------------------------------------------------------- 17 | 18 | #pragma once 19 | 20 | #include "pluginterfaces/base/fplatform.h" 21 | 22 | // Plain project version file generated by cmake 23 | #include "projectversion.h" 24 | 25 | #define stringOriginalFilename "PitchNames.vst3" 26 | #if SMTG_PLATFORM_64 27 | #define stringFileDescription "PitchNames VST3-SDK (64Bit)" 28 | #else 29 | #define stringFileDescription "PitchNames VST3-SDK" 30 | #endif 31 | #define stringCompanyWeb "http://www.steinberg.net" 32 | #define stringCompanyEmail "mailto:info@steinberg.de" 33 | #define stringCompanyName "Steinberg Media Technologies" 34 | #define stringLegalCopyright "© 2025 Steinberg Media Technologies" 35 | #define stringLegalTrademarks "VST is a trademark of Steinberg Media Technologies GmbH" 36 | -------------------------------------------------------------------------------- /source/vst/testsuite/bus/scanbusses.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // Flags : clang-format SMTGSequencer 3 | // Project : VST SDK 4 | // 5 | // Category : Validator 6 | // Filename : public.sdk/source/vst/testsuite/bus/scanbusses.h 7 | // Created by : Steinberg, 04/2005 8 | // Description : VST Test Suite 9 | // 10 | //----------------------------------------------------------------------------- 11 | // This file is part of a Steinberg SDK. It is subject to the license terms 12 | // in the LICENSE file found in the top-level directory of this distribution 13 | // and at www.steinberg.net/sdklicenses. 14 | // No part of the SDK, including this file, may be copied, modified, propagated, 15 | // or distributed except according to the terms contained in the LICENSE file. 16 | //----------------------------------------------------------------------------- 17 | 18 | #pragma once 19 | 20 | #include "public.sdk/source/vst/testsuite/testbase.h" 21 | 22 | //------------------------------------------------------------------------ 23 | namespace Steinberg { 24 | namespace Vst { 25 | 26 | //------------------------------------------------------------------------ 27 | /** Test Scan Buses. 28 | * \ingroup TestClass 29 | */ 30 | class ScanBussesTest : public TestBase 31 | { 32 | public: 33 | ScanBussesTest (ITestPlugProvider* plugProvider); 34 | 35 | DECLARE_VSTTEST ("Scan Buses") 36 | 37 | bool PLUGIN_API run (ITestResult* testResult) SMTG_OVERRIDE; 38 | //------------------------------------------------------------------------ 39 | }; 40 | 41 | //------------------------------------------------------------------------ 42 | } // Vst 43 | } // Steinberg 44 | --------------------------------------------------------------------------------