X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=futatabi%2Fmidi_mapper.cpp;h=c675820fb3a40ef3a3244818a0fdb249a5460858;hb=6da5e74d3e13c307de29bd540ff4ce8371000efd;hp=93e367a77aa1ad0987c1a0f40e38372f90c0f14f;hpb=f1a8ab7eb34a89a104093c3931b1d51fcb2684e6;p=nageru diff --git a/futatabi/midi_mapper.cpp b/futatabi/midi_mapper.cpp index 93e367a..c675820 100644 --- a/futatabi/midi_mapper.cpp +++ b/futatabi/midi_mapper.cpp @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -245,6 +246,15 @@ void MIDIMapper::update_lights_lock_held() activate_mapped_light(camera, CameraMIDIMappingProto::kIsCurrentFieldNumber, &active_lights); } + // Master speed light. + if (mapping_proto->has_master_speed_light()) { + unsigned controller = mapping_proto->master_speed_light().controller_number(); + unsigned min = mapping_proto->master_speed_light_min(); + unsigned max = mapping_proto->master_speed_light_max(); + int speed_light_value = lrintf((max - min - 1) * current_speed / 2.0f) + min; + active_lights[MIDIDevice::LightKey{MIDIDevice::LightKey::CONTROLLER, controller}] = speed_light_value; + } + // These are always enabled right now. activate_mapped_light(*mapping_proto, MIDIMappingProto::kCueInEnabledFieldNumber, &active_lights); activate_mapped_light(*mapping_proto, MIDIMappingProto::kCueOutEnabledFieldNumber, &active_lights);