lppro: solo, mute, rec-enable basics

This commit is contained in:
Paul Davis 2023-08-22 20:44:13 -06:00
parent a6e9d6ecd1
commit 9ee7c33737

View file

@ -390,9 +390,9 @@ LaunchPadPro::build_pad_map ()
EDGE_PAD0 (Sends); EDGE_PAD0 (Sends);
EDGE_PAD0 (Pan); EDGE_PAD0 (Pan);
EDGE_PAD0 (Volume); EDGE_PAD0 (Volume);
EDGE_PAD0 (Solo); EDGE_PAD (Solo, &LaunchPadPro::solo_press);
EDGE_PAD0 (Mute); EDGE_PAD (Mute, &LaunchPadPro::mute_press);
EDGE_PAD0 (RecordArm); EDGE_PAD (RecordArm, &LaunchPadPro::record_arm_press);
EDGE_PAD0 (CaptureMIDI); EDGE_PAD0 (CaptureMIDI);
EDGE_PAD (Play, &LaunchPadPro::play_press); EDGE_PAD (Play, &LaunchPadPro::play_press);
@ -1234,16 +1234,37 @@ LaunchPadPro::volume_press (Pad& pad)
void void
LaunchPadPro::solo_press (Pad& pad) LaunchPadPro::solo_press (Pad& pad)
{ {
std::shared_ptr<Stripable> s = session->selection().first_selected_stripable();
if (s) {
std::shared_ptr<AutomationControl> ac = s->solo_control();
if (ac) {
session->set_control (ac, !ac->get_value(), PBD::Controllable::UseGroup);
}
}
} }
void void
LaunchPadPro::mute_press (Pad& pad) LaunchPadPro::mute_press (Pad& pad)
{ {
std::shared_ptr<Stripable> s = session->selection().first_selected_stripable();
if (s) {
std::shared_ptr<AutomationControl> ac = s->mute_control();
if (ac) {
ac->set_value (!ac->get_value(), PBD::Controllable::UseGroup);
}
}
} }
void void
LaunchPadPro::record_arm_press (Pad& pad) LaunchPadPro::record_arm_press (Pad& pad)
{ {
std::shared_ptr<Stripable> s = session->selection().first_selected_stripable();
if (s) {
std::shared_ptr<AutomationControl> ac = s->rec_enable_control();
if (ac) {
ac->set_value (!ac->get_value(), PBD::Controllable::UseGroup);
}
}
} }
void void