summaryrefslogtreecommitdiff
path: root/gtk2_ardour/main.cc
diff options
context:
space:
mode:
authorNick Mainsbridge <beatroute@iprimus.com.au>2006-08-30 20:48:16 +0000
committerNick Mainsbridge <beatroute@iprimus.com.au>2006-08-30 20:48:16 +0000
commita61f25dfe9dcf1f29852d917779529d26e762ea5 (patch)
treec4e13a95f78c22ae705234ad8deda6cea4fa1973 /gtk2_ardour/main.cc
parent6535cd1b1dbab7cc59a356c81d92dbc2cf25333b (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.cc38
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;