session: add signal to indicate batch updates
…to tell the UI to not redraw.
This commit is contained in:
parent
af884b4174
commit
ae38128f88
@ -183,6 +183,9 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop
|
||||
|
||||
static PBD::Signal1<void,std::string> Dialog;
|
||||
|
||||
PBD::Signal0<void> BatchUpdateStart;
|
||||
PBD::Signal0<void> BatchUpdateEnd;
|
||||
|
||||
int ensure_subdirs ();
|
||||
|
||||
std::string automation_dir () const; ///< Automation data
|
||||
@ -1272,7 +1275,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop
|
||||
void *do_work();
|
||||
|
||||
/* Signal Forwarding */
|
||||
void emit_route_signals () const;
|
||||
void emit_route_signals ();
|
||||
void emit_thread_run ();
|
||||
static void *emit_thread (void *);
|
||||
void emit_thread_start ();
|
||||
|
@ -1254,12 +1254,15 @@ Session::compute_stop_limit () const
|
||||
*/
|
||||
|
||||
void
|
||||
Session::emit_route_signals () const
|
||||
Session::emit_route_signals ()
|
||||
{
|
||||
// TODO use RAII to allow using these signals in other places
|
||||
BatchUpdateStart(); /* EMIT SIGNAL */
|
||||
boost::shared_ptr<RouteList> r = routes.reader ();
|
||||
for (RouteList::const_iterator ci = r->begin(); ci != r->end(); ++ci) {
|
||||
(*ci)->emit_pending_signals ();
|
||||
}
|
||||
BatchUpdateEnd(); /* EMIT SIGNAL */
|
||||
}
|
||||
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user