X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=futatabi%2Fmidi_mapper.h;h=fd16089c55e6ff7329b68f454e5c8ffeedab32b5;hb=6e11fb3335681fe007079d16c6975d469e3afb6b;hp=0dd14cec2ecabd059298e8931703909afc7d7723;hpb=2c9a83aeae44dae6a0bbfbae33719976e6d527af;p=nageru diff --git a/futatabi/midi_mapper.h b/futatabi/midi_mapper.h index 0dd14ce..fd16089 100644 --- a/futatabi/midi_mapper.h +++ b/futatabi/midi_mapper.h @@ -15,7 +15,6 @@ #include #include #include -#include #include #include @@ -32,6 +31,7 @@ public: virtual void preview() = 0; virtual void queue() = 0; virtual void play() = 0; + virtual void toggle_lock() = 0; virtual void jog(int delta) = 0; virtual void switch_camera(unsigned camera_idx) = 0; virtual void set_master_speed(float speed) = 0; @@ -68,6 +68,10 @@ public: play_enabled_light = enabled; refresh_lights(); } + void set_locked(bool locked) { + locked_light = locked; + refresh_lights(); + } void highlight_camera_input(int stream_idx) { // -1 for none. current_highlighted_camera = stream_idx; refresh_lights(); @@ -85,7 +89,6 @@ private: bool bank_mismatch(int bank_field_number); void update_lights_lock_held(); - void activate_lights_all_buses(int field_number, std::set *active_lights); std::atomic should_quit{false}; int should_quit_fd; @@ -99,6 +102,7 @@ private: std::atomic preview_enabled_light{false}; std::atomic queue_enabled_light{false}; std::atomic play_enabled_light{false}; + std::atomic locked_light{true}; std::atomic current_highlighted_camera{-1}; MIDIDevice midi_device;