diff --git a/README.md b/README.md index 0a58015..c94e12d 100644 --- a/README.md +++ b/README.md @@ -23,11 +23,12 @@ Cardinal provides 3 plugin variants - "main", Synth and FX. They are all equivalent in performance and behaviour, with only the IO and metadata that changes. This is because some hosts are very strict on which plugins are allowed as instruments vs FX, so separate variants of the same plugin are needed. -All variants have 2 audio outputs and MIDI support. +FX and Synth variants both have 2 audio outputs, while "main" has 8. +All variants have MIDI input and output support. ### Main -This variant provides 2 audio inputs and outputs and 10 CV inputs and outputs. +This variant provides 8 audio inputs and outputs and 10 CV inputs and outputs. NOTE: Due to VST2 format not supporting CV ports, this variant is not available for VST2. diff --git a/doc/DIFFERENCES.md b/doc/DIFFERENCES.md index 077ae55..8bf0a6f 100644 --- a/doc/DIFFERENCES.md +++ b/doc/DIFFERENCES.md @@ -28,7 +28,7 @@ Bellow follows a list of features comparing the official plugin to Cardinal. | Supports ARM systems | No | Yes | This means Apple M1 too, yes | | Synth plugin variant | 16 ins, 16 outs | 2 ins, 2 outs | | | FX plugin variant | 16 ins, 16 outs | 2 ins, 2 outs | | -| Raw-CV plugin variant | Unsupported | 2 audio IO + 10 CV IO | Available in JACK, LV2 and VST3 formats, not possible in VST2 | +| Raw-CV plugin variant | Unsupported | 8 audio IO + 10 CV IO | Available in JACK, LV2 and VST3 formats, not possible in VST2 | | Arbitrary parameter automation | Yes | No | Unsupported in Cardinal, tricky to do for many plugin formats at once | | Integrated plugin host | No, Host payed separately | Yes, using Carla or Ildaeil | | | Host sync/timing | Using MIDI signals | Using dedicated module | | diff --git a/src/Cardinal/DistrhoPluginInfo.h b/src/Cardinal/DistrhoPluginInfo.h index e9c65c3..2239c69 100644 --- a/src/Cardinal/DistrhoPluginInfo.h +++ b/src/Cardinal/DistrhoPluginInfo.h @@ -30,8 +30,8 @@ #define DISTRHO_UI_USE_NANOVG 1 #define DISTRHO_UI_USER_RESIZABLE 1 #endif -#define DISTRHO_PLUGIN_NUM_INPUTS 12 -#define DISTRHO_PLUGIN_NUM_OUTPUTS 12 +#define DISTRHO_PLUGIN_NUM_INPUTS 18 +#define DISTRHO_PLUGIN_NUM_OUTPUTS 18 #define DISTRHO_PLUGIN_WANT_MIDI_INPUT 1 #define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT 1 #define DISTRHO_PLUGIN_WANT_FULL_STATE 1 diff --git a/src/CardinalPlugin.cpp b/src/CardinalPlugin.cpp index 2ef5e8f..37db620 100644 --- a/src/CardinalPlugin.cpp +++ b/src/CardinalPlugin.cpp @@ -604,10 +604,10 @@ protected: void initAudioPort(const bool input, uint32_t index, AudioPort& port) override { - if (index >= 2) + if (index >= 8) { port.hints = kAudioPortIsCV | kCVPortHasPositiveUnipolarRange | kCVPortHasScaledRange; - index -= 2; + index -= 8; } CardinalBasePlugin::initAudioPort(input, index, port);