| @@ -33,7 +33,7 @@ | |||||
| juce_audio_plugin_client, juce_audio_processors, | juce_audio_plugin_client, juce_audio_processors, | ||||
| juce_audio_utils, juce_core, juce_data_structures, juce_dsp, | juce_audio_utils, juce_core, juce_data_structures, juce_dsp, | ||||
| juce_events, juce_graphics, juce_gui_basics, juce_gui_extra | juce_events, juce_graphics, juce_gui_basics, juce_gui_extra | ||||
| exporters: xcode_mac, vs2019 | |||||
| exporters: xcode_mac, vs2019, linux_make | |||||
| moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1 | moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1 | ||||
| @@ -127,8 +127,6 @@ public: | |||||
| cabinetType.set (0); | cabinetType.set (0); | ||||
| } | } | ||||
| ~DspModulePluginDemoAudioProcessor() {} | |||||
| //============================================================================== | //============================================================================== | ||||
| bool isBusesLayoutSupported (const BusesLayout& layouts) const override | bool isBusesLayoutSupported (const BusesLayout& layouts) const override | ||||
| { | { | ||||
| @@ -317,21 +315,21 @@ private: | |||||
| //============================================================================== | //============================================================================== | ||||
| DspModulePluginDemoAudioProcessorEditor (DspModulePluginDemoAudioProcessor& p) | DspModulePluginDemoAudioProcessorEditor (DspModulePluginDemoAudioProcessor& p) | ||||
| : AudioProcessorEditor (&p), | : AudioProcessorEditor (&p), | ||||
| processor (p), | |||||
| inputVolumeLabel ({}, processor.inputVolumeParam->name), | |||||
| outputVolumeLabel ({}, processor.outputVolumeParam->name), | |||||
| lowPassFilterFreqLabel ({}, processor.lowPassFilterFreqParam->name), | |||||
| highPassFilterFreqLabel ({}, processor.highPassFilterFreqParam->name), | |||||
| stereoLabel ({}, processor.stereoParam->name), | |||||
| slopeLabel ({}, processor.slopeParam->name), | |||||
| waveshaperLabel ({}, processor.waveshaperParam->name), | |||||
| cabinetTypeLabel ({}, processor.cabinetTypeParam->name) | |||||
| dspProcessor (p), | |||||
| inputVolumeLabel ({}, dspProcessor.inputVolumeParam->name), | |||||
| outputVolumeLabel ({}, dspProcessor.outputVolumeParam->name), | |||||
| lowPassFilterFreqLabel ({}, dspProcessor.lowPassFilterFreqParam->name), | |||||
| highPassFilterFreqLabel ({}, dspProcessor.highPassFilterFreqParam->name), | |||||
| stereoLabel ({}, dspProcessor.stereoParam->name), | |||||
| slopeLabel ({}, dspProcessor.slopeParam->name), | |||||
| waveshaperLabel ({}, dspProcessor.waveshaperParam->name), | |||||
| cabinetTypeLabel ({}, dspProcessor.cabinetTypeParam->name) | |||||
| { | { | ||||
| //============================================================================== | //============================================================================== | ||||
| inputVolumeSlider .reset (new ParameterSlider (*processor.inputVolumeParam)); | |||||
| outputVolumeSlider .reset (new ParameterSlider (*processor.outputVolumeParam)); | |||||
| lowPassFilterFreqSlider .reset (new ParameterSlider (*processor.lowPassFilterFreqParam)); | |||||
| highPassFilterFreqSlider.reset (new ParameterSlider (*processor.highPassFilterFreqParam)); | |||||
| inputVolumeSlider .reset (new ParameterSlider (*dspProcessor.inputVolumeParam)); | |||||
| outputVolumeSlider .reset (new ParameterSlider (*dspProcessor.outputVolumeParam)); | |||||
| lowPassFilterFreqSlider .reset (new ParameterSlider (*dspProcessor.lowPassFilterFreqParam)); | |||||
| highPassFilterFreqSlider.reset (new ParameterSlider (*dspProcessor.highPassFilterFreqParam)); | |||||
| addAndMakeVisible (inputVolumeSlider .get()); | addAndMakeVisible (inputVolumeSlider .get()); | ||||
| addAndMakeVisible (outputVolumeSlider .get()); | addAndMakeVisible (outputVolumeSlider .get()); | ||||
| @@ -358,11 +356,11 @@ private: | |||||
| addAndMakeVisible (stereoBox); | addAndMakeVisible (stereoBox); | ||||
| auto i = 1; | auto i = 1; | ||||
| for (auto choice : processor.stereoParam->choices) | |||||
| for (auto choice : dspProcessor.stereoParam->choices) | |||||
| stereoBox.addItem (choice, i++); | stereoBox.addItem (choice, i++); | ||||
| stereoBox.onChange = [this] { processor.stereoParam->operator= (stereoBox.getSelectedItemIndex()); }; | |||||
| stereoBox.setSelectedId (processor.stereoParam->getIndex() + 1); | |||||
| stereoBox.onChange = [this] { dspProcessor.stereoParam->operator= (stereoBox.getSelectedItemIndex()); }; | |||||
| stereoBox.setSelectedId (dspProcessor.stereoParam->getIndex() + 1); | |||||
| addAndMakeVisible (stereoLabel); | addAndMakeVisible (stereoLabel); | ||||
| stereoLabel.setJustificationType (Justification::centredLeft); | stereoLabel.setJustificationType (Justification::centredLeft); | ||||
| @@ -372,11 +370,11 @@ private: | |||||
| addAndMakeVisible(slopeBox); | addAndMakeVisible(slopeBox); | ||||
| i = 1; | i = 1; | ||||
| for (auto choice : processor.slopeParam->choices) | |||||
| for (auto choice : dspProcessor.slopeParam->choices) | |||||
| slopeBox.addItem(choice, i++); | slopeBox.addItem(choice, i++); | ||||
| slopeBox.onChange = [this] { processor.slopeParam->operator= (slopeBox.getSelectedItemIndex()); }; | |||||
| slopeBox.setSelectedId(processor.slopeParam->getIndex() + 1); | |||||
| slopeBox.onChange = [this] { dspProcessor.slopeParam->operator= (slopeBox.getSelectedItemIndex()); }; | |||||
| slopeBox.setSelectedId(dspProcessor.slopeParam->getIndex() + 1); | |||||
| addAndMakeVisible(slopeLabel); | addAndMakeVisible(slopeLabel); | ||||
| slopeLabel.setJustificationType(Justification::centredLeft); | slopeLabel.setJustificationType(Justification::centredLeft); | ||||
| @@ -386,11 +384,11 @@ private: | |||||
| addAndMakeVisible (waveshaperBox); | addAndMakeVisible (waveshaperBox); | ||||
| i = 1; | i = 1; | ||||
| for (auto choice : processor.waveshaperParam->choices) | |||||
| for (auto choice : dspProcessor.waveshaperParam->choices) | |||||
| waveshaperBox.addItem (choice, i++); | waveshaperBox.addItem (choice, i++); | ||||
| waveshaperBox.onChange = [this] { processor.waveshaperParam->operator= (waveshaperBox.getSelectedItemIndex()); }; | |||||
| waveshaperBox.setSelectedId (processor.waveshaperParam->getIndex() + 1); | |||||
| waveshaperBox.onChange = [this] { dspProcessor.waveshaperParam->operator= (waveshaperBox.getSelectedItemIndex()); }; | |||||
| waveshaperBox.setSelectedId (dspProcessor.waveshaperParam->getIndex() + 1); | |||||
| addAndMakeVisible (waveshaperLabel); | addAndMakeVisible (waveshaperLabel); | ||||
| waveshaperLabel.setJustificationType (Justification::centredLeft); | waveshaperLabel.setJustificationType (Justification::centredLeft); | ||||
| @@ -400,11 +398,11 @@ private: | |||||
| addAndMakeVisible (cabinetTypeBox); | addAndMakeVisible (cabinetTypeBox); | ||||
| i = 1; | i = 1; | ||||
| for (auto choice : processor.cabinetTypeParam->choices) | |||||
| for (auto choice : dspProcessor.cabinetTypeParam->choices) | |||||
| cabinetTypeBox.addItem (choice, i++); | cabinetTypeBox.addItem (choice, i++); | ||||
| cabinetTypeBox.onChange = [this] { processor.cabinetTypeParam->operator= (cabinetTypeBox.getSelectedItemIndex()); }; | |||||
| cabinetTypeBox.setSelectedId (processor.cabinetTypeParam->getIndex() + 1); | |||||
| cabinetTypeBox.onChange = [this] { dspProcessor.cabinetTypeParam->operator= (cabinetTypeBox.getSelectedItemIndex()); }; | |||||
| cabinetTypeBox.setSelectedId (dspProcessor.cabinetTypeParam->getIndex() + 1); | |||||
| addAndMakeVisible (cabinetTypeLabel); | addAndMakeVisible (cabinetTypeLabel); | ||||
| cabinetTypeLabel.setJustificationType (Justification::centredLeft); | cabinetTypeLabel.setJustificationType (Justification::centredLeft); | ||||
| @@ -412,21 +410,19 @@ private: | |||||
| //============================================================================== | //============================================================================== | ||||
| addAndMakeVisible (cabinetSimButton); | addAndMakeVisible (cabinetSimButton); | ||||
| cabinetSimButton.onClick = [this] { processor.cabinetSimParam->operator= (cabinetSimButton.getToggleState()); }; | |||||
| cabinetSimButton.setButtonText (processor.cabinetSimParam->name); | |||||
| cabinetSimButton.setToggleState (processor.cabinetSimParam->get(), NotificationType::dontSendNotification); | |||||
| cabinetSimButton.onClick = [this] { dspProcessor.cabinetSimParam->operator= (cabinetSimButton.getToggleState()); }; | |||||
| cabinetSimButton.setButtonText (dspProcessor.cabinetSimParam->name); | |||||
| cabinetSimButton.setToggleState (dspProcessor.cabinetSimParam->get(), NotificationType::dontSendNotification); | |||||
| addAndMakeVisible (oversamplingButton); | addAndMakeVisible (oversamplingButton); | ||||
| oversamplingButton.onClick = [this] { processor.oversamplingParam->operator= (oversamplingButton.getToggleState()); }; | |||||
| oversamplingButton.setButtonText (processor.oversamplingParam->name); | |||||
| oversamplingButton.setToggleState (processor.oversamplingParam->get(), NotificationType::dontSendNotification); | |||||
| oversamplingButton.onClick = [this] { dspProcessor.oversamplingParam->operator= (oversamplingButton.getToggleState()); }; | |||||
| oversamplingButton.setButtonText (dspProcessor.oversamplingParam->name); | |||||
| oversamplingButton.setToggleState (dspProcessor.oversamplingParam->get(), NotificationType::dontSendNotification); | |||||
| //============================================================================== | //============================================================================== | ||||
| setSize (600, 400); | setSize (600, 400); | ||||
| } | } | ||||
| ~DspModulePluginDemoAudioProcessorEditor() {} | |||||
| //============================================================================== | //============================================================================== | ||||
| void paint (Graphics& g) override | void paint (Graphics& g) override | ||||
| { | { | ||||
| @@ -479,7 +475,7 @@ private: | |||||
| private: | private: | ||||
| //============================================================================== | //============================================================================== | ||||
| DspModulePluginDemoAudioProcessor& processor; | |||||
| DspModulePluginDemoAudioProcessor& dspProcessor; | |||||
| std::unique_ptr<ParameterSlider> inputVolumeSlider, outputVolumeSlider, | std::unique_ptr<ParameterSlider> inputVolumeSlider, outputVolumeSlider, | ||||
| lowPassFilterFreqSlider, highPassFilterFreqSlider; | lowPassFilterFreqSlider, highPassFilterFreqSlider; | ||||