diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-12-12 18:59:47 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-12-12 18:59:47 +0000 |
commit | 75f3005c67f5c8ea883c0e24e9832b59c5ced13f (patch) | |
tree | 7f8ce77feb7f292488e5a104c0486d226604d9d5 /libs | |
parent | 8e8b296bb424972d2cddba4ef56fbdb3388fb36d (diff) |
sometimes, you just have to do what a windows programmer would do. add a global signal, ARDOUR::GUIIdle() which can be used in the middle of long-running backend operations to give the GUI a chance to update. use it while adding routes.
git-svn-id: svn://localhost/ardour2/branches/3.0@13650 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/ardour/ardour.h | 1 | ||||
-rw-r--r-- | libs/ardour/globals.cc | 1 | ||||
-rw-r--r-- | libs/ardour/session.cc | 4 |
3 files changed, 6 insertions, 0 deletions
diff --git a/libs/ardour/ardour/ardour.h b/libs/ardour/ardour/ardour.h index c19d4332e8..03de3965ec 100644 --- a/libs/ardour/ardour/ardour.h +++ b/libs/ardour/ardour/ardour.h @@ -48,6 +48,7 @@ namespace ARDOUR { class AudioEngine; extern PBD::Signal1<void,std::string> BootMessage; + extern PBD::Signal0<void> GUIIdle; int init (bool with_vst, bool try_optimization); void init_post_engine (); diff --git a/libs/ardour/globals.cc b/libs/ardour/globals.cc index 085dfc8e59..2b0bc05534 100644 --- a/libs/ardour/globals.cc +++ b/libs/ardour/globals.cc @@ -113,6 +113,7 @@ mix_buffers_with_gain_t ARDOUR::mix_buffers_with_gain = 0; mix_buffers_no_gain_t ARDOUR::mix_buffers_no_gain = 0; PBD::Signal1<void,std::string> ARDOUR::BootMessage; +PBD::Signal0<void> ARDOUR::GUIIdle; namespace ARDOUR { extern void setup_enum_writer (); diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index ccf4cb2b86..3b46ad3be1 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -2012,6 +2012,8 @@ Session::new_audio_route (int input_channels, int output_channels, RouteGroup* r bus->add_internal_return (); ret.push_back (bus); + + ARDOUR::GUIIdle (); } @@ -2242,6 +2244,8 @@ Session::add_routes_inner (RouteList& new_routes, bool input_auto_connect, bool order++; } } + + ARDOUR::GUIIdle (); } if (_monitor_out && IO::connecting_legal) { |