triggerbox: add API to clear a cue (row)
This commit is contained in:
parent
da4d2a645f
commit
68678aa957
@ -1388,6 +1388,7 @@ public:
|
||||
TriggerPtr trigger_at (int32_t route_index, int32_t row_index) const;
|
||||
bool bang_trigger_at(int32_t route_index, int32_t row_index);
|
||||
bool unbang_trigger_at(int32_t route_index, int32_t row_index);
|
||||
void clear_cue (int row_index);
|
||||
|
||||
void start_domain_bounce (Temporal::DomainBounceInfo&);
|
||||
void finish_domain_bounce (Temporal::DomainBounceInfo&);
|
||||
|
@ -774,6 +774,7 @@ class LIBARDOUR_API TriggerBox : public Processor
|
||||
TriggerPtr trigger_by_id (PBD::ID);
|
||||
|
||||
void clear_all_triggers ();
|
||||
void clear_cue (int cue);
|
||||
void set_all_follow_action (ARDOUR::FollowAction const &, uint32_t n=0);
|
||||
void set_all_launch_style (ARDOUR::Trigger::LaunchStyle);
|
||||
void set_all_quantization (Temporal::BBT_Offset const&);
|
||||
|
@ -1806,6 +1806,26 @@ Session::triggerbox_at (int32_t route_index) const
|
||||
return std::shared_ptr<TriggerBox>();
|
||||
}
|
||||
|
||||
void
|
||||
Session::clear_cue (int row_index)
|
||||
{
|
||||
StripableList sl;
|
||||
get_stripables (sl);
|
||||
|
||||
for (StripableList::iterator s = sl.begin (); s != sl.end (); ++s) {
|
||||
std::shared_ptr<Route> r = std::dynamic_pointer_cast<Route> (*s);
|
||||
if (!r || !r->triggerbox ()) {
|
||||
continue;
|
||||
}
|
||||
/* we're only interested in Trigger Tracks */
|
||||
if (!(r->presentation_info ().trigger_track ())) {
|
||||
continue;
|
||||
}
|
||||
|
||||
r->triggerbox()->clear_cue (row_index);
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
Session::num_triggerboxes () const
|
||||
{
|
||||
|
@ -3691,6 +3691,12 @@ TriggerBox::clear_all_triggers ()
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
TriggerBox::clear_cue (int cue)
|
||||
{
|
||||
all_triggers[cue]->set_region (std::shared_ptr<Region>());
|
||||
}
|
||||
|
||||
void
|
||||
TriggerBox::set_all_launch_style (ARDOUR::Trigger::LaunchStyle ls)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user