From 3605f51e7e4eb94e9e6c54c3e8b254c695b6d4a2 Mon Sep 17 00:00:00 2001 From: Ben Loftis Date: Thu, 27 Jan 2022 12:45:29 -0600 Subject: [PATCH] TriggerBox: trigger_by_id searches the box for a trigger with matching pbd::id --- libs/ardour/ardour/triggerbox.h | 2 ++ libs/ardour/triggerbox.cc | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/libs/ardour/ardour/triggerbox.h b/libs/ardour/ardour/triggerbox.h index 54f2f59b64..8a92d51aa5 100644 --- a/libs/ardour/ardour/triggerbox.h +++ b/libs/ardour/ardour/triggerbox.h @@ -616,6 +616,8 @@ class LIBARDOUR_API TriggerBox : public Processor TriggerPtr currently_playing() const { return _currently_playing; } + TriggerPtr trigger_by_id (PBD::ID); + void clear_all_triggers (); void set_all_follow_action (ARDOUR::FollowAction const &, uint32_t n=0); void set_all_launch_style (ARDOUR::Trigger::LaunchStyle); diff --git a/libs/ardour/triggerbox.cc b/libs/ardour/triggerbox.cc index 80bada4620..e521e51a68 100644 --- a/libs/ardour/triggerbox.cc +++ b/libs/ardour/triggerbox.cc @@ -2290,6 +2290,18 @@ TriggerBox::get_next_trigger () return 0; } +TriggerPtr +TriggerBox::trigger_by_id (PBD::ID check) +{ + for (uint64_t n = 0; n < all_triggers.size(); ++n) { + if (trigger (n)->id() == check) { + return trigger (n); + } + } + return TriggerPtr(); +} + +void void TriggerBox::set_from_selection (uint32_t slot, boost::shared_ptr region) {