X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fardour_ui_dependents.cc;h=c27ade9fedfd4bd9d3ac6cc537c20cd9946a8c55;hb=11f51497f365ca55065834e86169ddd6605e4f9b;hp=0603fc6baa5acb95ee365736ac18eb2be21734c1;hpb=991b9136bb5b8cd7981588195ed0566b0045054b;p=ardour.git diff --git a/gtk2_ardour/ardour_ui_dependents.cc b/gtk2_ardour/ardour_ui_dependents.cc index 0603fc6baa..c27ade9fed 100644 --- a/gtk2_ardour/ardour_ui_dependents.cc +++ b/gtk2_ardour/ardour_ui_dependents.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2000 Paul Davis + Copyright (C) 2000 Paul Davis This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,26 +15,32 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id$ */ +#ifdef WAF_BUILD +#include "gtk2ardour-config.h" +#endif + /* this file exists solely to break compilation dependencies that would connect changes to the mixer or editor objects. */ #include -#include +#include "pbd/error.h" + +#include "ardour/session.h" -#include +#include "actions.h" #include "ardour_ui.h" #include "public_editor.h" #include "mixer_ui.h" #include "keyboard.h" +#include "splash.h" #include "route_params_ui.h" +#include "opts.h" #include "i18n.h" -using namespace sigc; using namespace Gtk; using namespace PBD; @@ -43,60 +49,54 @@ namespace ARDOUR { class Route; } -void -ARDOUR_UI::shutdown () -{ - if (session) { - delete session; - session = 0; - } - -} +using namespace ARDOUR; void ARDOUR_UI::we_have_dependents () -{ - setup_keybindings (); -} - -void -ARDOUR_UI::setup_keybindings () { install_actions (); - RedirectBox::register_actions (); - - std::string key_binding_file = ARDOUR::find_config_file("ardour.bindings"); - - try { - AccelMap::load (key_binding_file); - } catch (...) { - error << "ardour key bindings file not found" << endmsg; - } + ProcessorBox::register_actions (); + keyboard->setup_keybindings (); + editor->setup_tooltips (); + editor->UpdateAllTransportClocks.connect (sigc::mem_fun (*this, &ARDOUR_UI::update_transport_clocks)); + + /* all actions are defined */ + + ActionManager::enable_accelerators (); + ActionManager::load_menus (ARDOUR_COMMAND_LINE::menus_file); + + editor->track_mixer_selection (); + mixer->track_editor_selection (); } void ARDOUR_UI::connect_dependents_to_session (ARDOUR::Session *s) { - editor->connect_to_session (s); - mixer->connect_to_session (s); -} + DisplaySuspender ds; + BootMessage (_("Setup Editor")); + editor->set_session (s); + BootMessage (_("Setup Mixer")); + mixer->set_session (s); + meterbridge->set_session (s); -void -ARDOUR_UI::goto_editor_window () -{ - editor->show_window (); - editor->present(); -} -void -ARDOUR_UI::goto_mixer_window () -{ - mixer->show_window (); - mixer->present(); + /* its safe to do this now */ + + BootMessage (_("Reload Session History")); + s->restore_history (""); } +/** The main editor window has been closed */ gint -ARDOUR_UI::exit_on_main_window_close (GdkEventAny *ev) +ARDOUR_UI::exit_on_main_window_close (GdkEventAny * /*ev*/) { +#ifdef TOP_MENUBAR + /* just hide the window, and return - the top menu stays up */ + editor->hide (); + return TRUE; +#else + /* time to get out of here */ finish(); return TRUE; +#endif } +