From 9a93120a4ee208fd3fe6fb850d72ebb2206c792c Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 18 Aug 2025 01:26:19 +0000 Subject: [PATCH] 339d4f31590bf77c0d0d248e09a380ac6285e069 --- README_8md.html | 2 +- annotated.html | 2 +- bug.html | 2 +- classes.html | 2 +- deprecated.html | 2 +- dir_d44c64559bbebec7f509842c48db8b23.html | 2 +- files.html | 2 +- functions.html | 2 +- functions_vars.html | 2 +- globals.html | 2 +- globals_defs.html | 2 +- globals_enum.html | 2 +- globals_eval.html | 2 +- globals_eval_v.html | 2 +- globals_type.html | 2 +- globals_v.html | 2 +- index.html | 2 +- pages.html | 2 +- structvst__effect__supports__t.html | 56 +- structvst__effect__t.html | 50 +- structvst__event__t.html | 4 +- structvst__events__t.html | 4 +- structvst__host__supports__t.html | 31 +- structvst__parameter__properties__t.html | 2 +- structvst__rect__t.html | 2 +- ...vst__speaker__arrangement__dynamic__t.html | 2 +- structvst__speaker__arrangement__t.html | 2 +- structvst__speaker__properties__t.html | 2 +- structvst__stream__properties__t.html | 2 +- todo.html | 2 +- unionvst__event__midi__sysex__t.html | 2 +- unionvst__event__midi__t.html | 2 +- vst_8h.html | 1158 ++--- vst_8h_source.html | 3744 +++++++++-------- vst_8hpp.html | 2 +- vst_8hpp_source.html | 2 +- 36 files changed, 2559 insertions(+), 2546 deletions(-) diff --git a/README_8md.html b/README_8md.html index 700e392..08eca86 100644 --- a/README_8md.html +++ b/README_8md.html @@ -99,7 +99,7 @@ $(document).ready(function(){initNavTree('README_8md.html',''); initResizable(); diff --git a/annotated.html b/annotated.html index 11fe8c6..e14bdbc 100644 --- a/annotated.html +++ b/annotated.html @@ -115,7 +115,7 @@ $(document).ready(function(){initNavTree('annotated.html',''); initResizable(); diff --git a/bug.html b/bug.html index e5b356f..c7e92f6 100644 --- a/bug.html +++ b/bug.html @@ -105,7 +105,7 @@ $(document).ready(function(){initNavTree('bug.html',''); initResizable(); }); diff --git a/classes.html b/classes.html index 766e791..a15eaab 100644 --- a/classes.html +++ b/classes.html @@ -104,7 +104,7 @@ $(document).ready(function(){initNavTree('classes.html',''); initResizable(); }) diff --git a/deprecated.html b/deprecated.html index 6cff4f5..f5cb035 100644 --- a/deprecated.html +++ b/deprecated.html @@ -151,7 +151,7 @@ $(document).ready(function(){initNavTree('deprecated.html',''); initResizable(); diff --git a/dir_d44c64559bbebec7f509842c48db8b23.html b/dir_d44c64559bbebec7f509842c48db8b23.html index 02c30d4..b25b6d5 100644 --- a/dir_d44c64559bbebec7f509842c48db8b23.html +++ b/dir_d44c64559bbebec7f509842c48db8b23.html @@ -107,7 +107,7 @@ Files diff --git a/files.html b/files.html index f46dea2..0ec4b17 100644 --- a/files.html +++ b/files.html @@ -105,7 +105,7 @@ $(document).ready(function(){initNavTree('files.html',''); initResizable(); }); diff --git a/functions.html b/functions.html index 309068a..9c6d13a 100644 --- a/functions.html +++ b/functions.html @@ -267,7 +267,7 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable(); diff --git a/functions_vars.html b/functions_vars.html index 1ab69a1..910931f 100644 --- a/functions_vars.html +++ b/functions_vars.html @@ -267,7 +267,7 @@ $(document).ready(function(){initNavTree('functions_vars.html',''); initResizabl diff --git a/globals.html b/globals.html index e6b71ed..d13e8f5 100644 --- a/globals.html +++ b/globals.html @@ -104,7 +104,7 @@ $(document).ready(function(){initNavTree('globals.html',''); initResizable(); }) diff --git a/globals_defs.html b/globals_defs.html index 9beb0c5..7aaa138 100644 --- a/globals_defs.html +++ b/globals_defs.html @@ -109,7 +109,7 @@ $(document).ready(function(){initNavTree('globals_defs.html',''); initResizable( diff --git a/globals_enum.html b/globals_enum.html index 8b989a8..af56566 100644 --- a/globals_enum.html +++ b/globals_enum.html @@ -112,7 +112,7 @@ $(document).ready(function(){initNavTree('globals_enum.html',''); initResizable( diff --git a/globals_eval.html b/globals_eval.html index 4417c06..35d7f49 100644 --- a/globals_eval.html +++ b/globals_eval.html @@ -104,7 +104,7 @@ $(document).ready(function(){initNavTree('globals_eval.html',''); initResizable( diff --git a/globals_eval_v.html b/globals_eval_v.html index e7ac2e2..11f3d16 100644 --- a/globals_eval_v.html +++ b/globals_eval_v.html @@ -626,7 +626,7 @@ $(document).ready(function(){initNavTree('globals_eval_v.html',''); initResizabl diff --git a/globals_type.html b/globals_type.html index 13491ee..fc1f4da 100644 --- a/globals_type.html +++ b/globals_type.html @@ -104,7 +104,7 @@ $(document).ready(function(){initNavTree('globals_type.html',''); initResizable( diff --git a/globals_v.html b/globals_v.html index 3f7e880..7358cef 100644 --- a/globals_v.html +++ b/globals_v.html @@ -660,7 +660,7 @@ $(document).ready(function(){initNavTree('globals_v.html',''); initResizable(); diff --git a/index.html b/index.html index 7fe0aa3..a62bb14 100644 --- a/index.html +++ b/index.html @@ -134,7 +134,7 @@ What was used to create this clean room project? diff --git a/pages.html b/pages.html index 2b4e147..23faba0 100644 --- a/pages.html +++ b/pages.html @@ -105,7 +105,7 @@ $(document).ready(function(){initNavTree('pages.html',''); initResizable(); }); diff --git a/structvst__effect__supports__t.html b/structvst__effect__supports__t.html index c5affca..d67d25b 100644 --- a/structvst__effect__supports__t.html +++ b/structvst__effect__supports__t.html @@ -166,7 +166,7 @@ Data Fields

Harvested via strings command and just checking what plug-ins actually responded to.

@important These are only available with a C99 or a C++20 or newer compiler.

-

Definition at line 2776 of file vst.h.

+

Definition at line 2782 of file vst.h.

Field Documentation

◆ _1in1out

@@ -180,7 +180,7 @@ Data Fields
-

Definition at line 2843 of file vst.h.

+

Definition at line 2849 of file vst.h.

@@ -196,7 +196,7 @@ Data Fields
-

Definition at line 2844 of file vst.h.

+

Definition at line 2850 of file vst.h.

@@ -212,7 +212,7 @@ Data Fields
-

Definition at line 2845 of file vst.h.

+

Definition at line 2851 of file vst.h.

@@ -228,7 +228,7 @@ Data Fields
-

Definition at line 2846 of file vst.h.

+

Definition at line 2852 of file vst.h.

@@ -244,7 +244,7 @@ Data Fields
-

Definition at line 2847 of file vst.h.

+

Definition at line 2853 of file vst.h.

@@ -260,7 +260,7 @@ Data Fields
-

Definition at line 2848 of file vst.h.

+

Definition at line 2854 of file vst.h.

@@ -276,7 +276,7 @@ Data Fields
-

Definition at line 2849 of file vst.h.

+

Definition at line 2855 of file vst.h.

@@ -292,7 +292,7 @@ Data Fields
-

Definition at line 2850 of file vst.h.

+

Definition at line 2856 of file vst.h.

@@ -308,7 +308,7 @@ Data Fields
-

Definition at line 2851 of file vst.h.

+

Definition at line 2857 of file vst.h.

@@ -324,7 +324,7 @@ Data Fields
-

Definition at line 2852 of file vst.h.

+

Definition at line 2858 of file vst.h.

@@ -345,7 +345,7 @@ Data Fields
Note
VST 2.3 or later only.
Returns
VST_STATUS_TRUE if we support this, otherwise VST_STATUS_FALSE.
-

Definition at line 2785 of file vst.h.

+

Definition at line 2791 of file vst.h.

@@ -368,7 +368,7 @@ Data Fields
Deprecated:
(VST 2.4+) Deprecated from VST 2.4 onwards as the same check already exists on the host side.
Returns
VST_STATUS_TRUE if you want to use VST_HOST_OPCODE_EDITOR_RESIZE, otherwise VST_STATUS_FALSE.
-

Definition at line 2831 of file vst.h.

+

Definition at line 2837 of file vst.h.

@@ -384,7 +384,7 @@ Data Fields
-

Definition at line 2842 of file vst.h.

+

Definition at line 2848 of file vst.h.

@@ -400,7 +400,7 @@ Data Fields
-

Definition at line 2833 of file vst.h.

+

Definition at line 2839 of file vst.h.

@@ -416,7 +416,7 @@ Data Fields
-

Definition at line 2839 of file vst.h.

+

Definition at line 2845 of file vst.h.

@@ -432,7 +432,7 @@ Data Fields
-

Definition at line 2841 of file vst.h.

+

Definition at line 2847 of file vst.h.

@@ -448,7 +448,7 @@ Data Fields
-

Definition at line 2840 of file vst.h.

+

Definition at line 2846 of file vst.h.

@@ -464,7 +464,7 @@ Data Fields
-

Definition at line 2835 of file vst.h.

+

Definition at line 2841 of file vst.h.

@@ -480,7 +480,7 @@ Data Fields
-

Definition at line 2837 of file vst.h.

+

Definition at line 2843 of file vst.h.

@@ -496,7 +496,7 @@ Data Fields
-

Definition at line 2838 of file vst.h.

+

Definition at line 2844 of file vst.h.

@@ -513,12 +513,12 @@ Data Fields

Plug-in can receive events from host.

-
See also
vst_host_supports_t.sendVstEvents
+
See also
vst_host_supports_t.sendVstEvents
VST_EFFECT_OPCODE_EVENT
Note
(VST 2.0+) Available from VST 2.0 onwards.
-

Definition at line 2801 of file vst.h.

+

Definition at line 2807 of file vst.h.

@@ -544,7 +544,7 @@ vst_effect_midi_t vst_effect_midi_sysex_t
Note
(VST 2.0+) Available from VST 2.0 onwards.
-

Definition at line 2821 of file vst.h.

+

Definition at line 2827 of file vst.h.

@@ -560,7 +560,7 @@ vst_effect_midi_sysex_t
-

Definition at line 2834 of file vst.h.

+

Definition at line 2840 of file vst.h.

@@ -582,7 +582,7 @@ vst_effect_midi_sysex_t VST_HOST_OPCODE_EVENT
Note
(VST 2.0+) Available from VST 2.0 onwards.
-

Definition at line 2793 of file vst.h.

+

Definition at line 2799 of file vst.h.

@@ -608,7 +608,7 @@ vst_effect_midi_t vst_effect_midi_sysex_t
Note
(VST 2.0+) Available from VST 2.0 onwards.
-

Definition at line 2811 of file vst.h.

+

Definition at line 2817 of file vst.h.

@@ -621,7 +621,7 @@ vst_effect_midi_sysex_t diff --git a/structvst__effect__t.html b/structvst__effect__t.html index 8712f20..b40371e 100644 --- a/structvst__effect__t.html +++ b/structvst__effect__t.html @@ -171,7 +171,7 @@ Data Fields

Detailed Description

Plug-in Effect definition.

-

Definition at line 2950 of file vst.h.

+

Definition at line 2956 of file vst.h.

Field Documentation

◆ _unknown

@@ -185,7 +185,7 @@ Data Fields
-

Definition at line 3112 of file vst.h.

+

Definition at line 3118 of file vst.h.

@@ -202,7 +202,7 @@ Data Fields
Todo:
-

Definition at line 3028 of file vst.h.

+

Definition at line 3034 of file vst.h.

@@ -219,7 +219,7 @@ Data Fields
Todo:
-

Definition at line 3031 of file vst.h.

+

Definition at line 3037 of file vst.h.

@@ -236,7 +236,7 @@ Data Fields
Todo:
-

Definition at line 3043 of file vst.h.

+

Definition at line 3049 of file vst.h.

@@ -253,7 +253,7 @@ Data Fields
Todo:
-

Definition at line 3046 of file vst.h.

+

Definition at line 3052 of file vst.h.

@@ -274,7 +274,7 @@ Data Fields
VST_EFFECT_OPCODE
-

Definition at line 2963 of file vst.h.

+

Definition at line 2969 of file vst.h.

@@ -296,7 +296,7 @@ Data Fields Should be reinitialized when the effect is resumed.
See also
VST_HOST_OPCODE_IO_MODIFIED
-

Definition at line 3040 of file vst.h.

+

Definition at line 3046 of file vst.h.

@@ -315,7 +315,7 @@ Should be reinitialized when the effect is resumed.

Effect Internal Pointer.

You can freely set this to point at some sort of class or similar for use in your own effect. The host must never modify this or the data available through this.

-

Definition at line 3063 of file vst.h.

+

Definition at line 3069 of file vst.h.

@@ -334,7 +334,7 @@ Should be reinitialized when the effect is resumed.

Effect Flags.

See also
VST_EFFECT_FLAGS
-

Definition at line 3025 of file vst.h.

+

Definition at line 3031 of file vst.h.

@@ -353,7 +353,7 @@ Should be reinitialized when the effect is resumed.

Get Parameter Function.

See also
vst_effect_get_parameter_t
-

Definition at line 2980 of file vst.h.

+

Definition at line 2986 of file vst.h.

@@ -372,7 +372,7 @@ Should be reinitialized when the effect is resumed.

Host Internal Pointer.

The host may set this to point at data related to your effect instance that the host needs. The effect must never modify this or the data available through this.

-

Definition at line 3070 of file vst.h.

+

Definition at line 3076 of file vst.h.

@@ -392,7 +392,7 @@ Should be reinitialized when the effect is resumed.

Example: A ratio of 2.0 means we produce twice as much output as we receive input.

Range: >0.0 to Infinity Default: 1.0

Note
Ignored in VST 2.4 or with VST_EFFECT_FLAG_SUPPORTS_FLOAT.
-

Definition at line 3056 of file vst.h.

+

Definition at line 3062 of file vst.h.

@@ -412,7 +412,7 @@ Should be reinitialized when the effect is resumed.

Should always be VST_FOURCC('VstP')

See also
VST_MAGICNUMBER
-

Definition at line 2957 of file vst.h.

+

Definition at line 2963 of file vst.h.

@@ -435,7 +435,7 @@ Should be reinitialized when the effect is resumed.
VST_HOST_OPCODE_IO_MODIFIED
-

Definition at line 3011 of file vst.h.

+

Definition at line 3017 of file vst.h.

@@ -458,7 +458,7 @@ Should be reinitialized when the effect is resumed.
VST_HOST_OPCODE_IO_MODIFIED
-

Definition at line 3019 of file vst.h.

+

Definition at line 3025 of file vst.h.

@@ -478,7 +478,7 @@ Should be reinitialized when the effect is resumed.

All programs must have at least this many parameters.

See also
VST_HOST_OPCODE_IO_MODIFIED
-

Definition at line 3002 of file vst.h.

+

Definition at line 3008 of file vst.h.

@@ -515,7 +515,7 @@ Should be reinitialized when the effect is resumed.
VST_EFFECT_OPCODE_GET_CHUNK_DATA
-

Definition at line 2995 of file vst.h.

+

Definition at line 3001 of file vst.h.

@@ -535,7 +535,7 @@ Should be reinitialized when the effect is resumed.
See also
vst_effect_process_t
Deprecated:
(VST 2.4+) Deprecated and practically unsupported in all VST 2.4 compatible hosts and may treat it as just another vst_effect_t::process_float.
-

Definition at line 2970 of file vst.h.

+

Definition at line 2976 of file vst.h.

@@ -555,7 +555,7 @@ Should be reinitialized when the effect is resumed.
See also
vst_effect_process_double_t
Note
(VST 2.4+) Available from VST 2.4 and later.
-

Definition at line 3109 of file vst.h.

+

Definition at line 3115 of file vst.h.

@@ -575,7 +575,7 @@ Should be reinitialized when the effect is resumed.
See also
vst_effect_process_single_t
Note
(VST 2.0+) Available from VST 2.0 and later.
-

Definition at line 3099 of file vst.h.

+

Definition at line 3105 of file vst.h.

@@ -594,7 +594,7 @@ Should be reinitialized when the effect is resumed.

Set Parameter Function.

See also
vst_effect_set_parameter_t
-

Definition at line 2975 of file vst.h.

+

Definition at line 2981 of file vst.h.

@@ -615,7 +615,7 @@ Should be reinitialized when the effect is resumed.

Used in combination with VST_EFFECT_CATEGORY_CONTAINER.

BUG: Some broken hosts rely on this alone to save information about VST plug-ins.

-

Definition at line 3083 of file vst.h.

+

Definition at line 3089 of file vst.h.

@@ -634,7 +634,7 @@ Should be reinitialized when the effect is resumed.

Plugin version.

Unrelated to the minimum VST Version, but often the same.

-

Definition at line 3089 of file vst.h.

+

Definition at line 3095 of file vst.h.

@@ -647,7 +647,7 @@ Should be reinitialized when the effect is resumed. diff --git a/structvst__event__t.html b/structvst__event__t.html index db46a1a..fcc764b 100644 --- a/structvst__event__t.html +++ b/structvst__event__t.html @@ -117,7 +117,7 @@ Data Fields

A generic event.

See also
vst_events_t
-vst_host_supports_t.sendVstEvents
+vst_host_supports_t.sendVstEvents
vst_host_supports_t.receiveVstEvents
@@ -200,7 +200,7 @@ Data Fields diff --git a/structvst__events__t.html b/structvst__events__t.html index 9f2a80e..df2074c 100644 --- a/structvst__events__t.html +++ b/structvst__events__t.html @@ -114,7 +114,7 @@ Data Fields
vst_host_supports_t.receiveVstEvents
@@ -174,7 +174,7 @@ Data Fields diff --git a/structvst__host__supports__t.html b/structvst__host__supports__t.html index c82c53b..60c2240 100644 --- a/structvst__host__supports__t.html +++ b/structvst__host__supports__t.html @@ -116,6 +116,7 @@ Data Fields  Can we request that the host changes the editor window size?
  const char * sendVstEvents + Host can send events to plug-in.
  const char * receiveVstEvents  Host can receive events from plug-in.
@@ -183,7 +184,7 @@ Data Fields
-

Definition at line 1553 of file vst.h.

+

Definition at line 1559 of file vst.h.

@@ -199,7 +200,7 @@ Data Fields
-

Definition at line 1551 of file vst.h.

+

Definition at line 1557 of file vst.h.

@@ -215,7 +216,7 @@ Data Fields
-

Definition at line 1549 of file vst.h.

+

Definition at line 1555 of file vst.h.

@@ -231,7 +232,7 @@ Data Fields
-

Definition at line 1552 of file vst.h.

+

Definition at line 1558 of file vst.h.

@@ -253,7 +254,7 @@ Data Fields VST_HOST_OPCODE_EVENT
Note
(VST 2.0+) Available from VST 2.0 onwards.
-

Definition at line 1514 of file vst.h.

+

Definition at line 1520 of file vst.h.

@@ -279,7 +280,7 @@ vst_effect_midi_t vst_effect_midi_sysex_t
Note
(VST 2.0+) Available from VST 2.0 onwards.
-

Definition at line 1534 of file vst.h.

+

Definition at line 1540 of file vst.h.

@@ -295,7 +296,7 @@ vst_effect_midi_sysex_t
-

Definition at line 1547 of file vst.h.

+

Definition at line 1553 of file vst.h.

@@ -311,7 +312,13 @@ vst_effect_midi_sysex_t
-

Definition at line 1506 of file vst.h.

+

Host can send events to plug-in.

+
See also
vst_effect_supports_t.receiveVstEvents
+
+VST_EFFECT_OPCODE_EVENT
+
Note
(VST 2.0+) Available from VST 2.0 onwards.
+ +

Definition at line 1512 of file vst.h.

@@ -337,7 +344,7 @@ vst_effect_midi_t vst_effect_midi_sysex_t
Note
(VST 2.0+) Available from VST 2.0 onwards.
-

Definition at line 1524 of file vst.h.

+

Definition at line 1530 of file vst.h.

@@ -363,7 +370,7 @@ vst_effect_supports_t.receiveVstMidiEvents vst_effect_midi_t
Note
(VST 2.0+) Available from VST 2.0 onwards.
-

Definition at line 1544 of file vst.h.

+

Definition at line 1550 of file vst.h.

@@ -379,7 +386,7 @@ vst_effect_midi_t
-

Definition at line 1546 of file vst.h.

+

Definition at line 1552 of file vst.h.

@@ -461,7 +468,7 @@ vst_effect_midi_t diff --git a/structvst__parameter__properties__t.html b/structvst__parameter__properties__t.html index d6e7f05..3b52b2c 100644 --- a/structvst__parameter__properties__t.html +++ b/structvst__parameter__properties__t.html @@ -429,7 +429,7 @@ Ignored if diff --git a/structvst__rect__t.html b/structvst__rect__t.html index 8fe931f..f03fb78 100644 --- a/structvst__rect__t.html +++ b/structvst__rect__t.html @@ -191,7 +191,7 @@ Data Fields diff --git a/structvst__speaker__arrangement__dynamic__t.html b/structvst__speaker__arrangement__dynamic__t.html index 792cea1..af95b3e 100644 --- a/structvst__speaker__arrangement__dynamic__t.html +++ b/structvst__speaker__arrangement__dynamic__t.html @@ -175,7 +175,7 @@ template<size_t T> diff --git a/structvst__speaker__arrangement__t.html b/structvst__speaker__arrangement__t.html index 8d6e390..284fdfc 100644 --- a/structvst__speaker__arrangement__t.html +++ b/structvst__speaker__arrangement__t.html @@ -183,7 +183,7 @@ Data Fields diff --git a/structvst__speaker__properties__t.html b/structvst__speaker__properties__t.html index 7d4bbd8..0a07f34 100644 --- a/structvst__speaker__properties__t.html +++ b/structvst__speaker__properties__t.html @@ -229,7 +229,7 @@ Data Fields diff --git a/structvst__stream__properties__t.html b/structvst__stream__properties__t.html index b1705cd..96f605b 100644 --- a/structvst__stream__properties__t.html +++ b/structvst__stream__properties__t.html @@ -198,7 +198,7 @@ Data Fields diff --git a/todo.html b/todo.html index 95207d5..7cbf49b 100644 --- a/todo.html +++ b/todo.html @@ -235,7 +235,7 @@ $(document).ready(function(){initNavTree('todo.html',''); initResizable(); }); diff --git a/unionvst__event__midi__sysex__t.html b/unionvst__event__midi__sysex__t.html index 8baf4e8..99e0139 100644 --- a/unionvst__event__midi__sysex__t.html +++ b/unionvst__event__midi__sysex__t.html @@ -212,7 +212,7 @@ vst_effect_supports_t.receiveVstMidiEvents diff --git a/unionvst__event__midi__t.html b/unionvst__event__midi__t.html index 987000e..ba28ff0 100644 --- a/unionvst__event__midi__t.html +++ b/unionvst__event__midi__t.html @@ -299,7 +299,7 @@ vst_effect_supports_t.receiveVstMidiEvents diff --git a/vst_8h.html b/vst_8h.html index b9946fd..6afc744 100644 --- a/vst_8h.html +++ b/vst_8h.html @@ -972,7 +972,7 @@ Enumerations

Default VST 2.x Block Size All VST 2.x hosts expect you to initialize your plug-in to these default values.

See also
VST_EFFECT_OPCODE_SET_BLOCK_SIZE
-

Definition at line 1605 of file vst.h.

+

Definition at line 1611 of file vst.h.

@@ -991,7 +991,7 @@ Enumerations

Default VST 2.x Sample Rate All VST 2.x hosts expect you to initialize your plug-in to these default values.

See also
VST_EFFECT_OPCODE_SET_SAMPLE_RATE
-

Definition at line 1598 of file vst.h.

+

Definition at line 1604 of file vst.h.

@@ -1011,20 +1011,20 @@ Enumerations

Must be present in VST 2.x plug-ins but must not be present in VST 1.x plug-ins.

Returns
A new instance of the VST 2.x effect.
-

Definition at line 3121 of file vst.h.

-
3130 { return VSTPluginMain(callback); }
-
3131
-
3138#define VST_ENTRYPOINT_MACOS \
-
3139 vst_effect_t* main_macho(vst_host_callback_t callback) { return VSTPluginMain(callback); }
-
3140
-
3147#define VST_ENTRYPOINT_MACOS_POWERPC \
-
3148 vst_effect_t* main(vst_host_callback_t callback) { return VSTPluginMain(callback); }
-
3149
-
3150#ifdef __cplusplus
-
3151}
-
3152#endif
-
3153#pragma pack(pop)
-
3154#endif
+

Definition at line 3127 of file vst.h.

+
3136 { return VSTPluginMain(callback); }
+
3137
+
3144#define VST_ENTRYPOINT_MACOS \
+
3145 vst_effect_t* main_macho(vst_host_callback_t callback) { return VSTPluginMain(callback); }
+
3146
+
3153#define VST_ENTRYPOINT_MACOS_POWERPC \
+
3154 vst_effect_t* main(vst_host_callback_t callback) { return VSTPluginMain(callback); }
+
3155
+
3156#ifdef __cplusplus
+
3157}
+
3158#endif
+
3159#pragma pack(pop)
+
3160#endif
@@ -1044,8 +1044,8 @@ Enumerations

Do not implement in VST 2.1 or later plug-ins!

Returns
A new instance of the VST 1.x effect.
-

Definition at line 3139 of file vst.h.

-
3140 { return VSTPluginMain(callback); }
+

Definition at line 3145 of file vst.h.

+
3146 { return VSTPluginMain(callback); }
@@ -1065,8 +1065,8 @@ Enumerations

Present in some VST 2.3 and earlier compatible plug-ins that support MacOS.

Returns
A new instance of the VST 2.x effect.
-

Definition at line 3148 of file vst.h.

-
3149 { return VSTPluginMain(callback); }
+

Definition at line 3154 of file vst.h.

+
3155 { return VSTPluginMain(callback); }
@@ -1086,8 +1086,8 @@ Enumerations

Do not implement in VST 2.1 or later plug-ins!

Returns
A new instance of the VST 1.x effect.
-

Definition at line 3130 of file vst.h.

-
3131 { return VSTPluginMain(callback); }
+

Definition at line 3136 of file vst.h.

+
3137 { return VSTPluginMain(callback); }
@@ -1169,7 +1169,7 @@ Enumerations

Magic Number identifying a VST 2.x plug-in structure.

See also
vst_effect_t.magic_numer
-

Definition at line 1591 of file vst.h.

+

Definition at line 1597 of file vst.h.

@@ -1219,7 +1219,7 @@ Enumerations -

Definition at line 2893 of file vst.h.

+

Definition at line 2899 of file vst.h.

@@ -1245,7 +1245,7 @@ Enumerations
Returns
Current value of the parameter.
-

Definition at line 2920 of file vst.h.

+

Definition at line 2926 of file vst.h.

@@ -1274,7 +1274,7 @@ Enumerations -

Definition at line 2946 of file vst.h.

+

Definition at line 2952 of file vst.h.

@@ -1303,7 +1303,7 @@ Enumerations -

Definition at line 2933 of file vst.h.

+

Definition at line 2939 of file vst.h.

@@ -1331,7 +1331,7 @@ Enumerations -

Definition at line 2904 of file vst.h.

+

Definition at line 2910 of file vst.h.

@@ -1357,7 +1357,7 @@ Enumerations -

Definition at line 2912 of file vst.h.

+

Definition at line 2918 of file vst.h.

@@ -1384,7 +1384,7 @@ Enumerations
Returns
?
-

Definition at line 1581 of file vst.h.

+

Definition at line 1587 of file vst.h.

@@ -1541,15 +1541,15 @@ Enumerations
// Do things to list only this plugin in the host.
}
// ...
-
Plug-in Effect definition.
Definition vst.h:2950
-
vst_effect_control_t control
Control Function.
Definition vst.h:2963
+
Plug-in Effect definition.
Definition vst.h:2956
+
vst_effect_control_t control
Control Function.
Definition vst.h:2969
const char * shellCategory
Does the host support container plug-ins?
Definition vst.h:1497
@ VST_HOST_OPCODE_CURRENT_EFFECT_ID
Definition vst.h:1075
@ VST_HOST_OPCODE_SUPPORTS
Definition vst.h:1325
@ VST_STATUS_TRUE
Definition vst.h:87
-
@ VST_EFFECT_CATEGORY_CONTAINER
Definition vst.h:1777
-
@ VST_EFFECT_OPCODE_CATEGORY
Definition vst.h:2310
-
@ VST_EFFECT_OPCODE_CONTAINER_NEXT_EFFECT_ID
Definition vst.h:2668
+
@ VST_EFFECT_CATEGORY_CONTAINER
Definition vst.h:1783
+
@ VST_EFFECT_OPCODE_CATEGORY
Definition vst.h:2316
+
@ VST_EFFECT_OPCODE_CONTAINER_NEXT_EFFECT_ID
Definition vst.h:2674

Plug-in handling:

// ... in vst_effect for the container
size_t current_effect_idx;
int32_t effect_list[] = {
@@ -1586,7 +1586,7 @@ Enumerations
// ...
@ VST_HOST_OPCODE_VST_VERSION
Definition vst.h:1065
-
#define VST_ENTRYPOINT
VST 2.x Entry Point for all platforms.
Definition vst.h:3121
+
#define VST_ENTRYPOINT
VST 2.x Entry Point for all platforms.
Definition vst.h:3127
VST_EFFECT_CATEGORY_CONTAINER 
See also
VST_EFFECT_CATEGORY_0A
@@ -1598,69 +1598,69 @@ Enumerations -

Definition at line 1612 of file vst.h.

-
1612 {
- -
1614
- - -
1623
- - -
1632
- - -
1642
- - -
1651
- - -
1660
- - -
1669
- - -
1678
- - -
1688
- -
1695 VST_EFFECT_CATEGORY_OFFLINE = 0x09, // Offline Processing VST? Seems to receive all audio data prior to playback.
-
1696
- - -
1778
- - -
1790
-
1792 VST_EFFECT_CATEGORY_MAX, // Not part of specification, marks maximum category.
-
1793
-
1795 _VST_EFFECT_CATEGORY_PAD = (-1l)
-
1796};
-
@ VST_EFFECT_CATEGORY_0A
Container Plug-in This plug-in contains multiple effects in one and requires special handling on both...
Definition vst.h:1775
-
@ VST_EFFECT_CATEGORY_EFFECT
Definition vst.h:1622
-
@ VST_EFFECT_CATEGORY_02
Instruments Examples: Instruments, Synths, Samplers, ...
Definition vst.h:1629
-
@ VST_EFFECT_CATEGORY_METERING
Definition vst.h:1641
-
@ VST_EFFECT_CATEGORY_01
Generic Effects Examples: Distortion, Pitch Shift, ...
Definition vst.h:1620
-
@ VST_EFFECT_CATEGORY_08
Restoration Examples: Noise Filtering, Upsamplers, ...
Definition vst.h:1685
-
@ VST_EFFECT_CATEGORY_WAVEGENERATOR
Definition vst.h:1789
-
@ VST_EFFECT_CATEGORY_09
Offline Processing Examples: Nothing Supports: Nothing.
Definition vst.h:1693
-
@ VST_EFFECT_CATEGORY_SPATIAL
Definition vst.h:1659
-
@ VST_EFFECT_CATEGORY_07
External Processing.
Definition vst.h:1675
-
@ VST_EFFECT_CATEGORY_06
Delay/Echo Examples: Echo, Reverb, Room Simulation, Delay, ...
Definition vst.h:1666
-
@ VST_EFFECT_CATEGORY_EXTERNAL
Definition vst.h:1677
-
@ VST_EFFECT_CATEGORY_OFFLINE
Definition vst.h:1695
-
@ VST_EFFECT_CATEGORY_0B
Waveform Generators Examples: Sine Wave Generator, ... Supports: Delay, Tail Samples.
Definition vst.h:1787
-
@ VST_EFFECT_CATEGORY_05
Spatializers Examples: Channel Panning, Expanders, ...
Definition vst.h:1657
-
@ VST_EFFECT_CATEGORY_MASTERING
Definition vst.h:1650
-
@ VST_EFFECT_CATEGORY_RESTORATION
Definition vst.h:1687
-
@ VST_EFFECT_CATEGORY_UNCATEGORIZED
Definition vst.h:1613
-
@ VST_EFFECT_CATEGORY_03
Metering Examples: Loudness Meters, Volume Analysis, ...
Definition vst.h:1639
-
@ VST_EFFECT_CATEGORY_INSTRUMENT
Definition vst.h:1631
-
@ VST_EFFECT_CATEGORY_DELAY_OR_ECHO
Definition vst.h:1668
-
@ VST_EFFECT_CATEGORY_04
Mastering Examples: Compressors, Limiters, ...
Definition vst.h:1648
+

Definition at line 1618 of file vst.h.

+
1618 {
+ +
1620
+ + +
1629
+ + +
1638
+ + +
1648
+ + +
1657
+ + +
1666
+ + +
1675
+ + +
1684
+ + +
1694
+ +
1701 VST_EFFECT_CATEGORY_OFFLINE = 0x09, // Offline Processing VST? Seems to receive all audio data prior to playback.
+
1702
+ + +
1784
+ + +
1796
+
1798 VST_EFFECT_CATEGORY_MAX, // Not part of specification, marks maximum category.
+
1799
+
1801 _VST_EFFECT_CATEGORY_PAD = (-1l)
+
1802};
+
@ VST_EFFECT_CATEGORY_0A
Container Plug-in This plug-in contains multiple effects in one and requires special handling on both...
Definition vst.h:1781
+
@ VST_EFFECT_CATEGORY_EFFECT
Definition vst.h:1628
+
@ VST_EFFECT_CATEGORY_02
Instruments Examples: Instruments, Synths, Samplers, ...
Definition vst.h:1635
+
@ VST_EFFECT_CATEGORY_METERING
Definition vst.h:1647
+
@ VST_EFFECT_CATEGORY_01
Generic Effects Examples: Distortion, Pitch Shift, ...
Definition vst.h:1626
+
@ VST_EFFECT_CATEGORY_08
Restoration Examples: Noise Filtering, Upsamplers, ...
Definition vst.h:1691
+
@ VST_EFFECT_CATEGORY_WAVEGENERATOR
Definition vst.h:1795
+
@ VST_EFFECT_CATEGORY_09
Offline Processing Examples: Nothing Supports: Nothing.
Definition vst.h:1699
+
@ VST_EFFECT_CATEGORY_SPATIAL
Definition vst.h:1665
+
@ VST_EFFECT_CATEGORY_07
External Processing.
Definition vst.h:1681
+
@ VST_EFFECT_CATEGORY_06
Delay/Echo Examples: Echo, Reverb, Room Simulation, Delay, ...
Definition vst.h:1672
+
@ VST_EFFECT_CATEGORY_EXTERNAL
Definition vst.h:1683
+
@ VST_EFFECT_CATEGORY_OFFLINE
Definition vst.h:1701
+
@ VST_EFFECT_CATEGORY_0B
Waveform Generators Examples: Sine Wave Generator, ... Supports: Delay, Tail Samples.
Definition vst.h:1793
+
@ VST_EFFECT_CATEGORY_05
Spatializers Examples: Channel Panning, Expanders, ...
Definition vst.h:1663
+
@ VST_EFFECT_CATEGORY_MASTERING
Definition vst.h:1656
+
@ VST_EFFECT_CATEGORY_RESTORATION
Definition vst.h:1693
+
@ VST_EFFECT_CATEGORY_UNCATEGORIZED
Definition vst.h:1619
+
@ VST_EFFECT_CATEGORY_03
Metering Examples: Loudness Meters, Volume Analysis, ...
Definition vst.h:1645
+
@ VST_EFFECT_CATEGORY_INSTRUMENT
Definition vst.h:1637
+
@ VST_EFFECT_CATEGORY_DELAY_OR_ECHO
Definition vst.h:1674
+
@ VST_EFFECT_CATEGORY_04
Mastering Examples: Compressors, Limiters, ...
Definition vst.h:1654
@@ -1746,48 +1746,48 @@ Enumerations -

Definition at line 1800 of file vst.h.

-
1800 {
-
1820 VST_EFFECT_FLAG_1ls0 = 1 << 0,
-
1822 VST_EFFECT_FLAG_EDITOR = 1 << 0,
-
1823
-
1824 //1 << 1,
-
1825 //1 << 2, // Only seen when the plug-in responds to VST_EFFECT_OPCODE_09. Seems to be ignored by hosts entirely.
-
1826 //1 << 3, // Only seen when the plug-in behaves differently in mono mode. Seems to be ignored by hosts entirely.
-
1827
-
1834 VST_EFFECT_FLAG_1ls4 = 1 << 4,
- -
1837
-
1844 VST_EFFECT_FLAG_1ls5 = 1 << 5,
-
1846 VST_EFFECT_FLAG_CHUNKS = 1 << 5,
-
1847
-
1848 //1 << 6,
-
1849 //1 << 7,
-
1850
-
1856 VST_EFFECT_FLAG_1ls8 = 1 << 8,
- -
1859
-
1866 VST_EFFECT_FLAG_1ls9 = 1 << 9,
- -
1869
-
1870 //1 << 10,
-
1871 //1 << 11,
-
1872
-
1880 VST_EFFECT_FLAG_1ls12 = 1 << 12,
- -
1883};
-
@ VST_EFFECT_FLAG_SILENT_TAIL
Definition vst.h:1868
-
@ VST_EFFECT_FLAG_1ls9
Effect does not produce tail samples when the input is silent.
Definition vst.h:1866
-
@ VST_EFFECT_FLAG_CHUNKS
Definition vst.h:1846
-
@ VST_EFFECT_FLAG_1ls4
Effect uses process_float.
Definition vst.h:1834
-
@ VST_EFFECT_FLAG_1ls5
Effect supports saving/loading programs/banks from unformatted chunk data.
Definition vst.h:1844
-
@ VST_EFFECT_FLAG_EDITOR
Definition vst.h:1822
-
@ VST_EFFECT_FLAG_SUPPORTS_FLOAT
Definition vst.h:1836
-
@ VST_EFFECT_FLAG_1ls0
Effect provides a custom editor.
Definition vst.h:1820
-
@ VST_EFFECT_FLAG_INSTRUMENT
Definition vst.h:1858
-
@ VST_EFFECT_FLAG_1ls12
Effect supports process_double.
Definition vst.h:1880
-
@ VST_EFFECT_FLAG_1ls8
Effect is an Instrument/Generator.
Definition vst.h:1856
-
@ VST_EFFECT_FLAG_SUPPORTS_DOUBLE
Definition vst.h:1882
+

Definition at line 1806 of file vst.h.

+
1806 {
+
1826 VST_EFFECT_FLAG_1ls0 = 1 << 0,
+
1828 VST_EFFECT_FLAG_EDITOR = 1 << 0,
+
1829
+
1830 //1 << 1,
+
1831 //1 << 2, // Only seen when the plug-in responds to VST_EFFECT_OPCODE_09. Seems to be ignored by hosts entirely.
+
1832 //1 << 3, // Only seen when the plug-in behaves differently in mono mode. Seems to be ignored by hosts entirely.
+
1833
+
1840 VST_EFFECT_FLAG_1ls4 = 1 << 4,
+ +
1843
+
1850 VST_EFFECT_FLAG_1ls5 = 1 << 5,
+
1852 VST_EFFECT_FLAG_CHUNKS = 1 << 5,
+
1853
+
1854 //1 << 6,
+
1855 //1 << 7,
+
1856
+
1862 VST_EFFECT_FLAG_1ls8 = 1 << 8,
+ +
1865
+
1872 VST_EFFECT_FLAG_1ls9 = 1 << 9,
+ +
1875
+
1876 //1 << 10,
+
1877 //1 << 11,
+
1878
+
1886 VST_EFFECT_FLAG_1ls12 = 1 << 12,
+ +
1889};
+
@ VST_EFFECT_FLAG_SILENT_TAIL
Definition vst.h:1874
+
@ VST_EFFECT_FLAG_1ls9
Effect does not produce tail samples when the input is silent.
Definition vst.h:1872
+
@ VST_EFFECT_FLAG_CHUNKS
Definition vst.h:1852
+
@ VST_EFFECT_FLAG_1ls4
Effect uses process_float.
Definition vst.h:1840
+
@ VST_EFFECT_FLAG_1ls5
Effect supports saving/loading programs/banks from unformatted chunk data.
Definition vst.h:1850
+
@ VST_EFFECT_FLAG_EDITOR
Definition vst.h:1828
+
@ VST_EFFECT_FLAG_SUPPORTS_FLOAT
Definition vst.h:1842
+
@ VST_EFFECT_FLAG_1ls0
Effect provides a custom editor.
Definition vst.h:1826
+
@ VST_EFFECT_FLAG_INSTRUMENT
Definition vst.h:1864
+
@ VST_EFFECT_FLAG_1ls12
Effect supports process_double.
Definition vst.h:1886
+
@ VST_EFFECT_FLAG_1ls8
Effect is an Instrument/Generator.
Definition vst.h:1862
+
@ VST_EFFECT_FLAG_SUPPORTS_DOUBLE
Definition vst.h:1888
@@ -2080,7 +2080,7 @@ Appears to be Mac OS exclusive.
vst_events_t
-vst_host_supports_t.sendVstEvents
+vst_host_supports_t.sendVstEvents
vst_effect_supports_t.receiveVstEvents
@@ -2532,440 +2532,440 @@ vst_effect_supports_t.receiveVstMidiEvents
-

Definition at line 1888 of file vst.h.

-
1888 {
-
1893 VST_EFFECT_OPCODE_00 = 0x00,
- - -
1898
-
1905 VST_EFFECT_OPCODE_01 = 0x01,
- -
1908
-
1913 VST_EFFECT_OPCODE_02 = 0x02,
- - -
1918
-
1923 VST_EFFECT_OPCODE_03 = 0x03,
- - -
1928
-
1933 VST_EFFECT_OPCODE_04 = 0x04,
- - -
1938
-
1943 VST_EFFECT_OPCODE_05 = 0x05,
- - -
1948
-
1955 VST_EFFECT_OPCODE_06 = 0x06,
- - - -
1962
-
1969 VST_EFFECT_OPCODE_07 = 0x07,
- - - - -
1978
-
1985 VST_EFFECT_OPCODE_08 = 0x08,
- - - -
1992
-
1998 VST_EFFECT_OPCODE_09 = 0x09,
-
1999
-
2004 VST_EFFECT_OPCODE_0A = 0x0A,
- - -
2009
-
2014 VST_EFFECT_OPCODE_0B = 0x0B,
- - -
2019
-
2028 VST_EFFECT_OPCODE_0C = 0x0C,
- - - -
2035
-
2042 VST_EFFECT_OPCODE_0D = 0x0D,
- - - -
2049
-
2055 VST_EFFECT_OPCODE_0E = 0x0E,
- - -
2060
-
2065 VST_EFFECT_OPCODE_0F = 0x0F,
- - -
2070
-
2081 VST_EFFECT_OPCODE_10 = 0x10,
- - -
2086
-
2097 VST_EFFECT_OPCODE_11 = 0x11,
- - -
2102
-
2113 VST_EFFECT_OPCODE_12 = 0x12,
- - -
2118
-
2123 VST_EFFECT_OPCODE_13 = 0x13,
- -
2126
-
2135 VST_EFFECT_OPCODE_14 = 0x14,
-
2136
-
2145 VST_EFFECT_OPCODE_15 = 0x15,
-
2146
-
2153 VST_EFFECT_OPCODE_16 = 0x16,
- -
2156
-
2167 VST_EFFECT_OPCODE_17 = 0x17,
- -
2170
-
2181 VST_EFFECT_OPCODE_18 = 0x18,
- -
2184
-
2185 //--------------------------------------------------------------------------------
-
2186 // VST 2.x starts here.
-
2187 //--------------------------------------------------------------------------------
-
2188
-
2204 VST_EFFECT_OPCODE_19 = 0x19,
- -
2207
-
2214 VST_EFFECT_OPCODE_1A = 0x1A,
- - - -
2221
-
2229 VST_EFFECT_OPCODE_1B = 0x1B,
- - -
2234
-
2241 VST_EFFECT_OPCODE_1C = 0x1C,
-
2242
-
2249 VST_EFFECT_OPCODE_1D = 0x1D,
-
2250
-
2257 VST_EFFECT_OPCODE_1E = 0x1E,
-
2258
-
2265 VST_EFFECT_OPCODE_1F = 0x1F,
-
2266
-
2273 VST_EFFECT_OPCODE_20 = 0x20,
-
2274
-
2282 VST_EFFECT_OPCODE_21 = 0x21,
- - -
2287
-
2295 VST_EFFECT_OPCODE_22 = 0x22,
- - -
2300
-
2306 VST_EFFECT_OPCODE_23 = 0x23,
- - -
2311
-
2318 VST_EFFECT_OPCODE_24 = 0x24,
-
2319
-
2326 VST_EFFECT_OPCODE_25 = 0x25,
-
2327
-
2334 VST_EFFECT_OPCODE_26 = 0x26,
-
2335
-
2342 VST_EFFECT_OPCODE_27 = 0x27,
-
2343
-
2350 VST_EFFECT_OPCODE_28 = 0x28,
-
2351
-
2358 VST_EFFECT_OPCODE_29 = 0x29,
-
2359
-
2372 VST_EFFECT_OPCODE_2A = 0x2A,
- -
2375
-
2379 VST_EFFECT_OPCODE_2B = 0x2B,
-
2380
-
2388 VST_EFFECT_OPCODE_2C = 0x2C,
- -
2391
-
2399 VST_EFFECT_OPCODE_2D = 0x2D,
- - - -
2406
-
2415 VST_EFFECT_OPCODE_2E = 0x2E,
- -
2418
-
2424 VST_EFFECT_OPCODE_2F = 0x2F,
- - -
2429
-
2435 VST_EFFECT_OPCODE_30 = 0x30,
- - -
2440
-
2446 VST_EFFECT_OPCODE_31 = 0x31,
- - -
2451
-
2459 VST_EFFECT_OPCODE_32 = 0x32,
- -
2462
-
2470 VST_EFFECT_OPCODE_33 = 0x33,
- -
2473
-
2480 VST_EFFECT_OPCODE_34 = 0x34,
- - -
2485
-
2493 VST_EFFECT_OPCODE_35 = 0x35,
- -
2496
-
2504 VST_EFFECT_OPCODE_36 = 0x36,
-
2505
-
2513 VST_EFFECT_OPCODE_37 = 0x37,
-
2514
-
2522 VST_EFFECT_OPCODE_38 = 0x38,
- - -
2527
-
2534 VST_EFFECT_OPCODE_39 = 0x39,
-
2535
-
2542 VST_EFFECT_OPCODE_3A = 0x3A,
- -
2545
-
2546 //--------------------------------------------------------------------------------
-
2547 // VST 2.1
-
2548 //--------------------------------------------------------------------------------
-
2549
-
2558 VST_EFFECT_OPCODE_3B = 0x3B,
- -
2561
-
2570 VST_EFFECT_OPCODE_3C = 0x3C,
- -
2573
-
2580 VST_EFFECT_OPCODE_3D = 0x3D,
-
2581
-
2588 VST_EFFECT_OPCODE_3E = 0x3E,
-
2589
-
2596 VST_EFFECT_OPCODE_3F = 0x3F,
-
2597
-
2604 VST_EFFECT_OPCODE_40 = 0x40,
-
2605
-
2612 VST_EFFECT_OPCODE_41 = 0x41,
-
2613
-
2620 VST_EFFECT_OPCODE_42 = 0x42,
-
2621
-
2628 VST_EFFECT_OPCODE_43 = 0x43,
- -
2631
-
2638 VST_EFFECT_OPCODE_44 = 0x44,
- -
2641
-
2642 //--------------------------------------------------------------------------------
-
2643 // VST 2.3
-
2644 //--------------------------------------------------------------------------------
-
2645
-
2653 VST_EFFECT_OPCODE_45 = 0x45,
- -
2656
-
2666 VST_EFFECT_OPCODE_46 = 0x46,
- -
2669
-
2675 VST_EFFECT_OPCODE_47 = 0x47,
- -
2678
-
2684 VST_EFFECT_OPCODE_48 = 0x48,
- -
2687
-
2694 VST_EFFECT_OPCODE_49 = 0x49,
-
2695
-
2704 VST_EFFECT_OPCODE_4A = 0x4A,
-
2705
-
2715 VST_EFFECT_OPCODE_4B = 0x4B,
- -
2718
-
2728 VST_EFFECT_OPCODE_4C = 0x4C,
- -
2731
-
2732 //--------------------------------------------------------------------------------
-
2733 // VST 2.4
-
2734 //--------------------------------------------------------------------------------
-
2735
-
2742 VST_EFFECT_OPCODE_4D = 0x4D,
-
2743
-
2750 VST_EFFECT_OPCODE_4E = 0x4E,
-
2751
-
2758 VST_EFFECT_OPCODE_4F = 0x4F,
-
2759
-
2761 VST_EFFECT_OPCODE_MAX,
-
2762
-
2764 _VST_EFFECT_OPCODE_PAD = (-1l)
-
2765};
-
@ VST_EFFECT_OPCODE_WINDOW_MOUSE
Definition vst.h:2099
-
@ VST_EFFECT_OPCODE_2A
Host wants to change the speaker arrangement.
Definition vst.h:2372
-
@ VST_EFFECT_OPCODE_GETVENDORVERSION
Definition vst.h:2448
-
@ VST_EFFECT_OPCODE_20
Input disconnected.
Definition vst.h:2273
-
@ VST_EFFECT_OPCODE_14
Window Focus Event?
Definition vst.h:2135
-
@ VST_EFFECT_OPCODE_PARAM_VALUE_TO_STRING
Definition vst.h:1977
-
@ VST_EFFECT_OPCODE_PARAM_GETLABEL
Definition vst.h:1957
-
@ VST_EFFECT_OPCODE_4E
Definition vst.h:2750
-
@ VST_EFFECT_OPCODE_43
Host is starting to set up a program.
Definition vst.h:2628
-
@ VST_EFFECT_OPCODE_3E
Midi related.
Definition vst.h:2588
-
@ VST_EFFECT_OPCODE_32
User-defined Op-Code for VST extensions.
Definition vst.h:2459
-
@ VST_EFFECT_OPCODE_03
Get currently selected program number.
Definition vst.h:1923
-
@ VST_EFFECT_OPCODE_SET_CHUNK_DATA
Definition vst.h:2183
-
@ VST_EFFECT_OPCODE_21
Retrieve properties for the given input index.
Definition vst.h:2282
-
@ VST_EFFECT_OPCODE_PRODUCT_NAME
Definition vst.h:2439
-
@ VST_EFFECT_OPCODE_4B
Host wants to know if we can load the provided bank data.
Definition vst.h:2715
-
@ VST_EFFECT_OPCODE_PARAM_NAME
Definition vst.h:1991
-
@ VST_EFFECT_OPCODE_1C
Definition vst.h:2241
-
@ VST_EFFECT_OPCODE_41
Midi related.
Definition vst.h:2612
-
@ VST_EFFECT_OPCODE_SET_SAMPLE_RATE
Definition vst.h:2008
-
@ VST_EFFECT_OPCODE_CREATE
Definition vst.h:1895
-
@ VST_EFFECT_OPCODE_EDITOR_GET_RECT
Definition vst.h:2048
-
@ VST_EFFECT_OPCODE_SET_SPEAKER_ARRANGEMENT
Definition vst.h:2374
-
@ VST_EFFECT_OPCODE_PARAM_GETVALUE
Definition vst.h:1971
-
@ VST_EFFECT_OPCODE_PROGRAM_SET_NAME
Definition vst.h:1937
-
@ VST_EFFECT_OPCODE_06
Get the value? label for the parameter.
Definition vst.h:1955
-
@ VST_EFFECT_OPCODE_0A
Set the new sample rate for the plugin to use.
Definition vst.h:2004
-
@ VST_EFFECT_OPCODE_10
Window Draw Event?
Definition vst.h:2081
-
@ VST_EFFECT_OPCODE_2F
Retrieve the vendor name into the ptr buffer.
Definition vst.h:2424
-
@ VST_EFFECT_OPCODE_PROGRAM_GET
Definition vst.h:1927
-
@ VST_EFFECT_OPCODE_28
Seen in plug-ins with VST_EFFECT_CATEGORY_OFFLINE.
Definition vst.h:2350
-
@ VST_EFFECT_OPCODE_4D
Definition vst.h:2742
-
@ VST_EFFECT_OPCODE_01
Destroy the effect (if there is any) and free its memory.
Definition vst.h:1905
-
@ VST_EFFECT_OPCODE_3C
Editor Virtual Key Up Event.
Definition vst.h:2570
-
@ VST_EFFECT_OPCODE_1B
Set Parameter value from string representation.
Definition vst.h:2229
-
@ VST_EFFECT_OPCODE_SET_BLOCK_SIZE
Definition vst.h:2018
-
@ VST_EFFECT_OPCODE_IDLE
Definition vst.h:2495
-
@ VST_EFFECT_OPCODE_33
Test for support of a specific named feature.
Definition vst.h:2470
-
@ VST_EFFECT_OPCODE_04
Set the name of the currently selected program.
Definition vst.h:1933
-
@ VST_EFFECT_OPCODE_09
Definition vst.h:1998
-
@ VST_EFFECT_OPCODE_PARAM_GET_NAME
Definition vst.h:1989
-
@ VST_EFFECT_OPCODE_OUTPUT_STREAM_GET_PROPERTIES
Definition vst.h:2299
-
@ VST_EFFECT_OPCODE_INPUT_STREAM_GET_PROPERTIES
Definition vst.h:2286
-
@ VST_EFFECT_OPCODE_BANK_LOAD
Definition vst.h:2717
-
@ VST_EFFECT_OPCODE_EDITOR_MOUSE
Definition vst.h:2101
-
@ VST_EFFECT_OPCODE_WINDOW_CREATE
Definition vst.h:2057
-
@ VST_EFFECT_OPCODE_0B
Sets the block size, which is the maximum number of samples passed into the effect via process calls.
Definition vst.h:2014
-
@ VST_EFFECT_OPCODE_PARAM_GET_VALUE
Definition vst.h:1973
-
@ VST_EFFECT_OPCODE_39
Definition vst.h:2534
-
@ VST_EFFECT_OPCODE_05
Get the name of the currently selected program.
Definition vst.h:1943
-
@ VST_EFFECT_OPCODE_1A
Can the parameter be automated?
Definition vst.h:2214
-
@ VST_EFFECT_OPCODE_19
Send events from host to plug-in.
Definition vst.h:2204
-
@ VST_EFFECT_OPCODE_PROGRAM_SET_END
Definition vst.h:2640
-
@ VST_EFFECT_OPCODE_GET_PROGRAM
Definition vst.h:1925
-
@ VST_EFFECT_OPCODE_12
Window Keyboard Event?
Definition vst.h:2113
-
@ VST_EFFECT_OPCODE_42
Midi related.
Definition vst.h:2620
-
@ VST_EFFECT_OPCODE_EFFECT_CATEGORY
Definition vst.h:2308
-
@ VST_EFFECT_OPCODE_PARAM_IS_AUTOMATABLE
Definition vst.h:2218
-
@ VST_EFFECT_OPCODE_WINDOW_DRAW
Definition vst.h:2083
-
@ VST_EFFECT_OPCODE_DESTROY
Definition vst.h:1907
-
@ VST_EFFECT_OPCODE_SETBLOCKSIZE
Definition vst.h:2016
-
@ VST_EFFECT_OPCODE_02
Set which program number is currently select.
Definition vst.h:1913
-
@ VST_EFFECT_OPCODE_48
End processing of audio.
Definition vst.h:2684
-
@ VST_EFFECT_OPCODE_GETNAME2
Definition vst.h:2437
-
@ VST_EFFECT_OPCODE_CUSTOM
Definition vst.h:2461
-
@ VST_EFFECT_OPCODE_2E
Translate an error code to a string.
Definition vst.h:2415
-
@ VST_EFFECT_OPCODE_3D
Definition vst.h:2580
-
@ VST_EFFECT_OPCODE_EDITOR_KEEP_ALIVE
Definition vst.h:2125
-
@ VST_EFFECT_OPCODE_PARAM_PROPERTIES
Definition vst.h:2526
-
@ VST_EFFECT_OPCODE_TAIL_SAMPLES
Definition vst.h:2484
-
@ VST_EFFECT_OPCODE_30
Retrieve the product name into the ptr buffer.
Definition vst.h:2435
-
@ VST_EFFECT_OPCODE_PARAM_VALUE
Definition vst.h:1975
-
@ VST_EFFECT_OPCODE_35
Notify effect that it is idle?
Definition vst.h:2493
-
@ VST_EFFECT_OPCODE_PROGRAM_GET_NAME
Definition vst.h:1947
-
@ VST_EFFECT_OPCODE_0D
Retrieve the client rect size of the plugins window.
Definition vst.h:2042
-
@ VST_EFFECT_OPCODE_1E
Definition vst.h:2257
-
@ VST_EFFECT_OPCODE_PROGRAM_LOAD
Definition vst.h:2730
-
@ VST_EFFECT_OPCODE_23
Retrieve category of this effect.
Definition vst.h:2306
-
@ VST_EFFECT_OPCODE_VST_VERSION
Definition vst.h:2544
-
@ VST_EFFECT_OPCODE_36
Definition vst.h:2504
-
@ VST_EFFECT_OPCODE_EDITOR_OPEN
Definition vst.h:2059
-
@ VST_EFFECT_OPCODE_EDITOR_VKEY_DOWN
Definition vst.h:2560
-
@ VST_EFFECT_OPCODE_00
Create/Initialize the effect (if it has not been created already).
Definition vst.h:1893
-
@ VST_EFFECT_OPCODE_2B
Definition vst.h:2379
-
@ VST_EFFECT_OPCODE_SUSPEND_RESUME
Definition vst.h:2032
-
@ VST_EFFECT_OPCODE_24
Definition vst.h:2318
-
@ VST_EFFECT_OPCODE_PARAM_LABEL
Definition vst.h:1961
-
@ VST_EFFECT_OPCODE_40
Midi related.
Definition vst.h:2604
-
@ VST_EFFECT_OPCODE_22
Retrieve properties for the given output index.
Definition vst.h:2295
-
@ VST_EFFECT_OPCODE_4F
Definition vst.h:2758
-
@ VST_EFFECT_OPCODE_47
Begin processing of audio.
Definition vst.h:2675
-
@ VST_EFFECT_OPCODE_38
Parameter Properties.
Definition vst.h:2522
-
@ VST_EFFECT_OPCODE_GET_SPEAKER_ARRANGEMENT
Definition vst.h:2655
-
@ VST_EFFECT_OPCODE_0E
Create the window for the plugin.
Definition vst.h:2055
-
@ VST_EFFECT_OPCODE_3B
Editor Virtual Key Down Input.
Definition vst.h:2558
-
@ VST_EFFECT_OPCODE_BYPASS
Definition vst.h:2390
-
@ VST_EFFECT_OPCODE_EDITOR_KEYBOARD
Definition vst.h:2117
-
@ VST_EFFECT_OPCODE_INPUT_GET_PROPERTIES
Definition vst.h:2284
-
@ VST_EFFECT_OPCODE_VENDOR_NAME
Definition vst.h:2428
-
@ VST_EFFECT_OPCODE_PARAM_ISAUTOMATABLE
Definition vst.h:2216
-
@ VST_EFFECT_OPCODE_WINDOW_KEYBOARD
Definition vst.h:2115
-
@ VST_EFFECT_OPCODE_GET_PROGRAM_NAME
Definition vst.h:1945
-
@ VST_EFFECT_OPCODE_17
Get Chunk Data.
Definition vst.h:2167
-
@ VST_EFFECT_OPCODE_31
Retrieve the vendor version in return value.
Definition vst.h:2446
-
@ VST_EFFECT_OPCODE_2D
Retrieve the effect name into the ptr buffer.
Definition vst.h:2399
-
@ VST_EFFECT_OPCODE_07
Get the string representing the value for the parameter.
Definition vst.h:1969
-
@ VST_EFFECT_OPCODE_EVENT
Definition vst.h:2206
-
@ VST_EFFECT_OPCODE_PROCESS_END
Definition vst.h:2686
-
@ VST_EFFECT_OPCODE_SET_PROGRAM
Definition vst.h:1915
-
@ VST_EFFECT_OPCODE_27
Seen in plug-ins with VST_EFFECT_CATEGORY_OFFLINE.
Definition vst.h:2342
-
@ VST_EFFECT_OPCODE_EDITOR_DRAW
Definition vst.h:2085
-
@ VST_EFFECT_OPCODE_15
Window Unfocus Event?
Definition vst.h:2145
-
@ VST_EFFECT_OPCODE_49
Definition vst.h:2694
-
@ VST_EFFECT_OPCODE_NAME
Definition vst.h:2405
-
@ VST_EFFECT_OPCODE_EDITOR_CLOSE
Definition vst.h:2069
-
@ VST_EFFECT_OPCODE_29
Seen in plug-ins with VST_EFFECT_CATEGORY_OFFLINE.
Definition vst.h:2358
-
@ VST_EFFECT_OPCODE_3A
Retrieve the VST Version supported.
Definition vst.h:2542
-
@ VST_EFFECT_OPCODE_11
Window Mouse Event?
Definition vst.h:2097
-
@ VST_EFFECT_OPCODE_PARAM_GET_LABEL
Definition vst.h:1959
-
@ VST_EFFECT_OPCODE_SETSAMPLERATE
Definition vst.h:2006
-
@ VST_EFFECT_OPCODE_0F
Destroy the plugins window.
Definition vst.h:2065
-
@ VST_EFFECT_OPCODE_GET_CHUNK_DATA
Definition vst.h:2169
-
@ VST_EFFECT_OPCODE_INITIALIZE
Definition vst.h:1897
-
@ VST_EFFECT_OPCODE_GETTAILSAMPLES
Definition vst.h:2482
-
@ VST_EFFECT_OPCODE_18
Set Chunk Data.
Definition vst.h:2181
-
@ VST_EFFECT_OPCODE_EFFECT_NAME
Definition vst.h:2403
-
@ VST_EFFECT_OPCODE_GET_PARAMETER_PROPERTIES
Definition vst.h:2524
-
@ VST_EFFECT_OPCODE_PARAM_AUTOMATABLE
Definition vst.h:2220
-
@ VST_EFFECT_OPCODE_PARAM_GETNAME
Definition vst.h:1987
-
@ VST_EFFECT_OPCODE_4A
Definition vst.h:2704
-
@ VST_EFFECT_OPCODE_08
Get the name for the parameter.
Definition vst.h:1985
-
@ VST_EFFECT_OPCODE_13
Window/Editor Idle/Keep-Alive Callback?
Definition vst.h:2123
-
@ VST_EFFECT_OPCODE_45
Host wants to know the current speaker arrangement.
Definition vst.h:2653
-
@ VST_EFFECT_OPCODE_WINDOW_GETRECT
Definition vst.h:2044
-
@ VST_EFFECT_OPCODE_OUTPUT_GET_PROPERTIES
Definition vst.h:2297
-
@ VST_EFFECT_OPCODE_PARAM_VALUE_FROM_STRING
Definition vst.h:2233
-
@ VST_EFFECT_OPCODE_GETVENDOR
Definition vst.h:2426
-
@ VST_EFFECT_OPCODE_PROCESS_BEGIN
Definition vst.h:2677
-
@ VST_EFFECT_OPCODE_1D
Definition vst.h:2249
-
@ VST_EFFECT_OPCODE_PAUSE_UNPAUSE
Definition vst.h:2030
-
@ VST_EFFECT_OPCODE_4C
Host wants to know if we can load the provided program data.
Definition vst.h:2728
-
@ VST_EFFECT_OPCODE_26
Seen in plug-ins with VST_EFFECT_CATEGORY_OFFLINE.
Definition vst.h:2334
-
@ VST_EFFECT_OPCODE_GETNAME
Definition vst.h:2401
-
@ VST_EFFECT_OPCODE_VENDOR_VERSION
Definition vst.h:2450
-
@ VST_EFFECT_OPCODE_46
Get the next effect contained in this effect.
Definition vst.h:2666
-
@ VST_EFFECT_OPCODE_SET_PROGRAM_NAME
Definition vst.h:1935
-
@ VST_EFFECT_OPCODE_FOURCC
Definition vst.h:2155
-
@ VST_EFFECT_OPCODE_37
Definition vst.h:2513
-
@ VST_EFFECT_OPCODE_44
Host is done setting up a program.
Definition vst.h:2638
-
@ VST_EFFECT_OPCODE_3F
Midi related.
Definition vst.h:2596
-
@ VST_EFFECT_OPCODE_WINDOW_DESTROY
Definition vst.h:2067
-
@ VST_EFFECT_OPCODE_EDITOR_VKEY_UP
Definition vst.h:2572
-
@ VST_EFFECT_OPCODE_1F
Input connected.
Definition vst.h:2265
-
@ VST_EFFECT_OPCODE_34
Number of samples that are at the tail at the end of playback.
Definition vst.h:2480
-
@ VST_EFFECT_OPCODE_2C
Enable/Disable bypassing the effect.
Definition vst.h:2388
-
@ VST_EFFECT_OPCODE_PROGRAM_SET
Definition vst.h:1917
-
@ VST_EFFECT_OPCODE_SUPPORTS
Definition vst.h:2472
-
@ VST_EFFECT_OPCODE_PROGRAM_SET_BEGIN
Definition vst.h:2630
-
@ VST_EFFECT_OPCODE_16
Definition vst.h:2153
-
@ VST_EFFECT_OPCODE_TRANSLATE_ERROR
Definition vst.h:2417
-
@ VST_EFFECT_OPCODE_EDITOR_RECT
Definition vst.h:2046
-
@ VST_EFFECT_OPCODE_25
Definition vst.h:2326
-
@ VST_EFFECT_OPCODE_PARAM_SET_VALUE
Definition vst.h:2231
-
@ VST_EFFECT_OPCODE_SUSPEND
Definition vst.h:2034
-
@ VST_EFFECT_OPCODE_0C
Effect processing should be suspended/paused or resumed/unpaused.
Definition vst.h:2028
+

Definition at line 1894 of file vst.h.

+
1894 {
+
1899 VST_EFFECT_OPCODE_00 = 0x00,
+ + +
1904
+
1911 VST_EFFECT_OPCODE_01 = 0x01,
+ +
1914
+
1919 VST_EFFECT_OPCODE_02 = 0x02,
+ + +
1924
+
1929 VST_EFFECT_OPCODE_03 = 0x03,
+ + +
1934
+
1939 VST_EFFECT_OPCODE_04 = 0x04,
+ + +
1944
+
1949 VST_EFFECT_OPCODE_05 = 0x05,
+ + +
1954
+
1961 VST_EFFECT_OPCODE_06 = 0x06,
+ + + +
1968
+
1975 VST_EFFECT_OPCODE_07 = 0x07,
+ + + + +
1984
+
1991 VST_EFFECT_OPCODE_08 = 0x08,
+ + + +
1998
+
2004 VST_EFFECT_OPCODE_09 = 0x09,
+
2005
+
2010 VST_EFFECT_OPCODE_0A = 0x0A,
+ + +
2015
+
2020 VST_EFFECT_OPCODE_0B = 0x0B,
+ + +
2025
+
2034 VST_EFFECT_OPCODE_0C = 0x0C,
+ + + +
2041
+
2048 VST_EFFECT_OPCODE_0D = 0x0D,
+ + + +
2055
+
2061 VST_EFFECT_OPCODE_0E = 0x0E,
+ + +
2066
+
2071 VST_EFFECT_OPCODE_0F = 0x0F,
+ + +
2076
+
2087 VST_EFFECT_OPCODE_10 = 0x10,
+ + +
2092
+
2103 VST_EFFECT_OPCODE_11 = 0x11,
+ + +
2108
+
2119 VST_EFFECT_OPCODE_12 = 0x12,
+ + +
2124
+
2129 VST_EFFECT_OPCODE_13 = 0x13,
+ +
2132
+
2141 VST_EFFECT_OPCODE_14 = 0x14,
+
2142
+
2151 VST_EFFECT_OPCODE_15 = 0x15,
+
2152
+
2159 VST_EFFECT_OPCODE_16 = 0x16,
+ +
2162
+
2173 VST_EFFECT_OPCODE_17 = 0x17,
+ +
2176
+
2187 VST_EFFECT_OPCODE_18 = 0x18,
+ +
2190
+
2191 //--------------------------------------------------------------------------------
+
2192 // VST 2.x starts here.
+
2193 //--------------------------------------------------------------------------------
+
2194
+
2210 VST_EFFECT_OPCODE_19 = 0x19,
+ +
2213
+
2220 VST_EFFECT_OPCODE_1A = 0x1A,
+ + + +
2227
+
2235 VST_EFFECT_OPCODE_1B = 0x1B,
+ + +
2240
+
2247 VST_EFFECT_OPCODE_1C = 0x1C,
+
2248
+
2255 VST_EFFECT_OPCODE_1D = 0x1D,
+
2256
+
2263 VST_EFFECT_OPCODE_1E = 0x1E,
+
2264
+
2271 VST_EFFECT_OPCODE_1F = 0x1F,
+
2272
+
2279 VST_EFFECT_OPCODE_20 = 0x20,
+
2280
+
2288 VST_EFFECT_OPCODE_21 = 0x21,
+ + +
2293
+
2301 VST_EFFECT_OPCODE_22 = 0x22,
+ + +
2306
+
2312 VST_EFFECT_OPCODE_23 = 0x23,
+ + +
2317
+
2324 VST_EFFECT_OPCODE_24 = 0x24,
+
2325
+
2332 VST_EFFECT_OPCODE_25 = 0x25,
+
2333
+
2340 VST_EFFECT_OPCODE_26 = 0x26,
+
2341
+
2348 VST_EFFECT_OPCODE_27 = 0x27,
+
2349
+
2356 VST_EFFECT_OPCODE_28 = 0x28,
+
2357
+
2364 VST_EFFECT_OPCODE_29 = 0x29,
+
2365
+
2378 VST_EFFECT_OPCODE_2A = 0x2A,
+ +
2381
+
2385 VST_EFFECT_OPCODE_2B = 0x2B,
+
2386
+
2394 VST_EFFECT_OPCODE_2C = 0x2C,
+ +
2397
+
2405 VST_EFFECT_OPCODE_2D = 0x2D,
+ + + +
2412
+
2421 VST_EFFECT_OPCODE_2E = 0x2E,
+ +
2424
+
2430 VST_EFFECT_OPCODE_2F = 0x2F,
+ + +
2435
+
2441 VST_EFFECT_OPCODE_30 = 0x30,
+ + +
2446
+
2452 VST_EFFECT_OPCODE_31 = 0x31,
+ + +
2457
+
2465 VST_EFFECT_OPCODE_32 = 0x32,
+ +
2468
+
2476 VST_EFFECT_OPCODE_33 = 0x33,
+ +
2479
+
2486 VST_EFFECT_OPCODE_34 = 0x34,
+ + +
2491
+
2499 VST_EFFECT_OPCODE_35 = 0x35,
+ +
2502
+
2510 VST_EFFECT_OPCODE_36 = 0x36,
+
2511
+
2519 VST_EFFECT_OPCODE_37 = 0x37,
+
2520
+
2528 VST_EFFECT_OPCODE_38 = 0x38,
+ + +
2533
+
2540 VST_EFFECT_OPCODE_39 = 0x39,
+
2541
+
2548 VST_EFFECT_OPCODE_3A = 0x3A,
+ +
2551
+
2552 //--------------------------------------------------------------------------------
+
2553 // VST 2.1
+
2554 //--------------------------------------------------------------------------------
+
2555
+
2564 VST_EFFECT_OPCODE_3B = 0x3B,
+ +
2567
+
2576 VST_EFFECT_OPCODE_3C = 0x3C,
+ +
2579
+
2586 VST_EFFECT_OPCODE_3D = 0x3D,
+
2587
+
2594 VST_EFFECT_OPCODE_3E = 0x3E,
+
2595
+
2602 VST_EFFECT_OPCODE_3F = 0x3F,
+
2603
+
2610 VST_EFFECT_OPCODE_40 = 0x40,
+
2611
+
2618 VST_EFFECT_OPCODE_41 = 0x41,
+
2619
+
2626 VST_EFFECT_OPCODE_42 = 0x42,
+
2627
+
2634 VST_EFFECT_OPCODE_43 = 0x43,
+ +
2637
+
2644 VST_EFFECT_OPCODE_44 = 0x44,
+ +
2647
+
2648 //--------------------------------------------------------------------------------
+
2649 // VST 2.3
+
2650 //--------------------------------------------------------------------------------
+
2651
+
2659 VST_EFFECT_OPCODE_45 = 0x45,
+ +
2662
+
2672 VST_EFFECT_OPCODE_46 = 0x46,
+ +
2675
+
2681 VST_EFFECT_OPCODE_47 = 0x47,
+ +
2684
+
2690 VST_EFFECT_OPCODE_48 = 0x48,
+ +
2693
+
2700 VST_EFFECT_OPCODE_49 = 0x49,
+
2701
+
2710 VST_EFFECT_OPCODE_4A = 0x4A,
+
2711
+
2721 VST_EFFECT_OPCODE_4B = 0x4B,
+ +
2724
+
2734 VST_EFFECT_OPCODE_4C = 0x4C,
+ +
2737
+
2738 //--------------------------------------------------------------------------------
+
2739 // VST 2.4
+
2740 //--------------------------------------------------------------------------------
+
2741
+
2748 VST_EFFECT_OPCODE_4D = 0x4D,
+
2749
+
2756 VST_EFFECT_OPCODE_4E = 0x4E,
+
2757
+
2764 VST_EFFECT_OPCODE_4F = 0x4F,
+
2765
+
2767 VST_EFFECT_OPCODE_MAX,
+
2768
+
2770 _VST_EFFECT_OPCODE_PAD = (-1l)
+
2771};
+
@ VST_EFFECT_OPCODE_WINDOW_MOUSE
Definition vst.h:2105
+
@ VST_EFFECT_OPCODE_2A
Host wants to change the speaker arrangement.
Definition vst.h:2378
+
@ VST_EFFECT_OPCODE_GETVENDORVERSION
Definition vst.h:2454
+
@ VST_EFFECT_OPCODE_20
Input disconnected.
Definition vst.h:2279
+
@ VST_EFFECT_OPCODE_14
Window Focus Event?
Definition vst.h:2141
+
@ VST_EFFECT_OPCODE_PARAM_VALUE_TO_STRING
Definition vst.h:1983
+
@ VST_EFFECT_OPCODE_PARAM_GETLABEL
Definition vst.h:1963
+
@ VST_EFFECT_OPCODE_4E
Definition vst.h:2756
+
@ VST_EFFECT_OPCODE_43
Host is starting to set up a program.
Definition vst.h:2634
+
@ VST_EFFECT_OPCODE_3E
Midi related.
Definition vst.h:2594
+
@ VST_EFFECT_OPCODE_32
User-defined Op-Code for VST extensions.
Definition vst.h:2465
+
@ VST_EFFECT_OPCODE_03
Get currently selected program number.
Definition vst.h:1929
+
@ VST_EFFECT_OPCODE_SET_CHUNK_DATA
Definition vst.h:2189
+
@ VST_EFFECT_OPCODE_21
Retrieve properties for the given input index.
Definition vst.h:2288
+
@ VST_EFFECT_OPCODE_PRODUCT_NAME
Definition vst.h:2445
+
@ VST_EFFECT_OPCODE_4B
Host wants to know if we can load the provided bank data.
Definition vst.h:2721
+
@ VST_EFFECT_OPCODE_PARAM_NAME
Definition vst.h:1997
+
@ VST_EFFECT_OPCODE_1C
Definition vst.h:2247
+
@ VST_EFFECT_OPCODE_41
Midi related.
Definition vst.h:2618
+
@ VST_EFFECT_OPCODE_SET_SAMPLE_RATE
Definition vst.h:2014
+
@ VST_EFFECT_OPCODE_CREATE
Definition vst.h:1901
+
@ VST_EFFECT_OPCODE_EDITOR_GET_RECT
Definition vst.h:2054
+
@ VST_EFFECT_OPCODE_SET_SPEAKER_ARRANGEMENT
Definition vst.h:2380
+
@ VST_EFFECT_OPCODE_PARAM_GETVALUE
Definition vst.h:1977
+
@ VST_EFFECT_OPCODE_PROGRAM_SET_NAME
Definition vst.h:1943
+
@ VST_EFFECT_OPCODE_06
Get the value? label for the parameter.
Definition vst.h:1961
+
@ VST_EFFECT_OPCODE_0A
Set the new sample rate for the plugin to use.
Definition vst.h:2010
+
@ VST_EFFECT_OPCODE_10
Window Draw Event?
Definition vst.h:2087
+
@ VST_EFFECT_OPCODE_2F
Retrieve the vendor name into the ptr buffer.
Definition vst.h:2430
+
@ VST_EFFECT_OPCODE_PROGRAM_GET
Definition vst.h:1933
+
@ VST_EFFECT_OPCODE_28
Seen in plug-ins with VST_EFFECT_CATEGORY_OFFLINE.
Definition vst.h:2356
+
@ VST_EFFECT_OPCODE_4D
Definition vst.h:2748
+
@ VST_EFFECT_OPCODE_01
Destroy the effect (if there is any) and free its memory.
Definition vst.h:1911
+
@ VST_EFFECT_OPCODE_3C
Editor Virtual Key Up Event.
Definition vst.h:2576
+
@ VST_EFFECT_OPCODE_1B
Set Parameter value from string representation.
Definition vst.h:2235
+
@ VST_EFFECT_OPCODE_SET_BLOCK_SIZE
Definition vst.h:2024
+
@ VST_EFFECT_OPCODE_IDLE
Definition vst.h:2501
+
@ VST_EFFECT_OPCODE_33
Test for support of a specific named feature.
Definition vst.h:2476
+
@ VST_EFFECT_OPCODE_04
Set the name of the currently selected program.
Definition vst.h:1939
+
@ VST_EFFECT_OPCODE_09
Definition vst.h:2004
+
@ VST_EFFECT_OPCODE_PARAM_GET_NAME
Definition vst.h:1995
+
@ VST_EFFECT_OPCODE_OUTPUT_STREAM_GET_PROPERTIES
Definition vst.h:2305
+
@ VST_EFFECT_OPCODE_INPUT_STREAM_GET_PROPERTIES
Definition vst.h:2292
+
@ VST_EFFECT_OPCODE_BANK_LOAD
Definition vst.h:2723
+
@ VST_EFFECT_OPCODE_EDITOR_MOUSE
Definition vst.h:2107
+
@ VST_EFFECT_OPCODE_WINDOW_CREATE
Definition vst.h:2063
+
@ VST_EFFECT_OPCODE_0B
Sets the block size, which is the maximum number of samples passed into the effect via process calls.
Definition vst.h:2020
+
@ VST_EFFECT_OPCODE_PARAM_GET_VALUE
Definition vst.h:1979
+
@ VST_EFFECT_OPCODE_39
Definition vst.h:2540
+
@ VST_EFFECT_OPCODE_05
Get the name of the currently selected program.
Definition vst.h:1949
+
@ VST_EFFECT_OPCODE_1A
Can the parameter be automated?
Definition vst.h:2220
+
@ VST_EFFECT_OPCODE_19
Send events from host to plug-in.
Definition vst.h:2210
+
@ VST_EFFECT_OPCODE_PROGRAM_SET_END
Definition vst.h:2646
+
@ VST_EFFECT_OPCODE_GET_PROGRAM
Definition vst.h:1931
+
@ VST_EFFECT_OPCODE_12
Window Keyboard Event?
Definition vst.h:2119
+
@ VST_EFFECT_OPCODE_42
Midi related.
Definition vst.h:2626
+
@ VST_EFFECT_OPCODE_EFFECT_CATEGORY
Definition vst.h:2314
+
@ VST_EFFECT_OPCODE_PARAM_IS_AUTOMATABLE
Definition vst.h:2224
+
@ VST_EFFECT_OPCODE_WINDOW_DRAW
Definition vst.h:2089
+
@ VST_EFFECT_OPCODE_DESTROY
Definition vst.h:1913
+
@ VST_EFFECT_OPCODE_SETBLOCKSIZE
Definition vst.h:2022
+
@ VST_EFFECT_OPCODE_02
Set which program number is currently select.
Definition vst.h:1919
+
@ VST_EFFECT_OPCODE_48
End processing of audio.
Definition vst.h:2690
+
@ VST_EFFECT_OPCODE_GETNAME2
Definition vst.h:2443
+
@ VST_EFFECT_OPCODE_CUSTOM
Definition vst.h:2467
+
@ VST_EFFECT_OPCODE_2E
Translate an error code to a string.
Definition vst.h:2421
+
@ VST_EFFECT_OPCODE_3D
Definition vst.h:2586
+
@ VST_EFFECT_OPCODE_EDITOR_KEEP_ALIVE
Definition vst.h:2131
+
@ VST_EFFECT_OPCODE_PARAM_PROPERTIES
Definition vst.h:2532
+
@ VST_EFFECT_OPCODE_TAIL_SAMPLES
Definition vst.h:2490
+
@ VST_EFFECT_OPCODE_30
Retrieve the product name into the ptr buffer.
Definition vst.h:2441
+
@ VST_EFFECT_OPCODE_PARAM_VALUE
Definition vst.h:1981
+
@ VST_EFFECT_OPCODE_35
Notify effect that it is idle?
Definition vst.h:2499
+
@ VST_EFFECT_OPCODE_PROGRAM_GET_NAME
Definition vst.h:1953
+
@ VST_EFFECT_OPCODE_0D
Retrieve the client rect size of the plugins window.
Definition vst.h:2048
+
@ VST_EFFECT_OPCODE_1E
Definition vst.h:2263
+
@ VST_EFFECT_OPCODE_PROGRAM_LOAD
Definition vst.h:2736
+
@ VST_EFFECT_OPCODE_23
Retrieve category of this effect.
Definition vst.h:2312
+
@ VST_EFFECT_OPCODE_VST_VERSION
Definition vst.h:2550
+
@ VST_EFFECT_OPCODE_36
Definition vst.h:2510
+
@ VST_EFFECT_OPCODE_EDITOR_OPEN
Definition vst.h:2065
+
@ VST_EFFECT_OPCODE_EDITOR_VKEY_DOWN
Definition vst.h:2566
+
@ VST_EFFECT_OPCODE_00
Create/Initialize the effect (if it has not been created already).
Definition vst.h:1899
+
@ VST_EFFECT_OPCODE_2B
Definition vst.h:2385
+
@ VST_EFFECT_OPCODE_SUSPEND_RESUME
Definition vst.h:2038
+
@ VST_EFFECT_OPCODE_24
Definition vst.h:2324
+
@ VST_EFFECT_OPCODE_PARAM_LABEL
Definition vst.h:1967
+
@ VST_EFFECT_OPCODE_40
Midi related.
Definition vst.h:2610
+
@ VST_EFFECT_OPCODE_22
Retrieve properties for the given output index.
Definition vst.h:2301
+
@ VST_EFFECT_OPCODE_4F
Definition vst.h:2764
+
@ VST_EFFECT_OPCODE_47
Begin processing of audio.
Definition vst.h:2681
+
@ VST_EFFECT_OPCODE_38
Parameter Properties.
Definition vst.h:2528
+
@ VST_EFFECT_OPCODE_GET_SPEAKER_ARRANGEMENT
Definition vst.h:2661
+
@ VST_EFFECT_OPCODE_0E
Create the window for the plugin.
Definition vst.h:2061
+
@ VST_EFFECT_OPCODE_3B
Editor Virtual Key Down Input.
Definition vst.h:2564
+
@ VST_EFFECT_OPCODE_BYPASS
Definition vst.h:2396
+
@ VST_EFFECT_OPCODE_EDITOR_KEYBOARD
Definition vst.h:2123
+
@ VST_EFFECT_OPCODE_INPUT_GET_PROPERTIES
Definition vst.h:2290
+
@ VST_EFFECT_OPCODE_VENDOR_NAME
Definition vst.h:2434
+
@ VST_EFFECT_OPCODE_PARAM_ISAUTOMATABLE
Definition vst.h:2222
+
@ VST_EFFECT_OPCODE_WINDOW_KEYBOARD
Definition vst.h:2121
+
@ VST_EFFECT_OPCODE_GET_PROGRAM_NAME
Definition vst.h:1951
+
@ VST_EFFECT_OPCODE_17
Get Chunk Data.
Definition vst.h:2173
+
@ VST_EFFECT_OPCODE_31
Retrieve the vendor version in return value.
Definition vst.h:2452
+
@ VST_EFFECT_OPCODE_2D
Retrieve the effect name into the ptr buffer.
Definition vst.h:2405
+
@ VST_EFFECT_OPCODE_07
Get the string representing the value for the parameter.
Definition vst.h:1975
+
@ VST_EFFECT_OPCODE_EVENT
Definition vst.h:2212
+
@ VST_EFFECT_OPCODE_PROCESS_END
Definition vst.h:2692
+
@ VST_EFFECT_OPCODE_SET_PROGRAM
Definition vst.h:1921
+
@ VST_EFFECT_OPCODE_27
Seen in plug-ins with VST_EFFECT_CATEGORY_OFFLINE.
Definition vst.h:2348
+
@ VST_EFFECT_OPCODE_EDITOR_DRAW
Definition vst.h:2091
+
@ VST_EFFECT_OPCODE_15
Window Unfocus Event?
Definition vst.h:2151
+
@ VST_EFFECT_OPCODE_49
Definition vst.h:2700
+
@ VST_EFFECT_OPCODE_NAME
Definition vst.h:2411
+
@ VST_EFFECT_OPCODE_EDITOR_CLOSE
Definition vst.h:2075
+
@ VST_EFFECT_OPCODE_29
Seen in plug-ins with VST_EFFECT_CATEGORY_OFFLINE.
Definition vst.h:2364
+
@ VST_EFFECT_OPCODE_3A
Retrieve the VST Version supported.
Definition vst.h:2548
+
@ VST_EFFECT_OPCODE_11
Window Mouse Event?
Definition vst.h:2103
+
@ VST_EFFECT_OPCODE_PARAM_GET_LABEL
Definition vst.h:1965
+
@ VST_EFFECT_OPCODE_SETSAMPLERATE
Definition vst.h:2012
+
@ VST_EFFECT_OPCODE_0F
Destroy the plugins window.
Definition vst.h:2071
+
@ VST_EFFECT_OPCODE_GET_CHUNK_DATA
Definition vst.h:2175
+
@ VST_EFFECT_OPCODE_INITIALIZE
Definition vst.h:1903
+
@ VST_EFFECT_OPCODE_GETTAILSAMPLES
Definition vst.h:2488
+
@ VST_EFFECT_OPCODE_18
Set Chunk Data.
Definition vst.h:2187
+
@ VST_EFFECT_OPCODE_EFFECT_NAME
Definition vst.h:2409
+
@ VST_EFFECT_OPCODE_GET_PARAMETER_PROPERTIES
Definition vst.h:2530
+
@ VST_EFFECT_OPCODE_PARAM_AUTOMATABLE
Definition vst.h:2226
+
@ VST_EFFECT_OPCODE_PARAM_GETNAME
Definition vst.h:1993
+
@ VST_EFFECT_OPCODE_4A
Definition vst.h:2710
+
@ VST_EFFECT_OPCODE_08
Get the name for the parameter.
Definition vst.h:1991
+
@ VST_EFFECT_OPCODE_13
Window/Editor Idle/Keep-Alive Callback?
Definition vst.h:2129
+
@ VST_EFFECT_OPCODE_45
Host wants to know the current speaker arrangement.
Definition vst.h:2659
+
@ VST_EFFECT_OPCODE_WINDOW_GETRECT
Definition vst.h:2050
+
@ VST_EFFECT_OPCODE_OUTPUT_GET_PROPERTIES
Definition vst.h:2303
+
@ VST_EFFECT_OPCODE_PARAM_VALUE_FROM_STRING
Definition vst.h:2239
+
@ VST_EFFECT_OPCODE_GETVENDOR
Definition vst.h:2432
+
@ VST_EFFECT_OPCODE_PROCESS_BEGIN
Definition vst.h:2683
+
@ VST_EFFECT_OPCODE_1D
Definition vst.h:2255
+
@ VST_EFFECT_OPCODE_PAUSE_UNPAUSE
Definition vst.h:2036
+
@ VST_EFFECT_OPCODE_4C
Host wants to know if we can load the provided program data.
Definition vst.h:2734
+
@ VST_EFFECT_OPCODE_26
Seen in plug-ins with VST_EFFECT_CATEGORY_OFFLINE.
Definition vst.h:2340
+
@ VST_EFFECT_OPCODE_GETNAME
Definition vst.h:2407
+
@ VST_EFFECT_OPCODE_VENDOR_VERSION
Definition vst.h:2456
+
@ VST_EFFECT_OPCODE_46
Get the next effect contained in this effect.
Definition vst.h:2672
+
@ VST_EFFECT_OPCODE_SET_PROGRAM_NAME
Definition vst.h:1941
+
@ VST_EFFECT_OPCODE_FOURCC
Definition vst.h:2161
+
@ VST_EFFECT_OPCODE_37
Definition vst.h:2519
+
@ VST_EFFECT_OPCODE_44
Host is done setting up a program.
Definition vst.h:2644
+
@ VST_EFFECT_OPCODE_3F
Midi related.
Definition vst.h:2602
+
@ VST_EFFECT_OPCODE_WINDOW_DESTROY
Definition vst.h:2073
+
@ VST_EFFECT_OPCODE_EDITOR_VKEY_UP
Definition vst.h:2578
+
@ VST_EFFECT_OPCODE_1F
Input connected.
Definition vst.h:2271
+
@ VST_EFFECT_OPCODE_34
Number of samples that are at the tail at the end of playback.
Definition vst.h:2486
+
@ VST_EFFECT_OPCODE_2C
Enable/Disable bypassing the effect.
Definition vst.h:2394
+
@ VST_EFFECT_OPCODE_PROGRAM_SET
Definition vst.h:1923
+
@ VST_EFFECT_OPCODE_SUPPORTS
Definition vst.h:2478
+
@ VST_EFFECT_OPCODE_PROGRAM_SET_BEGIN
Definition vst.h:2636
+
@ VST_EFFECT_OPCODE_16
Definition vst.h:2159
+
@ VST_EFFECT_OPCODE_TRANSLATE_ERROR
Definition vst.h:2423
+
@ VST_EFFECT_OPCODE_EDITOR_RECT
Definition vst.h:2052
+
@ VST_EFFECT_OPCODE_25
Definition vst.h:2332
+
@ VST_EFFECT_OPCODE_PARAM_SET_VALUE
Definition vst.h:2237
+
@ VST_EFFECT_OPCODE_SUSPEND
Definition vst.h:2040
+
@ VST_EFFECT_OPCODE_0C
Effect processing should be suspended/paused or resumed/unpaused.
Definition vst.h:2034
@@ -3382,9 +3382,9 @@ In VST 2.3 and later this may only be called while between VST_HOST_OPCODE_PARAM_LOCK 
See also
VST_HOST_OPCODE_2B
VST_HOST_OPCODE_2C 

Notify host that parameter is no longer being edited.

-

"Unlocks" the parameter for further editing in compatible hosts. Remember to call the VST_HOST_PARAM_UPDATE op-code afterwards so that the host knows it needs to update its automation data.

+

"Unlocks" the parameter for further editing in compatible hosts. Remember to call the VST_HOST_OPCODE_PARAM_UPDATE op-code afterwards so that the host knows it needs to update its automation data.

Note
(VST 2.1+) Available from VST 2.1 onwards.
-
See also
VST_HOST_PARAM_UPDATE
+
See also
VST_HOST_OPCODE_PARAM_UPDATE
Parameters
@@ -4703,7 +4703,7 @@ In VST 2.3 and later this may only be called while between
    - +
diff --git a/vst_8h_source.html b/vst_8h_source.html index 17e023b..2712eb8 100644 --- a/vst_8h_source.html +++ b/vst_8h_source.html @@ -1482,11 +1482,11 @@ $(document).ready(function(){initNavTree('vst_8h_source.html',''); initResizable
1383
1384 /** Notify host that parameter is no longer being edited.
-
1385 * "Unlocks" the parameter for further editing in compatible hosts. Remember to call the @ref VST_HOST_PARAM_UPDATE
+
1385 * "Unlocks" the parameter for further editing in compatible hosts. Remember to call the @ref VST_HOST_OPCODE_PARAM_UPDATE
1386 * op-code afterwards so that the host knows it needs to update its automation data.
1387 *
1388 * @note (VST 2.1+) Available from VST 2.1 onwards.
-
1389 * @sa VST_HOST_PARAM_UPDATE
+
1389 * @sa VST_HOST_OPCODE_PARAM_UPDATE
1390 * @param p_int1 Parameter index.
1391 */
@@ -1603,1680 +1603,1686 @@ $(document).ready(function(){initNavTree('vst_8h_source.html',''); initResizable
1503 */
1504 const char* sizeWindow;
1505
-
1506 const char* sendVstEvents;
-
1507
-
1508 /** Host can receive events from plug-in.
-
1509 *
-
1510 * @sa vst_effect_supports_t.sendVstEvents
-
1511 * @sa VST_HOST_OPCODE_EVENT
-
1512 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
1513 */
-
1514 const char* receiveVstEvents;
-
1515
-
1516 /** Host can send MIDI events to plug-in.
-
1517 *
-
1518 * @sa vst_effect_supports_t.receiveVstMidiEvents
-
1519 * @sa VST_EFFECT_OPCODE_EVENT
-
1520 * @sa vst_effect_midi_t
-
1521 * @sa vst_effect_midi_sysex_t
-
1522 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
1523 */
-
1524 const char* sendVstMidiEvent;
-
1525
-
1526 /** Host can receive MIDI events from plug-in.
-
1527 *
-
1528 * @sa vst_effect_supports_t.sendVstMidiEvents
-
1529 * @sa VST_HOST_OPCODE_EVENT
-
1530 * @sa vst_effect_midi_t
-
1531 * @sa vst_effect_midi_sysex_t
-
1532 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
1533 */
-
1534 const char* receiveVstMidiEvent;
-
1535
-
1536 /** Host can send real time (live) MIDI events to plug-in.
-
1537 *
-
1538 * @sa vst_host_supports_t.sendVstMidiEvent
-
1539 * @sa vst_effect_supports_t.receiveVstMidiEvents
-
1540 * @sa VST_EFFECT_OPCODE_EVENT
-
1541 * @sa vst_effect_midi_t
-
1542 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
1543 */
-
1544 const char* sendVstMidiEventFlagIsRealtime;
-
1545
-
1546 const char* sendVstTimeInfo;
-
1547 const char* reportConnectionChanges; // Seems related to speakers?
-
1548
-
1549 const char* offline;
-
1550
-
1551 const char* editFile;
-
1552 const char* openFileSelector;
-
1553 const char* closeFileSelector;
-
1554} /** @private */ vst_host_supports = {
-
1555 .acceptIOChanges = "acceptIOChanges",
-
1556 .startStopProcess = "startStopProcess",
-
1557 .shellCategory = "shellCategory",
-
1558 .sizeWindow = "sizeWindow",
-
1559 .sendVstEvents = "sendVstEvents",
-
1560 .receiveVstEvents = "receiveVstEvents",
-
1561 .sendVstMidiEvent = "sendVstMidiEvent",
-
1562 .receiveVstMidiEvent = "receiveVstMidiEvent",
-
1563 .sendVstMidiEventFlagIsRealtime = "sendVstMidiEventFlagIsRealtime",
-
1564 .sendVstTimeInfo = "sendVstTimeInfo",
-
1565 .reportConnectionChanges = "reportConnectionChanges",
-
1566 .offline = "offline",
-
1567 .editFile = "editFile",
-
1568 .openFileSelector = "openFileSelector",
-
1569 .closeFileSelector = "closeFileSelector",
-
1570};
-
1571#endif
-
1572
-
1573/** Plug-in to Host callback
-
1574 *
-
1575 * The plug-in may call this to attempt to change things on the host side. The host side is free to ignore all requests, annoyingly enough.
-
1576 *
-
1577 * @param opcode See VST_HOST_OPCODE
-
1578 * @param p_str Zero terminated string or null on call.
-
1579 * @return ?
-
1580 */
-
1581typedef intptr_t (VST_FUNCTION_INTERFACE *vst_host_callback_t)(struct vst_effect_t* plugin, int32_t opcode, int32_t p_int1, int64_t p_int2, const char* p_str, float p_float);
-
1582
-
1583//------------------------------------------------------------------------------------------------------------------------
-
1584// VST Plug-in/Effect related Things
-
1585//------------------------------------------------------------------------------------------------------------------------
-
1586
-
1587/** Magic Number identifying a VST 2.x plug-in structure
-
1588 *
-
1589 * @sa vst_effect_t.magic_numer
-
1590 */
-
1591#define VST_MAGICNUMBER VST_FOURCC('V', 's', 't', 'P')
+
1506 /** Host can send events to plug-in.
+
1507 *
+
1508 * @sa vst_effect_supports_t.receiveVstEvents
+
1509 * @sa VST_EFFECT_OPCODE_EVENT
+
1510 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
1511 */
+
1512 const char* sendVstEvents;
+
1513
+
1514 /** Host can receive events from plug-in.
+
1515 *
+
1516 * @sa vst_effect_supports_t.sendVstEvents
+
1517 * @sa VST_HOST_OPCODE_EVENT
+
1518 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
1519 */
+
1520 const char* receiveVstEvents;
+
1521
+
1522 /** Host can send MIDI events to plug-in.
+
1523 *
+
1524 * @sa vst_effect_supports_t.receiveVstMidiEvents
+
1525 * @sa VST_EFFECT_OPCODE_EVENT
+
1526 * @sa vst_effect_midi_t
+
1527 * @sa vst_effect_midi_sysex_t
+
1528 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
1529 */
+
1530 const char* sendVstMidiEvent;
+
1531
+
1532 /** Host can receive MIDI events from plug-in.
+
1533 *
+
1534 * @sa vst_effect_supports_t.sendVstMidiEvents
+
1535 * @sa VST_HOST_OPCODE_EVENT
+
1536 * @sa vst_effect_midi_t
+
1537 * @sa vst_effect_midi_sysex_t
+
1538 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
1539 */
+
1540 const char* receiveVstMidiEvent;
+
1541
+
1542 /** Host can send real time (live) MIDI events to plug-in.
+
1543 *
+
1544 * @sa vst_host_supports_t.sendVstMidiEvent
+
1545 * @sa vst_effect_supports_t.receiveVstMidiEvents
+
1546 * @sa VST_EFFECT_OPCODE_EVENT
+
1547 * @sa vst_effect_midi_t
+
1548 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
1549 */
+
1550 const char* sendVstMidiEventFlagIsRealtime;
+
1551
+
1552 const char* sendVstTimeInfo;
+
1553 const char* reportConnectionChanges; // Seems related to speakers?
+
1554
+
1555 const char* offline;
+
1556
+
1557 const char* editFile;
+
1558 const char* openFileSelector;
+
1559 const char* closeFileSelector;
+
1560} /** @private */ vst_host_supports = {
+
1561 .acceptIOChanges = "acceptIOChanges",
+
1562 .startStopProcess = "startStopProcess",
+
1563 .shellCategory = "shellCategory",
+
1564 .sizeWindow = "sizeWindow",
+
1565 .sendVstEvents = "sendVstEvents",
+
1566 .receiveVstEvents = "receiveVstEvents",
+
1567 .sendVstMidiEvent = "sendVstMidiEvent",
+
1568 .receiveVstMidiEvent = "receiveVstMidiEvent",
+
1569 .sendVstMidiEventFlagIsRealtime = "sendVstMidiEventFlagIsRealtime",
+
1570 .sendVstTimeInfo = "sendVstTimeInfo",
+
1571 .reportConnectionChanges = "reportConnectionChanges",
+
1572 .offline = "offline",
+
1573 .editFile = "editFile",
+
1574 .openFileSelector = "openFileSelector",
+
1575 .closeFileSelector = "closeFileSelector",
+
1576};
+
1577#endif
+
1578
+
1579/** Plug-in to Host callback
+
1580 *
+
1581 * The plug-in may call this to attempt to change things on the host side. The host side is free to ignore all requests, annoyingly enough.
+
1582 *
+
1583 * @param opcode See VST_HOST_OPCODE
+
1584 * @param p_str Zero terminated string or null on call.
+
1585 * @return ?
+
1586 */
+
1587typedef intptr_t (VST_FUNCTION_INTERFACE *vst_host_callback_t)(struct vst_effect_t* plugin, int32_t opcode, int32_t p_int1, int64_t p_int2, const char* p_str, float p_float);
+
1588
+
1589//------------------------------------------------------------------------------------------------------------------------
+
1590// VST Plug-in/Effect related Things
+
1591//------------------------------------------------------------------------------------------------------------------------
1592
-
1593/** Default VST 2.x Sample Rate
-
1594 * All VST 2.x hosts expect you to initialize your plug-in to these default values.
-
1595 *
-
1596 * @sa VST_EFFECT_OPCODE_SET_SAMPLE_RATE
-
1597 */
-
1598#define VST_DEFAULT_SAMPLE_RATE 44100.0f
-
1599
-
1600/** Default VST 2.x Block Size
-
1601 * All VST 2.x hosts expect you to initialize your plug-in to these default values.
-
1602 *
-
1603 * @sa VST_EFFECT_OPCODE_SET_BLOCK_SIZE
-
1604 */
-
1605#define VST_DEFAULT_BLOCK_SIZE 1024
-
1606
-
1607/** Plug-in Categories
-
1608 * Pre-defined category grouping that also affect host behavior when handling the plug-in. This is not just a UI/UX
-
1609 * thing, it actually affects what plug-ins can do, so place your plug-in into the correct category.
-
1610 *
-
1611 */
- - -
1614
-
1615 /** Generic Effects
-
1616 * Examples: Distortion, Pitch Shift, ...
-
1617 *
-
1618 * Supports: Delay (Optional), Tail Samples, MIDI
-
1619 */
- -
1621 /** @sa VST_EFFECT_CATEGORY_01 */
- -
1623
-
1624 /** Instruments
-
1625 * Examples: Instruments, Synths, Samplers, ...
-
1626 *
-
1627 * Supports: Delay (Optional), Tail Samples, MIDI
-
1628 */
- -
1630 /** @sa VST_EFFECT_CATEGORY_02 */
- -
1632
-
1633 /** Metering
-
1634 * Examples: Loudness Meters, Volume Analysis, ...
-
1635 *
-
1636 * Supports: Tail Samples, MIDI
-
1637 * @note Delay causes crashes in some hosts. Fun.
-
1638 */
- -
1640 /** @sa VST_EFFECT_CATEGORY_03 */
- -
1642
-
1643 /** Mastering
-
1644 * Examples: Compressors, Limiters, ...
-
1645 *
-
1646 * Supports: Delay, Tail Samples (optional), MIDI
-
1647 */
- -
1649 /** @sa VST_EFFECT_CATEGORY_04 */
- -
1651
-
1652 /** Spatializers
-
1653 * Examples: Channel Panning, Expanders, ...
-
1654 *
-
1655 * Supports: Tail Samples (optional), MIDI
-
1656 */
- -
1658 /** @sa VST_EFFECT_CATEGORY_05 */
- -
1660
-
1661 /** Delay/Echo
-
1662 * Examples: Echo, Reverb, Room Simulation, Delay, ...
-
1663 *
-
1664 * Supports: Delay, Tail Samples, MIDI
-
1665 */
- -
1667 /** @sa VST_EFFECT_CATEGORY_06 */
- -
1669
-
1670 /** External Processing.
-
1671 * This VST effect is an interface to an external device and requires special handling.
-
1672 *
-
1673 * @todo What does this actually support? Is it even still supported?
-
1674 */
- -
1676 /** @sa VST_EFFECT_CATEGORY_07 */
- -
1678
-
1679 /** Restoration
-
1680 * Examples: Noise Filtering, Upsamplers, ...
-
1681 *
-
1682 * Supports: Delay, Tail Samples, MIDI
-
1683 * @note Some DAWs allocate additional processing time to these.
-
1684 */
- -
1686 /** @sa VST_EFFECT_CATEGORY_08 */
- -
1688
-
1689 /** Offline Processing
-
1690 * Examples: Nothing
-
1691 * Supports: Nothing
-
1692 */
- -
1694 /** @sa VST_EFFECT_CATEGORY_09 */
-
1695 VST_EFFECT_CATEGORY_OFFLINE = 0x09, // Offline Processing VST? Seems to receive all audio data prior to playback.
-
1696
-
1697 /** Container Plug-in
-
1698 * This plug-in contains multiple effects in one and requires special handling on both sides.
-
1699 *
-
1700 * Host handling:
-
1701 * @code{.c}
-
1702 * uint32_t current_select_id;
-
1703 *
-
1704 * // ... in intptr_t vst_host_callback(vst_effect_t* plugin, VST_HOST_OPCODE opcode, ...)
-
1705 * case VST_HOST_OPCODE_SUPPORTS: {
-
1706 * char* text = (char*)p_ptr;
-
1707 * // The plug-in may ask the host if it even supports containers at all and changes behavior if we don't.
-
1708 * if (text && strcmp(text, vst_host_supports.shellCategory) == 0) {
-
1709 * return VST_STATUS_TRUE;
-
1710 * }
-
1711 * }
-
1712 * case VST_HOST_OPCODE_CURRENT_EFFECT_ID:
-
1713 * return current_selected_id;
-
1714 * // ...
-
1715 *
-
1716 * // ... in whatever you use to load plug-ins ...
-
1717 * current_select_id;
-
1718 * vst_effect_t* plugin = plugin_main(&vst_host_callback);
-
1719 * int32_t plugin_category = plugin->control(plugin, VST_EFFECT_OPCODE_CATEGORY, 0, 0, 0, 0)
-
1720 * if (plugin_category == VST_EFFECT_CATEGORY_CONTAINER) {
-
1721 * char effect_name[VST_BUFFER_SIZE_EFFECT_NAME] effect_name;
-
1722 * int32_t effect_id;
-
1723 * // Iterate over all contained effects.
-
1724 * while ((effect_id = plugin->control(plugin, VST_EFFECT_OPCODE_CONTAINER_NEXT_EFFECT_ID, 0, 0, effect_name, 0)) != 0) {
-
1725 * // Contained effects must be named as far as I can tell.
-
1726 * if (effect_name[0] != 0) {
-
1727 * // Do some logic that does the necessary things to list these in the host.
-
1728 * }
-
1729 * }
-
1730 * } else {
-
1731 * // Do things to list only this plugin in the host.
-
1732 * }
-
1733 * // ...
-
1734 * @endcode
-
1735 *
-
1736 * Plug-in handling:
-
1737 * @code{.c}
-
1738 * // ... in vst_effect for the container
-
1739 * size_t current_effect_idx;
-
1740 * int32_t effect_list[] = {
-
1741 * // ... list of effect ids.
-
1742 * }
-
1743 * // ... in control(...)
-
1744 * case VST_EFFECT_OPCODE_CONTAINER_NEXT_EFFECT_ID:
-
1745 * // Make sure current_effect_idx doesn't exceed the maximum.
-
1746 * if (current_effect_idx > ARRAYSIZEOF(effect_list)) {
-
1747 * current_effect_idx;
-
1748 * return 0;
-
1749 * }
-
1750 * // Some code that turns effect indices into names to store into p_ptr.
-
1751 * return effect_list[current_effect_idx++]; // Return the effect id.
-
1752 * // ...
-
1753 *
-
1754 * VST_ENTRYPOINT {
-
1755 * // Ensure the host VST 2.x compatible.
-
1756 * int32_t vst_version = callback(nullptr, VST_HOST_OPCODE_VST_VERSION, 0, 0, 0, 0);
-
1757 * if (vst_version == 0) {
-
1758 * return 0; // It's not so we exit early.
-
1759 * }
-
1760 *
-
1761 * // Check if the host wants
-
1762 * int32_t effect_id = callback(nullptr, VST_HOST_OPCODE_CURRENT_EFFECT_ID, 0, 0, 0);
-
1763 * if (effect_id == 0) {
-
1764 * // ... logic specific to making the container.
-
1765 * return new vst_container_effect();
-
1766 * } else {
-
1767 * // ... logic specific to make sub effects
-
1768 * return new vst_sub_effect();
-
1769 * }
-
1770 * }
-
1771 *
-
1772 * // ...
-
1773 * @endcode
-
1774 */
- -
1776 /** @sa VST_EFFECT_CATEGORY_0A */
- -
1778
-
1779 /** Waveform Generators
-
1780 * Examples: Sine Wave Generator, ...
-
1781 * Supports: Delay, Tail Samples
-
1782 *
-
1783 * I don't know why this exists, there's only one plug-in that has it and all it does is generate a 400hz sine wave.
-
1784 *
-
1785 * @sa VST_EFFECT_CATEGORY_INSTRUMENT
-
1786 */
- -
1788 /** @sa VST_EFFECT_CATEGORY_0B */
- -
1790
-
1791 /** @private */
-
1792 VST_EFFECT_CATEGORY_MAX, // Not part of specification, marks maximum category.
-
1793
-
1794 /** @private */
-
1795 _VST_EFFECT_CATEGORY_PAD = (-1l)
-
1796};
-
1797
-
1798/** Effect Flags
-
1799 */
- -
1801 /** Effect provides a custom editor.
-
1802 * The host will not provide a generic editor interface and expects @ref VST_EFFECT_OPCODE_EDITOR_OPEN and
-
1803 * @ref VST_EFFECT_OPCODE_EDITOR_CLOSE to work as expected. We are in charge of notifying the host about various
-
1804 * things like which parameter is in focus and stuff.
-
1805 *
-
1806 * @sa VST_EFFECT_OPCODE_EDITOR_GET_RECT
-
1807 * @sa VST_EFFECT_OPCODE_EDITOR_OPEN
-
1808 * @sa VST_EFFECT_OPCODE_EDITOR_CLOSE
-
1809 * @sa VST_EFFECT_OPCODE_EDITOR_DRAW
-
1810 * @sa VST_EFFECT_OPCODE_EDITOR_MOUSE
-
1811 * @sa VST_EFFECT_OPCODE_EDITOR_KEYBOARD
-
1812 * @sa VST_EFFECT_OPCODE_EDITOR_KEEP_ALIVE
-
1813 * @sa VST_EFFECT_OPCODE_EDITOR_VKEY_DOWN
-
1814 * @sa VST_EFFECT_OPCODE_EDITOR_VKEY_UP
-
1815 * @sa VST_HOST_OPCODE_EDITOR_UPDATE
-
1816 * @sa VST_HOST_OPCODE_PARAM_START_EDIT
-
1817 * @sa VST_HOST_OPCODE_PARAM_STOP_EDIT
-
1818 * @sa VST_HOST_OPCODE_PARAM_UPDATE
-
1819 */
- -
1821 /** @sa VST_EFFECT_FLAG_1ls0 */
- -
1823
-
1824 //1 << 1,
-
1825 //1 << 2, // Only seen when the plug-in responds to VST_EFFECT_OPCODE_09. Seems to be ignored by hosts entirely.
-
1826 //1 << 3, // Only seen when the plug-in behaves differently in mono mode. Seems to be ignored by hosts entirely.
-
1827
-
1828 /** Effect uses process_float.
-
1829 *
-
1830 * @sa vst_effect_t.process_float
-
1831 * @sa vst_effect_process_float_t
-
1832 * @deprecated (VST 2.4) Must be set in VST 2.4 and later or the host should fail to load the plug-in.
-
1833 */
- -
1835 /** @sa VST_EFFECT_FLAG_1ls4 */
- -
1837
-
1838 /** Effect supports saving/loading programs/banks from unformatted chunk data.
-
1839 * When not set some sort of format is expected that I've yet to decipher.
-
1840 *
-
1841 * @sa VST_EFFECT_OPCODE_GET_CHUNK_DATA
-
1842 * @sa VST_EFFECT_OPCODE_SET_CHUNK_DATA
-
1843 */
- -
1845 /** @sa VST_EFFECT_FLAG_1ls5 */
- -
1847
-
1848 //1 << 6,
-
1849 //1 << 7,
-
1850
-
1851 /** Effect is an Instrument/Generator
-
1852 *
-
1853 * This must be set in addition to @ref VST_EFFECT_CATEGORY_INSTRUMENT otherwise instruments don't work right.
-
1854 * @note (VST 2.x) Flag is new to VST 2.x and later.
-
1855 */
- -
1857 /** @sa VST_EFFECT_FLAG_1ls8 */
- -
1859
-
1860 /** Effect does not produce tail samples when the input is silent.
-
1861 *
-
1862 * Not to be confused with choosing to tell the host there is no tail.
-
1863 * @sa VST_EFFECT_OPCODE_GET_TAIL_SAMPLES
-
1864 * @note (VST 2.x) Flag is new to VST 2.x and later.
-
1865 */
- -
1867 /** @sa VST_EFFECT_FLAG_1ls9 */
- -
1869
-
1870 //1 << 10,
-
1871 //1 << 11,
-
1872
-
1873 /** Effect supports process_double.
-
1874 * The host can freely choose between process_float and process_double as required.
-
1875 *
-
1876 * @note (VST 2.4) Available in VST 2.4 and later only.
-
1877 * @sa vst_effect_t.process_double
-
1878 * @sa vst_effect_process_double_t
-
1879 */
- -
1881 /** @sa VST_EFFECT_FLAG_1ls12 */
- - -
1884
-
1885/** Host to Plug-in Op-Codes
-
1886 * These Op-Codes are emitted by the host and we must either handle them or return 0 (false).
-
1887 */
- -
1889 /** Create/Initialize the effect (if it has not been created already).
-
1890 *
-
1891 * @return Always 0.
-
1892 */
- -
1894 /** @sa VST_EFFECT_OPCODE_00 */
- -
1896 /** @sa VST_EFFECT_OPCODE_00 */
- -
1898
-
1899 /** Destroy the effect (if there is any) and free its memory.
-
1900 *
-
1901 * This should destroy the actual object created by VST_ENTRYPOINT.
-
1902 *
-
1903 * @return Always 0.
-
1904 */
- -
1906 /** @sa VST_EFFECT_OPCODE_01 */
- -
1908
-
1909 /** Set which program number is currently select.
-
1910 *
-
1911 * @param p_int2 The program number to set. Can be negative for some reason.
-
1912 */
- -
1914 /** @sa VST_EFFECT_OPCODE_02 */
- -
1916 /** @sa VST_EFFECT_OPCODE_02 */
- -
1918
-
1919 /** Get currently selected program number.
-
1920 *
-
1921 * @return The currently set program number. Can be negative for some reason.
-
1922 */
- -
1924 /** @sa VST_EFFECT_OPCODE_03 */
- -
1926 /** @sa VST_EFFECT_OPCODE_03 */
- -
1928
-
1929 /** Set the name of the currently selected program.
-
1930 *
-
1931 * @param p_ptr `const char[VST_BUFFER_SIZE_PROGRAM_NAME]` Zero terminated string.
-
1932 */
- -
1934 /** @sa VST_EFFECT_OPCODE_04 */
- -
1936 /** @sa VST_EFFECT_OPCODE_04 */
- -
1938
-
1939 /** Get the name of the currently selected program.
-
1940 *
-
1941 * @param p_ptr `char[VST_BUFFER_SIZE_PROGRAM_NAME]` Zero terminated string.
-
1942 */
- -
1944 /** @sa VST_EFFECT_OPCODE_05 */
- -
1946 /** @sa VST_EFFECT_OPCODE_05 */
- -
1948
-
1949 /** Get the value? label for the parameter.
-
1950 *
-
1951 * @param p_int1 Parameter index.
-
1952 * @param p_ptr 'char[VST_BUFFER_SIZE_PARAM_LABEL]' Zero terminated string.
-
1953 * @return 0 on success, 1 on failure.
-
1954 */
- -
1956 /** @sa VST_EFFECT_OPCODE_06 */
- -
1958 /** @sa VST_EFFECT_OPCODE_06 */
- -
1960 /** @sa VST_EFFECT_OPCODE_06 */
- -
1962
-
1963 /** Get the string representing the value for the parameter.
-
1964 *
-
1965 * @param p_int1 Parameter index.
-
1966 * @param p_ptr 'char[VST_BUFFER_SIZE_PARAM_VALUE]' Zero terminated string.
-
1967 * @return 0 on success, 1 on failure.
-
1968 */
- -
1970 /** @sa VST_EFFECT_OPCODE_07 */
- -
1972 /** @sa VST_EFFECT_OPCODE_07 */
- -
1974 /** @sa VST_EFFECT_OPCODE_07 */
- +
1593/** Magic Number identifying a VST 2.x plug-in structure
+
1594 *
+
1595 * @sa vst_effect_t.magic_numer
+
1596 */
+
1597#define VST_MAGICNUMBER VST_FOURCC('V', 's', 't', 'P')
+
1598
+
1599/** Default VST 2.x Sample Rate
+
1600 * All VST 2.x hosts expect you to initialize your plug-in to these default values.
+
1601 *
+
1602 * @sa VST_EFFECT_OPCODE_SET_SAMPLE_RATE
+
1603 */
+
1604#define VST_DEFAULT_SAMPLE_RATE 44100.0f
+
1605
+
1606/** Default VST 2.x Block Size
+
1607 * All VST 2.x hosts expect you to initialize your plug-in to these default values.
+
1608 *
+
1609 * @sa VST_EFFECT_OPCODE_SET_BLOCK_SIZE
+
1610 */
+
1611#define VST_DEFAULT_BLOCK_SIZE 1024
+
1612
+
1613/** Plug-in Categories
+
1614 * Pre-defined category grouping that also affect host behavior when handling the plug-in. This is not just a UI/UX
+
1615 * thing, it actually affects what plug-ins can do, so place your plug-in into the correct category.
+
1616 *
+
1617 */
+ + +
1620
+
1621 /** Generic Effects
+
1622 * Examples: Distortion, Pitch Shift, ...
+
1623 *
+
1624 * Supports: Delay (Optional), Tail Samples, MIDI
+
1625 */
+ +
1627 /** @sa VST_EFFECT_CATEGORY_01 */
+ +
1629
+
1630 /** Instruments
+
1631 * Examples: Instruments, Synths, Samplers, ...
+
1632 *
+
1633 * Supports: Delay (Optional), Tail Samples, MIDI
+
1634 */
+ +
1636 /** @sa VST_EFFECT_CATEGORY_02 */
+ +
1638
+
1639 /** Metering
+
1640 * Examples: Loudness Meters, Volume Analysis, ...
+
1641 *
+
1642 * Supports: Tail Samples, MIDI
+
1643 * @note Delay causes crashes in some hosts. Fun.
+
1644 */
+ +
1646 /** @sa VST_EFFECT_CATEGORY_03 */
+ +
1648
+
1649 /** Mastering
+
1650 * Examples: Compressors, Limiters, ...
+
1651 *
+
1652 * Supports: Delay, Tail Samples (optional), MIDI
+
1653 */
+ +
1655 /** @sa VST_EFFECT_CATEGORY_04 */
+ +
1657
+
1658 /** Spatializers
+
1659 * Examples: Channel Panning, Expanders, ...
+
1660 *
+
1661 * Supports: Tail Samples (optional), MIDI
+
1662 */
+ +
1664 /** @sa VST_EFFECT_CATEGORY_05 */
+ +
1666
+
1667 /** Delay/Echo
+
1668 * Examples: Echo, Reverb, Room Simulation, Delay, ...
+
1669 *
+
1670 * Supports: Delay, Tail Samples, MIDI
+
1671 */
+ +
1673 /** @sa VST_EFFECT_CATEGORY_06 */
+ +
1675
+
1676 /** External Processing.
+
1677 * This VST effect is an interface to an external device and requires special handling.
+
1678 *
+
1679 * @todo What does this actually support? Is it even still supported?
+
1680 */
+ +
1682 /** @sa VST_EFFECT_CATEGORY_07 */
+ +
1684
+
1685 /** Restoration
+
1686 * Examples: Noise Filtering, Upsamplers, ...
+
1687 *
+
1688 * Supports: Delay, Tail Samples, MIDI
+
1689 * @note Some DAWs allocate additional processing time to these.
+
1690 */
+ +
1692 /** @sa VST_EFFECT_CATEGORY_08 */
+ +
1694
+
1695 /** Offline Processing
+
1696 * Examples: Nothing
+
1697 * Supports: Nothing
+
1698 */
+ +
1700 /** @sa VST_EFFECT_CATEGORY_09 */
+
1701 VST_EFFECT_CATEGORY_OFFLINE = 0x09, // Offline Processing VST? Seems to receive all audio data prior to playback.
+
1702
+
1703 /** Container Plug-in
+
1704 * This plug-in contains multiple effects in one and requires special handling on both sides.
+
1705 *
+
1706 * Host handling:
+
1707 * @code{.c}
+
1708 * uint32_t current_select_id;
+
1709 *
+
1710 * // ... in intptr_t vst_host_callback(vst_effect_t* plugin, VST_HOST_OPCODE opcode, ...)
+
1711 * case VST_HOST_OPCODE_SUPPORTS: {
+
1712 * char* text = (char*)p_ptr;
+
1713 * // The plug-in may ask the host if it even supports containers at all and changes behavior if we don't.
+
1714 * if (text && strcmp(text, vst_host_supports.shellCategory) == 0) {
+
1715 * return VST_STATUS_TRUE;
+
1716 * }
+
1717 * }
+
1718 * case VST_HOST_OPCODE_CURRENT_EFFECT_ID:
+
1719 * return current_selected_id;
+
1720 * // ...
+
1721 *
+
1722 * // ... in whatever you use to load plug-ins ...
+
1723 * current_select_id;
+
1724 * vst_effect_t* plugin = plugin_main(&vst_host_callback);
+
1725 * int32_t plugin_category = plugin->control(plugin, VST_EFFECT_OPCODE_CATEGORY, 0, 0, 0, 0)
+
1726 * if (plugin_category == VST_EFFECT_CATEGORY_CONTAINER) {
+
1727 * char effect_name[VST_BUFFER_SIZE_EFFECT_NAME] effect_name;
+
1728 * int32_t effect_id;
+
1729 * // Iterate over all contained effects.
+
1730 * while ((effect_id = plugin->control(plugin, VST_EFFECT_OPCODE_CONTAINER_NEXT_EFFECT_ID, 0, 0, effect_name, 0)) != 0) {
+
1731 * // Contained effects must be named as far as I can tell.
+
1732 * if (effect_name[0] != 0) {
+
1733 * // Do some logic that does the necessary things to list these in the host.
+
1734 * }
+
1735 * }
+
1736 * } else {
+
1737 * // Do things to list only this plugin in the host.
+
1738 * }
+
1739 * // ...
+
1740 * @endcode
+
1741 *
+
1742 * Plug-in handling:
+
1743 * @code{.c}
+
1744 * // ... in vst_effect for the container
+
1745 * size_t current_effect_idx;
+
1746 * int32_t effect_list[] = {
+
1747 * // ... list of effect ids.
+
1748 * }
+
1749 * // ... in control(...)
+
1750 * case VST_EFFECT_OPCODE_CONTAINER_NEXT_EFFECT_ID:
+
1751 * // Make sure current_effect_idx doesn't exceed the maximum.
+
1752 * if (current_effect_idx > ARRAYSIZEOF(effect_list)) {
+
1753 * current_effect_idx;
+
1754 * return 0;
+
1755 * }
+
1756 * // Some code that turns effect indices into names to store into p_ptr.
+
1757 * return effect_list[current_effect_idx++]; // Return the effect id.
+
1758 * // ...
+
1759 *
+
1760 * VST_ENTRYPOINT {
+
1761 * // Ensure the host VST 2.x compatible.
+
1762 * int32_t vst_version = callback(nullptr, VST_HOST_OPCODE_VST_VERSION, 0, 0, 0, 0);
+
1763 * if (vst_version == 0) {
+
1764 * return 0; // It's not so we exit early.
+
1765 * }
+
1766 *
+
1767 * // Check if the host wants
+
1768 * int32_t effect_id = callback(nullptr, VST_HOST_OPCODE_CURRENT_EFFECT_ID, 0, 0, 0);
+
1769 * if (effect_id == 0) {
+
1770 * // ... logic specific to making the container.
+
1771 * return new vst_container_effect();
+
1772 * } else {
+
1773 * // ... logic specific to make sub effects
+
1774 * return new vst_sub_effect();
+
1775 * }
+
1776 * }
+
1777 *
+
1778 * // ...
+
1779 * @endcode
+
1780 */
+ +
1782 /** @sa VST_EFFECT_CATEGORY_0A */
+ +
1784
+
1785 /** Waveform Generators
+
1786 * Examples: Sine Wave Generator, ...
+
1787 * Supports: Delay, Tail Samples
+
1788 *
+
1789 * I don't know why this exists, there's only one plug-in that has it and all it does is generate a 400hz sine wave.
+
1790 *
+
1791 * @sa VST_EFFECT_CATEGORY_INSTRUMENT
+
1792 */
+ +
1794 /** @sa VST_EFFECT_CATEGORY_0B */
+ +
1796
+
1797 /** @private */
+
1798 VST_EFFECT_CATEGORY_MAX, // Not part of specification, marks maximum category.
+
1799
+
1800 /** @private */
+
1801 _VST_EFFECT_CATEGORY_PAD = (-1l)
+
1802};
+
1803
+
1804/** Effect Flags
+
1805 */
+ +
1807 /** Effect provides a custom editor.
+
1808 * The host will not provide a generic editor interface and expects @ref VST_EFFECT_OPCODE_EDITOR_OPEN and
+
1809 * @ref VST_EFFECT_OPCODE_EDITOR_CLOSE to work as expected. We are in charge of notifying the host about various
+
1810 * things like which parameter is in focus and stuff.
+
1811 *
+
1812 * @sa VST_EFFECT_OPCODE_EDITOR_GET_RECT
+
1813 * @sa VST_EFFECT_OPCODE_EDITOR_OPEN
+
1814 * @sa VST_EFFECT_OPCODE_EDITOR_CLOSE
+
1815 * @sa VST_EFFECT_OPCODE_EDITOR_DRAW
+
1816 * @sa VST_EFFECT_OPCODE_EDITOR_MOUSE
+
1817 * @sa VST_EFFECT_OPCODE_EDITOR_KEYBOARD
+
1818 * @sa VST_EFFECT_OPCODE_EDITOR_KEEP_ALIVE
+
1819 * @sa VST_EFFECT_OPCODE_EDITOR_VKEY_DOWN
+
1820 * @sa VST_EFFECT_OPCODE_EDITOR_VKEY_UP
+
1821 * @sa VST_HOST_OPCODE_EDITOR_UPDATE
+
1822 * @sa VST_HOST_OPCODE_PARAM_START_EDIT
+
1823 * @sa VST_HOST_OPCODE_PARAM_STOP_EDIT
+
1824 * @sa VST_HOST_OPCODE_PARAM_UPDATE
+
1825 */
+ +
1827 /** @sa VST_EFFECT_FLAG_1ls0 */
+ +
1829
+
1830 //1 << 1,
+
1831 //1 << 2, // Only seen when the plug-in responds to VST_EFFECT_OPCODE_09. Seems to be ignored by hosts entirely.
+
1832 //1 << 3, // Only seen when the plug-in behaves differently in mono mode. Seems to be ignored by hosts entirely.
+
1833
+
1834 /** Effect uses process_float.
+
1835 *
+
1836 * @sa vst_effect_t.process_float
+
1837 * @sa vst_effect_process_float_t
+
1838 * @deprecated (VST 2.4) Must be set in VST 2.4 and later or the host should fail to load the plug-in.
+
1839 */
+ +
1841 /** @sa VST_EFFECT_FLAG_1ls4 */
+ +
1843
+
1844 /** Effect supports saving/loading programs/banks from unformatted chunk data.
+
1845 * When not set some sort of format is expected that I've yet to decipher.
+
1846 *
+
1847 * @sa VST_EFFECT_OPCODE_GET_CHUNK_DATA
+
1848 * @sa VST_EFFECT_OPCODE_SET_CHUNK_DATA
+
1849 */
+ +
1851 /** @sa VST_EFFECT_FLAG_1ls5 */
+ +
1853
+
1854 //1 << 6,
+
1855 //1 << 7,
+
1856
+
1857 /** Effect is an Instrument/Generator
+
1858 *
+
1859 * This must be set in addition to @ref VST_EFFECT_CATEGORY_INSTRUMENT otherwise instruments don't work right.
+
1860 * @note (VST 2.x) Flag is new to VST 2.x and later.
+
1861 */
+ +
1863 /** @sa VST_EFFECT_FLAG_1ls8 */
+ +
1865
+
1866 /** Effect does not produce tail samples when the input is silent.
+
1867 *
+
1868 * Not to be confused with choosing to tell the host there is no tail.
+
1869 * @sa VST_EFFECT_OPCODE_GET_TAIL_SAMPLES
+
1870 * @note (VST 2.x) Flag is new to VST 2.x and later.
+
1871 */
+ +
1873 /** @sa VST_EFFECT_FLAG_1ls9 */
+ +
1875
+
1876 //1 << 10,
+
1877 //1 << 11,
+
1878
+
1879 /** Effect supports process_double.
+
1880 * The host can freely choose between process_float and process_double as required.
+
1881 *
+
1882 * @note (VST 2.4) Available in VST 2.4 and later only.
+
1883 * @sa vst_effect_t.process_double
+
1884 * @sa vst_effect_process_double_t
+
1885 */
+ +
1887 /** @sa VST_EFFECT_FLAG_1ls12 */
+ + +
1890
+
1891/** Host to Plug-in Op-Codes
+
1892 * These Op-Codes are emitted by the host and we must either handle them or return 0 (false).
+
1893 */
+ +
1895 /** Create/Initialize the effect (if it has not been created already).
+
1896 *
+
1897 * @return Always 0.
+
1898 */
+ +
1900 /** @sa VST_EFFECT_OPCODE_00 */
+ +
1902 /** @sa VST_EFFECT_OPCODE_00 */
+ +
1904
+
1905 /** Destroy the effect (if there is any) and free its memory.
+
1906 *
+
1907 * This should destroy the actual object created by VST_ENTRYPOINT.
+
1908 *
+
1909 * @return Always 0.
+
1910 */
+ +
1912 /** @sa VST_EFFECT_OPCODE_01 */
+ +
1914
+
1915 /** Set which program number is currently select.
+
1916 *
+
1917 * @param p_int2 The program number to set. Can be negative for some reason.
+
1918 */
+ +
1920 /** @sa VST_EFFECT_OPCODE_02 */
+ +
1922 /** @sa VST_EFFECT_OPCODE_02 */
+ +
1924
+
1925 /** Get currently selected program number.
+
1926 *
+
1927 * @return The currently set program number. Can be negative for some reason.
+
1928 */
+ +
1930 /** @sa VST_EFFECT_OPCODE_03 */
+ +
1932 /** @sa VST_EFFECT_OPCODE_03 */
+ +
1934
+
1935 /** Set the name of the currently selected program.
+
1936 *
+
1937 * @param p_ptr `const char[VST_BUFFER_SIZE_PROGRAM_NAME]` Zero terminated string.
+
1938 */
+ +
1940 /** @sa VST_EFFECT_OPCODE_04 */
+ +
1942 /** @sa VST_EFFECT_OPCODE_04 */
+ +
1944
+
1945 /** Get the name of the currently selected program.
+
1946 *
+
1947 * @param p_ptr `char[VST_BUFFER_SIZE_PROGRAM_NAME]` Zero terminated string.
+
1948 */
+ +
1950 /** @sa VST_EFFECT_OPCODE_05 */
+ +
1952 /** @sa VST_EFFECT_OPCODE_05 */
+ +
1954
+
1955 /** Get the value? label for the parameter.
+
1956 *
+
1957 * @param p_int1 Parameter index.
+
1958 * @param p_ptr 'char[VST_BUFFER_SIZE_PARAM_LABEL]' Zero terminated string.
+
1959 * @return 0 on success, 1 on failure.
+
1960 */
+ +
1962 /** @sa VST_EFFECT_OPCODE_06 */
+ +
1964 /** @sa VST_EFFECT_OPCODE_06 */
+ +
1966 /** @sa VST_EFFECT_OPCODE_06 */
+ +
1968
+
1969 /** Get the string representing the value for the parameter.
+
1970 *
+
1971 * @param p_int1 Parameter index.
+
1972 * @param p_ptr 'char[VST_BUFFER_SIZE_PARAM_VALUE]' Zero terminated string.
+
1973 * @return 0 on success, 1 on failure.
+
1974 */
+
1976 /** @sa VST_EFFECT_OPCODE_07 */
- -
1978
-
1979 /** Get the name for the parameter.
-
1980 *
-
1981 * @param p_int1 Parameter index.
-
1982 * @param p_ptr 'char[VST_BUFFER_SIZE_PARAM_NAME]' Zero terminated string.
-
1983 * @return 0 on success, 1 on failure.
-
1984 */
- -
1986 /** @sa VST_EFFECT_OPCODE_08 */
- -
1988 /** @sa VST_EFFECT_OPCODE_08 */
- -
1990 /** @sa VST_EFFECT_OPCODE_08 */
- -
1992
-
1993 /**
-
1994 *
-
1995 * @deprecated: (VST 2.3+) Not used in VST 2.3 or later.
-
1996 * @todo
-
1997 */
- -
1999
-
2000 /** Set the new sample rate for the plugin to use.
-
2001 *
-
2002 * @param p_float New sample rate as a float (double on 64-bit because register upgrades).
+ +
1978 /** @sa VST_EFFECT_OPCODE_07 */
+ +
1980 /** @sa VST_EFFECT_OPCODE_07 */
+ +
1982 /** @sa VST_EFFECT_OPCODE_07 */
+ +
1984
+
1985 /** Get the name for the parameter.
+
1986 *
+
1987 * @param p_int1 Parameter index.
+
1988 * @param p_ptr 'char[VST_BUFFER_SIZE_PARAM_NAME]' Zero terminated string.
+
1989 * @return 0 on success, 1 on failure.
+
1990 */
+ +
1992 /** @sa VST_EFFECT_OPCODE_08 */
+ +
1994 /** @sa VST_EFFECT_OPCODE_08 */
+ +
1996 /** @sa VST_EFFECT_OPCODE_08 */
+ +
1998
+
1999 /**
+
2000 *
+
2001 * @deprecated: (VST 2.3+) Not used in VST 2.3 or later.
+
2002 * @todo
2003 */
- -
2005 /** @sa VST_EFFECT_OPCODE_0A */
- -
2007 /** @sa VST_EFFECT_OPCODE_0A */
- -
2009
-
2010 /** Sets the block size, which is the maximum number of samples passed into the effect via process calls.
-
2011 *
-
2012 * @param p_int2 The maximum number of samples to be passed in.
-
2013 */
- -
2015 /** @sa VST_EFFECT_OPCODE_0B */
- -
2017 /** @sa VST_EFFECT_OPCODE_0B */
- -
2019
-
2020 /** Effect processing should be suspended/paused or resumed/unpaused.
-
2021 *
-
2022 * Unclear if this is should result in a flush of buffers. In VST 2.3+ this is quite clear as we get process
-
2023 * begin/end.
-
2024 *
-
2025 * @param p_int2 @ref VST_STATUS_FALSE if the effect should suspend processing, @ref VST_STATUS_TRUE if it should
-
2026 * resume.
-
2027 */
- -
2029 /** @sa VST_EFFECT_OPCODE_0C */
- -
2031 /** @sa VST_EFFECT_OPCODE_0C */
- -
2033 /** @sa VST_EFFECT_OPCODE_0C */
- -
2035
-
2036 /** Retrieve the client rect size of the plugins window.
-
2037 * If no window has been created, returns the default rect.
-
2038 *
-
2039 * @param p_ptr Pointer of type 'struct vst_rect_t*'.
-
2040 * @return On success, returns 1 and updates p_ptr to the rect. On failure, returns 0.
-
2041 */
- -
2043 /** @sa VST_EFFECT_OPCODE_0D */
- -
2045 /** @sa VST_EFFECT_OPCODE_0D */
- -
2047 /** @sa VST_EFFECT_OPCODE_0D */
- -
2049
-
2050 /** Create the window for the plugin.
-
2051 *
-
2052 * @param p_ptr HWND of the parent window.
-
2053 * @return 0 on failure, or HWND on success.
-
2054 */
- -
2056 /** @sa VST_EFFECT_OPCODE_0E */
- -
2058 /** @sa VST_EFFECT_OPCODE_0E */
- -
2060
-
2061 /** Destroy the plugins window.
-
2062 *
-
2063 * @return Always 0.
-
2064 */
- -
2066 /** @sa VST_EFFECT_OPCODE_0F */
- -
2068 /** @sa VST_EFFECT_OPCODE_0F */
- -
2070
-
2071 /** Window Draw Event?
-
2072 *
-
2073 * Ocasionally called simultaneously as WM_DRAW on windows.
-
2074 *
-
2075 * @note Present in some VST 2.1 or earlier plugins.
-
2076 *
-
2077 * @note Appears to be Mac OS exclusive.
+ +
2005
+
2006 /** Set the new sample rate for the plugin to use.
+
2007 *
+
2008 * @param p_float New sample rate as a float (double on 64-bit because register upgrades).
+
2009 */
+ +
2011 /** @sa VST_EFFECT_OPCODE_0A */
+ +
2013 /** @sa VST_EFFECT_OPCODE_0A */
+ +
2015
+
2016 /** Sets the block size, which is the maximum number of samples passed into the effect via process calls.
+
2017 *
+
2018 * @param p_int2 The maximum number of samples to be passed in.
+
2019 */
+ +
2021 /** @sa VST_EFFECT_OPCODE_0B */
+ +
2023 /** @sa VST_EFFECT_OPCODE_0B */
+ +
2025
+
2026 /** Effect processing should be suspended/paused or resumed/unpaused.
+
2027 *
+
2028 * Unclear if this is should result in a flush of buffers. In VST 2.3+ this is quite clear as we get process
+
2029 * begin/end.
+
2030 *
+
2031 * @param p_int2 @ref VST_STATUS_FALSE if the effect should suspend processing, @ref VST_STATUS_TRUE if it should
+
2032 * resume.
+
2033 */
+ +
2035 /** @sa VST_EFFECT_OPCODE_0C */
+ +
2037 /** @sa VST_EFFECT_OPCODE_0C */
+ +
2039 /** @sa VST_EFFECT_OPCODE_0C */
+ +
2041
+
2042 /** Retrieve the client rect size of the plugins window.
+
2043 * If no window has been created, returns the default rect.
+
2044 *
+
2045 * @param p_ptr Pointer of type 'struct vst_rect_t*'.
+
2046 * @return On success, returns 1 and updates p_ptr to the rect. On failure, returns 0.
+
2047 */
+ +
2049 /** @sa VST_EFFECT_OPCODE_0D */
+ +
2051 /** @sa VST_EFFECT_OPCODE_0D */
+ +
2053 /** @sa VST_EFFECT_OPCODE_0D */
+ +
2055
+
2056 /** Create the window for the plugin.
+
2057 *
+
2058 * @param p_ptr HWND of the parent window.
+
2059 * @return 0 on failure, or HWND on success.
+
2060 */
+ +
2062 /** @sa VST_EFFECT_OPCODE_0E */
+ +
2064 /** @sa VST_EFFECT_OPCODE_0E */
+ +
2066
+
2067 /** Destroy the plugins window.
+
2068 *
+
2069 * @return Always 0.
+
2070 */
+ +
2072 /** @sa VST_EFFECT_OPCODE_0F */
+ +
2074 /** @sa VST_EFFECT_OPCODE_0F */
+ +
2076
+
2077 /** Window Draw Event?
2078 *
-
2079 * @deprecated (VST 2.4+) Likely deprecated in VST 2.4 and later.
-
2080 */
- -
2082 /** @sa VST_EFFECT_OPCODE_10 */
- -
2084 /** @sa VST_EFFECT_OPCODE_10 */
- -
2086
-
2087 /** Window Mouse Event?
-
2088 *
-
2089 * Called at the same time mouse events happen.
-
2090 *
-
2091 * @note Present in some VST 2.1 or earlier plugins.
-
2092 *
-
2093 * @note Appears to be Mac OS exclusive.
+
2079 * Ocasionally called simultaneously as WM_DRAW on windows.
+
2080 *
+
2081 * @note Present in some VST 2.1 or earlier plugins.
+
2082 *
+
2083 * @note Appears to be Mac OS exclusive.
+
2084 *
+
2085 * @deprecated (VST 2.4+) Likely deprecated in VST 2.4 and later.
+
2086 */
+ +
2088 /** @sa VST_EFFECT_OPCODE_10 */
+ +
2090 /** @sa VST_EFFECT_OPCODE_10 */
+ +
2092
+
2093 /** Window Mouse Event?
2094 *
-
2095 * @deprecated (VST 2.4+) Likely deprecated in VST 2.4 and later.
-
2096 */
- -
2098 /** @sa VST_EFFECT_OPCODE_11 */
- -
2100 /** @sa VST_EFFECT_OPCODE_11 */
- -
2102
-
2103 /** Window Keyboard Event?
-
2104 *
-
2105 * Called at the same time keyboard events happen.
-
2106 *
-
2107 * @note Present in some VST 2.1 or earlier plugins.
-
2108 *
-
2109 * @note Appears to be Mac OS exclusive.
+
2095 * Called at the same time mouse events happen.
+
2096 *
+
2097 * @note Present in some VST 2.1 or earlier plugins.
+
2098 *
+
2099 * @note Appears to be Mac OS exclusive.
+
2100 *
+
2101 * @deprecated (VST 2.4+) Likely deprecated in VST 2.4 and later.
+
2102 */
+ +
2104 /** @sa VST_EFFECT_OPCODE_11 */
+ +
2106 /** @sa VST_EFFECT_OPCODE_11 */
+ +
2108
+
2109 /** Window Keyboard Event?
2110 *
-
2111 * @deprecated (VST 2.4+) Likely deprecated in VST 2.4 and later.
-
2112 */
- -
2114 /** @sa VST_EFFECT_OPCODE_12 */
- -
2116 /** @sa VST_EFFECT_OPCODE_12 */
- -
2118
-
2119 /** Window/Editor Idle/Keep-Alive Callback?
-
2120 *
-
2121 * Does not receive any parameters. Randomly called when nothing happens? Idle/Keep-Alive callback?
-
2122 */
- -
2124 /** @sa VST_EFFECT_OPCODE_13 */
- -
2126
-
2127 /** Window Focus Event?
-
2128 *
-
2129 * Sometimes called when the editor window goes back into focus.
-
2130 *
-
2131 * @note Present in some VST 2.1 or earlier plugins.
-
2132 * @note Appears to be Mac OS exclusive.
-
2133 * @deprecated (VST 2.4+) Likely deprecated in VST 2.4 and later.
-
2134 */
- -
2136
-
2137 /** Window Unfocus Event?
-
2138 *
-
2139 * Sometimes called when the editor window goes out of focus.
-
2140 *
-
2141 * @note Present in some VST 2.1 or earlier plugins.
-
2142 * @note Appears to be Mac OS exclusive.
-
2143 * @deprecated (VST 2.4+) Likely deprecated in VST 2.4 and later.
-
2144 */
- -
2146
-
2147 /**
-
2148 *
-
2149 * @note Present in some VST 2.1 or earlier plugins.
-
2150 * @important Almost all plug-ins return the @ref VST_FOURCC 'NvEf' (0x4E764566) here.
-
2151 * @deprecated (VST 2.4+) Likely deprecated in VST 2.4 and later.
-
2152 */
- -
2154 /** @sa VST_EFFECT_OPCODE_16 */
- -
2156
-
2157 /** Get Chunk Data
-
2158 *
-
2159 * Save current program or bank state to a buffer.
-
2160 * Behavior is different based on the @ref VST_EFFECT_FLAG_CHUNKS flag.
-
2161 *
-
2162 * @sa VST_EFFECT_FLAG_CHUNKS
-
2163 * @param p_int1 0 means Bank, 1 means Program, nothing else used?
-
2164 * @param p_ptr `void**` Pointer to a potential pointer containing your own chunk data.
-
2165 * @return Size of the Chunk Data in bytes.
-
2166 */
- -
2168 /** @sa VST_EFFECT_OPCODE_17 */
- -
2170
-
2171 /** Set Chunk Data
-
2172 *
-
2173 * Restore current program or bank state from a buffer.
-
2174 * Behavior is different based on the @ref VST_EFFECT_FLAG_CHUNKS flag.
-
2175 *
-
2176 * @sa VST_EFFECT_FLAG_CHUNKS
-
2177 * @param p_int1 0 means Bank, 1 means Program, nothing else used?
-
2178 * @param p_int2 Size of the Chunk Data in bytes.
-
2179 * @param p_ptr `void*` Pointer to a buffer containing chunk data.
-
2180 */
- -
2182 /** @sa VST_EFFECT_OPCODE_18 */
- -
2184
-
2185 //--------------------------------------------------------------------------------
-
2186 // VST 2.x starts here.
-
2187 //--------------------------------------------------------------------------------
-
2188
-
2189 /** Send events from host to plug-in.
-
2190 * The plug-in must support receiving events (see @ref vst_effect_supports_t.receiveVstEvents) while the host may
-
2191 * optionally signal to the plugin that it wants to send events to the host (see @ref
-
2192 * vst_host_supports_t.sendVstEvents).
-
2193 *
-
2194 * @sa vst_event_t
-
2195 * @sa vst_events_t
-
2196 * @sa vst_host_supports_t.sendVstEvents
-
2197 * @sa vst_effect_supports_t.receiveVstEvents
-
2198 * @sa vst_host_supports_t.sendVstMidiEvents
-
2199 * @sa vst_effect_supports_t.receiveVstMidiEvents
-
2200 * @sa VST_HOST_OPCODE_EVENT
-
2201 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2202 * @param p_ptr A valid pointer to a @ref vst_events_t structure.
-
2203 */
- -
2205 /** @sa VST_EFFECT_OPCODE_19 */
- -
2207
-
2208 /** Can the parameter be automated?
-
2209 *
-
2210 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2211 * @param p_int1 Index of the parameter.
-
2212 * @return 1 if the parameter can be automated, otherwise 0.
-
2213 */
- -
2215 /** @sa VST_EFFECT_OPCODE_1A */
- -
2217 /** @sa VST_EFFECT_OPCODE_1A */
- -
2219 /** @sa VST_EFFECT_OPCODE_1A */
- -
2221
-
2222 /** Set Parameter value from string representation.
-
2223 *
-
2224 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2225 * @param p_int1 Index of the parameter.
-
2226 * @param p_ptr `const char*` Zero terminated string representation of the value to set.
-
2227 * @return 1 if it worked, otherwise 0.
-
2228 */
- -
2230 /** @sa VST_EFFECT_OPCODE_1B */
- -
2232 /** @sa VST_EFFECT_OPCODE_1B */
- -
2234
-
2235 /**
-
2236 *
-
2237 *
-
2238 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2239 * @todo
-
2240 */
- -
2242
-
2243 /**
-
2244 *
-
2245 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2246 * @sa VST_EFFECT_OPCODE_05
-
2247 * @todo
-
2248 */
- -
2250
-
2251 /**
-
2252 *
-
2253 *
-
2254 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2255 * @todo
-
2256 */
- -
2258
-
2259 /** Input connected.
-
2260 *
-
2261 *
-
2262 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2263 * @todo
-
2264 */
- -
2266
-
2267 /** Input disconnected.
-
2268 *
-
2269 *
-
2270 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2271 * @todo
-
2272 */
- -
2274
-
2275 /** Retrieve properties for the given input index.
-
2276 *
-
2277 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2278 * @param p_int1 Index of the input to get the properties for.
-
2279 * @param p_ptr Pointer to @ref vst_stream_properties_t for the selected input provided by the host.
-
2280 * @return @ref VST_STATUS_TRUE if p_ptr is updated, @ref VST_STATUS_FALSE otherwise.
-
2281 */
- -
2283 /** @sa VST_EFFECT_OPCODE_21 */
- -
2285 /** @sa VST_EFFECT_OPCODE_21 */
- -
2287
-
2288 /** Retrieve properties for the given output index.
-
2289 *
-
2290 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2291 * @param p_int1 Index of the output to get the properties for.
-
2292 * @param p_ptr Pointer to @ref vst_stream_properties_t for the selected output provided by the host.
-
2293 * @return @ref VST_STATUS_TRUE if p_ptr is updated, @ref VST_STATUS_FALSE otherwise.
-
2294 */
- -
2296 /** @sa VST_EFFECT_OPCODE_22 */
- -
2298 /** @sa VST_EFFECT_OPCODE_22 */
- -
2300
-
2301 /** Retrieve category of this effect.
-
2302 *
-
2303 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2304 * @return The category that this effect is in, see @ref VST_EFFECT_CATEGORY.
-
2305 */
- -
2307 /** @sa VST_EFFECT_OPCODE_23 */
- -
2309 /** @sa VST_EFFECT_OPCODE_23 */
- -
2311
-
2312 /**
-
2313 *
-
2314 *
-
2315 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2316 * @todo
-
2317 */
- -
2319
-
2320 /**
-
2321 *
-
2322 *
-
2323 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2324 * @todo
-
2325 */
- -
2327
-
2328 /**
-
2329 *
-
2330 * Seen in plug-ins with @ref VST_EFFECT_CATEGORY_OFFLINE.
-
2331 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2332 * @todo
-
2333 */
- -
2335
-
2336 /**
-
2337 *
-
2338 * Seen in plug-ins with @ref VST_EFFECT_CATEGORY_OFFLINE.
-
2339 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2340 * @todo
-
2341 */
- -
2343
-
2344 /**
-
2345 *
-
2346 * Seen in plug-ins with @ref VST_EFFECT_CATEGORY_OFFLINE.
-
2347 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2348 * @todo
-
2349 */
- -
2351
-
2352 /**
-
2353 *
-
2354 * Seen in plug-ins with @ref VST_EFFECT_CATEGORY_OFFLINE.
-
2355 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2356 * @todo
-
2357 */
- -
2359
-
2360 /** Host wants to change the speaker arrangement.
-
2361 *
-
2362 * @sa vst_effect_t.num_inputs
-
2363 * @sa vst_effect_t.num_outputs
-
2364 * @sa VST_EFFECT_OPCODE_GET_SPEAKER_ARRANGEMENT
-
2365 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2366 * @param p_int2 Pointer to a @ref vst_speaker_arrangement_t structure.
-
2367 * @param p_ptr Pointer to a @ref vst_speaker_arrangement_t structure.
-
2368 * @return @ref VST_STATUS_TRUE if we accept the new arrangement, @ref VST_STATUS_FALSE if we don't in which case
-
2369 * the host is required to ask for the speaker arrangement via @ref VST_EFFECT_OPCODE_GET_SPEAKER_ARRANGEMENT
-
2370 * and may retry this op-code with different values.
-
2371 */
- -
2373 /** @sa VST_EFFECT_OPCODE_2A */
- -
2375
-
2376 /**
-
2377 * @todo
-
2378 */
- -
2380
-
2381 /** Enable/Disable bypassing the effect.
-
2382 *
-
2383 * See @ref VST_EFFECT_OPCODE_SUPPORTS with @ref vst_effect_supports_t.bypass for more information.
-
2384 *
-
2385 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2386 * @param p_int2 Zero if bypassing the effect is disabled, otherwise 1.
-
2387 */
- -
2389 /** @sa VST_EFFECT_OPCODE_2C */
- -
2391
-
2392 /** Retrieve the effect name into the ptr buffer.
-
2393 *
-
2394 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2395 * @bug Various hosts only provide a buffer that is 32 bytes long.
-
2396 * @param p_ptr A zero terminated char buffer of size @ref VST_BUFFER_SIZE_EFFECT_NAME.
-
2397 * @return Always 0, even on failure.
-
2398 */
- -
2400 /** @sa VST_EFFECT_OPCODE_2D */
- -
2402 /** @sa VST_EFFECT_OPCODE_2D */
- -
2404 /** @sa VST_EFFECT_OPCODE_2D */
- -
2406
-
2407 /** Translate an error code to a string.
-
2408 *
-
2409 * @bug Some hosts provide unexpected data in p_ptr.
-
2410 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2411 * @deprecated (VST 2.4+) Fairly sure this is deprecated in VST 2.4 and later.
-
2412 * @param p_ptr A zero terminated char buffer with undefined size.
-
2413 * @return @ref VST_STATUS_TRUE if we could translate the error, @ref VST_STATUS_FALSE if not.
-
2414 */
- -
2416 /** @sa VST_EFFECT_OPCODE_2E */
- -
2418
-
2419 /** Retrieve the vendor name into the ptr buffer.
-
2420 *
-
2421 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2422 * @param p_ptr A zero terminated char buffer of size @ref VST_BUFFER_SIZE_VENDOR_NAME.
-
2423 */
- -
2425 /** @sa VST_EFFECT_OPCODE_2F */
- -
2427 /** @sa VST_EFFECT_OPCODE_2F */
- -
2429
-
2430 /** Retrieve the product name into the ptr buffer.
-
2431 *
-
2432 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2433 * @param p_ptr A zero terminated char buffer of size @ref VST_BUFFER_SIZE_PRODUCT_NAME.
-
2434 */
- -
2436 /** @sa VST_EFFECT_OPCODE_30 */
- -
2438 /** @sa VST_EFFECT_OPCODE_30 */
- -
2440
-
2441 /** Retrieve the vendor version in return value.
-
2442 *
-
2443 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2444 * @return Version.
-
2445 */
- -
2447 /** @sa VST_EFFECT_OPCODE_31 */
- -
2449 /** @sa VST_EFFECT_OPCODE_31 */
- -
2451
-
2452 /** User-defined Op-Code for VST extensions.
-
2453 *
-
2454 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2455 * All parameters are undefined by the standard and left up to the host/plug-in. Use @ref VST_EFFECT_OPCODE_SUPPORTS
-
2456 * and @ref VST_EFFECT_OPCODE_VENDOR_NAME + @ref VST_EFFECT_OPCODE_VENDOR_VERSION to check if the plug-in is
-
2457 * compatible with your expected format.
-
2458 */
- -
2460 /** @sa VST_EFFECT_OPCODE_32 */
- -
2462
-
2463 /** Test for support of a specific named feature.
-
2464 *
-
2465 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2466 * @param p_ptr A zero terminated char buffer of undefined size containing the feature name.
-
2467 * @return @ref VST_STATUS_YES if the feature is supported, @ref VST_STATUS_NO if the feature is not supported,
-
2468 * @ref VST_STATUS_UNKNOWN in all other cases.
-
2469 */
- -
2471 /** @sa VST_EFFECT_OPCODE_33 */
- -
2473
-
2474 /** Number of samples that are at the tail at the end of playback.
-
2475 *
-
2476 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2477 * @return @ref VST_STATUS_UNKNOWN for automatic tail size, @ref VST_STATUS_TRUE for no tail, any other number above
-
2478 * 1 for the number of samples the tail has.
-
2479 */
- -
2481 /** @sa VST_EFFECT_OPCODE_34 */
- -
2483 /** @sa VST_EFFECT_OPCODE_34 */
- -
2485
-
2486 /** Notify effect that it is idle?
-
2487 *
-
2488 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2489 * @deprecated (VST 2.4+) As of VST 2.4 the default behavior is @ref VST_EFFECT_OPCODE_PROCESS_BEGIN and
-
2490 * @ref VST_EFFECT_OPCODE_PROCESS_END which allows cleaner control flows.
-
2491 * @sa vst_host_supports.startStopProcess
-
2492 */
- -
2494 /** @sa VST_EFFECT_OPCODE_35 */
- -
2496
-
2497 /**
-
2498 *
-
2499 *
-
2500 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2501 * @deprecated (VST 2.4) Invalid in all VST 2.4 and later hosts.
-
2502 * @todo
-
2503 */
- -
2505
-
2506 /**
-
2507 *
-
2508 *
-
2509 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2510 * @deprecated (VST 2.4) Invalid in all VST 2.4 and later hosts.
-
2511 * @todo
-
2512 */
- -
2514
-
2515 /** Parameter Properties
-
2516 *
-
2517 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2518 * @param p_int1 Parameter index to get properties for.
-
2519 * @param p_ptr Pointer to @ref vst_parameter_properties_t for the given parameter.
-
2520 * @return @ref VST_STATUS_YES if supported, otherwise @ref VST_STATUS_NO.
-
2521 */
- -
2523 /** @sa VST_EFFECT_OPCODE_38 */
- -
2525 /** @sa VST_EFFECT_OPCODE_38 */
- -
2527
-
2528 /**
-
2529 *
-
2530 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2531 * @deprecated (VST 2.4) Invalid in all VST 2.4 and later hosts.
-
2532 * @todo
-
2533 */
- -
2535
-
2536 /** Retrieve the VST Version supported.
-
2537 *
-
2538 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2539 * @sa VST_VERSION
-
2540 * @return One of the valid enums in @ref VST_VERSION
-
2541 */
- -
2543 /** @sa VST_EFFECT_OPCODE_3A */
- -
2545
-
2546 //--------------------------------------------------------------------------------
-
2547 // VST 2.1
-
2548 //--------------------------------------------------------------------------------
-
2549
-
2550 /** Editor Virtual Key Down Input
-
2551 *
-
2552 * @note (VST 2.1+) Available from VST 2.1 onwards.
-
2553 * @param p_int1 ASCII character that represents the virtual key code.
-
2554 * @param p_int2 See @ref VST_VKEY for the full list.
-
2555 * @param p_float A bitfield with any of @ref VST_VKEY_MODIFIER.
-
2556 * @return @ref VST_STATUS_TRUE if we used the input, otherwise @ref VST_STATUS_FALSE
-
2557 */
- -
2559 /** @sa VST_EFFECT_OPCODE_3B */
- -
2561
-
2562 /** Editor Virtual Key Up Event
-
2563 *
-
2564 * @note (VST 2.1+) Available from VST 2.1 onwards.
-
2565 * @param p_int1 ASCII character that represents the virtual key code.
-
2566 * @param p_int2 See @ref VST_VKEY for the full list.
-
2567 * @param p_float A bitfield with any of @ref VST_VKEY_MODIFIER.
-
2568 * @return @ref VST_STATUS_TRUE if we used the input, otherwise @ref VST_STATUS_FALSE
-
2569 */
- -
2571 /** @sa VST_EFFECT_OPCODE_3C */
- -
2573
-
2574 /**
-
2575 *
-
2576 * @note (VST 2.1+) Available from VST 2.1 onwards.
-
2577 * @param p_int2 A value between 0 and 2.
-
2578 * @todo
-
2579 */
- -
2581
-
2582 /**
-
2583 *
-
2584 * Midi related
-
2585 * @note (VST 2.1+) Available from VST 2.1 onwards.
-
2586 * @todo
-
2587 */
- -
2589
-
2590 /**
-
2591 *
-
2592 * Midi related
-
2593 * @note (VST 2.1+) Available from VST 2.1 onwards.
-
2594 * @todo
-
2595 */
- -
2597
-
2598 /**
-
2599 *
-
2600 * Midi related
-
2601 * @note (VST 2.1+) Available from VST 2.1 onwards.
-
2602 * @todo
-
2603 */
- -
2605
-
2606 /**
-
2607 *
-
2608 * Midi related
-
2609 * @note (VST 2.1+) Available from VST 2.1 onwards.
-
2610 * @todo
-
2611 */
- -
2613
-
2614 /**
-
2615 *
-
2616 * Midi related
-
2617 * @note (VST 2.1+) Available from VST 2.1 onwards.
-
2618 * @todo
-
2619 */
- -
2621
-
2622 /** Host is starting to set up a program.
-
2623 * Emitted prior to the host loading a program.
-
2624 *
-
2625 * @note (VST 2.1+) Available from VST 2.1 onwards.
-
2626 * @return @ref VST_STATUS_TRUE if we understood the notification, or @ref VST_STATUS_FALSE if not.
-
2627 */
- -
2629 /** @sa VST_EFFECT_OPCODE_43 */
- -
2631
-
2632 /** Host is done setting up a program.
-
2633 * Emitted after the host finished loading a program.
-
2634 *
-
2635 * @note (VST 2.1+) Available from VST 2.1 onwards.
-
2636 * @return @ref VST_STATUS_TRUE if we understood the notification, or @ref VST_STATUS_FALSE if not.
-
2637 */
- -
2639 /** @sa VST_EFFECT_OPCODE_44 */
- -
2641
-
2642 //--------------------------------------------------------------------------------
-
2643 // VST 2.3
-
2644 //--------------------------------------------------------------------------------
-
2645
-
2646 /** Host wants to know the current speaker arrangement.
-
2647 *
-
2648 * @note (VST 2.3+) Available from VST 2.3 onwards.
-
2649 * @param p_int2 Pointer to a @ref vst_speaker_arrangement_t pointer.
-
2650 * @param p_ptr Pointer to a @ref vst_speaker_arrangement_t pointer.
-
2651 * @return @ref VST_STATUS_TRUE if we were successful, otherwise @ref VST_STATUS_FALSE.
-
2652 */
- -
2654 /** @sa VST_EFFECT_OPCODE_45 */
- -
2656
-
2657 /** Get the next effect contained in this effect.
-
2658 * This returns the next effect based on an effect internal counter, the host does not provide any index.
-
2659 *
-
2660 * Used in combination with @ref VST_EFFECT_CATEGORY_CONTAINER.
-
2661 *
-
2662 * @note (VST 2.3+) Available from VST 2.3 onwards.
-
2663 * @param p_ptr Pointer to a char buffer of size @ref VST_BUFFER_SIZE_EFFECT_NAME to store the name of the next effect.
-
2664 * @return Next effects unique_id
-
2665 */
- -
2667 /** @sa VST_EFFECT_OPCODE_46 */
- -
2669
-
2670 /** Begin processing of audio.
-
2671 *
-
2672 * Host is requesting that we prepare for a new section of audio separate from the previous section.
-
2673 * @note (VST 2.3+) Available from VST 2.3 onwards.
-
2674 */
- -
2676 /** @sa VST_EFFECT_OPCODE_47 */
- -
2678
-
2679 /** End processing of audio.
-
2680 *
-
2681 * Host is requesting that we stop processing audio and go into idle instead.
-
2682 * @note (VST 2.3+) Available from VST 2.3 onwards.
-
2683 */
- -
2685 /** @sa VST_EFFECT_OPCODE_48 */
- -
2687
-
2688 /**
-
2689 *
-
2690 *
-
2691 * @note (VST 2.3+) Available from VST 2.3 onwards.
-
2692 * @todo
-
2693 */
- -
2695
-
2696 /**
-
2697 *
-
2698 * @note (VST 2.3+) Available from VST 2.3 onwards.
-
2699 * @sa VST_EFFECT_CATEGORY_SPATIAL
-
2700 * @param p_int2 Unknown meaning.
-
2701 * @param p_float Unknown meaning, usually 1.0
-
2702 * @todo
-
2703 */
- -
2705
-
2706 /** Host wants to know if we can load the provided bank data.
-
2707 * Should be emitted prior to @ref VST_EFFECT_OPCODE_SET_CHUNK_DATA by the host.
-
2708 *
-
2709 * @note (VST 2.3+) Available from VST 2.3 onwards.
-
2710 * @param p_ptr Unknown structured data.
-
2711 * @return @ref VST_STATUS_NO if we can't load the data, @ref VST_STATUS_YES if we can load the data,
-
2712 * @ref VST_STATUS_UNKNOWN if this isn't supported.
-
2713 * @todo
-
2714 */
- -
2716 /** @sa VST_EFFECT_OPCODE_4B */
- -
2718
-
2719 /** Host wants to know if we can load the provided program data.
-
2720 * Should be emitted prior to @ref VST_EFFECT_OPCODE_PROGRAM_SET_BEGIN by the host.
-
2721 *
-
2722 * @note (VST 2.3+) Available from VST 2.3 onwards.
-
2723 * @param p_ptr Unknown structured data.
-
2724 * @return @ref VST_STATUS_NO if we can't load the data, @ref VST_STATUS_YES if we can load the data,
-
2725 * @ref VST_STATUS_UNKNOWN if this isn't supported.
-
2726 * @todo
-
2727 */
- -
2729 /** @sa VST_EFFECT_OPCODE_4C */
- -
2731
-
2732 //--------------------------------------------------------------------------------
-
2733 // VST 2.4
-
2734 //--------------------------------------------------------------------------------
-
2735
-
2736 /**
-
2737 *
-
2738 *
-
2739 * @note (VST 2.4+) Available from VST 2.4 onwards.
-
2740 * @todo
-
2741 */
- -
2743
-
2744 /**
-
2745 *
-
2746 *
-
2747 * @note (VST 2.4+) Available from VST 2.4 onwards.
-
2748 * @todo
-
2749 */
- -
2751
-
2752 /**
-
2753 *
-
2754 *
-
2755 * @note (VST 2.4+) Available from VST 2.4 onwards.
-
2756 * @todo
-
2757 */
- -
2759
-
2760 /** @private Highest known OPCODE. */
-
2761 VST_EFFECT_OPCODE_MAX,
-
2762
-
2763 /** @private Force as 32-bit unsigned integer in compatible compilers. */
-
2764 _VST_EFFECT_OPCODE_PAD = (-1l)
-
2765};
-
2766
-
2767#if (__STDC_VERSION__ >= 199901L) || (__cplusplus >= 202002L)
-
2768/** Host to Plug-in support checks
-
2769 *
-
2770 * Provided as `char* p_ptr` in the VST_EFFECT_OPCODE_SUPPORTS op code.
-
2771 *
-
2772 * Harvested via strings command and just checking what plug-ins actually responded to.
-
2773 *
-
2774 * @important These are only available with a C99 or a C++20 or newer compiler.
-
2775 */
-
2776struct vst_effect_supports_t {
-
2777 /** Effect supports alternative bypass.
-
2778 * The alternative bypass still has the host call process/process_float/process_double and expects us to compensate
-
2779 * for our delay/latency, copy inputs to outputs, and do minimal work. If we don't support it the host will not call
-
2780 * process/process_float/process_double at all while bypass is enabled.
-
2781 *
-
2782 * @note VST 2.3 or later only.
-
2783 * @return VST_STATUS_TRUE if we support this, otherwise VST_STATUS_FALSE.
-
2784 */
-
2785 const char* bypass;
-
2786
-
2787 /** Plug-in can send events to host.
-
2788 *
-
2789 * @sa vst_host_supports_t.receiveVstEvents
-
2790 * @sa VST_HOST_OPCODE_EVENT
-
2791 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2792 */
-
2793 const char* sendVstEvents;
-
2794
-
2795 /** Plug-in can receive events from host.
-
2796 *
-
2797 * @sa vst_host_supports_t.sendVstEvents
-
2798 * @sa VST_EFFECT_OPCODE_EVENT
-
2799 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2800 */
-
2801 const char* receiveVstEvents;
-
2802
-
2803 /** Host can send MIDI events to plug-in.
-
2804 *
-
2805 * @sa vst_effect_supports_t.receiveVstMidiEvents
-
2806 * @sa VST_EFFECT_OPCODE_EVENT
-
2807 * @sa vst_effect_midi_t
-
2808 * @sa vst_effect_midi_sysex_t
-
2809 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2810 */
-
2811 const char* sendVstMidiEvent;
-
2812
-
2813 /** Plug-in can receive MIDI events from host.
-
2814 *
-
2815 * @sa vst_host_supports_t.sendVstMidiEvents
-
2816 * @sa VST_HOST_OPCODE_EVENT
-
2817 * @sa vst_effect_midi_t
-
2818 * @sa vst_effect_midi_sysex_t
-
2819 * @note (VST 2.0+) Available from VST 2.0 onwards.
-
2820 */
-
2821 const char* receiveVstMidiEvent;
-
2822
-
2823 /** Plug-in wants to use @ref VST_HOST_OPCODE_EDITOR_RESIZE.
-
2824 * Only necessary for legacy host compatibility.
-
2825 *
-
2826 * @sa vst_host_supports_t.sizeWindow
-
2827 * @note (VST 2.1+) Available from VST 2.1 onwards.
-
2828 * @deprecated (VST 2.4+) Deprecated from VST 2.4 onwards as the same check already exists on the host side.
-
2829 * @return @ref VST_STATUS_TRUE if you want to use @ref VST_HOST_OPCODE_EDITOR_RESIZE, otherwise @ref VST_STATUS_FALSE.
-
2830 */
-
2831 const char* conformsToWindowRules;
-
2832
-
2833 const char* midiProgramNames; // VST 2.1 or later.
-
2834 const char* receiveVstTimeInfo;
-
2835 const char* offline;
-
2836 // The following were only found in VST 2.3 plug-ins
-
2837 const char* plugAsChannelInsert;
-
2838 const char* plugAsSend;
-
2839 const char* mixDryWet;
-
2840 const char* noRealTime;
-
2841 const char* multipass;
-
2842 const char* metapass;
-
2843 const char* _1in1out;
-
2844 const char* _1in2out;
-
2845 const char* _2in1out;
-
2846 const char* _2in2out;
-
2847 const char* _2in4out;
-
2848 const char* _4in2out;
-
2849 const char* _4in4out;
-
2850 const char* _4in8out;
-
2851 const char* _8in4out;
-
2852 const char* _8in8out;
-
2853} /** @private */ vst_effect_supports = {
-
2854 .bypass = "bypass",
-
2855 .sendVstEvents = "sendVstEvents",
-
2856 .receiveVstEvents = "receiveVstEvents",
-
2857 .sendVstMidiEvent = "sendVstMidiEvent",
-
2858 .receiveVstMidiEvent = "receiveVstMidiEvent",
-
2859 .conformsToWindowRules = "conformsToWindowRules",
-
2860 .midiProgramNames = "midiProgramNames",
-
2861 .receiveVstTimeInfo = "receiveVstTimeInfo",
-
2862 .offline = "offline",
-
2863 .plugAsChannelInsert = "plugAsChannelInsert",
-
2864 .plugAsSend = "plugAsSend",
-
2865 .mixDryWet = "mixDryWet",
-
2866 .noRealTime = "noRealTime",
-
2867 .multipass = "multipass",
-
2868 .metapass = "metapass",
-
2869 ._1in1out = "1in1out",
-
2870 ._1in2out = "1in2out",
-
2871 ._2in1out = "2in1out",
-
2872 ._2in2out = "2in2out",
-
2873 ._2in4out = "2in4out",
-
2874 ._4in2out = "4in2out",
-
2875 ._4in4out = "4in4out",
-
2876 ._4in8out = "4in8out",
-
2877 ._8in4out = "8in4out",
-
2878 ._8in8out = "8in8out",
-
2879};
-
2880#endif
-
2881
-
2882/** Control the VST through an opcode and up to four parameters.
-
2883 *
-
2884 * @sa VST_EFFECT_OPCODE
-
2885 *
-
2886 * @param self Pointer to the effect itself.
-
2887 * @param opcode The opcode to run, see @ref VST_EFFECT_OPCODE.
-
2888 * @param p_int1 Parameter, see @ref VST_EFFECT_OPCODE.
-
2889 * @param p_int2 Parameter, see @ref VST_EFFECT_OPCODE.
-
2890 * @param p_ptr Parameter, see @ref VST_EFFECT_OPCODE.
-
2891 * @param p_float Parameter, see @ref VST_EFFECT_OPCODE.
-
2892 */
-
2893typedef intptr_t (VST_FUNCTION_INTERFACE* vst_effect_control_t)(struct vst_effect_t* self, int32_t opcode, int32_t p_int1, intptr_t p_int2, void* p_ptr, float p_float);
-
2894
-
2895/** Process the given number of samples in inputs and outputs.
-
2896 *
-
2897 * Used to handle input data and provides output data. We seem to be the ones that provide the output buffer?
-
2898 *
-
2899 * @param self Pointer to the effect itself.
-
2900 * @param inputs Pointer to an array of 'const float[samples]' with size @ref vst_effect_t.num_inputs.
-
2901 * @param outputs Pointer to an array of 'float[samples]' with size @ref vst_effect_t.num_outputs.
-
2902 * @param samples Number of samples per channel in inputs and outputs.
-
2903 */
-
2904typedef void (VST_FUNCTION_INTERFACE* vst_effect_process_t) (struct vst_effect_t* self, const float* const* inputs, float** outputs, int32_t samples);
-
2905
-
2906/** Updates the value for the parameter at the given index, or does nothing if out of bounds.
-
2907 *
-
2908 * @param self Pointer to the effect itself.
-
2909 * @param index Parameter index.
-
2910 * @param value New value for the parameter.
-
2911 */
-
2912typedef void(VST_FUNCTION_INTERFACE* vst_effect_set_parameter_t)(struct vst_effect_t* self, uint32_t index, float value);
-
2913
-
2914/** Retrieve the current value of the parameter at the given index, or do nothing if out of bounds.
-
2915 *
-
2916 * @param self Pointer to the effect itself.
-
2917 * @param index Parameter index.
-
2918 * @return Current value of the parameter.
-
2919 */
-
2920typedef float(VST_FUNCTION_INTERFACE* vst_effect_get_parameter_t)(struct vst_effect_t* self, uint32_t index);
-
2921
-
2922/** Process the given number of single samples in inputs and outputs.
-
2923 *
-
2924 * Process input and overwrite the output in place. Host provides output buffers.
-
2925 *
-
2926 * @important Not thread-safe on MacOS for some reason or another.
-
2927 *
-
2928 * @param self Pointer to the effect itself.
-
2929 * @param inputs Pointer to an array of 'const float[samples]' with size numInputs.
-
2930 * @param outputs Pointer to an array of 'float[samples]' with size numOutputs.
-
2931 * @param samples Number of samples per channel in inputs.
-
2932 */
-
2933typedef void(VST_FUNCTION_INTERFACE* vst_effect_process_float_t)(struct vst_effect_t* self, const float* const* inputs, float** outputs, int32_t samples);
-
2934
-
2935/** Process the given number of double samples in inputs and outputs.
-
2936 *
-
2937 * Process input and overwrite the output in place. Host provides output buffers.
-
2938 *
-
2939 * @note (VST 2.4+) Available from VST 2.4 and later.
-
2940 *
-
2941 * @param self Pointer to the effect itself.
-
2942 * @param inputs Pointer to an array of 'const double[samples]' with size numInputs.
-
2943 * @param outputs Pointer to an array of 'double[samples]' with size numOutputs.
-
2944 * @param samples Number of samples per channel in inputs.
-
2945 */
-
2946typedef void (VST_FUNCTION_INTERFACE* vst_effect_process_double_t)(struct vst_effect_t* self, const double* const* inputs, double** outputs, int32_t samples);
-
2947
-
2948/** Plug-in Effect definition
-
2949 */
- -
2951 /** VST Magic Number
-
2952 *
-
2953 * Should always be VST_FOURCC('VstP')
-
2954 *
-
2955 * @sa VST_MAGICNUMBER
-
2956 */
- -
2958
-
2959 /** Control Function
-
2960 * @sa vst_effect_control_t
-
2961 * @sa VST_EFFECT_OPCODE
+
2111 * Called at the same time keyboard events happen.
+
2112 *
+
2113 * @note Present in some VST 2.1 or earlier plugins.
+
2114 *
+
2115 * @note Appears to be Mac OS exclusive.
+
2116 *
+
2117 * @deprecated (VST 2.4+) Likely deprecated in VST 2.4 and later.
+
2118 */
+ +
2120 /** @sa VST_EFFECT_OPCODE_12 */
+ +
2122 /** @sa VST_EFFECT_OPCODE_12 */
+ +
2124
+
2125 /** Window/Editor Idle/Keep-Alive Callback?
+
2126 *
+
2127 * Does not receive any parameters. Randomly called when nothing happens? Idle/Keep-Alive callback?
+
2128 */
+ +
2130 /** @sa VST_EFFECT_OPCODE_13 */
+ +
2132
+
2133 /** Window Focus Event?
+
2134 *
+
2135 * Sometimes called when the editor window goes back into focus.
+
2136 *
+
2137 * @note Present in some VST 2.1 or earlier plugins.
+
2138 * @note Appears to be Mac OS exclusive.
+
2139 * @deprecated (VST 2.4+) Likely deprecated in VST 2.4 and later.
+
2140 */
+ +
2142
+
2143 /** Window Unfocus Event?
+
2144 *
+
2145 * Sometimes called when the editor window goes out of focus.
+
2146 *
+
2147 * @note Present in some VST 2.1 or earlier plugins.
+
2148 * @note Appears to be Mac OS exclusive.
+
2149 * @deprecated (VST 2.4+) Likely deprecated in VST 2.4 and later.
+
2150 */
+ +
2152
+
2153 /**
+
2154 *
+
2155 * @note Present in some VST 2.1 or earlier plugins.
+
2156 * @important Almost all plug-ins return the @ref VST_FOURCC 'NvEf' (0x4E764566) here.
+
2157 * @deprecated (VST 2.4+) Likely deprecated in VST 2.4 and later.
+
2158 */
+ +
2160 /** @sa VST_EFFECT_OPCODE_16 */
+ +
2162
+
2163 /** Get Chunk Data
+
2164 *
+
2165 * Save current program or bank state to a buffer.
+
2166 * Behavior is different based on the @ref VST_EFFECT_FLAG_CHUNKS flag.
+
2167 *
+
2168 * @sa VST_EFFECT_FLAG_CHUNKS
+
2169 * @param p_int1 0 means Bank, 1 means Program, nothing else used?
+
2170 * @param p_ptr `void**` Pointer to a potential pointer containing your own chunk data.
+
2171 * @return Size of the Chunk Data in bytes.
+
2172 */
+ +
2174 /** @sa VST_EFFECT_OPCODE_17 */
+ +
2176
+
2177 /** Set Chunk Data
+
2178 *
+
2179 * Restore current program or bank state from a buffer.
+
2180 * Behavior is different based on the @ref VST_EFFECT_FLAG_CHUNKS flag.
+
2181 *
+
2182 * @sa VST_EFFECT_FLAG_CHUNKS
+
2183 * @param p_int1 0 means Bank, 1 means Program, nothing else used?
+
2184 * @param p_int2 Size of the Chunk Data in bytes.
+
2185 * @param p_ptr `void*` Pointer to a buffer containing chunk data.
+
2186 */
+ +
2188 /** @sa VST_EFFECT_OPCODE_18 */
+ +
2190
+
2191 //--------------------------------------------------------------------------------
+
2192 // VST 2.x starts here.
+
2193 //--------------------------------------------------------------------------------
+
2194
+
2195 /** Send events from host to plug-in.
+
2196 * The plug-in must support receiving events (see @ref vst_effect_supports_t.receiveVstEvents) while the host may
+
2197 * optionally signal to the plugin that it wants to send events to the host (see @ref
+
2198 * vst_host_supports_t.sendVstEvents).
+
2199 *
+
2200 * @sa vst_event_t
+
2201 * @sa vst_events_t
+
2202 * @sa vst_host_supports_t.sendVstEvents
+
2203 * @sa vst_effect_supports_t.receiveVstEvents
+
2204 * @sa vst_host_supports_t.sendVstMidiEvents
+
2205 * @sa vst_effect_supports_t.receiveVstMidiEvents
+
2206 * @sa VST_HOST_OPCODE_EVENT
+
2207 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2208 * @param p_ptr A valid pointer to a @ref vst_events_t structure.
+
2209 */
+ +
2211 /** @sa VST_EFFECT_OPCODE_19 */
+ +
2213
+
2214 /** Can the parameter be automated?
+
2215 *
+
2216 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2217 * @param p_int1 Index of the parameter.
+
2218 * @return 1 if the parameter can be automated, otherwise 0.
+
2219 */
+ +
2221 /** @sa VST_EFFECT_OPCODE_1A */
+ +
2223 /** @sa VST_EFFECT_OPCODE_1A */
+ +
2225 /** @sa VST_EFFECT_OPCODE_1A */
+ +
2227
+
2228 /** Set Parameter value from string representation.
+
2229 *
+
2230 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2231 * @param p_int1 Index of the parameter.
+
2232 * @param p_ptr `const char*` Zero terminated string representation of the value to set.
+
2233 * @return 1 if it worked, otherwise 0.
+
2234 */
+ +
2236 /** @sa VST_EFFECT_OPCODE_1B */
+ +
2238 /** @sa VST_EFFECT_OPCODE_1B */
+ +
2240
+
2241 /**
+
2242 *
+
2243 *
+
2244 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2245 * @todo
+
2246 */
+ +
2248
+
2249 /**
+
2250 *
+
2251 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2252 * @sa VST_EFFECT_OPCODE_05
+
2253 * @todo
+
2254 */
+ +
2256
+
2257 /**
+
2258 *
+
2259 *
+
2260 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2261 * @todo
+
2262 */
+ +
2264
+
2265 /** Input connected.
+
2266 *
+
2267 *
+
2268 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2269 * @todo
+
2270 */
+ +
2272
+
2273 /** Input disconnected.
+
2274 *
+
2275 *
+
2276 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2277 * @todo
+
2278 */
+ +
2280
+
2281 /** Retrieve properties for the given input index.
+
2282 *
+
2283 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2284 * @param p_int1 Index of the input to get the properties for.
+
2285 * @param p_ptr Pointer to @ref vst_stream_properties_t for the selected input provided by the host.
+
2286 * @return @ref VST_STATUS_TRUE if p_ptr is updated, @ref VST_STATUS_FALSE otherwise.
+
2287 */
+ +
2289 /** @sa VST_EFFECT_OPCODE_21 */
+ +
2291 /** @sa VST_EFFECT_OPCODE_21 */
+ +
2293
+
2294 /** Retrieve properties for the given output index.
+
2295 *
+
2296 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2297 * @param p_int1 Index of the output to get the properties for.
+
2298 * @param p_ptr Pointer to @ref vst_stream_properties_t for the selected output provided by the host.
+
2299 * @return @ref VST_STATUS_TRUE if p_ptr is updated, @ref VST_STATUS_FALSE otherwise.
+
2300 */
+ +
2302 /** @sa VST_EFFECT_OPCODE_22 */
+ +
2304 /** @sa VST_EFFECT_OPCODE_22 */
+ +
2306
+
2307 /** Retrieve category of this effect.
+
2308 *
+
2309 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2310 * @return The category that this effect is in, see @ref VST_EFFECT_CATEGORY.
+
2311 */
+ +
2313 /** @sa VST_EFFECT_OPCODE_23 */
+ +
2315 /** @sa VST_EFFECT_OPCODE_23 */
+ +
2317
+
2318 /**
+
2319 *
+
2320 *
+
2321 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2322 * @todo
+
2323 */
+ +
2325
+
2326 /**
+
2327 *
+
2328 *
+
2329 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2330 * @todo
+
2331 */
+ +
2333
+
2334 /**
+
2335 *
+
2336 * Seen in plug-ins with @ref VST_EFFECT_CATEGORY_OFFLINE.
+
2337 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2338 * @todo
+
2339 */
+ +
2341
+
2342 /**
+
2343 *
+
2344 * Seen in plug-ins with @ref VST_EFFECT_CATEGORY_OFFLINE.
+
2345 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2346 * @todo
+
2347 */
+ +
2349
+
2350 /**
+
2351 *
+
2352 * Seen in plug-ins with @ref VST_EFFECT_CATEGORY_OFFLINE.
+
2353 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2354 * @todo
+
2355 */
+ +
2357
+
2358 /**
+
2359 *
+
2360 * Seen in plug-ins with @ref VST_EFFECT_CATEGORY_OFFLINE.
+
2361 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2362 * @todo
+
2363 */
+ +
2365
+
2366 /** Host wants to change the speaker arrangement.
+
2367 *
+
2368 * @sa vst_effect_t.num_inputs
+
2369 * @sa vst_effect_t.num_outputs
+
2370 * @sa VST_EFFECT_OPCODE_GET_SPEAKER_ARRANGEMENT
+
2371 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2372 * @param p_int2 Pointer to a @ref vst_speaker_arrangement_t structure.
+
2373 * @param p_ptr Pointer to a @ref vst_speaker_arrangement_t structure.
+
2374 * @return @ref VST_STATUS_TRUE if we accept the new arrangement, @ref VST_STATUS_FALSE if we don't in which case
+
2375 * the host is required to ask for the speaker arrangement via @ref VST_EFFECT_OPCODE_GET_SPEAKER_ARRANGEMENT
+
2376 * and may retry this op-code with different values.
+
2377 */
+ +
2379 /** @sa VST_EFFECT_OPCODE_2A */
+ +
2381
+
2382 /**
+
2383 * @todo
+
2384 */
+ +
2386
+
2387 /** Enable/Disable bypassing the effect.
+
2388 *
+
2389 * See @ref VST_EFFECT_OPCODE_SUPPORTS with @ref vst_effect_supports_t.bypass for more information.
+
2390 *
+
2391 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2392 * @param p_int2 Zero if bypassing the effect is disabled, otherwise 1.
+
2393 */
+ +
2395 /** @sa VST_EFFECT_OPCODE_2C */
+ +
2397
+
2398 /** Retrieve the effect name into the ptr buffer.
+
2399 *
+
2400 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2401 * @bug Various hosts only provide a buffer that is 32 bytes long.
+
2402 * @param p_ptr A zero terminated char buffer of size @ref VST_BUFFER_SIZE_EFFECT_NAME.
+
2403 * @return Always 0, even on failure.
+
2404 */
+ +
2406 /** @sa VST_EFFECT_OPCODE_2D */
+ +
2408 /** @sa VST_EFFECT_OPCODE_2D */
+ +
2410 /** @sa VST_EFFECT_OPCODE_2D */
+ +
2412
+
2413 /** Translate an error code to a string.
+
2414 *
+
2415 * @bug Some hosts provide unexpected data in p_ptr.
+
2416 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2417 * @deprecated (VST 2.4+) Fairly sure this is deprecated in VST 2.4 and later.
+
2418 * @param p_ptr A zero terminated char buffer with undefined size.
+
2419 * @return @ref VST_STATUS_TRUE if we could translate the error, @ref VST_STATUS_FALSE if not.
+
2420 */
+ +
2422 /** @sa VST_EFFECT_OPCODE_2E */
+ +
2424
+
2425 /** Retrieve the vendor name into the ptr buffer.
+
2426 *
+
2427 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2428 * @param p_ptr A zero terminated char buffer of size @ref VST_BUFFER_SIZE_VENDOR_NAME.
+
2429 */
+ +
2431 /** @sa VST_EFFECT_OPCODE_2F */
+ +
2433 /** @sa VST_EFFECT_OPCODE_2F */
+ +
2435
+
2436 /** Retrieve the product name into the ptr buffer.
+
2437 *
+
2438 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2439 * @param p_ptr A zero terminated char buffer of size @ref VST_BUFFER_SIZE_PRODUCT_NAME.
+
2440 */
+ +
2442 /** @sa VST_EFFECT_OPCODE_30 */
+ +
2444 /** @sa VST_EFFECT_OPCODE_30 */
+ +
2446
+
2447 /** Retrieve the vendor version in return value.
+
2448 *
+
2449 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2450 * @return Version.
+
2451 */
+ +
2453 /** @sa VST_EFFECT_OPCODE_31 */
+ +
2455 /** @sa VST_EFFECT_OPCODE_31 */
+ +
2457
+
2458 /** User-defined Op-Code for VST extensions.
+
2459 *
+
2460 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2461 * All parameters are undefined by the standard and left up to the host/plug-in. Use @ref VST_EFFECT_OPCODE_SUPPORTS
+
2462 * and @ref VST_EFFECT_OPCODE_VENDOR_NAME + @ref VST_EFFECT_OPCODE_VENDOR_VERSION to check if the plug-in is
+
2463 * compatible with your expected format.
+
2464 */
+ +
2466 /** @sa VST_EFFECT_OPCODE_32 */
+ +
2468
+
2469 /** Test for support of a specific named feature.
+
2470 *
+
2471 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2472 * @param p_ptr A zero terminated char buffer of undefined size containing the feature name.
+
2473 * @return @ref VST_STATUS_YES if the feature is supported, @ref VST_STATUS_NO if the feature is not supported,
+
2474 * @ref VST_STATUS_UNKNOWN in all other cases.
+
2475 */
+ +
2477 /** @sa VST_EFFECT_OPCODE_33 */
+ +
2479
+
2480 /** Number of samples that are at the tail at the end of playback.
+
2481 *
+
2482 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2483 * @return @ref VST_STATUS_UNKNOWN for automatic tail size, @ref VST_STATUS_TRUE for no tail, any other number above
+
2484 * 1 for the number of samples the tail has.
+
2485 */
+ +
2487 /** @sa VST_EFFECT_OPCODE_34 */
+ +
2489 /** @sa VST_EFFECT_OPCODE_34 */
+ +
2491
+
2492 /** Notify effect that it is idle?
+
2493 *
+
2494 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2495 * @deprecated (VST 2.4+) As of VST 2.4 the default behavior is @ref VST_EFFECT_OPCODE_PROCESS_BEGIN and
+
2496 * @ref VST_EFFECT_OPCODE_PROCESS_END which allows cleaner control flows.
+
2497 * @sa vst_host_supports.startStopProcess
+
2498 */
+ +
2500 /** @sa VST_EFFECT_OPCODE_35 */
+ +
2502
+
2503 /**
+
2504 *
+
2505 *
+
2506 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2507 * @deprecated (VST 2.4) Invalid in all VST 2.4 and later hosts.
+
2508 * @todo
+
2509 */
+ +
2511
+
2512 /**
+
2513 *
+
2514 *
+
2515 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2516 * @deprecated (VST 2.4) Invalid in all VST 2.4 and later hosts.
+
2517 * @todo
+
2518 */
+ +
2520
+
2521 /** Parameter Properties
+
2522 *
+
2523 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2524 * @param p_int1 Parameter index to get properties for.
+
2525 * @param p_ptr Pointer to @ref vst_parameter_properties_t for the given parameter.
+
2526 * @return @ref VST_STATUS_YES if supported, otherwise @ref VST_STATUS_NO.
+
2527 */
+ +
2529 /** @sa VST_EFFECT_OPCODE_38 */
+ +
2531 /** @sa VST_EFFECT_OPCODE_38 */
+ +
2533
+
2534 /**
+
2535 *
+
2536 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2537 * @deprecated (VST 2.4) Invalid in all VST 2.4 and later hosts.
+
2538 * @todo
+
2539 */
+ +
2541
+
2542 /** Retrieve the VST Version supported.
+
2543 *
+
2544 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2545 * @sa VST_VERSION
+
2546 * @return One of the valid enums in @ref VST_VERSION
+
2547 */
+ +
2549 /** @sa VST_EFFECT_OPCODE_3A */
+ +
2551
+
2552 //--------------------------------------------------------------------------------
+
2553 // VST 2.1
+
2554 //--------------------------------------------------------------------------------
+
2555
+
2556 /** Editor Virtual Key Down Input
+
2557 *
+
2558 * @note (VST 2.1+) Available from VST 2.1 onwards.
+
2559 * @param p_int1 ASCII character that represents the virtual key code.
+
2560 * @param p_int2 See @ref VST_VKEY for the full list.
+
2561 * @param p_float A bitfield with any of @ref VST_VKEY_MODIFIER.
+
2562 * @return @ref VST_STATUS_TRUE if we used the input, otherwise @ref VST_STATUS_FALSE
+
2563 */
+ +
2565 /** @sa VST_EFFECT_OPCODE_3B */
+ +
2567
+
2568 /** Editor Virtual Key Up Event
+
2569 *
+
2570 * @note (VST 2.1+) Available from VST 2.1 onwards.
+
2571 * @param p_int1 ASCII character that represents the virtual key code.
+
2572 * @param p_int2 See @ref VST_VKEY for the full list.
+
2573 * @param p_float A bitfield with any of @ref VST_VKEY_MODIFIER.
+
2574 * @return @ref VST_STATUS_TRUE if we used the input, otherwise @ref VST_STATUS_FALSE
+
2575 */
+ +
2577 /** @sa VST_EFFECT_OPCODE_3C */
+ +
2579
+
2580 /**
+
2581 *
+
2582 * @note (VST 2.1+) Available from VST 2.1 onwards.
+
2583 * @param p_int2 A value between 0 and 2.
+
2584 * @todo
+
2585 */
+ +
2587
+
2588 /**
+
2589 *
+
2590 * Midi related
+
2591 * @note (VST 2.1+) Available from VST 2.1 onwards.
+
2592 * @todo
+
2593 */
+ +
2595
+
2596 /**
+
2597 *
+
2598 * Midi related
+
2599 * @note (VST 2.1+) Available from VST 2.1 onwards.
+
2600 * @todo
+
2601 */
+ +
2603
+
2604 /**
+
2605 *
+
2606 * Midi related
+
2607 * @note (VST 2.1+) Available from VST 2.1 onwards.
+
2608 * @todo
+
2609 */
+ +
2611
+
2612 /**
+
2613 *
+
2614 * Midi related
+
2615 * @note (VST 2.1+) Available from VST 2.1 onwards.
+
2616 * @todo
+
2617 */
+ +
2619
+
2620 /**
+
2621 *
+
2622 * Midi related
+
2623 * @note (VST 2.1+) Available from VST 2.1 onwards.
+
2624 * @todo
+
2625 */
+ +
2627
+
2628 /** Host is starting to set up a program.
+
2629 * Emitted prior to the host loading a program.
+
2630 *
+
2631 * @note (VST 2.1+) Available from VST 2.1 onwards.
+
2632 * @return @ref VST_STATUS_TRUE if we understood the notification, or @ref VST_STATUS_FALSE if not.
+
2633 */
+ +
2635 /** @sa VST_EFFECT_OPCODE_43 */
+ +
2637
+
2638 /** Host is done setting up a program.
+
2639 * Emitted after the host finished loading a program.
+
2640 *
+
2641 * @note (VST 2.1+) Available from VST 2.1 onwards.
+
2642 * @return @ref VST_STATUS_TRUE if we understood the notification, or @ref VST_STATUS_FALSE if not.
+
2643 */
+ +
2645 /** @sa VST_EFFECT_OPCODE_44 */
+ +
2647
+
2648 //--------------------------------------------------------------------------------
+
2649 // VST 2.3
+
2650 //--------------------------------------------------------------------------------
+
2651
+
2652 /** Host wants to know the current speaker arrangement.
+
2653 *
+
2654 * @note (VST 2.3+) Available from VST 2.3 onwards.
+
2655 * @param p_int2 Pointer to a @ref vst_speaker_arrangement_t pointer.
+
2656 * @param p_ptr Pointer to a @ref vst_speaker_arrangement_t pointer.
+
2657 * @return @ref VST_STATUS_TRUE if we were successful, otherwise @ref VST_STATUS_FALSE.
+
2658 */
+ +
2660 /** @sa VST_EFFECT_OPCODE_45 */
+ +
2662
+
2663 /** Get the next effect contained in this effect.
+
2664 * This returns the next effect based on an effect internal counter, the host does not provide any index.
+
2665 *
+
2666 * Used in combination with @ref VST_EFFECT_CATEGORY_CONTAINER.
+
2667 *
+
2668 * @note (VST 2.3+) Available from VST 2.3 onwards.
+
2669 * @param p_ptr Pointer to a char buffer of size @ref VST_BUFFER_SIZE_EFFECT_NAME to store the name of the next effect.
+
2670 * @return Next effects unique_id
+
2671 */
+ +
2673 /** @sa VST_EFFECT_OPCODE_46 */
+ +
2675
+
2676 /** Begin processing of audio.
+
2677 *
+
2678 * Host is requesting that we prepare for a new section of audio separate from the previous section.
+
2679 * @note (VST 2.3+) Available from VST 2.3 onwards.
+
2680 */
+ +
2682 /** @sa VST_EFFECT_OPCODE_47 */
+ +
2684
+
2685 /** End processing of audio.
+
2686 *
+
2687 * Host is requesting that we stop processing audio and go into idle instead.
+
2688 * @note (VST 2.3+) Available from VST 2.3 onwards.
+
2689 */
+ +
2691 /** @sa VST_EFFECT_OPCODE_48 */
+ +
2693
+
2694 /**
+
2695 *
+
2696 *
+
2697 * @note (VST 2.3+) Available from VST 2.3 onwards.
+
2698 * @todo
+
2699 */
+ +
2701
+
2702 /**
+
2703 *
+
2704 * @note (VST 2.3+) Available from VST 2.3 onwards.
+
2705 * @sa VST_EFFECT_CATEGORY_SPATIAL
+
2706 * @param p_int2 Unknown meaning.
+
2707 * @param p_float Unknown meaning, usually 1.0
+
2708 * @todo
+
2709 */
+ +
2711
+
2712 /** Host wants to know if we can load the provided bank data.
+
2713 * Should be emitted prior to @ref VST_EFFECT_OPCODE_SET_CHUNK_DATA by the host.
+
2714 *
+
2715 * @note (VST 2.3+) Available from VST 2.3 onwards.
+
2716 * @param p_ptr Unknown structured data.
+
2717 * @return @ref VST_STATUS_NO if we can't load the data, @ref VST_STATUS_YES if we can load the data,
+
2718 * @ref VST_STATUS_UNKNOWN if this isn't supported.
+
2719 * @todo
+
2720 */
+ +
2722 /** @sa VST_EFFECT_OPCODE_4B */
+ +
2724
+
2725 /** Host wants to know if we can load the provided program data.
+
2726 * Should be emitted prior to @ref VST_EFFECT_OPCODE_PROGRAM_SET_BEGIN by the host.
+
2727 *
+
2728 * @note (VST 2.3+) Available from VST 2.3 onwards.
+
2729 * @param p_ptr Unknown structured data.
+
2730 * @return @ref VST_STATUS_NO if we can't load the data, @ref VST_STATUS_YES if we can load the data,
+
2731 * @ref VST_STATUS_UNKNOWN if this isn't supported.
+
2732 * @todo
+
2733 */
+ +
2735 /** @sa VST_EFFECT_OPCODE_4C */
+ +
2737
+
2738 //--------------------------------------------------------------------------------
+
2739 // VST 2.4
+
2740 //--------------------------------------------------------------------------------
+
2741
+
2742 /**
+
2743 *
+
2744 *
+
2745 * @note (VST 2.4+) Available from VST 2.4 onwards.
+
2746 * @todo
+
2747 */
+ +
2749
+
2750 /**
+
2751 *
+
2752 *
+
2753 * @note (VST 2.4+) Available from VST 2.4 onwards.
+
2754 * @todo
+
2755 */
+ +
2757
+
2758 /**
+
2759 *
+
2760 *
+
2761 * @note (VST 2.4+) Available from VST 2.4 onwards.
+
2762 * @todo
+
2763 */
+ +
2765
+
2766 /** @private Highest known OPCODE. */
+
2767 VST_EFFECT_OPCODE_MAX,
+
2768
+
2769 /** @private Force as 32-bit unsigned integer in compatible compilers. */
+
2770 _VST_EFFECT_OPCODE_PAD = (-1l)
+
2771};
+
2772
+
2773#if (__STDC_VERSION__ >= 199901L) || (__cplusplus >= 202002L)
+
2774/** Host to Plug-in support checks
+
2775 *
+
2776 * Provided as `char* p_ptr` in the VST_EFFECT_OPCODE_SUPPORTS op code.
+
2777 *
+
2778 * Harvested via strings command and just checking what plug-ins actually responded to.
+
2779 *
+
2780 * @important These are only available with a C99 or a C++20 or newer compiler.
+
2781 */
+
2782struct vst_effect_supports_t {
+
2783 /** Effect supports alternative bypass.
+
2784 * The alternative bypass still has the host call process/process_float/process_double and expects us to compensate
+
2785 * for our delay/latency, copy inputs to outputs, and do minimal work. If we don't support it the host will not call
+
2786 * process/process_float/process_double at all while bypass is enabled.
+
2787 *
+
2788 * @note VST 2.3 or later only.
+
2789 * @return VST_STATUS_TRUE if we support this, otherwise VST_STATUS_FALSE.
+
2790 */
+
2791 const char* bypass;
+
2792
+
2793 /** Plug-in can send events to host.
+
2794 *
+
2795 * @sa vst_host_supports_t.receiveVstEvents
+
2796 * @sa VST_HOST_OPCODE_EVENT
+
2797 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2798 */
+
2799 const char* sendVstEvents;
+
2800
+
2801 /** Plug-in can receive events from host.
+
2802 *
+
2803 * @sa vst_host_supports_t.sendVstEvents
+
2804 * @sa VST_EFFECT_OPCODE_EVENT
+
2805 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2806 */
+
2807 const char* receiveVstEvents;
+
2808
+
2809 /** Host can send MIDI events to plug-in.
+
2810 *
+
2811 * @sa vst_effect_supports_t.receiveVstMidiEvents
+
2812 * @sa VST_EFFECT_OPCODE_EVENT
+
2813 * @sa vst_effect_midi_t
+
2814 * @sa vst_effect_midi_sysex_t
+
2815 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2816 */
+
2817 const char* sendVstMidiEvent;
+
2818
+
2819 /** Plug-in can receive MIDI events from host.
+
2820 *
+
2821 * @sa vst_host_supports_t.sendVstMidiEvents
+
2822 * @sa VST_HOST_OPCODE_EVENT
+
2823 * @sa vst_effect_midi_t
+
2824 * @sa vst_effect_midi_sysex_t
+
2825 * @note (VST 2.0+) Available from VST 2.0 onwards.
+
2826 */
+
2827 const char* receiveVstMidiEvent;
+
2828
+
2829 /** Plug-in wants to use @ref VST_HOST_OPCODE_EDITOR_RESIZE.
+
2830 * Only necessary for legacy host compatibility.
+
2831 *
+
2832 * @sa vst_host_supports_t.sizeWindow
+
2833 * @note (VST 2.1+) Available from VST 2.1 onwards.
+
2834 * @deprecated (VST 2.4+) Deprecated from VST 2.4 onwards as the same check already exists on the host side.
+
2835 * @return @ref VST_STATUS_TRUE if you want to use @ref VST_HOST_OPCODE_EDITOR_RESIZE, otherwise @ref VST_STATUS_FALSE.
+
2836 */
+
2837 const char* conformsToWindowRules;
+
2838
+
2839 const char* midiProgramNames; // VST 2.1 or later.
+
2840 const char* receiveVstTimeInfo;
+
2841 const char* offline;
+
2842 // The following were only found in VST 2.3 plug-ins
+
2843 const char* plugAsChannelInsert;
+
2844 const char* plugAsSend;
+
2845 const char* mixDryWet;
+
2846 const char* noRealTime;
+
2847 const char* multipass;
+
2848 const char* metapass;
+
2849 const char* _1in1out;
+
2850 const char* _1in2out;
+
2851 const char* _2in1out;
+
2852 const char* _2in2out;
+
2853 const char* _2in4out;
+
2854 const char* _4in2out;
+
2855 const char* _4in4out;
+
2856 const char* _4in8out;
+
2857 const char* _8in4out;
+
2858 const char* _8in8out;
+
2859} /** @private */ vst_effect_supports = {
+
2860 .bypass = "bypass",
+
2861 .sendVstEvents = "sendVstEvents",
+
2862 .receiveVstEvents = "receiveVstEvents",
+
2863 .sendVstMidiEvent = "sendVstMidiEvent",
+
2864 .receiveVstMidiEvent = "receiveVstMidiEvent",
+
2865 .conformsToWindowRules = "conformsToWindowRules",
+
2866 .midiProgramNames = "midiProgramNames",
+
2867 .receiveVstTimeInfo = "receiveVstTimeInfo",
+
2868 .offline = "offline",
+
2869 .plugAsChannelInsert = "plugAsChannelInsert",
+
2870 .plugAsSend = "plugAsSend",
+
2871 .mixDryWet = "mixDryWet",
+
2872 .noRealTime = "noRealTime",
+
2873 .multipass = "multipass",
+
2874 .metapass = "metapass",
+
2875 ._1in1out = "1in1out",
+
2876 ._1in2out = "1in2out",
+
2877 ._2in1out = "2in1out",
+
2878 ._2in2out = "2in2out",
+
2879 ._2in4out = "2in4out",
+
2880 ._4in2out = "4in2out",
+
2881 ._4in4out = "4in4out",
+
2882 ._4in8out = "4in8out",
+
2883 ._8in4out = "8in4out",
+
2884 ._8in8out = "8in8out",
+
2885};
+
2886#endif
+
2887
+
2888/** Control the VST through an opcode and up to four parameters.
+
2889 *
+
2890 * @sa VST_EFFECT_OPCODE
+
2891 *
+
2892 * @param self Pointer to the effect itself.
+
2893 * @param opcode The opcode to run, see @ref VST_EFFECT_OPCODE.
+
2894 * @param p_int1 Parameter, see @ref VST_EFFECT_OPCODE.
+
2895 * @param p_int2 Parameter, see @ref VST_EFFECT_OPCODE.
+
2896 * @param p_ptr Parameter, see @ref VST_EFFECT_OPCODE.
+
2897 * @param p_float Parameter, see @ref VST_EFFECT_OPCODE.
+
2898 */
+
2899typedef intptr_t (VST_FUNCTION_INTERFACE* vst_effect_control_t)(struct vst_effect_t* self, int32_t opcode, int32_t p_int1, intptr_t p_int2, void* p_ptr, float p_float);
+
2900
+
2901/** Process the given number of samples in inputs and outputs.
+
2902 *
+
2903 * Used to handle input data and provides output data. We seem to be the ones that provide the output buffer?
+
2904 *
+
2905 * @param self Pointer to the effect itself.
+
2906 * @param inputs Pointer to an array of 'const float[samples]' with size @ref vst_effect_t.num_inputs.
+
2907 * @param outputs Pointer to an array of 'float[samples]' with size @ref vst_effect_t.num_outputs.
+
2908 * @param samples Number of samples per channel in inputs and outputs.
+
2909 */
+
2910typedef void (VST_FUNCTION_INTERFACE* vst_effect_process_t) (struct vst_effect_t* self, const float* const* inputs, float** outputs, int32_t samples);
+
2911
+
2912/** Updates the value for the parameter at the given index, or does nothing if out of bounds.
+
2913 *
+
2914 * @param self Pointer to the effect itself.
+
2915 * @param index Parameter index.
+
2916 * @param value New value for the parameter.
+
2917 */
+
2918typedef void(VST_FUNCTION_INTERFACE* vst_effect_set_parameter_t)(struct vst_effect_t* self, uint32_t index, float value);
+
2919
+
2920/** Retrieve the current value of the parameter at the given index, or do nothing if out of bounds.
+
2921 *
+
2922 * @param self Pointer to the effect itself.
+
2923 * @param index Parameter index.
+
2924 * @return Current value of the parameter.
+
2925 */
+
2926typedef float(VST_FUNCTION_INTERFACE* vst_effect_get_parameter_t)(struct vst_effect_t* self, uint32_t index);
+
2927
+
2928/** Process the given number of single samples in inputs and outputs.
+
2929 *
+
2930 * Process input and overwrite the output in place. Host provides output buffers.
+
2931 *
+
2932 * @important Not thread-safe on MacOS for some reason or another.
+
2933 *
+
2934 * @param self Pointer to the effect itself.
+
2935 * @param inputs Pointer to an array of 'const float[samples]' with size numInputs.
+
2936 * @param outputs Pointer to an array of 'float[samples]' with size numOutputs.
+
2937 * @param samples Number of samples per channel in inputs.
+
2938 */
+
2939typedef void(VST_FUNCTION_INTERFACE* vst_effect_process_float_t)(struct vst_effect_t* self, const float* const* inputs, float** outputs, int32_t samples);
+
2940
+
2941/** Process the given number of double samples in inputs and outputs.
+
2942 *
+
2943 * Process input and overwrite the output in place. Host provides output buffers.
+
2944 *
+
2945 * @note (VST 2.4+) Available from VST 2.4 and later.
+
2946 *
+
2947 * @param self Pointer to the effect itself.
+
2948 * @param inputs Pointer to an array of 'const double[samples]' with size numInputs.
+
2949 * @param outputs Pointer to an array of 'double[samples]' with size numOutputs.
+
2950 * @param samples Number of samples per channel in inputs.
+
2951 */
+
2952typedef void (VST_FUNCTION_INTERFACE* vst_effect_process_double_t)(struct vst_effect_t* self, const double* const* inputs, double** outputs, int32_t samples);
+
2953
+
2954/** Plug-in Effect definition
+
2955 */
+ +
2957 /** VST Magic Number
+
2958 *
+
2959 * Should always be VST_FOURCC('VstP')
+
2960 *
+
2961 * @sa VST_MAGICNUMBER
2962 */
-
2963 vst_effect_control_t control;
+
2964
-
2965 /** Process Function
-
2966 * @sa vst_effect_process_t
-
2967 * @deprecated (VST 2.4+) Deprecated and practically unsupported in all VST 2.4 compatible hosts and may treat it
-
2968 * as just another @ref vst_effect_t.process_float.
-
2969 */
- -
2971
-
2972 /** Set Parameter Function
-
2973 * @sa vst_effect_set_parameter_t
-
2974 */
- -
2976
-
2977 /** Get Parameter Function
-
2978 * @sa vst_effect_get_parameter_t
-
2979 */
- -
2981
-
2982 /** Number of available pre-defined programs.
-
2983 *
-
2984 * @sa VST_EFFECT_OPCODE_PROGRAM_LOAD
-
2985 * @sa VST_EFFECT_OPCODE_PROGRAM_SET_BEGIN
-
2986 * @sa VST_EFFECT_OPCODE_PROGRAM_SET
-
2987 * @sa VST_EFFECT_OPCODE_PROGRAM_SET_NAME
-
2988 * @sa VST_EFFECT_OPCODE_PROGRAM_SET_END
-
2989 * @sa VST_EFFECT_OPCODE_PROGRAM_GET
-
2990 * @sa VST_EFFECT_OPCODE_PROGRAM_GET_NAME
-
2991 * @sa VST_EFFECT_FLAG_CHUNKS
-
2992 * @sa VST_EFFECT_OPCODE_SET_CHUNK_DATA
-
2993 * @sa VST_EFFECT_OPCODE_GET_CHUNK_DATA
-
2994 */
- -
2996
-
2997 /** Number of available parameters.
-
2998 * All programs must have at least this many parameters.
-
2999 *
-
3000 * @sa VST_HOST_OPCODE_IO_MODIFIED
-
3001 */
-
3002 int32_t num_params;
-
3003
-
3004 /** Number of available input streams.
+
2965 /** Control Function
+
2966 * @sa vst_effect_control_t
+
2967 * @sa VST_EFFECT_OPCODE
+
2968 */
+
2969 vst_effect_control_t control;
+
2970
+
2971 /** Process Function
+
2972 * @sa vst_effect_process_t
+
2973 * @deprecated (VST 2.4+) Deprecated and practically unsupported in all VST 2.4 compatible hosts and may treat it
+
2974 * as just another @ref vst_effect_t.process_float.
+
2975 */
+ +
2977
+
2978 /** Set Parameter Function
+
2979 * @sa vst_effect_set_parameter_t
+
2980 */
+ +
2982
+
2983 /** Get Parameter Function
+
2984 * @sa vst_effect_get_parameter_t
+
2985 */
+ +
2987
+
2988 /** Number of available pre-defined programs.
+
2989 *
+
2990 * @sa VST_EFFECT_OPCODE_PROGRAM_LOAD
+
2991 * @sa VST_EFFECT_OPCODE_PROGRAM_SET_BEGIN
+
2992 * @sa VST_EFFECT_OPCODE_PROGRAM_SET
+
2993 * @sa VST_EFFECT_OPCODE_PROGRAM_SET_NAME
+
2994 * @sa VST_EFFECT_OPCODE_PROGRAM_SET_END
+
2995 * @sa VST_EFFECT_OPCODE_PROGRAM_GET
+
2996 * @sa VST_EFFECT_OPCODE_PROGRAM_GET_NAME
+
2997 * @sa VST_EFFECT_FLAG_CHUNKS
+
2998 * @sa VST_EFFECT_OPCODE_SET_CHUNK_DATA
+
2999 * @sa VST_EFFECT_OPCODE_GET_CHUNK_DATA
+
3000 */
+ +
3002
+
3003 /** Number of available parameters.
+
3004 * All programs must have at least this many parameters.
3005 *
-
3006 *
-
3007 * @sa VST_EFFECT_OPCODE_GET_SPEAKER_ARRANGEMENT
-
3008 * @sa VST_EFFECT_OPCODE_INPUT_GET_PROPERTIES
-
3009 * @sa VST_HOST_OPCODE_IO_MODIFIED
-
3010 */
-
3011 int32_t num_inputs;
-
3012
-
3013 /** Number of available output streams.
-
3014 *
-
3015 * @sa VST_EFFECT_OPCODE_GET_SPEAKER_ARRANGEMENT
-
3016 * @sa VST_EFFECT_OPCODE_OUTPUT_GET_PROPERTIES
-
3017 * @sa VST_HOST_OPCODE_IO_MODIFIED
-
3018 */
- -
3020
-
3021 /** Effect Flags
-
3022 *
-
3023 * @sa VST_EFFECT_FLAGS
+
3006 * @sa VST_HOST_OPCODE_IO_MODIFIED
+
3007 */
+
3008 int32_t num_params;
+
3009
+
3010 /** Number of available input streams.
+
3011 *
+
3012 *
+
3013 * @sa VST_EFFECT_OPCODE_GET_SPEAKER_ARRANGEMENT
+
3014 * @sa VST_EFFECT_OPCODE_INPUT_GET_PROPERTIES
+
3015 * @sa VST_HOST_OPCODE_IO_MODIFIED
+
3016 */
+
3017 int32_t num_inputs;
+
3018
+
3019 /** Number of available output streams.
+
3020 *
+
3021 * @sa VST_EFFECT_OPCODE_GET_SPEAKER_ARRANGEMENT
+
3022 * @sa VST_EFFECT_OPCODE_OUTPUT_GET_PROPERTIES
+
3023 * @sa VST_HOST_OPCODE_IO_MODIFIED
3024 */
-
3025 int32_t flags;
+
3026
-
3027 /** @todo */
-
3028 void* _unknown_00; // Must be zero when created. Reserved for host?
-
3029
-
3030 /** @todo */
-
3031 void* _unknown_01; // Must be zero when created. Reserved for host?
+
3027 /** Effect Flags
+
3028 *
+
3029 * @sa VST_EFFECT_FLAGS
+
3030 */
+
3031 int32_t flags;
3032
-
3033 /** Initial delay before processing of samples can actually begin in Samples.
-
3034 *
-
3035 * @note The host can modify this at runtime so it is not safe.
-
3036 * @note Should be reinitialized when the effect is resumed.
-
3037 *
-
3038 * @sa VST_HOST_OPCODE_IO_MODIFIED
-
3039 */
-
3040 int32_t delay;
-
3041
-
3042 /** @todo */
-
3043 int32_t _unknown_02; // Unknown int32_t values.
-
3044
-
3045 /** @todo */
- +
3033 /** @todo */
+
3034 void* _unknown_00; // Must be zero when created. Reserved for host?
+
3035
+
3036 /** @todo */
+
3037 void* _unknown_01; // Must be zero when created. Reserved for host?
+
3038
+
3039 /** Initial delay before processing of samples can actually begin in Samples.
+
3040 *
+
3041 * @note The host can modify this at runtime so it is not safe.
+
3042 * @note Should be reinitialized when the effect is resumed.
+
3043 *
+
3044 * @sa VST_HOST_OPCODE_IO_MODIFIED
+
3045 */
+
3046 int32_t delay;
3047
-
3048 /** Ratio of Input to Output production
-
3049 * Defines how much output data is produced relative to input data when using 'process' instead of 'processFloat'.
-
3050 * Example: A ratio of 2.0 means we produce twice as much output as we receive input.
-
3051 *
-
3052 * Range: >0.0 to Infinity
-
3053 * Default: 1.0
-
3054 * @note Ignored in VST 2.4 or with VST_EFFECT_FLAG_SUPPORTS_FLOAT.
-
3055 */
- -
3057
-
3058 /** Effect Internal Pointer
-
3059 *
-
3060 * You can freely set this to point at some sort of class or similar for use in your own effect. The host must
-
3061 * never modify this or the data available through this.
-
3062 */
- -
3064
-
3065 /** Host Internal Pointer
-
3066 *
-
3067 * The host may set this to point at data related to your effect instance that the host needs. The effect must
-
3068 * never modify this or the data available through this.
-
3069 */
-
3070 void* host_internal; // Pointer to Host internal data.
-
3071
-
3072 /** Id of the plugin.
-
3073 *
-
3074 * Due to this not being enough for uniqueness, it should not be used alone for indexing.
-
3075 * Ideally you want to index like this:
-
3076 * [unique_id][module_name][version][flags]
-
3077 * If any of the checks after unique_id fail, you default to the first possible choice.
-
3078 *
-
3079 * Used in combination with @ref VST_EFFECT_CATEGORY_CONTAINER.
-
3080 *
-
3081 * BUG: Some broken hosts rely on this alone to save information about VST plug-ins.
-
3082 */
-
3083 int32_t unique_id;
-
3084
-
3085 /** Plugin version
+
3048 /** @todo */
+
3049 int32_t _unknown_02; // Unknown int32_t values.
+
3050
+
3051 /** @todo */
+ +
3053
+
3054 /** Ratio of Input to Output production
+
3055 * Defines how much output data is produced relative to input data when using 'process' instead of 'processFloat'.
+
3056 * Example: A ratio of 2.0 means we produce twice as much output as we receive input.
+
3057 *
+
3058 * Range: >0.0 to Infinity
+
3059 * Default: 1.0
+
3060 * @note Ignored in VST 2.4 or with VST_EFFECT_FLAG_SUPPORTS_FLOAT.
+
3061 */
+ +
3063
+
3064 /** Effect Internal Pointer
+
3065 *
+
3066 * You can freely set this to point at some sort of class or similar for use in your own effect. The host must
+
3067 * never modify this or the data available through this.
+
3068 */
+ +
3070
+
3071 /** Host Internal Pointer
+
3072 *
+
3073 * The host may set this to point at data related to your effect instance that the host needs. The effect must
+
3074 * never modify this or the data available through this.
+
3075 */
+
3076 void* host_internal; // Pointer to Host internal data.
+
3077
+
3078 /** Id of the plugin.
+
3079 *
+
3080 * Due to this not being enough for uniqueness, it should not be used alone for indexing.
+
3081 * Ideally you want to index like this:
+
3082 * [unique_id][module_name][version][flags]
+
3083 * If any of the checks after unique_id fail, you default to the first possible choice.
+
3084 *
+
3085 * Used in combination with @ref VST_EFFECT_CATEGORY_CONTAINER.
3086 *
-
3087 * Unrelated to the minimum VST Version, but often the same.
+
3087 * BUG: Some broken hosts rely on this alone to save information about VST plug-ins.
3088 */
-
3089 int32_t version;
+
3089 int32_t unique_id;
3090
-
3091 //--------------------------------------------------------------------------------
-
3092 // VST 2.x starts here.
-
3093 //--------------------------------------------------------------------------------
-
3094
-
3095 /** Process function for in-place single (32-bit float) processiong.
-
3096 * @sa vst_effect_process_single_t
-
3097 * @note (VST 2.0+) Available from VST 2.0 and later.
-
3098 */
- +
3091 /** Plugin version
+
3092 *
+
3093 * Unrelated to the minimum VST Version, but often the same.
+
3094 */
+
3095 int32_t version;
+
3096
+
3097 //--------------------------------------------------------------------------------
+
3098 // VST 2.x starts here.
+
3099 //--------------------------------------------------------------------------------
3100
-
3101 //--------------------------------------------------------------------------------
-
3102 // VST 2.4 starts here.
-
3103 //--------------------------------------------------------------------------------
-
3104
-
3105 /** Process function for in-place double (64-bit float) processiong.
-
3106 * @sa vst_effect_process_double_t
-
3107 * @note (VST 2.4+) Available from VST 2.4 and later.
-
3108 */
- +
3101 /** Process function for in-place single (32-bit float) processiong.
+
3102 * @sa vst_effect_process_single_t
+
3103 * @note (VST 2.0+) Available from VST 2.0 and later.
+
3104 */
+ +
3106
+
3107 //--------------------------------------------------------------------------------
+
3108 // VST 2.4 starts here.
+
3109 //--------------------------------------------------------------------------------
3110
-
3111 // Everything after this is unknown and was present in reacomp-standalone.dll.
-
3112 uint8_t _unknown[56]; // 56-bytes of something. Could also just be 52-bytes.
-
3113};
-
3114
-
3115/** VST 2.x Entry Point for all platforms
-
3116 *
-
3117 * Must be present in VST 2.x plug-ins but must not be present in VST 1.x plug-ins.
-
3118 *
-
3119 * @return A new instance of the VST 2.x effect.
-
3120 */
-
3121#define VST_ENTRYPOINT
-
3122 vst_effect_t* VSTPluginMain(vst_host_callback_t callback)
-
3123
-
3124/** [DEPRECATED] VST 1.x Entry Point for Windows
-
3125 *
-
3126 * Do not implement in VST 2.1 or later plug-ins!
-
3127 *
-
3128 * @return A new instance of the VST 1.x effect.
-
3129 */
-
3130#define VST_ENTRYPOINT_WINDOWS
-
3131 vst_effect_t* MAIN(vst_host_callback_t callback) { return VSTPluginMain(callback); }
-
3132
-
3133/** [DEPRECATED] VST 1.x Entry Point for MacOS
-
3134 *
-
3135 * Do not implement in VST 2.1 or later plug-ins!
-
3136 *
-
3137 * @return A new instance of the VST 1.x effect.
-
3138 */
-
3139#define VST_ENTRYPOINT_MACOS
-
3140 vst_effect_t* main_macho(vst_host_callback_t callback) { return VSTPluginMain(callback); }
-
3141
-
3142/** [DEPRECATED] VST 2.3 Entry Point for PowerPC
-
3143 *
-
3144 * Present in some VST 2.3 and earlier compatible plug-ins that support MacOS.
-
3145 *
-
3146 * @return A new instance of the VST 2.x effect.
-
3147 */
-
3148#define VST_ENTRYPOINT_MACOS_POWERPC
-
3149 vst_effect_t* main(vst_host_callback_t callback) { return VSTPluginMain(callback); }
-
3150
-
3151#ifdef __cplusplus
-
3152}
-
3153#endif
-
3154#pragma pack(pop)
-
3155#endif
-
Plug-in Effect definition.
Definition vst.h:2950
-
int32_t num_outputs
Number of available output streams.
Definition vst.h:3019
-
int32_t magic_number
VST Magic Number.
Definition vst.h:2957
-
vst_effect_process_double_t process_double
Process function for in-place double (64-bit float) processiong.
Definition vst.h:3109
-
int32_t _unknown_02
Definition vst.h:3043
-
int32_t unique_id
Id of the plugin.
Definition vst.h:3083
-
vst_effect_process_t process
Process Function.
Definition vst.h:2970
-
int32_t flags
Effect Flags.
Definition vst.h:3025
-
float input_output_ratio
Ratio of Input to Output production Defines how much output data is produced relative to input data w...
Definition vst.h:3056
-
int32_t num_programs
Number of available pre-defined programs.
Definition vst.h:2995
-
vst_effect_process_float_t process_float
Process function for in-place single (32-bit float) processiong.
Definition vst.h:3099
-
int32_t version
Plugin version.
Definition vst.h:3089
-
void * host_internal
Host Internal Pointer.
Definition vst.h:3070
-
vst_effect_set_parameter_t set_parameter
Set Parameter Function.
Definition vst.h:2975
-
uint8_t _unknown[56]
Definition vst.h:3112
-
void * _unknown_01
Definition vst.h:3031
-
int32_t _unknown_03
Definition vst.h:3046
-
int32_t num_params
Number of available parameters.
Definition vst.h:3002
-
void * effect_internal
Effect Internal Pointer.
Definition vst.h:3063
-
vst_effect_get_parameter_t get_parameter
Get Parameter Function.
Definition vst.h:2980
-
int32_t delay
Initial delay before processing of samples can actually begin in Samples.
Definition vst.h:3040
-
int32_t num_inputs
Number of available input streams.
Definition vst.h:3011
-
void * _unknown_00
Definition vst.h:3028
-
vst_effect_control_t control
Control Function.
Definition vst.h:2963
+
3111 /** Process function for in-place double (64-bit float) processiong.
+
3112 * @sa vst_effect_process_double_t
+
3113 * @note (VST 2.4+) Available from VST 2.4 and later.
+
3114 */
+ +
3116
+
3117 // Everything after this is unknown and was present in reacomp-standalone.dll.
+
3118 uint8_t _unknown[56]; // 56-bytes of something. Could also just be 52-bytes.
+
3119};
+
3120
+
3121/** VST 2.x Entry Point for all platforms
+
3122 *
+
3123 * Must be present in VST 2.x plug-ins but must not be present in VST 1.x plug-ins.
+
3124 *
+
3125 * @return A new instance of the VST 2.x effect.
+
3126 */
+
3127#define VST_ENTRYPOINT
+
3128 vst_effect_t* VSTPluginMain(vst_host_callback_t callback)
+
3129
+
3130/** [DEPRECATED] VST 1.x Entry Point for Windows
+
3131 *
+
3132 * Do not implement in VST 2.1 or later plug-ins!
+
3133 *
+
3134 * @return A new instance of the VST 1.x effect.
+
3135 */
+
3136#define VST_ENTRYPOINT_WINDOWS
+
3137 vst_effect_t* MAIN(vst_host_callback_t callback) { return VSTPluginMain(callback); }
+
3138
+
3139/** [DEPRECATED] VST 1.x Entry Point for MacOS
+
3140 *
+
3141 * Do not implement in VST 2.1 or later plug-ins!
+
3142 *
+
3143 * @return A new instance of the VST 1.x effect.
+
3144 */
+
3145#define VST_ENTRYPOINT_MACOS
+
3146 vst_effect_t* main_macho(vst_host_callback_t callback) { return VSTPluginMain(callback); }
+
3147
+
3148/** [DEPRECATED] VST 2.3 Entry Point for PowerPC
+
3149 *
+
3150 * Present in some VST 2.3 and earlier compatible plug-ins that support MacOS.
+
3151 *
+
3152 * @return A new instance of the VST 2.x effect.
+
3153 */
+
3154#define VST_ENTRYPOINT_MACOS_POWERPC
+
3155 vst_effect_t* main(vst_host_callback_t callback) { return VSTPluginMain(callback); }
+
3156
+
3157#ifdef __cplusplus
+
3158}
+
3159#endif
+
3160#pragma pack(pop)
+
3161#endif
+
Plug-in Effect definition.
Definition vst.h:2956
+
int32_t num_outputs
Number of available output streams.
Definition vst.h:3025
+
int32_t magic_number
VST Magic Number.
Definition vst.h:2963
+
vst_effect_process_double_t process_double
Process function for in-place double (64-bit float) processiong.
Definition vst.h:3115
+
int32_t _unknown_02
Definition vst.h:3049
+
int32_t unique_id
Id of the plugin.
Definition vst.h:3089
+
vst_effect_process_t process
Process Function.
Definition vst.h:2976
+
int32_t flags
Effect Flags.
Definition vst.h:3031
+
float input_output_ratio
Ratio of Input to Output production Defines how much output data is produced relative to input data w...
Definition vst.h:3062
+
int32_t num_programs
Number of available pre-defined programs.
Definition vst.h:3001
+
vst_effect_process_float_t process_float
Process function for in-place single (32-bit float) processiong.
Definition vst.h:3105
+
int32_t version
Plugin version.
Definition vst.h:3095
+
void * host_internal
Host Internal Pointer.
Definition vst.h:3076
+
vst_effect_set_parameter_t set_parameter
Set Parameter Function.
Definition vst.h:2981
+
uint8_t _unknown[56]
Definition vst.h:3118
+
void * _unknown_01
Definition vst.h:3037
+
int32_t _unknown_03
Definition vst.h:3052
+
int32_t num_params
Number of available parameters.
Definition vst.h:3008
+
void * effect_internal
Effect Internal Pointer.
Definition vst.h:3069
+
vst_effect_get_parameter_t get_parameter
Get Parameter Function.
Definition vst.h:2986
+
int32_t delay
Initial delay before processing of samples can actually begin in Samples.
Definition vst.h:3046
+
int32_t num_inputs
Number of available input streams.
Definition vst.h:3017
+
void * _unknown_00
Definition vst.h:3034
+
vst_effect_control_t control
Control Function.
Definition vst.h:2969
A generic event.
Definition vst.h:855
int32_t type
What event type was triggered? Any of VST_EVENT_TYPE.
Definition vst.h:859
int32_t offset
Offset of the event relative to some position.
Definition vst.h:875
@@ -3362,9 +3368,9 @@ $(document).ready(function(){initNavTree('vst_8h_source.html',''); initResizable
@ VST_VERSION_2_4_0_0
SDK Version 2.4.
Definition vst.h:164
@ VST_VERSION_1_0_0_0
SDK Version 1.0.
Definition vst.h:147
@ VST_VERSION_1
Private SDK Version 1.0.
Definition vst.h:145
-
void(VST_FUNCTION_INTERFACE * vst_effect_process_t)(struct vst_effect_t *self, const float *const *inputs, float **outputs, int32_t samples)
Process the given number of samples in inputs and outputs.
Definition vst.h:2904
+
void(VST_FUNCTION_INTERFACE * vst_effect_process_t)(struct vst_effect_t *self, const float *const *inputs, float **outputs, int32_t samples)
Process the given number of samples in inputs and outputs.
Definition vst.h:2910
#define VST_MAX_CHANNELS
Maximum number of channels/streams/inputs/outputs supported by VST 2.x Couldn't find any audio editin...
Definition vst.h:56
-
void(VST_FUNCTION_INTERFACE * vst_effect_set_parameter_t)(struct vst_effect_t *self, uint32_t index, float value)
Updates the value for the parameter at the given index, or does nothing if out of bounds.
Definition vst.h:2912
+
void(VST_FUNCTION_INTERFACE * vst_effect_set_parameter_t)(struct vst_effect_t *self, uint32_t index, float value)
Updates the value for the parameter at the given index, or does nothing if out of bounds.
Definition vst.h:2918
VST_HOST_OPCODE
Plug-in to Host Op-Codes These Op-Codes are emitted by the plug-in and the host may handle them or re...
Definition vst.h:1044
@ VST_HOST_OPCODE_LANGUAGE
Definition vst.h:1333
@ VST_HOST_OPCODE_EVENT
Definition vst.h:1121
@@ -3450,7 +3456,7 @@ $(document).ready(function(){initNavTree('vst_8h_source.html',''); initResizable
@ VST_HOST_OPCODE_REFRESH
Definition vst.h:1366
@ VST_HOST_OPCODE_09
Send events from plug-in to host.
Definition vst.h:1119
@ VST_HOST_OPCODE_OUTPUT_GET_ATTACHED_EFFECT
Definition vst.h:1228
-
void(VST_FUNCTION_INTERFACE * vst_effect_process_double_t)(struct vst_effect_t *self, const double *const *inputs, double **outputs, int32_t samples)
Process the given number of double samples in inputs and outputs.
Definition vst.h:2946
+
void(VST_FUNCTION_INTERFACE * vst_effect_process_double_t)(struct vst_effect_t *self, const double *const *inputs, double **outputs, int32_t samples)
Process the given number of double samples in inputs and outputs.
Definition vst.h:2952
VST_STATUS
Known Status Codes.
Definition vst.h:64
@ VST_STATUS_ERROR
Definition vst.h:75
@ VST_STATUS_0
Unknown / False We either don't know the answer or we can't handle the data/notification.
Definition vst.h:71
@@ -3506,30 +3512,30 @@ $(document).ready(function(){initNavTree('vst_8h_source.html',''); initResizable
@ VST_SPEAKER_TYPE_USER_14
Definition vst.h:617
@ VST_SPEAKER_TYPE_USER_16
Definition vst.h:615
@ VST_SPEAKER_TYPE_USER_03
Definition vst.h:628
-
VST_EFFECT_CATEGORY
Plug-in Categories Pre-defined category grouping that also affect host behavior when handling the plu...
Definition vst.h:1612
-
@ VST_EFFECT_CATEGORY_0A
Container Plug-in This plug-in contains multiple effects in one and requires special handling on both...
Definition vst.h:1775
-
@ VST_EFFECT_CATEGORY_EFFECT
Definition vst.h:1622
-
@ VST_EFFECT_CATEGORY_02
Instruments Examples: Instruments, Synths, Samplers, ...
Definition vst.h:1629
-
@ VST_EFFECT_CATEGORY_METERING
Definition vst.h:1641
-
@ VST_EFFECT_CATEGORY_01
Generic Effects Examples: Distortion, Pitch Shift, ...
Definition vst.h:1620
-
@ VST_EFFECT_CATEGORY_08
Restoration Examples: Noise Filtering, Upsamplers, ...
Definition vst.h:1685
-
@ VST_EFFECT_CATEGORY_WAVEGENERATOR
Definition vst.h:1789
-
@ VST_EFFECT_CATEGORY_09
Offline Processing Examples: Nothing Supports: Nothing.
Definition vst.h:1693
-
@ VST_EFFECT_CATEGORY_SPATIAL
Definition vst.h:1659
-
@ VST_EFFECT_CATEGORY_07
External Processing.
Definition vst.h:1675
-
@ VST_EFFECT_CATEGORY_06
Delay/Echo Examples: Echo, Reverb, Room Simulation, Delay, ...
Definition vst.h:1666
-
@ VST_EFFECT_CATEGORY_EXTERNAL
Definition vst.h:1677
-
@ VST_EFFECT_CATEGORY_OFFLINE
Definition vst.h:1695
-
@ VST_EFFECT_CATEGORY_0B
Waveform Generators Examples: Sine Wave Generator, ... Supports: Delay, Tail Samples.
Definition vst.h:1787
-
@ VST_EFFECT_CATEGORY_05
Spatializers Examples: Channel Panning, Expanders, ...
Definition vst.h:1657
-
@ VST_EFFECT_CATEGORY_MASTERING
Definition vst.h:1650
-
@ VST_EFFECT_CATEGORY_RESTORATION
Definition vst.h:1687
-
@ VST_EFFECT_CATEGORY_UNCATEGORIZED
Definition vst.h:1613
-
@ VST_EFFECT_CATEGORY_03
Metering Examples: Loudness Meters, Volume Analysis, ...
Definition vst.h:1639
-
@ VST_EFFECT_CATEGORY_INSTRUMENT
Definition vst.h:1631
-
@ VST_EFFECT_CATEGORY_DELAY_OR_ECHO
Definition vst.h:1668
-
@ VST_EFFECT_CATEGORY_04
Mastering Examples: Compressors, Limiters, ...
Definition vst.h:1648
-
@ VST_EFFECT_CATEGORY_CONTAINER
Definition vst.h:1777
+
VST_EFFECT_CATEGORY
Plug-in Categories Pre-defined category grouping that also affect host behavior when handling the plu...
Definition vst.h:1618
+
@ VST_EFFECT_CATEGORY_0A
Container Plug-in This plug-in contains multiple effects in one and requires special handling on both...
Definition vst.h:1781
+
@ VST_EFFECT_CATEGORY_EFFECT
Definition vst.h:1628
+
@ VST_EFFECT_CATEGORY_02
Instruments Examples: Instruments, Synths, Samplers, ...
Definition vst.h:1635
+
@ VST_EFFECT_CATEGORY_METERING
Definition vst.h:1647
+
@ VST_EFFECT_CATEGORY_01
Generic Effects Examples: Distortion, Pitch Shift, ...
Definition vst.h:1626
+
@ VST_EFFECT_CATEGORY_08
Restoration Examples: Noise Filtering, Upsamplers, ...
Definition vst.h:1691
+
@ VST_EFFECT_CATEGORY_WAVEGENERATOR
Definition vst.h:1795
+
@ VST_EFFECT_CATEGORY_09
Offline Processing Examples: Nothing Supports: Nothing.
Definition vst.h:1699
+
@ VST_EFFECT_CATEGORY_SPATIAL
Definition vst.h:1665
+
@ VST_EFFECT_CATEGORY_07
External Processing.
Definition vst.h:1681
+
@ VST_EFFECT_CATEGORY_06
Delay/Echo Examples: Echo, Reverb, Room Simulation, Delay, ...
Definition vst.h:1672
+
@ VST_EFFECT_CATEGORY_EXTERNAL
Definition vst.h:1683
+
@ VST_EFFECT_CATEGORY_OFFLINE
Definition vst.h:1701
+
@ VST_EFFECT_CATEGORY_0B
Waveform Generators Examples: Sine Wave Generator, ... Supports: Delay, Tail Samples.
Definition vst.h:1793
+
@ VST_EFFECT_CATEGORY_05
Spatializers Examples: Channel Panning, Expanders, ...
Definition vst.h:1663
+
@ VST_EFFECT_CATEGORY_MASTERING
Definition vst.h:1656
+
@ VST_EFFECT_CATEGORY_RESTORATION
Definition vst.h:1693
+
@ VST_EFFECT_CATEGORY_UNCATEGORIZED
Definition vst.h:1619
+
@ VST_EFFECT_CATEGORY_03
Metering Examples: Loudness Meters, Volume Analysis, ...
Definition vst.h:1645
+
@ VST_EFFECT_CATEGORY_INSTRUMENT
Definition vst.h:1637
+
@ VST_EFFECT_CATEGORY_DELAY_OR_ECHO
Definition vst.h:1674
+
@ VST_EFFECT_CATEGORY_04
Mastering Examples: Compressors, Limiters, ...
Definition vst.h:1654
+
@ VST_EFFECT_CATEGORY_CONTAINER
Definition vst.h:1783
VST_VKEY
Virtual Key codes.
Definition vst.h:184
@ VST_VKEY_F5
Definition vst.h:311
@ VST_VKEY_47
Definition vst.h:319
@@ -3651,19 +3657,19 @@ $(document).ready(function(){initNavTree('vst_8h_source.html',''); initResizable
@ VST_VKEY_64
Definition vst.h:356
@ VST_VKEY_PRINT
Definition vst.h:236
@ VST_VKEY_NUMPAD_ENTER
Definition vst.h:239
-
VST_EFFECT_FLAG
Effect Flags.
Definition vst.h:1800
-
@ VST_EFFECT_FLAG_SILENT_TAIL
Definition vst.h:1868
-
@ VST_EFFECT_FLAG_1ls9
Effect does not produce tail samples when the input is silent.
Definition vst.h:1866
-
@ VST_EFFECT_FLAG_CHUNKS
Definition vst.h:1846
-
@ VST_EFFECT_FLAG_1ls4
Effect uses process_float.
Definition vst.h:1834
-
@ VST_EFFECT_FLAG_1ls5
Effect supports saving/loading programs/banks from unformatted chunk data.
Definition vst.h:1844
-
@ VST_EFFECT_FLAG_EDITOR
Definition vst.h:1822
-
@ VST_EFFECT_FLAG_SUPPORTS_FLOAT
Definition vst.h:1836
-
@ VST_EFFECT_FLAG_1ls0
Effect provides a custom editor.
Definition vst.h:1820
-
@ VST_EFFECT_FLAG_INSTRUMENT
Definition vst.h:1858
-
@ VST_EFFECT_FLAG_1ls12
Effect supports process_double.
Definition vst.h:1880
-
@ VST_EFFECT_FLAG_1ls8
Effect is an Instrument/Generator.
Definition vst.h:1856
-
@ VST_EFFECT_FLAG_SUPPORTS_DOUBLE
Definition vst.h:1882
+
VST_EFFECT_FLAG
Effect Flags.
Definition vst.h:1806
+
@ VST_EFFECT_FLAG_SILENT_TAIL
Definition vst.h:1874
+
@ VST_EFFECT_FLAG_1ls9
Effect does not produce tail samples when the input is silent.
Definition vst.h:1872
+
@ VST_EFFECT_FLAG_CHUNKS
Definition vst.h:1852
+
@ VST_EFFECT_FLAG_1ls4
Effect uses process_float.
Definition vst.h:1840
+
@ VST_EFFECT_FLAG_1ls5
Effect supports saving/loading programs/banks from unformatted chunk data.
Definition vst.h:1850
+
@ VST_EFFECT_FLAG_EDITOR
Definition vst.h:1828
+
@ VST_EFFECT_FLAG_SUPPORTS_FLOAT
Definition vst.h:1842
+
@ VST_EFFECT_FLAG_1ls0
Effect provides a custom editor.
Definition vst.h:1826
+
@ VST_EFFECT_FLAG_INSTRUMENT
Definition vst.h:1864
+
@ VST_EFFECT_FLAG_1ls12
Effect supports process_double.
Definition vst.h:1886
+
@ VST_EFFECT_FLAG_1ls8
Effect is an Instrument/Generator.
Definition vst.h:1862
+
@ VST_EFFECT_FLAG_SUPPORTS_DOUBLE
Definition vst.h:1888
VST_VKEY_MODIFIER
Definition vst.h:364
@ VST_VKEY_MODIFIER_1ls1
One of the alt keys is held down.
Definition vst.h:371
@ VST_VKEY_MODIFIER_1ls0
One of the shift keys is held down.
Definition vst.h:366
@@ -3686,7 +3692,7 @@ $(document).ready(function(){initNavTree('vst_8h_source.html',''); initResizable
@ VST_BUFFER_SIZE_EFFECT_NAME
Definition vst.h:115
@ VST_BUFFER_SIZE_PARAM_LONG_NAME
Definition vst.h:116
@ VST_BUFFER_SIZE_PRODUCT_NAME
Definition vst.h:117
-
void(VST_FUNCTION_INTERFACE * vst_effect_process_float_t)(struct vst_effect_t *self, const float *const *inputs, float **outputs, int32_t samples)
Process the given number of single samples in inputs and outputs.
Definition vst.h:2933
+
void(VST_FUNCTION_INTERFACE * vst_effect_process_float_t)(struct vst_effect_t *self, const float *const *inputs, float **outputs, int32_t samples)
Process the given number of single samples in inputs and outputs.
Definition vst.h:2939
VST_PARAMETER_FLAG
Flags for parameters.
Definition vst.h:399
@ VST_PARAMETER_FLAG_SWITCH
Definition vst.h:406
@ VST_PARAMETER_FLAG_1ls6
Parameter can be gradually increased/decreased.
Definition vst.h:452
@@ -3704,181 +3710,181 @@ $(document).ready(function(){initNavTree('vst_8h_source.html',''); initResizable
@ VST_PARAMETER_FLAG_1ls1
Parameter limits are set as integers.
Definition vst.h:412
@ _VST_PARAMETER_FLAG_PAD
Definition vst.h:456
#define VST_FUNCTION_INTERFACE
Standard calling convention across plug-ins and hosts.
Definition vst.h:49
-
VST_EFFECT_OPCODE
Host to Plug-in Op-Codes These Op-Codes are emitted by the host and we must either handle them or ret...
Definition vst.h:1888
-
@ VST_EFFECT_OPCODE_WINDOW_MOUSE
Definition vst.h:2099
-
@ VST_EFFECT_OPCODE_2A
Host wants to change the speaker arrangement.
Definition vst.h:2372
-
@ VST_EFFECT_OPCODE_GETVENDORVERSION
Definition vst.h:2448
-
@ VST_EFFECT_OPCODE_20
Input disconnected.
Definition vst.h:2273
-
@ VST_EFFECT_OPCODE_14
Window Focus Event?
Definition vst.h:2135
-
@ VST_EFFECT_OPCODE_PARAM_VALUE_TO_STRING
Definition vst.h:1977
-
@ VST_EFFECT_OPCODE_PARAM_GETLABEL
Definition vst.h:1957
-
@ VST_EFFECT_OPCODE_4E
Definition vst.h:2750
-
@ VST_EFFECT_OPCODE_43
Host is starting to set up a program.
Definition vst.h:2628
-
@ VST_EFFECT_OPCODE_3E
Midi related.
Definition vst.h:2588
-
@ VST_EFFECT_OPCODE_32
User-defined Op-Code for VST extensions.
Definition vst.h:2459
-
@ VST_EFFECT_OPCODE_03
Get currently selected program number.
Definition vst.h:1923
-
@ VST_EFFECT_OPCODE_SET_CHUNK_DATA
Definition vst.h:2183
-
@ VST_EFFECT_OPCODE_21
Retrieve properties for the given input index.
Definition vst.h:2282
-
@ VST_EFFECT_OPCODE_PRODUCT_NAME
Definition vst.h:2439
-
@ VST_EFFECT_OPCODE_4B
Host wants to know if we can load the provided bank data.
Definition vst.h:2715
-
@ VST_EFFECT_OPCODE_PARAM_NAME
Definition vst.h:1991
-
@ VST_EFFECT_OPCODE_1C
Definition vst.h:2241
-
@ VST_EFFECT_OPCODE_41
Midi related.
Definition vst.h:2612
-
@ VST_EFFECT_OPCODE_SET_SAMPLE_RATE
Definition vst.h:2008
-
@ VST_EFFECT_OPCODE_CREATE
Definition vst.h:1895
-
@ VST_EFFECT_OPCODE_EDITOR_GET_RECT
Definition vst.h:2048
-
@ VST_EFFECT_OPCODE_SET_SPEAKER_ARRANGEMENT
Definition vst.h:2374
-
@ VST_EFFECT_OPCODE_PARAM_GETVALUE
Definition vst.h:1971
-
@ VST_EFFECT_OPCODE_PROGRAM_SET_NAME
Definition vst.h:1937
-
@ VST_EFFECT_OPCODE_06
Get the value? label for the parameter.
Definition vst.h:1955
-
@ VST_EFFECT_OPCODE_0A
Set the new sample rate for the plugin to use.
Definition vst.h:2004
-
@ VST_EFFECT_OPCODE_10
Window Draw Event?
Definition vst.h:2081
-
@ VST_EFFECT_OPCODE_2F
Retrieve the vendor name into the ptr buffer.
Definition vst.h:2424
-
@ VST_EFFECT_OPCODE_PROGRAM_GET
Definition vst.h:1927
-
@ VST_EFFECT_OPCODE_28
Seen in plug-ins with VST_EFFECT_CATEGORY_OFFLINE.
Definition vst.h:2350
-
@ VST_EFFECT_OPCODE_4D
Definition vst.h:2742
-
@ VST_EFFECT_OPCODE_01
Destroy the effect (if there is any) and free its memory.
Definition vst.h:1905
-
@ VST_EFFECT_OPCODE_3C
Editor Virtual Key Up Event.
Definition vst.h:2570
-
@ VST_EFFECT_OPCODE_1B
Set Parameter value from string representation.
Definition vst.h:2229
-
@ VST_EFFECT_OPCODE_SET_BLOCK_SIZE
Definition vst.h:2018
-
@ VST_EFFECT_OPCODE_IDLE
Definition vst.h:2495
-
@ VST_EFFECT_OPCODE_33
Test for support of a specific named feature.
Definition vst.h:2470
-
@ VST_EFFECT_OPCODE_04
Set the name of the currently selected program.
Definition vst.h:1933
-
@ VST_EFFECT_OPCODE_09
Definition vst.h:1998
-
@ VST_EFFECT_OPCODE_PARAM_GET_NAME
Definition vst.h:1989
-
@ VST_EFFECT_OPCODE_OUTPUT_STREAM_GET_PROPERTIES
Definition vst.h:2299
-
@ VST_EFFECT_OPCODE_INPUT_STREAM_GET_PROPERTIES
Definition vst.h:2286
-
@ VST_EFFECT_OPCODE_BANK_LOAD
Definition vst.h:2717
-
@ VST_EFFECT_OPCODE_EDITOR_MOUSE
Definition vst.h:2101
-
@ VST_EFFECT_OPCODE_WINDOW_CREATE
Definition vst.h:2057
-
@ VST_EFFECT_OPCODE_0B
Sets the block size, which is the maximum number of samples passed into the effect via process calls.
Definition vst.h:2014
-
@ VST_EFFECT_OPCODE_PARAM_GET_VALUE
Definition vst.h:1973
-
@ VST_EFFECT_OPCODE_39
Definition vst.h:2534
-
@ VST_EFFECT_OPCODE_05
Get the name of the currently selected program.
Definition vst.h:1943
-
@ VST_EFFECT_OPCODE_1A
Can the parameter be automated?
Definition vst.h:2214
-
@ VST_EFFECT_OPCODE_19
Send events from host to plug-in.
Definition vst.h:2204
-
@ VST_EFFECT_OPCODE_PROGRAM_SET_END
Definition vst.h:2640
-
@ VST_EFFECT_OPCODE_GET_PROGRAM
Definition vst.h:1925
-
@ VST_EFFECT_OPCODE_12
Window Keyboard Event?
Definition vst.h:2113
-
@ VST_EFFECT_OPCODE_42
Midi related.
Definition vst.h:2620
-
@ VST_EFFECT_OPCODE_EFFECT_CATEGORY
Definition vst.h:2308
-
@ VST_EFFECT_OPCODE_PARAM_IS_AUTOMATABLE
Definition vst.h:2218
-
@ VST_EFFECT_OPCODE_WINDOW_DRAW
Definition vst.h:2083
-
@ VST_EFFECT_OPCODE_DESTROY
Definition vst.h:1907
-
@ VST_EFFECT_OPCODE_SETBLOCKSIZE
Definition vst.h:2016
-
@ VST_EFFECT_OPCODE_02
Set which program number is currently select.
Definition vst.h:1913
-
@ VST_EFFECT_OPCODE_48
End processing of audio.
Definition vst.h:2684
-
@ VST_EFFECT_OPCODE_GETNAME2
Definition vst.h:2437
-
@ VST_EFFECT_OPCODE_CUSTOM
Definition vst.h:2461
-
@ VST_EFFECT_OPCODE_2E
Translate an error code to a string.
Definition vst.h:2415
-
@ VST_EFFECT_OPCODE_3D
Definition vst.h:2580
-
@ VST_EFFECT_OPCODE_EDITOR_KEEP_ALIVE
Definition vst.h:2125
-
@ VST_EFFECT_OPCODE_PARAM_PROPERTIES
Definition vst.h:2526
-
@ VST_EFFECT_OPCODE_TAIL_SAMPLES
Definition vst.h:2484
-
@ VST_EFFECT_OPCODE_30
Retrieve the product name into the ptr buffer.
Definition vst.h:2435
-
@ VST_EFFECT_OPCODE_PARAM_VALUE
Definition vst.h:1975
-
@ VST_EFFECT_OPCODE_35
Notify effect that it is idle?
Definition vst.h:2493
-
@ VST_EFFECT_OPCODE_PROGRAM_GET_NAME
Definition vst.h:1947
-
@ VST_EFFECT_OPCODE_0D
Retrieve the client rect size of the plugins window.
Definition vst.h:2042
-
@ VST_EFFECT_OPCODE_1E
Definition vst.h:2257
-
@ VST_EFFECT_OPCODE_PROGRAM_LOAD
Definition vst.h:2730
-
@ VST_EFFECT_OPCODE_23
Retrieve category of this effect.
Definition vst.h:2306
-
@ VST_EFFECT_OPCODE_VST_VERSION
Definition vst.h:2544
-
@ VST_EFFECT_OPCODE_36
Definition vst.h:2504
-
@ VST_EFFECT_OPCODE_CATEGORY
Definition vst.h:2310
-
@ VST_EFFECT_OPCODE_EDITOR_OPEN
Definition vst.h:2059
-
@ VST_EFFECT_OPCODE_EDITOR_VKEY_DOWN
Definition vst.h:2560
-
@ VST_EFFECT_OPCODE_00
Create/Initialize the effect (if it has not been created already).
Definition vst.h:1893
-
@ VST_EFFECT_OPCODE_2B
Definition vst.h:2379
-
@ VST_EFFECT_OPCODE_SUSPEND_RESUME
Definition vst.h:2032
-
@ VST_EFFECT_OPCODE_24
Definition vst.h:2318
-
@ VST_EFFECT_OPCODE_PARAM_LABEL
Definition vst.h:1961
-
@ VST_EFFECT_OPCODE_40
Midi related.
Definition vst.h:2604
-
@ VST_EFFECT_OPCODE_22
Retrieve properties for the given output index.
Definition vst.h:2295
-
@ VST_EFFECT_OPCODE_4F
Definition vst.h:2758
-
@ VST_EFFECT_OPCODE_47
Begin processing of audio.
Definition vst.h:2675
-
@ VST_EFFECT_OPCODE_38
Parameter Properties.
Definition vst.h:2522
-
@ VST_EFFECT_OPCODE_GET_SPEAKER_ARRANGEMENT
Definition vst.h:2655
-
@ VST_EFFECT_OPCODE_0E
Create the window for the plugin.
Definition vst.h:2055
-
@ VST_EFFECT_OPCODE_3B
Editor Virtual Key Down Input.
Definition vst.h:2558
-
@ VST_EFFECT_OPCODE_BYPASS
Definition vst.h:2390
-
@ VST_EFFECT_OPCODE_EDITOR_KEYBOARD
Definition vst.h:2117
-
@ VST_EFFECT_OPCODE_INPUT_GET_PROPERTIES
Definition vst.h:2284
-
@ VST_EFFECT_OPCODE_VENDOR_NAME
Definition vst.h:2428
-
@ VST_EFFECT_OPCODE_PARAM_ISAUTOMATABLE
Definition vst.h:2216
-
@ VST_EFFECT_OPCODE_WINDOW_KEYBOARD
Definition vst.h:2115
-
@ VST_EFFECT_OPCODE_GET_PROGRAM_NAME
Definition vst.h:1945
-
@ VST_EFFECT_OPCODE_17
Get Chunk Data.
Definition vst.h:2167
-
@ VST_EFFECT_OPCODE_31
Retrieve the vendor version in return value.
Definition vst.h:2446
-
@ VST_EFFECT_OPCODE_2D
Retrieve the effect name into the ptr buffer.
Definition vst.h:2399
-
@ VST_EFFECT_OPCODE_07
Get the string representing the value for the parameter.
Definition vst.h:1969
-
@ VST_EFFECT_OPCODE_EVENT
Definition vst.h:2206
-
@ VST_EFFECT_OPCODE_PROCESS_END
Definition vst.h:2686
-
@ VST_EFFECT_OPCODE_SET_PROGRAM
Definition vst.h:1915
-
@ VST_EFFECT_OPCODE_27
Seen in plug-ins with VST_EFFECT_CATEGORY_OFFLINE.
Definition vst.h:2342
-
@ VST_EFFECT_OPCODE_EDITOR_DRAW
Definition vst.h:2085
-
@ VST_EFFECT_OPCODE_15
Window Unfocus Event?
Definition vst.h:2145
-
@ VST_EFFECT_OPCODE_49
Definition vst.h:2694
-
@ VST_EFFECT_OPCODE_NAME
Definition vst.h:2405
-
@ VST_EFFECT_OPCODE_EDITOR_CLOSE
Definition vst.h:2069
-
@ VST_EFFECT_OPCODE_29
Seen in plug-ins with VST_EFFECT_CATEGORY_OFFLINE.
Definition vst.h:2358
-
@ VST_EFFECT_OPCODE_3A
Retrieve the VST Version supported.
Definition vst.h:2542
-
@ VST_EFFECT_OPCODE_11
Window Mouse Event?
Definition vst.h:2097
-
@ VST_EFFECT_OPCODE_PARAM_GET_LABEL
Definition vst.h:1959
-
@ VST_EFFECT_OPCODE_SETSAMPLERATE
Definition vst.h:2006
-
@ VST_EFFECT_OPCODE_0F
Destroy the plugins window.
Definition vst.h:2065
-
@ VST_EFFECT_OPCODE_GET_CHUNK_DATA
Definition vst.h:2169
-
@ VST_EFFECT_OPCODE_INITIALIZE
Definition vst.h:1897
-
@ VST_EFFECT_OPCODE_GETTAILSAMPLES
Definition vst.h:2482
-
@ VST_EFFECT_OPCODE_18
Set Chunk Data.
Definition vst.h:2181
-
@ VST_EFFECT_OPCODE_EFFECT_NAME
Definition vst.h:2403
-
@ VST_EFFECT_OPCODE_GET_PARAMETER_PROPERTIES
Definition vst.h:2524
-
@ VST_EFFECT_OPCODE_PARAM_AUTOMATABLE
Definition vst.h:2220
-
@ VST_EFFECT_OPCODE_PARAM_GETNAME
Definition vst.h:1987
-
@ VST_EFFECT_OPCODE_4A
Definition vst.h:2704
-
@ VST_EFFECT_OPCODE_08
Get the name for the parameter.
Definition vst.h:1985
-
@ VST_EFFECT_OPCODE_13
Window/Editor Idle/Keep-Alive Callback?
Definition vst.h:2123
-
@ VST_EFFECT_OPCODE_45
Host wants to know the current speaker arrangement.
Definition vst.h:2653
-
@ VST_EFFECT_OPCODE_WINDOW_GETRECT
Definition vst.h:2044
-
@ VST_EFFECT_OPCODE_OUTPUT_GET_PROPERTIES
Definition vst.h:2297
-
@ VST_EFFECT_OPCODE_PARAM_VALUE_FROM_STRING
Definition vst.h:2233
-
@ VST_EFFECT_OPCODE_GETVENDOR
Definition vst.h:2426
-
@ VST_EFFECT_OPCODE_PROCESS_BEGIN
Definition vst.h:2677
-
@ VST_EFFECT_OPCODE_1D
Definition vst.h:2249
-
@ VST_EFFECT_OPCODE_PAUSE_UNPAUSE
Definition vst.h:2030
-
@ VST_EFFECT_OPCODE_4C
Host wants to know if we can load the provided program data.
Definition vst.h:2728
-
@ VST_EFFECT_OPCODE_26
Seen in plug-ins with VST_EFFECT_CATEGORY_OFFLINE.
Definition vst.h:2334
-
@ VST_EFFECT_OPCODE_CONTAINER_NEXT_EFFECT_ID
Definition vst.h:2668
-
@ VST_EFFECT_OPCODE_GETNAME
Definition vst.h:2401
-
@ VST_EFFECT_OPCODE_VENDOR_VERSION
Definition vst.h:2450
-
@ VST_EFFECT_OPCODE_46
Get the next effect contained in this effect.
Definition vst.h:2666
-
@ VST_EFFECT_OPCODE_SET_PROGRAM_NAME
Definition vst.h:1935
-
@ VST_EFFECT_OPCODE_FOURCC
Definition vst.h:2155
-
@ VST_EFFECT_OPCODE_37
Definition vst.h:2513
-
@ VST_EFFECT_OPCODE_44
Host is done setting up a program.
Definition vst.h:2638
-
@ VST_EFFECT_OPCODE_3F
Midi related.
Definition vst.h:2596
-
@ VST_EFFECT_OPCODE_WINDOW_DESTROY
Definition vst.h:2067
-
@ VST_EFFECT_OPCODE_EDITOR_VKEY_UP
Definition vst.h:2572
-
@ VST_EFFECT_OPCODE_1F
Input connected.
Definition vst.h:2265
-
@ VST_EFFECT_OPCODE_34
Number of samples that are at the tail at the end of playback.
Definition vst.h:2480
-
@ VST_EFFECT_OPCODE_2C
Enable/Disable bypassing the effect.
Definition vst.h:2388
-
@ VST_EFFECT_OPCODE_PROGRAM_SET
Definition vst.h:1917
-
@ VST_EFFECT_OPCODE_SUPPORTS
Definition vst.h:2472
-
@ VST_EFFECT_OPCODE_PROGRAM_SET_BEGIN
Definition vst.h:2630
-
@ VST_EFFECT_OPCODE_16
Definition vst.h:2153
-
@ VST_EFFECT_OPCODE_TRANSLATE_ERROR
Definition vst.h:2417
-
@ VST_EFFECT_OPCODE_EDITOR_RECT
Definition vst.h:2046
-
@ VST_EFFECT_OPCODE_25
Definition vst.h:2326
-
@ VST_EFFECT_OPCODE_PARAM_SET_VALUE
Definition vst.h:2231
-
@ VST_EFFECT_OPCODE_SUSPEND
Definition vst.h:2034
-
@ VST_EFFECT_OPCODE_0C
Effect processing should be suspended/paused or resumed/unpaused.
Definition vst.h:2028
+
VST_EFFECT_OPCODE
Host to Plug-in Op-Codes These Op-Codes are emitted by the host and we must either handle them or ret...
Definition vst.h:1894
+
@ VST_EFFECT_OPCODE_WINDOW_MOUSE
Definition vst.h:2105
+
@ VST_EFFECT_OPCODE_2A
Host wants to change the speaker arrangement.
Definition vst.h:2378
+
@ VST_EFFECT_OPCODE_GETVENDORVERSION
Definition vst.h:2454
+
@ VST_EFFECT_OPCODE_20
Input disconnected.
Definition vst.h:2279
+
@ VST_EFFECT_OPCODE_14
Window Focus Event?
Definition vst.h:2141
+
@ VST_EFFECT_OPCODE_PARAM_VALUE_TO_STRING
Definition vst.h:1983
+
@ VST_EFFECT_OPCODE_PARAM_GETLABEL
Definition vst.h:1963
+
@ VST_EFFECT_OPCODE_4E
Definition vst.h:2756
+
@ VST_EFFECT_OPCODE_43
Host is starting to set up a program.
Definition vst.h:2634
+
@ VST_EFFECT_OPCODE_3E
Midi related.
Definition vst.h:2594
+
@ VST_EFFECT_OPCODE_32
User-defined Op-Code for VST extensions.
Definition vst.h:2465
+
@ VST_EFFECT_OPCODE_03
Get currently selected program number.
Definition vst.h:1929
+
@ VST_EFFECT_OPCODE_SET_CHUNK_DATA
Definition vst.h:2189
+
@ VST_EFFECT_OPCODE_21
Retrieve properties for the given input index.
Definition vst.h:2288
+
@ VST_EFFECT_OPCODE_PRODUCT_NAME
Definition vst.h:2445
+
@ VST_EFFECT_OPCODE_4B
Host wants to know if we can load the provided bank data.
Definition vst.h:2721
+
@ VST_EFFECT_OPCODE_PARAM_NAME
Definition vst.h:1997
+
@ VST_EFFECT_OPCODE_1C
Definition vst.h:2247
+
@ VST_EFFECT_OPCODE_41
Midi related.
Definition vst.h:2618
+
@ VST_EFFECT_OPCODE_SET_SAMPLE_RATE
Definition vst.h:2014
+
@ VST_EFFECT_OPCODE_CREATE
Definition vst.h:1901
+
@ VST_EFFECT_OPCODE_EDITOR_GET_RECT
Definition vst.h:2054
+
@ VST_EFFECT_OPCODE_SET_SPEAKER_ARRANGEMENT
Definition vst.h:2380
+
@ VST_EFFECT_OPCODE_PARAM_GETVALUE
Definition vst.h:1977
+
@ VST_EFFECT_OPCODE_PROGRAM_SET_NAME
Definition vst.h:1943
+
@ VST_EFFECT_OPCODE_06
Get the value? label for the parameter.
Definition vst.h:1961
+
@ VST_EFFECT_OPCODE_0A
Set the new sample rate for the plugin to use.
Definition vst.h:2010
+
@ VST_EFFECT_OPCODE_10
Window Draw Event?
Definition vst.h:2087
+
@ VST_EFFECT_OPCODE_2F
Retrieve the vendor name into the ptr buffer.
Definition vst.h:2430
+
@ VST_EFFECT_OPCODE_PROGRAM_GET
Definition vst.h:1933
+
@ VST_EFFECT_OPCODE_28
Seen in plug-ins with VST_EFFECT_CATEGORY_OFFLINE.
Definition vst.h:2356
+
@ VST_EFFECT_OPCODE_4D
Definition vst.h:2748
+
@ VST_EFFECT_OPCODE_01
Destroy the effect (if there is any) and free its memory.
Definition vst.h:1911
+
@ VST_EFFECT_OPCODE_3C
Editor Virtual Key Up Event.
Definition vst.h:2576
+
@ VST_EFFECT_OPCODE_1B
Set Parameter value from string representation.
Definition vst.h:2235
+
@ VST_EFFECT_OPCODE_SET_BLOCK_SIZE
Definition vst.h:2024
+
@ VST_EFFECT_OPCODE_IDLE
Definition vst.h:2501
+
@ VST_EFFECT_OPCODE_33
Test for support of a specific named feature.
Definition vst.h:2476
+
@ VST_EFFECT_OPCODE_04
Set the name of the currently selected program.
Definition vst.h:1939
+
@ VST_EFFECT_OPCODE_09
Definition vst.h:2004
+
@ VST_EFFECT_OPCODE_PARAM_GET_NAME
Definition vst.h:1995
+
@ VST_EFFECT_OPCODE_OUTPUT_STREAM_GET_PROPERTIES
Definition vst.h:2305
+
@ VST_EFFECT_OPCODE_INPUT_STREAM_GET_PROPERTIES
Definition vst.h:2292
+
@ VST_EFFECT_OPCODE_BANK_LOAD
Definition vst.h:2723
+
@ VST_EFFECT_OPCODE_EDITOR_MOUSE
Definition vst.h:2107
+
@ VST_EFFECT_OPCODE_WINDOW_CREATE
Definition vst.h:2063
+
@ VST_EFFECT_OPCODE_0B
Sets the block size, which is the maximum number of samples passed into the effect via process calls.
Definition vst.h:2020
+
@ VST_EFFECT_OPCODE_PARAM_GET_VALUE
Definition vst.h:1979
+
@ VST_EFFECT_OPCODE_39
Definition vst.h:2540
+
@ VST_EFFECT_OPCODE_05
Get the name of the currently selected program.
Definition vst.h:1949
+
@ VST_EFFECT_OPCODE_1A
Can the parameter be automated?
Definition vst.h:2220
+
@ VST_EFFECT_OPCODE_19
Send events from host to plug-in.
Definition vst.h:2210
+
@ VST_EFFECT_OPCODE_PROGRAM_SET_END
Definition vst.h:2646
+
@ VST_EFFECT_OPCODE_GET_PROGRAM
Definition vst.h:1931
+
@ VST_EFFECT_OPCODE_12
Window Keyboard Event?
Definition vst.h:2119
+
@ VST_EFFECT_OPCODE_42
Midi related.
Definition vst.h:2626
+
@ VST_EFFECT_OPCODE_EFFECT_CATEGORY
Definition vst.h:2314
+
@ VST_EFFECT_OPCODE_PARAM_IS_AUTOMATABLE
Definition vst.h:2224
+
@ VST_EFFECT_OPCODE_WINDOW_DRAW
Definition vst.h:2089
+
@ VST_EFFECT_OPCODE_DESTROY
Definition vst.h:1913
+
@ VST_EFFECT_OPCODE_SETBLOCKSIZE
Definition vst.h:2022
+
@ VST_EFFECT_OPCODE_02
Set which program number is currently select.
Definition vst.h:1919
+
@ VST_EFFECT_OPCODE_48
End processing of audio.
Definition vst.h:2690
+
@ VST_EFFECT_OPCODE_GETNAME2
Definition vst.h:2443
+
@ VST_EFFECT_OPCODE_CUSTOM
Definition vst.h:2467
+
@ VST_EFFECT_OPCODE_2E
Translate an error code to a string.
Definition vst.h:2421
+
@ VST_EFFECT_OPCODE_3D
Definition vst.h:2586
+
@ VST_EFFECT_OPCODE_EDITOR_KEEP_ALIVE
Definition vst.h:2131
+
@ VST_EFFECT_OPCODE_PARAM_PROPERTIES
Definition vst.h:2532
+
@ VST_EFFECT_OPCODE_TAIL_SAMPLES
Definition vst.h:2490
+
@ VST_EFFECT_OPCODE_30
Retrieve the product name into the ptr buffer.
Definition vst.h:2441
+
@ VST_EFFECT_OPCODE_PARAM_VALUE
Definition vst.h:1981
+
@ VST_EFFECT_OPCODE_35
Notify effect that it is idle?
Definition vst.h:2499
+
@ VST_EFFECT_OPCODE_PROGRAM_GET_NAME
Definition vst.h:1953
+
@ VST_EFFECT_OPCODE_0D
Retrieve the client rect size of the plugins window.
Definition vst.h:2048
+
@ VST_EFFECT_OPCODE_1E
Definition vst.h:2263
+
@ VST_EFFECT_OPCODE_PROGRAM_LOAD
Definition vst.h:2736
+
@ VST_EFFECT_OPCODE_23
Retrieve category of this effect.
Definition vst.h:2312
+
@ VST_EFFECT_OPCODE_VST_VERSION
Definition vst.h:2550
+
@ VST_EFFECT_OPCODE_36
Definition vst.h:2510
+
@ VST_EFFECT_OPCODE_CATEGORY
Definition vst.h:2316
+
@ VST_EFFECT_OPCODE_EDITOR_OPEN
Definition vst.h:2065
+
@ VST_EFFECT_OPCODE_EDITOR_VKEY_DOWN
Definition vst.h:2566
+
@ VST_EFFECT_OPCODE_00
Create/Initialize the effect (if it has not been created already).
Definition vst.h:1899
+
@ VST_EFFECT_OPCODE_2B
Definition vst.h:2385
+
@ VST_EFFECT_OPCODE_SUSPEND_RESUME
Definition vst.h:2038
+
@ VST_EFFECT_OPCODE_24
Definition vst.h:2324
+
@ VST_EFFECT_OPCODE_PARAM_LABEL
Definition vst.h:1967
+
@ VST_EFFECT_OPCODE_40
Midi related.
Definition vst.h:2610
+
@ VST_EFFECT_OPCODE_22
Retrieve properties for the given output index.
Definition vst.h:2301
+
@ VST_EFFECT_OPCODE_4F
Definition vst.h:2764
+
@ VST_EFFECT_OPCODE_47
Begin processing of audio.
Definition vst.h:2681
+
@ VST_EFFECT_OPCODE_38
Parameter Properties.
Definition vst.h:2528
+
@ VST_EFFECT_OPCODE_GET_SPEAKER_ARRANGEMENT
Definition vst.h:2661
+
@ VST_EFFECT_OPCODE_0E
Create the window for the plugin.
Definition vst.h:2061
+
@ VST_EFFECT_OPCODE_3B
Editor Virtual Key Down Input.
Definition vst.h:2564
+
@ VST_EFFECT_OPCODE_BYPASS
Definition vst.h:2396
+
@ VST_EFFECT_OPCODE_EDITOR_KEYBOARD
Definition vst.h:2123
+
@ VST_EFFECT_OPCODE_INPUT_GET_PROPERTIES
Definition vst.h:2290
+
@ VST_EFFECT_OPCODE_VENDOR_NAME
Definition vst.h:2434
+
@ VST_EFFECT_OPCODE_PARAM_ISAUTOMATABLE
Definition vst.h:2222
+
@ VST_EFFECT_OPCODE_WINDOW_KEYBOARD
Definition vst.h:2121
+
@ VST_EFFECT_OPCODE_GET_PROGRAM_NAME
Definition vst.h:1951
+
@ VST_EFFECT_OPCODE_17
Get Chunk Data.
Definition vst.h:2173
+
@ VST_EFFECT_OPCODE_31
Retrieve the vendor version in return value.
Definition vst.h:2452
+
@ VST_EFFECT_OPCODE_2D
Retrieve the effect name into the ptr buffer.
Definition vst.h:2405
+
@ VST_EFFECT_OPCODE_07
Get the string representing the value for the parameter.
Definition vst.h:1975
+
@ VST_EFFECT_OPCODE_EVENT
Definition vst.h:2212
+
@ VST_EFFECT_OPCODE_PROCESS_END
Definition vst.h:2692
+
@ VST_EFFECT_OPCODE_SET_PROGRAM
Definition vst.h:1921
+
@ VST_EFFECT_OPCODE_27
Seen in plug-ins with VST_EFFECT_CATEGORY_OFFLINE.
Definition vst.h:2348
+
@ VST_EFFECT_OPCODE_EDITOR_DRAW
Definition vst.h:2091
+
@ VST_EFFECT_OPCODE_15
Window Unfocus Event?
Definition vst.h:2151
+
@ VST_EFFECT_OPCODE_49
Definition vst.h:2700
+
@ VST_EFFECT_OPCODE_NAME
Definition vst.h:2411
+
@ VST_EFFECT_OPCODE_EDITOR_CLOSE
Definition vst.h:2075
+
@ VST_EFFECT_OPCODE_29
Seen in plug-ins with VST_EFFECT_CATEGORY_OFFLINE.
Definition vst.h:2364
+
@ VST_EFFECT_OPCODE_3A
Retrieve the VST Version supported.
Definition vst.h:2548
+
@ VST_EFFECT_OPCODE_11
Window Mouse Event?
Definition vst.h:2103
+
@ VST_EFFECT_OPCODE_PARAM_GET_LABEL
Definition vst.h:1965
+
@ VST_EFFECT_OPCODE_SETSAMPLERATE
Definition vst.h:2012
+
@ VST_EFFECT_OPCODE_0F
Destroy the plugins window.
Definition vst.h:2071
+
@ VST_EFFECT_OPCODE_GET_CHUNK_DATA
Definition vst.h:2175
+
@ VST_EFFECT_OPCODE_INITIALIZE
Definition vst.h:1903
+
@ VST_EFFECT_OPCODE_GETTAILSAMPLES
Definition vst.h:2488
+
@ VST_EFFECT_OPCODE_18
Set Chunk Data.
Definition vst.h:2187
+
@ VST_EFFECT_OPCODE_EFFECT_NAME
Definition vst.h:2409
+
@ VST_EFFECT_OPCODE_GET_PARAMETER_PROPERTIES
Definition vst.h:2530
+
@ VST_EFFECT_OPCODE_PARAM_AUTOMATABLE
Definition vst.h:2226
+
@ VST_EFFECT_OPCODE_PARAM_GETNAME
Definition vst.h:1993
+
@ VST_EFFECT_OPCODE_4A
Definition vst.h:2710
+
@ VST_EFFECT_OPCODE_08
Get the name for the parameter.
Definition vst.h:1991
+
@ VST_EFFECT_OPCODE_13
Window/Editor Idle/Keep-Alive Callback?
Definition vst.h:2129
+
@ VST_EFFECT_OPCODE_45
Host wants to know the current speaker arrangement.
Definition vst.h:2659
+
@ VST_EFFECT_OPCODE_WINDOW_GETRECT
Definition vst.h:2050
+
@ VST_EFFECT_OPCODE_OUTPUT_GET_PROPERTIES
Definition vst.h:2303
+
@ VST_EFFECT_OPCODE_PARAM_VALUE_FROM_STRING
Definition vst.h:2239
+
@ VST_EFFECT_OPCODE_GETVENDOR
Definition vst.h:2432
+
@ VST_EFFECT_OPCODE_PROCESS_BEGIN
Definition vst.h:2683
+
@ VST_EFFECT_OPCODE_1D
Definition vst.h:2255
+
@ VST_EFFECT_OPCODE_PAUSE_UNPAUSE
Definition vst.h:2036
+
@ VST_EFFECT_OPCODE_4C
Host wants to know if we can load the provided program data.
Definition vst.h:2734
+
@ VST_EFFECT_OPCODE_26
Seen in plug-ins with VST_EFFECT_CATEGORY_OFFLINE.
Definition vst.h:2340
+
@ VST_EFFECT_OPCODE_CONTAINER_NEXT_EFFECT_ID
Definition vst.h:2674
+
@ VST_EFFECT_OPCODE_GETNAME
Definition vst.h:2407
+
@ VST_EFFECT_OPCODE_VENDOR_VERSION
Definition vst.h:2456
+
@ VST_EFFECT_OPCODE_46
Get the next effect contained in this effect.
Definition vst.h:2672
+
@ VST_EFFECT_OPCODE_SET_PROGRAM_NAME
Definition vst.h:1941
+
@ VST_EFFECT_OPCODE_FOURCC
Definition vst.h:2161
+
@ VST_EFFECT_OPCODE_37
Definition vst.h:2519
+
@ VST_EFFECT_OPCODE_44
Host is done setting up a program.
Definition vst.h:2644
+
@ VST_EFFECT_OPCODE_3F
Midi related.
Definition vst.h:2602
+
@ VST_EFFECT_OPCODE_WINDOW_DESTROY
Definition vst.h:2073
+
@ VST_EFFECT_OPCODE_EDITOR_VKEY_UP
Definition vst.h:2578
+
@ VST_EFFECT_OPCODE_1F
Input connected.
Definition vst.h:2271
+
@ VST_EFFECT_OPCODE_34
Number of samples that are at the tail at the end of playback.
Definition vst.h:2486
+
@ VST_EFFECT_OPCODE_2C
Enable/Disable bypassing the effect.
Definition vst.h:2394
+
@ VST_EFFECT_OPCODE_PROGRAM_SET
Definition vst.h:1923
+
@ VST_EFFECT_OPCODE_SUPPORTS
Definition vst.h:2478
+
@ VST_EFFECT_OPCODE_PROGRAM_SET_BEGIN
Definition vst.h:2636
+
@ VST_EFFECT_OPCODE_16
Definition vst.h:2159
+
@ VST_EFFECT_OPCODE_TRANSLATE_ERROR
Definition vst.h:2423
+
@ VST_EFFECT_OPCODE_EDITOR_RECT
Definition vst.h:2052
+
@ VST_EFFECT_OPCODE_25
Definition vst.h:2332
+
@ VST_EFFECT_OPCODE_PARAM_SET_VALUE
Definition vst.h:2237
+
@ VST_EFFECT_OPCODE_SUSPEND
Definition vst.h:2040
+
@ VST_EFFECT_OPCODE_0C
Effect processing should be suspended/paused or resumed/unpaused.
Definition vst.h:2034
VST_STREAM_FLAG
Definition vst.h:758
@ VST_STREAM_FLAG_STEREO
Definition vst.h:768
@ VST_STREAM_FLAG_1ls2
Stream is defined by VST_SPEAKER_ARRANGEMENT_TYPE.
Definition vst.h:774
@ VST_STREAM_FLAG_1ls0
Ignored?
Definition vst.h:761
@ VST_STREAM_FLAG_1ls1
Stream is in Stereo.
Definition vst.h:767
@ VST_STREAM_FLAG_USE_TYPE
Definition vst.h:775
-
float(VST_FUNCTION_INTERFACE * vst_effect_get_parameter_t)(struct vst_effect_t *self, uint32_t index)
Retrieve the current value of the parameter at the given index, or do nothing if out of bounds.
Definition vst.h:2920
+
float(VST_FUNCTION_INTERFACE * vst_effect_get_parameter_t)(struct vst_effect_t *self, uint32_t index)
Retrieve the current value of the parameter at the given index, or do nothing if out of bounds.
Definition vst.h:2926
VST_HOST_ACTIVE_THREAD
Definition vst.h:1010
@ VST_HOST_ACTIVE_THREAD_UNKNOWN
The active thread has no special usage assigned.
Definition vst.h:1013
@ VST_HOST_ACTIVE_THREAD_INTERFACE
The active thread is used for user interface work.
Definition vst.h:1017
@@ -3891,7 +3897,7 @@ $(document).ready(function(){initNavTree('vst_8h_source.html',''); initResizable diff --git a/vst_8hpp.html b/vst_8hpp.html index ae5524c..f8fc585 100644 --- a/vst_8hpp.html +++ b/vst_8hpp.html @@ -133,7 +133,7 @@ Macros diff --git a/vst_8hpp_source.html b/vst_8hpp_source.html index 8d2be72..654b4e0 100644 --- a/vst_8hpp_source.html +++ b/vst_8hpp_source.html @@ -149,7 +149,7 @@ $(document).ready(function(){initNavTree('vst_8hpp_source.html',''); initResizab
p_int1Parameter index.