X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=nageru%2Fmidi_mapper.h;h=90f9f89f4200891d7096a77c31035a30003e13a6;hb=a0e57ec99e9dfdd7e79bcf21e8c996dc43b6cb49;hp=a25994357c6e81df285fa97fa023ff5d0a0d003a;hpb=d1e616378bda406c96acf7c2dc975b7ab2e8165e;p=nageru diff --git a/nageru/midi_mapper.h b/nageru/midi_mapper.h index a259943..90f9f89 100644 --- a/nageru/midi_mapper.h +++ b/nageru/midi_mapper.h @@ -8,14 +8,14 @@ // 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 "shared/midi_device.h" @@ -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 }};