bind(&ControllerReceiver::queue, receiver));
match_button(note, MIDIMappingProto::kPlayFieldNumber, MIDIMappingProto::kPlayBankFieldNumber,
bind(&ControllerReceiver::play, receiver));
+ match_button(note, MIDIMappingProto::kNextFieldNumber, MIDIMappingProto::kNextButtonBankFieldNumber,
+ bind(&ControllerReceiver::next, receiver));
match_button(note, MIDIMappingProto::kToggleLockFieldNumber, MIDIMappingProto::kToggleLockBankFieldNumber,
bind(&ControllerReceiver::toggle_lock, receiver));
} else if (play_enabled_light == Blinking) { // Play ready.
activate_mapped_light(*mapping_proto, MIDIMappingProto::kPlayReadyFieldNumber, &active_lights);
}
+ if (next_ready_light == On) {
+ activate_mapped_light(*mapping_proto, MIDIMappingProto::kNextReadyFieldNumber, &active_lights);
+ }
if (locked_light == On) {
activate_mapped_light(*mapping_proto, MIDIMappingProto::kLockedFieldNumber, &active_lights);
} else if (locked_light == Blinking) {
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;
+ int speed_light_value = lrintf((max - min) * current_speed / 2.0f) + min;
active_lights[MIDIDevice::LightKey{MIDIDevice::LightKey::CONTROLLER, controller}] = speed_light_value;
}