|
- #pragma once
- #include <app/common.hpp>
- #include <app/LedDisplay.hpp>
- #include <ui/Menu.hpp>
- #include <app/SvgButton.hpp>
- #include <midi.hpp>
-
-
- namespace rack {
- namespace app {
-
-
- struct MidiWidget : LedDisplay {
- LedDisplayChoice* driverChoice;
- LedDisplaySeparator* driverSeparator;
- LedDisplayChoice* deviceChoice;
- LedDisplaySeparator* deviceSeparator;
- LedDisplayChoice* channelChoice;
- void setMidiPort(midi::Port* port);
- };
-
-
- /** A virtual MIDI port graphic that displays an MIDI menu when clicked. */
- struct MidiButton : SvgButton {
- midi::Port* port;
- void setMidiPort(midi::Port* port);
- void onAction(const event::Action& e) override;
- };
-
-
- /** Appends menu items to the given menu with driver, device, etc.
- Useful alternative to putting a MidiWidget on your module's panel.
- */
- void appendMidiMenu(ui::Menu* menu, midi::Port* port);
-
-
- } // namespace app
- } // namespace rack
|