diff options
author | Nick Mainsbridge <beatroute@iprimus.com.au> | 2006-08-30 20:48:16 +0000 |
---|---|---|
committer | Nick Mainsbridge <beatroute@iprimus.com.au> | 2006-08-30 20:48:16 +0000 |
commit | a61f25dfe9dcf1f29852d917779529d26e762ea5 (patch) | |
tree | c4e13a95f78c22ae705234ad8deda6cea4fa1973 /gtk2_ardour/main.cc | |
parent | 6535cd1b1dbab7cc59a356c81d92dbc2cf25333b (diff) |
** requires svn jack ** Hardware monitoring should work, some canvas scrolling speed improvement, don't disconcertingly churn the disk if jack auto-start fails, mixer visibility state is saved per session, slow down meters a bit (too much?), zoom cleanups, remove some unused variables, use rwlock for tempo state for no reason other than that it might be useful one day, fix compiler warning.
git-svn-id: svn://localhost/ardour2/trunk@873 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/main.cc')
-rw-r--r-- | gtk2_ardour/main.cc | 38 |
1 files changed, 23 insertions, 15 deletions
diff --git a/gtk2_ardour/main.cc b/gtk2_ardour/main.cc index d2550754f6..7d716e1bb8 100644 --- a/gtk2_ardour/main.cc +++ b/gtk2_ardour/main.cc @@ -267,7 +267,7 @@ show_ui_callback (void *arg) void gui_jack_error () { - MessageDialog win (_("Ardour could not connect to JACK."), + MessageDialog win (_("Ardour could not connect to JACK."), false, Gtk::MESSAGE_INFO, (Gtk::ButtonsType)(Gtk::BUTTONS_NONE)); @@ -285,7 +285,11 @@ Please consider the possibilities, and perhaps (re)start JACK.")); win.show_all (); win.set_position (Gtk::WIN_POS_CENTER); - /* we just don't care about the result */ + if (!no_splash) { + ui->hide_splash (); + } + + /* we just don't care about the result, but we want to block */ win.run (); } @@ -325,7 +329,7 @@ To create it from the command line, start ardour as \"ardour --new %1"), path) < ui->load_session (path, name); } else { - /* TODO: This bit of code doesn't work properly yet + /* TODO: This bit of code doesn't work properly yet Glib::signal_idle().connect (bind (mem_fun (*ui, &ARDOUR_UI::cmdline_new_session), path)); ui->set_will_create_new_session_automatically (true); */ @@ -354,9 +358,6 @@ int main (int argc, char *argv[]) ARDOUR::AudioEngine *engine; vector<Glib::ustring> null_file_list; - // needs a better home. - Glib::thread_init(); - gtk_set_locale (); (void) bindtextdomain (PACKAGE, LOCALEDIR); @@ -410,11 +411,12 @@ int main (int argc, char *argv[]) << endl; } - try { - ui = new ARDOUR_UI (&argc, &argv, which_ui_rcfile()); - } + // needs a better home. + Glib::thread_init(); - catch (failed_constructor& err) { + try { + ui = new ARDOUR_UI (&argc, &argv, which_ui_rcfile()); + } catch (failed_constructor& err) { error << _("could not create ARDOUR GUI") << endmsg; exit (1); } @@ -423,23 +425,29 @@ int main (int argc, char *argv[]) if (!no_splash) { ui->show_splash (); if (session_name.length()) { - gtk_timeout_add (4000, show_ui_callback, ui); + g_timeout_add (4000, show_ui_callback, ui); } } - - try { + + + try { engine = new ARDOUR::AudioEngine (jack_client_name); - ARDOUR::init (use_vst, try_hw_optimization); - ui->set_engine (*engine); } catch (AudioEngine::NoBackendAvailable& err) { gui_jack_error (); error << string_compose (_("Could not connect to JACK server as \"%1\""), jack_client_name) << endmsg; return -1; + } + + + try { + ARDOUR::init (use_vst, try_hw_optimization); + ui->set_engine (*engine); } catch (failed_constructor& err) { error << _("could not initialize Ardour.") << endmsg; return -1; } + if (maybe_load_session ()) { ui->run (text_receiver); ui = 0; |