X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=futatabi%2Fmidi_mapper.cpp;h=061dd2d8c7c3371875b623438a5ce66a26d8ab27;hb=1572c05240f8bc82683a31b6c2df979101b12474;hp=1e26985a01537e226f21cedb7f9e789698648be6;hpb=2c9a83aeae44dae6a0bbfbae33719976e6d527af;p=nageru diff --git a/futatabi/midi_mapper.cpp b/futatabi/midi_mapper.cpp index 1e26985..061dd2d 100644 --- a/futatabi/midi_mapper.cpp +++ b/futatabi/midi_mapper.cpp @@ -16,6 +16,7 @@ #include #include #include +#include #include #include "defs.h" @@ -141,6 +142,8 @@ void MIDIMapper::note_on_received(int note) bind(&ControllerReceiver::queue, receiver)); match_button(note, MIDIMappingProto::kPlayFieldNumber, MIDIMappingProto::kPlayBankFieldNumber, bind(&ControllerReceiver::play, receiver)); + match_button(note, MIDIMappingProto::kToggleLockFieldNumber, MIDIMappingProto::kToggleLockBankFieldNumber, + bind(&ControllerReceiver::toggle_lock, receiver)); unsigned num_cameras = std::min(MAX_STREAMS, mapping_proto->camera_size()); for (unsigned camera_idx = 0; camera_idx < num_cameras; ++camera_idx) { @@ -203,7 +206,7 @@ void MIDIMapper::refresh_lights() void MIDIMapper::update_lights_lock_held() { - set active_lights; // Desired state. + map active_lights; // Desired state. if (current_controller_bank == 0) { activate_mapped_light(*mapping_proto, MIDIMappingProto::kBank1IsSelectedFieldNumber, &active_lights); } @@ -228,6 +231,11 @@ void MIDIMapper::update_lights_lock_held() if (play_enabled_light) { activate_mapped_light(*mapping_proto, MIDIMappingProto::kPlayEnabledFieldNumber, &active_lights); } + if (locked_light == On) { + activate_mapped_light(*mapping_proto, MIDIMappingProto::kLockedFieldNumber, &active_lights); + } else if (locked_light == Blinking) { + activate_mapped_light(*mapping_proto, MIDIMappingProto::kLockedBlinkingFieldNumber, &active_lights); + } if (current_highlighted_camera >= 0 && current_highlighted_camera < mapping_proto->camera_size()) { const CameraMIDIMappingProto &camera = mapping_proto->camera(current_highlighted_camera); activate_mapped_light(camera, CameraMIDIMappingProto::kIsCurrentFieldNumber, &active_lights);