From b8da1d0265aec14741f144eb376aaf43eb7e16dc Mon Sep 17 00:00:00 2001 From: Len Ovens Date: Tue, 11 Aug 2020 10:09:11 -0700 Subject: [PATCH] fix toggle_roll will only start but not stop PH --- libs/surfaces/osc/osc.cc | 11 +++++++++-- libs/surfaces/osc/osc.h | 3 ++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/libs/surfaces/osc/osc.cc b/libs/surfaces/osc/osc.cc index 42969d3c1f..8fa9306e90 100644 --- a/libs/surfaces/osc/osc.cc +++ b/libs/surfaces/osc/osc.cc @@ -494,8 +494,8 @@ OSC::register_callbacks() REGISTER_CALLBACK (serv, X_("/click/level"), "f", click_level); REGISTER_CALLBACK (serv, X_("/midi_panic"), "", midi_panic); REGISTER_CALLBACK (serv, X_("/midi_panic"), "f", midi_panic); - REGISTER_CALLBACK (serv, X_("/toggle_roll"), "", toggle_roll); - REGISTER_CALLBACK (serv, X_("/toggle_roll"), "f", toggle_roll); + REGISTER_CALLBACK (serv, X_("/toggle_roll"), "", osc_toggle_roll); + REGISTER_CALLBACK (serv, X_("/toggle_roll"), "f", osc_toggle_roll); REGISTER_CALLBACK (serv, X_("/stop_forget"), "", stop_forget); REGISTER_CALLBACK (serv, X_("/stop_forget"), "f", stop_forget); REGISTER_CALLBACK (serv, X_("/set_punch_range"), "", set_punch_range); @@ -1450,6 +1450,13 @@ OSC::cancel_all_solos () return 0; } +int +OSC::osc_toggle_roll () +{ + toggle_roll (false); + return 0; +} + lo_address OSC::get_address (lo_message msg) { diff --git a/libs/surfaces/osc/osc.h b/libs/surfaces/osc/osc.h index a59c024655..ad593ef0db 100644 --- a/libs/surfaces/osc/osc.h +++ b/libs/surfaces/osc/osc.h @@ -438,7 +438,7 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI PATH_CALLBACK(mark_out); PATH_CALLBACK(toggle_click); PATH_CALLBACK(midi_panic); - PATH_CALLBACK(toggle_roll); + PATH_CALLBACK(osc_toggle_roll); PATH_CALLBACK(stop_forget); PATH_CALLBACK(set_punch_range); PATH_CALLBACK(set_loop_range); @@ -822,6 +822,7 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI void notify_vca_added (ARDOUR::VCAList &); int cancel_all_solos (); + int osc_toggle_roll (); bool periodic (void); sigc::connection periodic_connection; PBD::ScopedConnectionList session_connections;