X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=nageru%2Fmidi_mapper.h;h=90f9f89f4200891d7096a77c31035a30003e13a6;hb=a0e57ec99e9dfdd7e79bcf21e8c996dc43b6cb49;hp=8fa0bf997b7255f56a52a9e48c31e78df1d94e04;hpb=bf30d7ade52ca87510a021147c3d32d55fcf813d;p=nageru diff --git a/nageru/midi_mapper.h b/nageru/midi_mapper.h index 8fa0bf9..90f9f89 100644 --- a/nageru/midi_mapper.h +++ b/nageru/midi_mapper.h @@ -8,17 +8,17 @@ // This way, it is possible to control audio functionality using physical // pots and faders instead of the mouse. +#include + #include #include #include #include #include -#include #include -#include #include "defs.h" -#include "midi_device.h" +#include "shared/midi_device.h" class MIDIMappingProto; @@ -48,6 +48,14 @@ public: virtual void toggle_limiter() = 0; virtual void toggle_auto_makeup_gain() = 0; + // Non-audio events. + virtual void switch_video_channel(int channel_number) = 0; + virtual void apply_transition(int transition_number) = 0; + virtual void prev_audio_view() = 0; + virtual void next_audio_view() = 0; + virtual void begin_new_segment() = 0; + virtual void exit() = 0; + // Signals to highlight controls to mark them to the user // as MIDI-controllable (or not). virtual void clear_all_highlights() = 0; @@ -110,10 +118,9 @@ private: void update_highlights(); void update_lights_lock_held(); - void activate_lights_all_buses(int field_number, std::set *active_lights); + void activate_lights_all_buses(int field_number, std::map *active_lights); std::atomic should_quit{false}; - int should_quit_fd; std::atomic has_peaked[MAX_BUSES] {{ false }};