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

midiPorts.h (1057B)


      1 #pragma once
      2 
      3 namespace pluginLib
      4 {
      5 	class Processor;
      6 	class MidiPorts;
      7 }
      8 
      9 namespace genericUI
     10 {
     11 	class Editor;
     12 }
     13 
     14 namespace juce
     15 {
     16 	class PopupMenu;
     17 	struct MidiDeviceInfo;
     18 	class String;
     19 	class AudioDeviceManager;
     20 	class ComboBox;
     21 }
     22 
     23 namespace jucePluginEditorLib
     24 {
     25 	class Processor;
     26 
     27 	class MidiPorts
     28 	{
     29 	public:
     30 		explicit MidiPorts(const genericUI::Editor& _editor, Processor& _processor);
     31 
     32 		static void createMidiInputMenu(juce::PopupMenu& _menu, pluginLib::MidiPorts&);
     33 		static void createMidiOutputMenu(juce::PopupMenu& _menu, pluginLib::MidiPorts&);
     34 		static void createMidiPortsMenu(juce::PopupMenu& _menu, pluginLib::MidiPorts&);
     35 
     36 	private:
     37 		pluginLib::MidiPorts& getMidiPorts() const;
     38 
     39 		void showMidiPortFailedMessage(const char* _name) const;
     40 		static void showMidiPortFailedMessage(const pluginLib::Processor& _processor, const char* _name);
     41 
     42 		void updateMidiInput(int _index) const;
     43 		void updateMidiOutput(int _index) const;
     44 
     45 		Processor& m_processor;
     46 
     47 		juce::ComboBox* m_midiIn = nullptr;
     48 		juce::ComboBox* m_midiOut = nullptr;
     49 	};
     50 }