diff --git a/src/PluginDriver.hpp b/src/PluginDriver.hpp index 66df84f..b5c1ad5 100644 --- a/src/PluginDriver.hpp +++ b/src/PluginDriver.hpp @@ -37,12 +37,20 @@ struct CardinalAudioDevice : rack::audio::Device int getNumInputs() override { +#if DISTRHO_PLUGIN_NUM_INPUTS > 10 + return DISTRHO_PLUGIN_NUM_INPUTS - 10; +#else return std::min(2, DISTRHO_PLUGIN_NUM_INPUTS); +#endif } int getNumOutputs() override { +#if DISTRHO_PLUGIN_NUM_OUTPUTS > 10 + return DISTRHO_PLUGIN_NUM_OUTPUTS - 10; +#else return std::min(2, DISTRHO_PLUGIN_NUM_OUTPUTS); +#endif } int getBlockSize() override @@ -109,12 +117,20 @@ struct CardinalAudioDriver : rack::audio::Driver int getDeviceNumInputs(int) override { +#if DISTRHO_PLUGIN_NUM_INPUTS > 10 + return DISTRHO_PLUGIN_NUM_INPUTS - 10; +#else return std::min(2, DISTRHO_PLUGIN_NUM_INPUTS); +#endif } int getDeviceNumOutputs(int) override { +#if DISTRHO_PLUGIN_NUM_OUTPUTS > 10 + return DISTRHO_PLUGIN_NUM_OUTPUTS - 10; +#else return std::min(2, DISTRHO_PLUGIN_NUM_OUTPUTS); +#endif } rack::audio::Device* subscribe(int, rack::audio::Port* const port) override