Add signal for foldback send add or remove
This commit is contained in:
parent
a2de8bd881
commit
220fa45d35
|
@ -425,6 +425,10 @@ public:
|
||||||
*/
|
*/
|
||||||
PBD::Signal2<void, RouteGroup *, boost::weak_ptr<Route> > RouteRemovedFromRouteGroup;
|
PBD::Signal2<void, RouteGroup *, boost::weak_ptr<Route> > RouteRemovedFromRouteGroup;
|
||||||
|
|
||||||
|
/** Emitted when a foldback send is created or deleted
|
||||||
|
*/
|
||||||
|
PBD::Signal0<void> FBSendsChanged;
|
||||||
|
|
||||||
/* Step Editing status changed */
|
/* Step Editing status changed */
|
||||||
PBD::Signal1<void,bool> StepEditStatusChange;
|
PBD::Signal1<void,bool> StepEditStatusChange;
|
||||||
|
|
||||||
|
@ -1782,9 +1786,9 @@ public:
|
||||||
f ( (*i).second );
|
f ( (*i).second );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool playlist_is_active( boost::shared_ptr<Playlist>);
|
bool playlist_is_active( boost::shared_ptr<Playlist>);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void reset_write_sources (bool mark_write_complete, bool force = false);
|
void reset_write_sources (bool mark_write_complete, bool force = false);
|
||||||
SourceMap sources;
|
SourceMap sources;
|
||||||
|
|
|
@ -3312,6 +3312,7 @@ Route::add_foldback_send (boost::shared_ptr<Route> route)
|
||||||
} catch (failed_constructor& err) {
|
} catch (failed_constructor& err) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
_session.FBSendsChanged ();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -3321,6 +3322,7 @@ Route::remove_aux_or_listen (boost::shared_ptr<Route> route)
|
||||||
{
|
{
|
||||||
ProcessorStreams err;
|
ProcessorStreams err;
|
||||||
ProcessorList::iterator tmp;
|
ProcessorList::iterator tmp;
|
||||||
|
bool do_fb_signal = false;
|
||||||
|
|
||||||
{
|
{
|
||||||
Glib::Threads::RWLock::ReaderLock rl(_processor_lock);
|
Glib::Threads::RWLock::ReaderLock rl(_processor_lock);
|
||||||
|
@ -3339,6 +3341,11 @@ Route::remove_aux_or_listen (boost::shared_ptr<Route> route)
|
||||||
boost::shared_ptr<InternalSend> d = boost::dynamic_pointer_cast<InternalSend>(*x);
|
boost::shared_ptr<InternalSend> d = boost::dynamic_pointer_cast<InternalSend>(*x);
|
||||||
|
|
||||||
if (d && d->target_route() == route) {
|
if (d && d->target_route() == route) {
|
||||||
|
boost::shared_ptr<Send> snd = boost::dynamic_pointer_cast<Send>(d);
|
||||||
|
if (snd && snd->is_foldback()) {
|
||||||
|
do_fb_signal = true;
|
||||||
|
}
|
||||||
|
|
||||||
rl.release ();
|
rl.release ();
|
||||||
if (remove_processor (*x, &err, false) > 0) {
|
if (remove_processor (*x, &err, false) > 0) {
|
||||||
rl.acquire ();
|
rl.acquire ();
|
||||||
|
@ -3358,6 +3365,10 @@ Route::remove_aux_or_listen (boost::shared_ptr<Route> route)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (do_fb_signal) {
|
||||||
|
_session.FBSendsChanged ();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
Loading…
Reference in New Issue
Block a user