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

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 }