gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
Log | Files | Refs | Submodules | README | LICENSE

commit 46dd736d3cecd23500622ab948c38b326688b3dd
parent 7598a237c15e1f0bae160a1b4f2eb06b52b1a7ef
Author: Tal Aviram <me@talaviram.com>
Date:   Fri, 13 Aug 2021 08:37:55 +0300

GUI/Editor - made multi/single buttons use controller/juce::Value logic.

Diffstat:
Msource/jucePlugin/PluginEditor.cpp | 27++++++++-------------------
Msource/jucePlugin/PluginEditor.h | 2--
2 files changed, 8 insertions(+), 21 deletions(-)

diff --git a/source/jucePlugin/PluginEditor.cpp b/source/jucePlugin/PluginEditor.cpp @@ -15,24 +15,20 @@ AudioPluginAudioProcessorEditor::AudioPluginAudioProcessorEditor (AudioPluginAud // editor's size to whatever you need it to be. setSize (400, 300); + m_btSingleMode.setRadioGroupId(0x3cf); + m_btMultiMode.setRadioGroupId(0x3cf); addAndMakeVisible(m_btSingleMode); addAndMakeVisible(m_btMultiMode); - m_btSingleMode.setTopLeftPosition(0,0); m_btSingleMode.setSize(120,30); - + m_btMultiMode.getToggleStateValue().referTo(*processorRef.getController().getParam(0, 2, 0x7a)); + const auto isMulti = processorRef.getController().isMultiMode(); + m_btSingleMode.setToggleState(!isMulti, juce::dontSendNotification); + m_btMultiMode.setToggleState(isMulti, juce::dontSendNotification); + m_btSingleMode.setClickingTogglesState(true); + m_btMultiMode.setClickingTogglesState(true); m_btMultiMode.setTopLeftPosition(m_btSingleMode.getPosition().x + m_btSingleMode.getWidth() + 10, 0); m_btMultiMode.setSize(120,30); - - m_btSingleMode.onClick = [this]() - { - switchPlayMode(0); - }; - - m_btMultiMode.onClick = [this]() - { - switchPlayMode(2); - }; } AudioPluginAudioProcessorEditor::~AudioPluginAudioProcessorEditor() @@ -62,10 +58,3 @@ void AudioPluginAudioProcessorEditor::resized() // This is generally where you'll want to lay out the positions of any // subcomponents in your editor.. } - -void AudioPluginAudioProcessorEditor::switchPlayMode(uint8_t _playMode) const -{ - synthLib::SMidiEvent ev; - ev.sysex = { 0xf0, 0x00, 0x20, 0x33, 0x01, 0x00, 0x72, 0x0, 0x7a, _playMode, 0xf7}; - processorRef.addMidiEvent(ev); -} diff --git a/source/jucePlugin/PluginEditor.h b/source/jucePlugin/PluginEditor.h @@ -14,8 +14,6 @@ public: void resized() override; private: - void switchPlayMode(uint8_t _playMode) const; - // This reference is provided as a quick way for your editor to // access the processor object that created it. AudioPluginAudioProcessor& processorRef;