n2xPluginEditorState.cpp (1392B)
1 #include "n2xPluginEditorState.h" 2 3 #include "n2xEditor.h" 4 #include "n2xPluginProcessor.h" 5 6 #include "jucePluginEditorLib/midiPorts.h" 7 8 #include "skins.h" 9 10 namespace n2xJucePlugin 11 { 12 PluginEditorState::PluginEditorState(AudioPluginAudioProcessor& _processor) : jucePluginEditorLib::PluginEditorState(_processor, _processor.getController(), g_includedSkins) 13 { 14 loadDefaultSkin(); 15 } 16 17 void PluginEditorState::initContextMenu(juce::PopupMenu& _menu) 18 { 19 jucePluginEditorLib::PluginEditorState::initContextMenu(_menu); 20 21 auto& p = m_processor; 22 23 const auto gain = static_cast<int>(std::roundf(p.getOutputGain())); 24 25 juce::PopupMenu gainMenu; 26 27 gainMenu.addItem("0 dB (default)", true, gain == 1, [&p] { p.setOutputGain(1); }); 28 gainMenu.addItem("+6 dB", true, gain == 2, [&p] { p.setOutputGain(2); }); 29 gainMenu.addItem("+12 dB", true, gain == 4, [&p] { p.setOutputGain(4); }); 30 31 _menu.addSubMenu("Output Gain", gainMenu); 32 33 jucePluginEditorLib::MidiPorts::createMidiPortsMenu(_menu, p.getMidiPorts()); 34 } 35 36 bool PluginEditorState::initAdvancedContextMenu(juce::PopupMenu& _menu, const bool _enabled) 37 { 38 return jucePluginEditorLib::PluginEditorState::initAdvancedContextMenu(_menu, _enabled); 39 } 40 41 jucePluginEditorLib::Editor* PluginEditorState::createEditor(const jucePluginEditorLib::Skin& _skin) 42 { 43 return new n2xJucePlugin::Editor(m_processor, m_parameterBinding, _skin); 44 } 45 }