summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/ardour_ui.cc')
-rw-r--r--gtk2_ardour/ardour_ui.cc25
1 files changed, 12 insertions, 13 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index cdf8099fd0..ac7e493fe3 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -667,16 +667,21 @@ ARDOUR_UI::startup ()
if (!nsm->init (nsm_url)) {
nsm->announce (PROGRAM_NAME, ":dirty:", "ardour3");
+ unsigned int i = 0;
// wait for announce reply from nsm server
- do {
+ for ( i = 0; i < 5000; ++i) {
nsm->check ();
- usleep (10);
- } while (!nsm->is_active ());
+ usleep (i);
+ if (nsm->is_active())
+ break;
+ }
// wait for open command from nsm server
- do {
+ for ( i = 0; i < 5000; ++i) {
nsm->check ();
- usleep (10);
- } while (!nsm->client_id ());
+ usleep (1000);
+ if (nsm->client_id ())
+ break;
+ }
if (_session && nsm) {
_session->set_nsm_state( nsm->is_active() );
@@ -699,12 +704,6 @@ ARDOUR_UI::startup ()
}
}
- // wait for session is loaded reply from nsm server
- do {
- nsm->check ();
- usleep (10);
- } while (!nsm->session_loaded ());
-
}
else {
delete nsm;
@@ -982,7 +981,7 @@ ARDOUR_UI::every_second ()
update_disk_space ();
update_timecode_format ();
- if (nsm && nsm->is_active () && nsm->session_loaded ()) {
+ if (nsm && nsm->is_active ()) {
nsm->check ();
if (!_was_dirty && _session->dirty ()) {