*/
#include <cstdio>
+
+#include <gtkmm/accelmap.h>
+
#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;
-
+using namespace Gtk;
+using namespace PBD;
namespace ARDOUR {
class Session;
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;
- }
+ install_actions ();
+ RedirectBox::register_actions ();
- /* use the default keyboard target for now */
+ std::string key_binding_file = ARDOUR::find_config_file("ardour.bindings");
- keyboard->set_default_target (defaults);
+ try {
+ AccelMap::load (key_binding_file);
+ } catch (...) {
+ error << "ardour key bindings file not found" << endmsg;
+ }
}
void
{
editor->connect_to_session (s);
mixer->connect_to_session (s);
-
- meter_bridge->set_session (s);
}
void