diff options
author | Taybin Rutkin <taybin@taybin.com> | 2005-09-25 18:42:24 +0000 |
---|---|---|
committer | Taybin Rutkin <taybin@taybin.com> | 2005-09-25 18:42:24 +0000 |
commit | 209d967b1bb80a9735d690d8f4f0455ecb9970ca (patch) | |
tree | 9d76ddcd7c1ac9d91bb2b1a33d31b66ce4ded5de /gtk2_ardour/ardour_ui_dependents.cc | |
parent | e4b9aed743fc765219ac775905a221c017c88fba (diff) |
Initial import of gtk2_ardour.
git-svn-id: svn://localhost/trunk/ardour2@24 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/ardour_ui_dependents.cc')
-rw-r--r-- | gtk2_ardour/ardour_ui_dependents.cc | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/gtk2_ardour/ardour_ui_dependents.cc b/gtk2_ardour/ardour_ui_dependents.cc new file mode 100644 index 0000000000..7464a67ce2 --- /dev/null +++ b/gtk2_ardour/ardour_ui_dependents.cc @@ -0,0 +1,109 @@ +/* + 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 + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + $Id$ +*/ + +/* this file exists solely to break compilation dependencies that + would connect changes to the mixer or editor objects. +*/ + +#include <cstdio> +#include <pbd/error.h> +#include "ardour_ui.h" +#include "public_editor.h" +#include "mixer_ui.h" +#include "meter_bridge.h" +#include "keyboard.h" +#include "route_params_ui.h" +#include "i18n.h" + +using namespace SigC; + + +namespace ARDOUR { + class Session; + class Route; +} + +void +ARDOUR_UI::shutdown () +{ + if (session) { + delete session; + session = 0; + } + +} + +void +ARDOUR_UI::we_have_dependents () +{ + setup_keybindings (); +} + +void +ARDOUR_UI::setup_keybindings () +{ + /* install default bindings */ + + KeyboardTarget *defaults = new KeyboardTarget (editor->window(), X_("default")); + + XMLNode* keynode = ARDOUR::Config->get_keys(); + + if (keynode != 0) { + defaults->set_binding_state (*keynode); + editor->set_binding_state (*keynode); + mixer->set_binding_state (*keynode); + meter_bridge->set_binding_state (*keynode); + } else { + error << _("keyboard_target: error setting binding state: invalid node") << endmsg; + } + + /* use the default keyboard target for now */ + + keyboard->set_default_target (defaults); +} + +void +ARDOUR_UI::connect_dependents_to_session (ARDOUR::Session *s) +{ + editor->connect_to_session (s); + mixer->connect_to_session (s); + + meter_bridge->set_session (s); +} + +void +ARDOUR_UI::goto_editor_window () +{ + editor->show_window (); + editor->window().get_window().raise (); +} +void +ARDOUR_UI::goto_mixer_window () +{ + mixer->show_window (); + mixer->get_window().raise (); +} + +gint +ARDOUR_UI::exit_on_main_window_close (GdkEventAny *ev) +{ + finish(); + return TRUE; +} |