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) {