diff --git a/README.md b/README.md index 2cfd7fb..6180832 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ CHOW Phaser is an open-source phaser effect, based *very* loosely on the classic Shulte Compact Phasing "A". -Pic +Pic ## Installation diff --git a/src/ChowPhaserPlugin.cpp b/src/ChowPhaserPlugin.cpp index 375843b..c39d508 100644 --- a/src/ChowPhaserPlugin.cpp +++ b/src/ChowPhaserPlugin.cpp @@ -49,6 +49,19 @@ void ChowPhaser::processBlock (AudioBuffer& buffer) buffer.copyFrom (1 - modChannel, 0, noModBuffer.getReadPointer (0), numSamples); } +bool ChowPhaser::isBusesLayoutSupported (const BusesLayout& layouts) const +{ + // only supports stereo + if (layouts.getMainOutputChannelSet() != AudioChannelSet::stereo()) + return false; + + // input and output layout must be the same + if (layouts.getMainOutputChannelSet() != layouts.getMainInputChannelSet()) + return false; + + return true; +} + AudioProcessorEditor* ChowPhaser::createEditor() { auto builder = std::make_unique (magicState); diff --git a/src/ChowPhaserPlugin.h b/src/ChowPhaserPlugin.h index 316dbb6..3fc962e 100644 --- a/src/ChowPhaserPlugin.h +++ b/src/ChowPhaserPlugin.h @@ -16,6 +16,7 @@ class ChowPhaser : public PluginBase void releaseResources() override; void processBlock (AudioBuffer& buffer) override; + bool isBusesLayoutSupported (const BusesLayout& layouts) const override; AudioProcessorEditor* createEditor() override; private: diff --git a/src/ChowPhaserStereo.cpp b/src/ChowPhaserStereo.cpp index fa42c02..c0e9acd 100644 --- a/src/ChowPhaserStereo.cpp +++ b/src/ChowPhaserStereo.cpp @@ -45,6 +45,19 @@ void ChowPhaserStereo::processBlock (AudioBuffer& buffer) } } +bool ChowPhaserStereo::isBusesLayoutSupported (const BusesLayout& layouts) const +{ + // only supports stereo + if (layouts.getMainOutputChannelSet() != AudioChannelSet::stereo()) + return false; + + // input and output layout must be the same + if (layouts.getMainOutputChannelSet() != layouts.getMainInputChannelSet()) + return false; + + return true; +} + AudioProcessorEditor* ChowPhaserStereo::createEditor() { auto builder = std::make_unique (magicState); diff --git a/src/ChowPhaserStereo.h b/src/ChowPhaserStereo.h index 9b852c8..38b1a01 100644 --- a/src/ChowPhaserStereo.h +++ b/src/ChowPhaserStereo.h @@ -16,6 +16,7 @@ class ChowPhaserStereo : public PluginBase void releaseResources() override; void processBlock (AudioBuffer& buffer) override; + bool isBusesLayoutSupported (const BusesLayout& layouts) const override; AudioProcessorEditor* createEditor() override; private: diff --git a/validate.sh b/validate.sh index 73d5a2a..9ab0dbe 100644 --- a/validate.sh +++ b/validate.sh @@ -29,7 +29,7 @@ if [[ "$OSTYPE" == "linux-gnu"* ]]; then # declare -a plugins=() elif [[ "$OSTYPE" == "darwin"* ]]; then pluginval=$(install_pluginval_mac) - declare -a plugins=("/Users/travis/Library/Audio/Plug-Ins/VST3/ChowPhaserMono.vst3" "/Users/travis/Library/Audio/Plug-Ins/VST3/ChowPhaserStereo.vst3") + declare -a plugins=("build/ChowPhaserMono_artefacts/VST3/ChowPhaserMono.vst3" "build/ChowPhaserStereo_artefacts/VST3/ChowPhaserStereo.vst3") else pluginval=$(install_pluginval_win) declare -a plugins=("build/ChowPhaserMono_artefacts/Release/VST3/ChowPhaserMono.vst3" "build/ChowPhaserStereo_artefacts/Release/VST3/ChowPhaserStereo.vst3")