*/
#include <vector>
-#include <string.h>
+#include <string>
#include <gtk/gtkaccelmap.h>
#include <gtk/gtkuimanager.h>
using namespace Gtk;
using namespace Glib;
using namespace sigc;
+using namespace PBD;
vector<RefPtr<Gtk::Action> > ActionManager::session_sensitive_actions;
vector<RefPtr<Gtk::Action> > ActionManager::region_list_selection_sensitive_actions;
+vector<RefPtr<Gtk::Action> > ActionManager::plugin_selection_sensitive_actions;
vector<RefPtr<Gtk::Action> > ActionManager::region_selection_sensitive_actions;
vector<RefPtr<Gtk::Action> > ActionManager::track_selection_sensitive_actions;
-vector<RefPtr<Gtk::Action> > ActionManager::plugin_selection_sensitive_actions;
+vector<RefPtr<Gtk::Action> > ActionManager::point_selection_sensitive_actions;
+vector<RefPtr<Gtk::Action> > ActionManager::time_selection_sensitive_actions;
+vector<RefPtr<Gtk::Action> > ActionManager::line_selection_sensitive_actions;
+vector<RefPtr<Gtk::Action> > ActionManager::playlist_selection_sensitive_actions;
+
vector<RefPtr<Gtk::Action> > ActionManager::range_sensitive_actions;
vector<RefPtr<Gtk::Action> > ActionManager::jack_sensitive_actions;
vector<RefPtr<Gtk::Action> > ActionManager::jack_opposite_sensitive_actions;
ActionManager::init ()
{
ui_manager = UIManager::create ();
+
+ std::string ui_file = ARDOUR::find_config_file("ardour.menus");
+ bool loaded = false;
+
try {
- ui_manager->add_ui_from_file (ARDOUR::find_config_file("ardour-menus.xml"));
+ ui_manager->add_ui_from_file (ui_file);
+ loaded = true;
} catch (Glib::MarkupError& err) {
error << "badly formatted UI definition file" << endmsg;
} catch (...) {
error << "Ardour menu definition file not found" << endmsg;
}
+
+ if (!loaded) {
+ error << "ardour will not work without a valid ardour.menus file" << endmsg;
+ exit(1);
+ }
}
RefPtr<Action>
return act;
}
-
RefPtr<Action>
ActionManager::register_toggle_action (RefPtr<ActionGroup> group, const char * name, const char * label, slot<void> sl, guint key, Gdk::ModifierType mods)
{