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 }