more fixes on the long road to compiling
git-svn-id: svn://localhost/trunk/ardour2@103 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
5d51500490
commit
cdc2d055f1
@ -29,21 +29,21 @@ using namespace std;
|
||||
using namespace Gtk;
|
||||
using namespace Glib;
|
||||
using namespace sigc;
|
||||
using namespace ActionManager;
|
||||
|
||||
vector<Glib::RefPtr<Gtk::Action> > ActionManager::session_sensitive_actions;
|
||||
vector<Glib::RefPtr<Gtk::Action> > ActionManager::region_list_selection_sensitive_actions;
|
||||
vector<Glib::RefPtr<Gtk::Action> > ActionManager::region_selection_sensitive_actions;
|
||||
vector<Glib::RefPtr<Gtk::Action> > ActionManager::track_selection_sensitive_actions;
|
||||
vector<Glib::RefPtr<Gtk::Action> > ActionManager::plugin_selection_sensitive_actions;
|
||||
vector<Glib::RefPtr<Gtk::Action> > ActionManager::range_sensitive_actions;
|
||||
vector<Glib::RefPtr<Gtk::Action> > ActionManager::jack_sensitive_actions;
|
||||
vector<RefPtr<Gtk::Action> > ActionManager::session_sensitive_actions;
|
||||
vector<RefPtr<Gtk::Action> > ActionManager::region_list_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::range_sensitive_actions;
|
||||
vector<RefPtr<Gtk::Action> > ActionManager::jack_sensitive_actions;
|
||||
string ActionManager::unbound_string = "--";
|
||||
|
||||
namespace ActionManager {
|
||||
|
||||
static vector<Glib::RefPtr<UIManager> > ui_managers;
|
||||
static vector<RefPtr<UIManager> > ui_managers;
|
||||
|
||||
void
|
||||
register_ui_manager (Glib::RefPtr<UIManager> uim)
|
||||
register_ui_manager (RefPtr<UIManager> uim)
|
||||
{
|
||||
ui_managers.push_back (uim);
|
||||
}
|
||||
@ -119,7 +119,7 @@ register_toggle_action (RefPtr<ActionGroup> group, string name, string label, sl
|
||||
return act;
|
||||
}
|
||||
|
||||
bool lookup_entry (const Glib::ustring accel_path, Gtk::AccelKey& key)
|
||||
bool lookup_entry (const ustring accel_path, Gtk::AccelKey& key)
|
||||
{
|
||||
GtkAccelKey gkey;
|
||||
bool known = gtk_accel_map_lookup_entry (accel_path.c_str(), &gkey);
|
||||
@ -133,10 +133,21 @@ bool lookup_entry (const Glib::ustring accel_path, Gtk::AccelKey& key)
|
||||
return known;
|
||||
}
|
||||
|
||||
void
|
||||
merge_actions (RefPtr<ActionGroup> dst, const RefPtr<ActionGroup> src)
|
||||
{
|
||||
ListHandle<RefPtr<Action> > group_actions = src->get_actions();
|
||||
|
||||
for (ListHandle<RefPtr<Action> >::iterator a = group_actions.begin(); a != group_actions.end(); ++a) {
|
||||
RefPtr<Action> act = Action::create ((*a)->get_name(), (*a)->property_label());
|
||||
dst->add (act);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
get_all_actions (vector<string>& names, vector<string>& paths, vector<string>& keys, vector<AccelKey>& bindings)
|
||||
{
|
||||
for (vector<Glib::RefPtr<UIManager> >::iterator u = ui_managers.begin(); u != ui_managers.end(); ++u) {
|
||||
for (vector<RefPtr<UIManager> >::iterator u = ui_managers.begin(); u != ui_managers.end(); ++u) {
|
||||
|
||||
ListHandle<RefPtr<ActionGroup> > uim_groups = (*u)->get_action_groups ();
|
||||
|
||||
@ -159,7 +170,7 @@ get_all_actions (vector<string>& names, vector<string>& paths, vector<string>& k
|
||||
if (known) {
|
||||
keys.push_back ((*u)->get_accel_group()->name (key.get_key(), Gdk::ModifierType (key.get_mod())));
|
||||
} else {
|
||||
keys.push_back ("--");
|
||||
keys.push_back (unbound_string);
|
||||
}
|
||||
|
||||
bindings.push_back (AccelKey (key.get_key(), Gdk::ModifierType (key.get_mod())));
|
||||
@ -167,5 +178,3 @@ get_all_actions (vector<string>& names, vector<string>& paths, vector<string>& k
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -21,6 +21,8 @@ namespace ActionManager
|
||||
extern std::vector<Glib::RefPtr<Gtk::Action> > range_sensitive_actions;
|
||||
extern std::vector<Glib::RefPtr<Gtk::Action> > jack_sensitive_actions;
|
||||
|
||||
extern std::string unbound_string; /* the key string returned if an action is not bound */
|
||||
|
||||
void register_ui_manager (Glib::RefPtr<Gtk::UIManager>);
|
||||
|
||||
Glib::RefPtr<Gtk::Action> register_action (Glib::RefPtr<Gtk::ActionGroup> group,
|
||||
@ -42,6 +44,9 @@ namespace ActionManager
|
||||
guint key, Gdk::ModifierType mods);
|
||||
Glib::RefPtr<Gtk::Action> register_toggle_action (Glib::RefPtr<Gtk::ActionGroup> group,
|
||||
std::string name, std::string label, sigc::slot<void> sl);
|
||||
|
||||
void merge_actions (Glib::RefPtr<Gtk::ActionGroup> dst, const Glib::RefPtr<Gtk::ActionGroup> src);
|
||||
|
||||
};
|
||||
|
||||
#endif /* __ardour_gtk_actions_h__ */
|
||||
|
@ -677,6 +677,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI
|
||||
/* Keymap handling */
|
||||
|
||||
void install_keybindings ();
|
||||
Glib::RefPtr<Gtk::ActionGroup> get_common_actions();
|
||||
void install_actions ();
|
||||
void test_binding_action (const char *);
|
||||
void start_keyboard_prefix();
|
||||
@ -732,6 +733,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI
|
||||
bool filter_ardour_session_dirs (const Gtk::FileFilter::Info&);
|
||||
|
||||
Glib::RefPtr<Gtk::UIManager> ui_manager;
|
||||
Glib::RefPtr<Gtk::ActionGroup> common_actions;
|
||||
};
|
||||
|
||||
#endif /* __ardour_gui_h__ */
|
||||
|
@ -139,7 +139,9 @@ ARDOUR_UI::install_actions ()
|
||||
act = register_radio_action (jack_actions, jack_latency_group, X_("JACKLatency8192"), X_("8192"), bind (mem_fun(*this, &ARDOUR_UI::set_jack_buffer_size), (jack_nframes_t) 8192));
|
||||
jack_sensitive_actions.push_back (act);
|
||||
|
||||
Glib::RefPtr<ActionGroup> common_actions = ActionGroup::create (X_("Common"));
|
||||
/* these actions are intended to be shared across all windows */
|
||||
|
||||
common_actions = ActionGroup::create (X_("Common"));
|
||||
|
||||
register_action (common_actions, X_("Start-Prefix"), _("start prefix"), mem_fun(*this, &ARDOUR_UI::start_keyboard_prefix));
|
||||
register_action (common_actions, X_("Quit"), _("quit"), (mem_fun(*this, &ARDOUR_UI::finish)));
|
||||
|
@ -32,74 +32,73 @@ using namespace sigc;
|
||||
void
|
||||
ARDOUR_UI::install_keybindings ()
|
||||
{
|
||||
KeyboardTarget::add_action ("start-prefix", mem_fun(*this, &ARDOUR_UI::start_keyboard_prefix));
|
||||
register_action (shared_actions, "start-prefix", _("start-prefix"), mem_fun(*this, &ARDOUR_UI::start_keyboard_prefix));
|
||||
|
||||
KeyboardTarget::add_action ("toggle-editor-window", mem_fun(*this, &ARDOUR_UI::goto_editor_window));
|
||||
KeyboardTarget::add_action ("toggle-mixer-window", mem_fun(*this, &ARDOUR_UI::goto_mixer_window));
|
||||
KeyboardTarget::add_action ("toggle-locations-window", mem_fun(*this, &ARDOUR_UI::toggle_location_window));
|
||||
KeyboardTarget::add_action ("toggle-big-clock-window", mem_fun(*this, &ARDOUR_UI::toggle_big_clock_window));
|
||||
KeyboardTarget::add_action ("toggle-options-window", mem_fun(*this, &ARDOUR_UI::toggle_options_window));
|
||||
KeyboardTarget::add_action ("toggle-auto-loop", mem_fun(*this, &ARDOUR_UI::toggle_session_auto_loop));
|
||||
KeyboardTarget::add_action ("toggle-punch-in", mem_fun(*this, &ARDOUR_UI::toggle_session_punch_in));
|
||||
register_action (shared_actions, "toggle-editor-window", _("toggle-editor-window"), mem_fun(*this, &ARDOUR_UI::goto_editor_window));
|
||||
register_action (shared_actions, "toggle-mixer-window", _("toggle-mixer-window"), mem_fun(*this, &ARDOUR_UI::goto_mixer_window));
|
||||
register_action (shared_actions, "toggle-locations-window", _("toggle-locations-window"), mem_fun(*this, &ARDOUR_UI::toggle_location_window));
|
||||
register_action (shared_actions, "toggle-big-clock-window", _("toggle-big-clock-window"), mem_fun(*this, &ARDOUR_UI::toggle_big_clock_window));
|
||||
register_action (shared_actions, "toggle-options-window", _("toggle-options-window"), mem_fun(*this, &ARDOUR_UI::toggle_options_window));
|
||||
register_action (shared_actions, "toggle-auto-loop", _("toggle-auto-loop"), mem_fun(*this, &ARDOUR_UI::toggle_session_auto_loop));
|
||||
register_action (shared_actions, "toggle-punch-in", _("toggle-punch-in"), mem_fun(*this, &ARDOUR_UI::toggle_session_punch_in));
|
||||
|
||||
KeyboardTarget::add_action ("new-session", bind (mem_fun(*this, &ARDOUR_UI::new_session), false, string()));
|
||||
KeyboardTarget::add_action ("add-audio-track", bind (mem_fun(*this, &ARDOUR_UI::session_add_audio_track), 1, 1));
|
||||
KeyboardTarget::add_action ("add-audio-bus", bind (mem_fun(*this, &ARDOUR_UI::session_add_audio_bus), 1, 1));
|
||||
register_action (shared_actions, "new-session", _("new-session"), bind (mem_fun(*this, &ARDOUR_UI::new_session), false, string()));
|
||||
register_action (shared_actions, "add-audio-track", _("add-audio-track"), bind (mem_fun(*this, &ARDOUR_UI::session_add_audio_track), 1, 1));
|
||||
register_action (shared_actions, "add-audio-bus", _("add-audio-bus"), bind (mem_fun(*this, &ARDOUR_UI::session_add_audio_bus), 1, 1));
|
||||
|
||||
KeyboardTarget::add_action ("save-state", bind (mem_fun(*this, &ARDOUR_UI::save_state), string ("")));
|
||||
KeyboardTarget::add_action ("quit", (mem_fun(*this, &ARDOUR_UI::finish)));
|
||||
register_action (shared_actions, "save-state", _("save-state"), bind (mem_fun(*this, &ARDOUR_UI::save_state), string ("")));
|
||||
register_action (shared_actions, "quit", _("quit"), (mem_fun(*this, &ARDOUR_UI::finish)));
|
||||
register_action (shared_actions, "remove-last-capture", _("remove-last-capture"), mem_fun(*this, &ARDOUR_UI::remove_last_capture));
|
||||
|
||||
KeyboardTarget::add_action ("remove-last-capture", mem_fun(*this, &ARDOUR_UI::remove_last_capture));
|
||||
register_action (shared_actions, "transport-stop", _("transport-stop"), mem_fun(*this, &ARDOUR_UI::transport_stop));
|
||||
register_action (shared_actions, "transport-stop-and-forget-capture", _("transport-stop-and-forget-capture"), mem_fun(*this, &ARDOUR_UI::transport_stop_and_forget_capture));
|
||||
register_action (shared_actions, "transport-roll", _("transport-roll"), mem_fun(*this, &ARDOUR_UI::transport_roll));
|
||||
register_action (shared_actions, "transport-loop", _("transport-loop"), mem_fun(*this, &ARDOUR_UI::transport_loop));
|
||||
register_action (shared_actions, "transport-record", _("transport-record"), mem_fun(*this, &ARDOUR_UI::transport_record));
|
||||
register_action (shared_actions, "transport-rewind", _("transport-rewind"), bind (mem_fun(*this, &ARDOUR_UI::transport_rewind), 0));
|
||||
register_action (shared_actions, "transport-rewind-slow", _("transport-rewind-slow"), bind (mem_fun(*this, &ARDOUR_UI::transport_rewind), -1));
|
||||
register_action (shared_actions, "transport-rewind-fast", _("transport-rewind-fast"), bind (mem_fun(*this, &ARDOUR_UI::transport_rewind), 1));
|
||||
register_action (shared_actions, "transport-forward", _("transport-forward"), bind (mem_fun(*this, &ARDOUR_UI::transport_forward), 0));
|
||||
register_action (shared_actions, "transport-forward-slow", _("transport-forward-slow"), bind (mem_fun(*this, &ARDOUR_UI::transport_forward), -1));
|
||||
register_action (shared_actions, "transport-forward-fast", _("transport-forward-fast"), bind (mem_fun(*this, &ARDOUR_UI::transport_forward), 1));
|
||||
|
||||
KeyboardTarget::add_action ("transport-stop", mem_fun(*this, &ARDOUR_UI::transport_stop));
|
||||
KeyboardTarget::add_action ("transport-stop-and-forget-capture", mem_fun(*this, &ARDOUR_UI::transport_stop_and_forget_capture));
|
||||
KeyboardTarget::add_action ("transport-roll", mem_fun(*this, &ARDOUR_UI::transport_roll));
|
||||
KeyboardTarget::add_action ("transport-loop", mem_fun(*this, &ARDOUR_UI::transport_loop));
|
||||
KeyboardTarget::add_action ("transport-record", mem_fun(*this, &ARDOUR_UI::transport_record));
|
||||
KeyboardTarget::add_action ("transport-rewind", bind (mem_fun(*this, &ARDOUR_UI::transport_rewind), 0));
|
||||
KeyboardTarget::add_action ("transport-rewind-slow", bind (mem_fun(*this, &ARDOUR_UI::transport_rewind), -1));
|
||||
KeyboardTarget::add_action ("transport-rewind-fast", bind (mem_fun(*this, &ARDOUR_UI::transport_rewind), 1));
|
||||
KeyboardTarget::add_action ("transport-forward", bind (mem_fun(*this, &ARDOUR_UI::transport_forward), 0));
|
||||
KeyboardTarget::add_action ("transport-forward-slow", bind (mem_fun(*this, &ARDOUR_UI::transport_forward), -1));
|
||||
KeyboardTarget::add_action ("transport-forward-fast", bind (mem_fun(*this, &ARDOUR_UI::transport_forward), 1));
|
||||
register_action (shared_actions, "transport-goto-start", _("transport-goto-start"), mem_fun(*this, &ARDOUR_UI::transport_goto_start));
|
||||
register_action (shared_actions, "transport-goto-end", _("transport-goto-end"), mem_fun(*this, &ARDOUR_UI::transport_goto_end));
|
||||
|
||||
KeyboardTarget::add_action ("transport-goto-start", mem_fun(*this, &ARDOUR_UI::transport_goto_start));
|
||||
KeyboardTarget::add_action ("transport-goto-end", mem_fun(*this, &ARDOUR_UI::transport_goto_end));
|
||||
|
||||
KeyboardTarget::add_action ("send-all-midi-feedback", mem_fun(*this, &ARDOUR_UI::send_all_midi_feedback));
|
||||
register_action (shared_actions, "send-all-midi-feedback", _("send-all-midi-feedback"), mem_fun(*this, &ARDOUR_UI::send_all_midi_feedback));
|
||||
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track1", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 0U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track2", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 1U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track3", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 2U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track4", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 3U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track5", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 4U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track6", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 5U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track7", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 6U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track8", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 7U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track9", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 8U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track10", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 9U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track11", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 10U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track12", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 11U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track13", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 12U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track14", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 13U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track15", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 14U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track16", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 15U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track17", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 16U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track18", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 17U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track19", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 18U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track20", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 19U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track21", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 20U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track22", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 21U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track23", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 22U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track24", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 23U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track25", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 24U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track26", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 25U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track27", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 26U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track28", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 27U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track29", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 28U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track30", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 29U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track31", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 30U));
|
||||
KeyboardTarget::add_action ("toggle-record-enable-track32", bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 31U));
|
||||
register_action (shared_actions, "toggle-record-enable-track1", _("toggle-record-enable-track1"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 0U));
|
||||
register_action (shared_actions, "toggle-record-enable-track2", _("toggle-record-enable-track2"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 1U));
|
||||
register_action (shared_actions, "toggle-record-enable-track3", _("toggle-record-enable-track3"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 2U));
|
||||
register_action (shared_actions, "toggle-record-enable-track4", _("toggle-record-enable-track4"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 3U));
|
||||
register_action (shared_actions, "toggle-record-enable-track5", _("toggle-record-enable-track5"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 4U));
|
||||
register_action (shared_actions, "toggle-record-enable-track6", _("toggle-record-enable-track6"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 5U));
|
||||
register_action (shared_actions, "toggle-record-enable-track7", _("toggle-record-enable-track7"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 6U));
|
||||
register_action (shared_actions, "toggle-record-enable-track8", _("toggle-record-enable-track8"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 7U));
|
||||
register_action (shared_actions, "toggle-record-enable-track9", _("toggle-record-enable-track9"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 8U));
|
||||
register_action (shared_actions, "toggle-record-enable-track10", _("toggle-record-enable-track10"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 9U));
|
||||
register_action (shared_actions, "toggle-record-enable-track11", _("toggle-record-enable-track11"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 10U));
|
||||
register_action (shared_actions, "toggle-record-enable-track12", _("toggle-record-enable-track12"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 11U));
|
||||
register_action (shared_actions, "toggle-record-enable-track13", _("toggle-record-enable-track13"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 12U));
|
||||
register_action (shared_actions, "toggle-record-enable-track14", _("toggle-record-enable-track14"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 13U));
|
||||
register_action (shared_actions, "toggle-record-enable-track15", _("toggle-record-enable-track15"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 14U));
|
||||
register_action (shared_actions, "toggle-record-enable-track16", _("toggle-record-enable-track16"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 15U));
|
||||
register_action (shared_actions, "toggle-record-enable-track17", _("toggle-record-enable-track17"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 16U));
|
||||
register_action (shared_actions, "toggle-record-enable-track18", _("toggle-record-enable-track18"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 17U));
|
||||
register_action (shared_actions, "toggle-record-enable-track19", _("toggle-record-enable-track19"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 18U));
|
||||
register_action (shared_actions, "toggle-record-enable-track20", _("toggle-record-enable-track20"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 19U));
|
||||
register_action (shared_actions, "toggle-record-enable-track21", _("toggle-record-enable-track21"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 20U));
|
||||
register_action (shared_actions, "toggle-record-enable-track22", _("toggle-record-enable-track22"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 21U));
|
||||
register_action (shared_actions, "toggle-record-enable-track23", _("toggle-record-enable-track23"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 22U));
|
||||
register_action (shared_actions, "toggle-record-enable-track24", _("toggle-record-enable-track24"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 23U));
|
||||
register_action (shared_actions, "toggle-record-enable-track25", _("toggle-record-enable-track25"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 24U));
|
||||
register_action (shared_actions, "toggle-record-enable-track26", _("toggle-record-enable-track26"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 25U));
|
||||
register_action (shared_actions, "toggle-record-enable-track27", _("toggle-record-enable-track27"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 26U));
|
||||
register_action (shared_actions, "toggle-record-enable-track28", _("toggle-record-enable-track28"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 27U));
|
||||
register_action (shared_actions, "toggle-record-enable-track29", _("toggle-record-enable-track29"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 28U));
|
||||
register_action (shared_actions, "toggle-record-enable-track30", _("toggle-record-enable-track30"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 29U));
|
||||
register_action (shared_actions, "toggle-record-enable-track31", _("toggle-record-enable-track31"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 30U));
|
||||
register_action (shared_actions, "toggle-record-enable-track32", _("toggle-record-enable-track32"), bind (mem_fun(*this, &ARDOUR_UI::toggle_record_enable), 31U));
|
||||
|
||||
#if 0
|
||||
ADD ME TO ARDOUR RC SOMEDAY
|
||||
|
@ -47,7 +47,6 @@
|
||||
#include <ardour/location.h>
|
||||
#include <ardour/region.h>
|
||||
|
||||
#include "keyboard_target.h"
|
||||
#include "audio_clock.h"
|
||||
#include "gtk-custom-ruler.h"
|
||||
#include "ardour_dialog.h"
|
||||
@ -834,7 +833,6 @@ class Editor : public PublicEditor
|
||||
/* KEYMAP HANDLING */
|
||||
|
||||
void register_actions ();
|
||||
void install_keybindings ();
|
||||
|
||||
int ensure_cursor (jack_nframes_t* pos);
|
||||
|
||||
|
@ -17,10 +17,15 @@ using namespace ActionManager;
|
||||
void
|
||||
Editor::register_actions ()
|
||||
{
|
||||
/* add named actions for the editor */
|
||||
|
||||
Glib::RefPtr<ActionGroup> editor_actions = ActionGroup::create (X_("Editor"));
|
||||
|
||||
/* start with actions shared between all top level (major) windows */
|
||||
|
||||
merge_actions (editor_actions, ARDOUR_UI::instance()::get_common_actions());
|
||||
|
||||
/* add named actions for the editor */
|
||||
|
||||
register_action (editor_actions, "toggle-xfades-active", _("toggle xfades active"), mem_fun(*this, &Editor::toggle_xfades_active));
|
||||
|
||||
register_action (editor_actions, "playhead-to-next-region-start", _("playhead to next region start"), bind (mem_fun(*this, &Editor::cursor_to_next_region_point), playhead_cursor, RegionPoint (Start)));
|
||||
|
@ -38,145 +38,6 @@
|
||||
using namespace ARDOUR;
|
||||
using namespace sigc;
|
||||
|
||||
void
|
||||
Editor::install_keybindings ()
|
||||
{
|
||||
/* add named actions for the editor */
|
||||
|
||||
add_action ("toggle-xfades-active", mem_fun(*this, &Editor::toggle_xfades_active));
|
||||
|
||||
add_action ("playhead-to-next-region-start", bind (mem_fun(*this, &Editor::cursor_to_next_region_point), playhead_cursor, RegionPoint (Start)));
|
||||
add_action ("playhead-to-next-region-end", bind (mem_fun(*this, &Editor::cursor_to_next_region_point), playhead_cursor, RegionPoint (End)));
|
||||
add_action ("playhead-to-next-region-sync", bind (mem_fun(*this, &Editor::cursor_to_next_region_point), playhead_cursor, RegionPoint (SyncPoint)));
|
||||
|
||||
add_action ("playhead-to-previous-region-start", bind (mem_fun(*this, &Editor::cursor_to_previous_region_point), playhead_cursor, RegionPoint (Start)));
|
||||
add_action ("playhead-to-previous-region-end", bind (mem_fun(*this, &Editor::cursor_to_previous_region_point), playhead_cursor, RegionPoint (End)));
|
||||
add_action ("playhead-to-previous-region-sync", bind (mem_fun(*this, &Editor::cursor_to_previous_region_point), playhead_cursor, RegionPoint (SyncPoint)));
|
||||
|
||||
add_action ("edit-cursor-to-next-region-start", bind (mem_fun(*this, &Editor::cursor_to_next_region_point), edit_cursor, RegionPoint (Start)));
|
||||
add_action ("edit-cursor-to-next-region-end", bind (mem_fun(*this, &Editor::cursor_to_next_region_point), edit_cursor, RegionPoint (End)));
|
||||
add_action ("edit-cursor-to-next-region-sync", bind (mem_fun(*this, &Editor::cursor_to_next_region_point), edit_cursor, RegionPoint (SyncPoint)));
|
||||
|
||||
add_action ("edit-cursor-to-previous-region-start", bind (mem_fun(*this, &Editor::cursor_to_previous_region_point), edit_cursor, RegionPoint (Start)));
|
||||
add_action ("edit-cursor-to-previous-region-end", bind (mem_fun(*this, &Editor::cursor_to_previous_region_point), edit_cursor, RegionPoint (End)));
|
||||
add_action ("edit-cursor-to-previous-region-sync", bind (mem_fun(*this, &Editor::cursor_to_previous_region_point), edit_cursor, RegionPoint (SyncPoint)));
|
||||
|
||||
add_action ("playhead-to-range-start", bind (mem_fun(*this, &Editor::cursor_to_selection_start), playhead_cursor));
|
||||
add_action ("playhead-to-range-end", bind (mem_fun(*this, &Editor::cursor_to_selection_end), playhead_cursor));
|
||||
|
||||
add_action ("edit-cursor-to-range-start", bind (mem_fun(*this, &Editor::cursor_to_selection_start), edit_cursor));
|
||||
add_action ("edit-cursor-to-range-end", bind (mem_fun(*this, &Editor::cursor_to_selection_end), edit_cursor));
|
||||
|
||||
add_action ("jump-forward-to-mark", mem_fun(*this, &Editor::jump_forward_to_mark));
|
||||
add_action ("jump-backward-to-mark", mem_fun(*this, &Editor::jump_backward_to_mark));
|
||||
add_action ("add-location-from-playhead", mem_fun(*this, &Editor::add_location_from_playhead_cursor));
|
||||
|
||||
add_action ("nudge-forward", bind (mem_fun(*this, &Editor::nudge_forward), false));
|
||||
add_action ("nudge-next-forward", bind (mem_fun(*this, &Editor::nudge_forward), true));
|
||||
add_action ("nudge-backward", bind (mem_fun(*this, &Editor::nudge_backward), false));
|
||||
add_action ("nudge-next-backward", bind (mem_fun(*this, &Editor::nudge_backward), true));
|
||||
|
||||
add_action ("toggle-playback", bind (mem_fun(*this, &Editor::toggle_playback), false));
|
||||
add_action ("toggle-playback-forget-capture", bind (mem_fun(*this, &Editor::toggle_playback), true));
|
||||
|
||||
add_action ("toggle-loop-playback", mem_fun(*this, &Editor::toggle_loop_playback));
|
||||
|
||||
add_action ("temporal-zoom-out", bind (mem_fun(*this, &Editor::temporal_zoom_step), true));
|
||||
add_action ("temporal-zoom-in", bind (mem_fun(*this, &Editor::temporal_zoom_step), false));
|
||||
add_action ("zoom-to-session", mem_fun(*this, &Editor::temporal_zoom_session));
|
||||
|
||||
add_action ("scroll-tracks-up", mem_fun(*this, &Editor::scroll_tracks_up));
|
||||
add_action ("scroll-tracks-down", mem_fun(*this, &Editor::scroll_tracks_down));
|
||||
add_action ("step-tracks-up", mem_fun(*this, &Editor::scroll_tracks_up_line));
|
||||
add_action ("step-tracks-down", mem_fun(*this, &Editor::scroll_tracks_down_line));
|
||||
|
||||
add_action ("scroll-backward", bind (mem_fun(*this, &Editor::scroll_backward), 0.8f));
|
||||
add_action ("scroll-forward", bind (mem_fun(*this, &Editor::scroll_forward), 0.8f));
|
||||
add_action ("goto", mem_fun(*this, &Editor::goto_frame));
|
||||
add_action ("center-playhead", mem_fun(*this, &Editor::center_playhead));
|
||||
add_action ("center-edit_cursor", mem_fun(*this, &Editor::center_edit_cursor));
|
||||
add_action ("playhead-forward", mem_fun(*this, &Editor::playhead_forward));
|
||||
add_action ("playhead-backward", mem_fun(*this, &Editor::playhead_backward));
|
||||
add_action ("playhead-to-edit", bind (mem_fun(*this, &Editor::cursor_align), true));
|
||||
add_action ("edit-to-playhead", bind (mem_fun(*this, &Editor::cursor_align), false));
|
||||
|
||||
add_action ("align-regions-start", bind (mem_fun(*this, &Editor::align), ARDOUR::Start));
|
||||
add_action ("align-regions-start-relative", bind (mem_fun(*this, &Editor::align_relative), ARDOUR::Start));
|
||||
add_action ("align-regions-end", bind (mem_fun(*this, &Editor::align), ARDOUR::End));
|
||||
add_action ("align-regions-end-relative", bind (mem_fun(*this, &Editor::align_relative), ARDOUR::End));
|
||||
add_action ("align-regions-sync", bind (mem_fun(*this, &Editor::align), ARDOUR::SyncPoint));
|
||||
add_action ("align-regions-sync-relative", bind (mem_fun(*this, &Editor::align_relative), ARDOUR::SyncPoint));
|
||||
|
||||
add_action ("set-playhead", mem_fun(*this, &Editor::kbd_set_playhead_cursor));
|
||||
add_action ("set-edit-cursor", mem_fun(*this, &Editor::kbd_set_edit_cursor));
|
||||
|
||||
add_action ("set-mouse-mode-object", bind (mem_fun(*this, &Editor::set_mouse_mode), Editing::MouseObject, false));
|
||||
add_action ("set-mouse-mode-range", bind (mem_fun(*this, &Editor::set_mouse_mode), Editing::MouseRange, false));
|
||||
add_action ("set-mouse-mode-gain", bind (mem_fun(*this, &Editor::set_mouse_mode), Editing::MouseGain, false));
|
||||
add_action ("set-mouse-mode-zoom", bind (mem_fun(*this, &Editor::set_mouse_mode), Editing::MouseZoom, false));
|
||||
add_action ("set-mouse-mode-timefx", bind (mem_fun(*this, &Editor::set_mouse_mode), Editing::MouseTimeFX, false));
|
||||
|
||||
add_action ("set-undo", bind (mem_fun(*this, &Editor::undo), 1U));
|
||||
add_action ("set-redo", bind (mem_fun(*this, &Editor::redo), 1U));
|
||||
|
||||
add_action ("export-session", mem_fun(*this, &Editor::export_session));
|
||||
add_action ("export-range", mem_fun(*this, &Editor::export_selection));
|
||||
|
||||
add_action ("editor-cut", mem_fun(*this, &Editor::cut));
|
||||
add_action ("editor-copy", mem_fun(*this, &Editor::copy));
|
||||
add_action ("editor-paste", mem_fun(*this, &Editor::keyboard_paste));
|
||||
add_action ("duplicate-region", mem_fun(*this, &Editor::keyboard_duplicate_region));
|
||||
add_action ("duplicate-range", mem_fun(*this, &Editor::keyboard_duplicate_selection));
|
||||
add_action ("insert-region", mem_fun(*this, &Editor::keyboard_insert_region_list_selection));
|
||||
add_action ("reverse-region", mem_fun(*this, &Editor::reverse_region));
|
||||
add_action ("normalize-region", mem_fun(*this, &Editor::normalize_region));
|
||||
add_action ("editor-crop", mem_fun(*this, &Editor::crop_region_to_selection));
|
||||
add_action ("insert-chunk", bind (mem_fun(*this, &Editor::paste_named_selection), 1.0f));
|
||||
|
||||
add_action ("split-at-edit-cursor", mem_fun(*this, &Editor::split_region));
|
||||
add_action ("split-at-mouse", mem_fun(*this, &Editor::kbd_split));
|
||||
|
||||
add_action ("brush-at-mouse", mem_fun(*this, &Editor::kbd_brush));
|
||||
add_action ("audition-at-mouse", mem_fun(*this, &Editor::kbd_audition));
|
||||
|
||||
add_action ("start-range", mem_fun(*this, &Editor::keyboard_selection_begin));
|
||||
add_action ("finish-range", bind (mem_fun(*this, &Editor::keyboard_selection_finish), false));
|
||||
add_action ("finish-add-range", bind (mem_fun(*this, &Editor::keyboard_selection_finish), true));
|
||||
|
||||
add_action ("extend-range-to-end-of-region", bind (mem_fun(*this, &Editor::extend_selection_to_end_of_region), false));
|
||||
add_action ("extend-range-to-start-of-region", bind (mem_fun(*this, &Editor::extend_selection_to_start_of_region), false));
|
||||
|
||||
add_action ("zoom-focus-left", bind (mem_fun(*this, &Editor::set_zoom_focus), Editing::ZoomFocusLeft));
|
||||
add_action ("zoom-focus-right", bind (mem_fun(*this, &Editor::set_zoom_focus), Editing::ZoomFocusRight));
|
||||
add_action ("zoom-focus-center", bind (mem_fun(*this, &Editor::set_zoom_focus), Editing::ZoomFocusCenter));
|
||||
add_action ("zoom-focus-playhead", bind (mem_fun(*this, &Editor::set_zoom_focus), Editing::ZoomFocusPlayhead));
|
||||
add_action ("zoom-focus-edit", bind (mem_fun(*this, &Editor::set_zoom_focus), Editing::ZoomFocusEdit));
|
||||
|
||||
add_action ("toggle-follow-playhead", (mem_fun(*this, &Editor::toggle_follow_playhead)));
|
||||
add_action ("remove-last-capture", (mem_fun(*this, &Editor::remove_last_capture)));
|
||||
|
||||
add_action ("snap-to-frame", (bind (mem_fun(*this, &Editor::set_snap_to), Editing::SnapToFrame)));
|
||||
add_action ("snap-to-cd-frame", (bind (mem_fun(*this, &Editor::set_snap_to), Editing::SnapToCDFrame)));
|
||||
add_action ("snap-to-smpte-frame", (bind (mem_fun(*this, &Editor::set_snap_to), Editing::SnapToSMPTEFrame)));
|
||||
add_action ("snap-to-smpte-seconds", (bind (mem_fun(*this, &Editor::set_snap_to), Editing::SnapToSMPTESeconds)));
|
||||
add_action ("snap-to-smpte-minutes", (bind (mem_fun(*this, &Editor::set_snap_to), Editing::SnapToSMPTEMinutes)));
|
||||
add_action ("snap-to-seconds", (bind (mem_fun(*this, &Editor::set_snap_to), Editing::SnapToSeconds)));
|
||||
add_action ("snap-to-minutes", (bind (mem_fun(*this, &Editor::set_snap_to), Editing::SnapToMinutes)));
|
||||
add_action ("snap-to-thirtyseconds", (bind (mem_fun(*this, &Editor::set_snap_to), Editing::SnapToAThirtysecondBeat)));
|
||||
add_action ("snap-to-asixteenthbeat", (bind (mem_fun(*this, &Editor::set_snap_to), Editing::SnapToASixteenthBeat)));
|
||||
add_action ("snap-to-eighths", (bind (mem_fun(*this, &Editor::set_snap_to), Editing::SnapToAEighthBeat)));
|
||||
add_action ("snap-to-quarters", (bind (mem_fun(*this, &Editor::set_snap_to), Editing::SnapToAQuarterBeat)));
|
||||
add_action ("snap-to-thirds", (bind (mem_fun(*this, &Editor::set_snap_to), Editing::SnapToAThirdBeat)));
|
||||
add_action ("snap-to-beat", (bind (mem_fun(*this, &Editor::set_snap_to), Editing::SnapToBeat)));
|
||||
add_action ("snap-to-bar", (bind (mem_fun(*this, &Editor::set_snap_to), Editing::SnapToBar)));
|
||||
add_action ("snap-to-mark", (bind (mem_fun(*this, &Editor::set_snap_to), Editing::SnapToMark)));
|
||||
add_action ("snap-to-edit-cursor", (bind (mem_fun(*this, &Editor::set_snap_to), Editing::SnapToEditCursor)));
|
||||
add_action ("snap-to-region-start", (bind (mem_fun(*this, &Editor::set_snap_to), Editing::SnapToRegionStart)));
|
||||
add_action ("snap-to-region-end", (bind (mem_fun(*this, &Editor::set_snap_to), Editing::SnapToRegionEnd)));
|
||||
add_action ("snap-to-region-sync", (bind (mem_fun(*this, &Editor::set_snap_to), Editing::SnapToRegionSync)));
|
||||
add_action ("snap-to-region-boundary", (bind (mem_fun(*this, &Editor::set_snap_to), Editing::SnapToRegionBoundary)));
|
||||
}
|
||||
|
||||
void
|
||||
Editor::keyboard_selection_finish (bool add)
|
||||
{
|
||||
|
@ -49,7 +49,6 @@ using namespace sigc;
|
||||
|
||||
Mixer_UI::Mixer_UI (AudioEngine& eng)
|
||||
: Window (Gtk::WINDOW_TOPLEVEL),
|
||||
KeyboardTarget (*this, "mixer"),
|
||||
engine (eng)
|
||||
{
|
||||
_strip_width = Wide;
|
||||
|
@ -52,7 +52,7 @@ namespace ARDOUR {
|
||||
class MixerStrip;
|
||||
class PluginSelector;
|
||||
|
||||
class Mixer_UI : public Gtk::Window, public KeyboardTarget
|
||||
class Mixer_UI : public Gtk::Window
|
||||
{
|
||||
public:
|
||||
Mixer_UI (ARDOUR::AudioEngine&);
|
||||
|
@ -1,10 +1,31 @@
|
||||
#include <vector>
|
||||
#include <iostream>
|
||||
#include <gtkmm.h>
|
||||
#include <gtkmm/accelmap.h>
|
||||
#include <gdk/gdkkeysyms.h>
|
||||
#include <gtk/gtkaccelmap.h>
|
||||
|
||||
using namespace Gtk;
|
||||
using namespace std;
|
||||
using namespace sigc;
|
||||
using namespace Glib;
|
||||
|
||||
struct ActionBinding {
|
||||
Glib::ustring name;
|
||||
Glib::ustring label;
|
||||
Gtk::Action::SlotActivate binding;
|
||||
guint key;
|
||||
Gdk::ModifierType mods;
|
||||
|
||||
ActionBinding (Glib::ustring n, Glib::ustring l, Gtk::Action::SlotActivate b,
|
||||
guint k = GDK_VoidSymbol, Gdk::ModifierType m = Gdk::ModifierType (0))
|
||||
: name (n),
|
||||
label (l),
|
||||
binding (b),
|
||||
key (k),
|
||||
mods (m) {}
|
||||
};
|
||||
|
||||
|
||||
void
|
||||
printit (string txt)
|
||||
@ -12,6 +33,21 @@ printit (string txt)
|
||||
cout << "This is the " << txt << " item\n";
|
||||
}
|
||||
|
||||
Glib::RefPtr<Action>
|
||||
make_action (vector<Glib::RefPtr<ActionGroup> >& groups, string name, string label, slot<void> sl, guint key, Gdk::ModifierType mods)
|
||||
{
|
||||
Glib::RefPtr<Action> last;
|
||||
|
||||
for (vector<RefPtr<ActionGroup> >::iterator g = groups.begin(); g != groups.end(); ++g) {
|
||||
Glib::RefPtr<Action> act = Action::create (name, label);
|
||||
(*g)->add (act, sl);
|
||||
AccelMap::add_entry (act->get_accel_path(), key, mods);
|
||||
last = act;
|
||||
}
|
||||
|
||||
return last;
|
||||
}
|
||||
|
||||
Glib::RefPtr<Action>
|
||||
make_action (Glib::RefPtr<ActionGroup> group, Glib::RefPtr<AccelGroup> accel_group, string name, string label, slot<void> sl, guint key, Gdk::ModifierType mods)
|
||||
{
|
||||
@ -67,6 +103,46 @@ make_action (Glib::RefPtr<ActionGroup> group, string name, string label)
|
||||
return act;
|
||||
}
|
||||
|
||||
bool
|
||||
lookup_entry (const ustring accel_path, Gtk::AccelKey& key)
|
||||
{
|
||||
GtkAccelKey gkey;
|
||||
bool known = gtk_accel_map_lookup_entry (accel_path.c_str(), &gkey);
|
||||
|
||||
if (known) {
|
||||
key = AccelKey (gkey.accel_key, Gdk::ModifierType (gkey.accel_mods));
|
||||
} else {
|
||||
key = AccelKey (GDK_VoidSymbol, Gdk::ModifierType (0));
|
||||
}
|
||||
|
||||
return known;
|
||||
}
|
||||
|
||||
RefPtr<ActionGroup>
|
||||
make_shared_action_group (ustring name, vector<ActionBinding*>& actions)
|
||||
{
|
||||
RefPtr<ActionGroup> grp = ActionGroup::create (name);
|
||||
|
||||
for (vector<ActionBinding*>::iterator i = actions.begin(); i != actions.end(); ++i) {
|
||||
RefPtr<Action> act = Action::create ((*i)->name, (*i)->label);
|
||||
grp->add (act);
|
||||
|
||||
if ((*i)->key != GDK_VoidSymbol) {
|
||||
Gtk::AccelKey key;
|
||||
|
||||
/* since this is a shared action, only add it once */
|
||||
|
||||
if (!lookup_entry (act->get_accel_path(), key)) {
|
||||
AccelMap::add_entry (act->get_accel_path(), (*i)->key, (*i)->mods);
|
||||
cerr << "added accel map entry for " << act->get_accel_path() << endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return grp;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
main (int argc, char* argv[])
|
||||
{
|
||||
@ -78,13 +154,12 @@ main (int argc, char* argv[])
|
||||
VBox vpacker;
|
||||
VBox other_vpacker;
|
||||
|
||||
Glib::RefPtr<ActionGroup> shared_actions;
|
||||
Glib::RefPtr<ActionGroup> actions;
|
||||
Glib::RefPtr<ActionGroup> other_actions;
|
||||
Glib::RefPtr<ActionGroup> shared_actions;
|
||||
Glib::RefPtr<UIManager> uimanager;
|
||||
Glib::RefPtr<UIManager> other_uimanager;
|
||||
Glib::RefPtr<UIManager> shared_uimanager;
|
||||
Glib::RefPtr<AccelGroup> shared_accel_group;
|
||||
|
||||
window.set_name ("Editor");
|
||||
window.set_title ("Editor");
|
||||
@ -94,44 +169,42 @@ main (int argc, char* argv[])
|
||||
|
||||
uimanager = UIManager::create();
|
||||
other_uimanager = UIManager::create();
|
||||
shared_uimanager = UIManager::create();
|
||||
|
||||
actions = ActionGroup::create("MyActions");
|
||||
other_actions = ActionGroup::create("OtherActions");
|
||||
shared_actions = ActionGroup::create();
|
||||
|
||||
uimanager->add_ui_from_file ("mtest.menus");
|
||||
other_uimanager->add_ui_from_file ("mtest_other.menus");
|
||||
|
||||
AccelMap::load ("mtest.bindings");
|
||||
// AccelMap::load ("mtest.bindings");
|
||||
|
||||
make_action (shared_actions, "SharedMenuBar", "shared");
|
||||
make_action (shared_actions, "SharedMenu", "sharedm");
|
||||
Glib::RefPtr<Action> act = make_action (shared_actions, "Baz", "baz", bind (sigc::ptr_fun (printit), "baz"), GDK_p, Gdk::MOD1_MASK);
|
||||
vector<RefPtr<ActionGroup> > all_groups;
|
||||
all_groups.push_back (actions);
|
||||
all_groups.push_back (other_actions);
|
||||
|
||||
make_action (actions, "TopMenu", "top");
|
||||
make_action (actions, "Foo", "foo", bind (sigc::ptr_fun (printit), "foo"), GDK_p, Gdk::ModifierType (0));
|
||||
|
||||
make_action (other_actions, "OTopMenu", "otop");
|
||||
make_action (other_actions, "OFoo", "foo", bind (sigc::ptr_fun (printit), "o-foo"), GDK_p, Gdk::ModifierType (0));
|
||||
|
||||
vector<ActionBinding*> shared_actions;
|
||||
|
||||
shared_actions.push_back (new ActionBinding ("Bar", "bar", bind (sigc::ptr_fun (printit), "barshared"), GDK_p, Gdk::CONTROL_MASK));
|
||||
shared_actions.push_back (new ActionBinding ("Baz", "baz", bind (sigc::ptr_fun (printit), "baz-shared"), GDK_p, Gdk::SHIFT_MASK));
|
||||
|
||||
RefPtr<Action> act = Action::create (shared_actions.back()->name, shared_actions.back()->label);
|
||||
|
||||
act->connect_proxy (button);
|
||||
act->connect_proxy (other_button);
|
||||
|
||||
make_action (actions, "TopMenu", "top");
|
||||
make_action (actions, "Foo", "foo", bind (sigc::ptr_fun (printit), "foo"), GDK_p, Gdk::ModifierType (0));
|
||||
make_action (actions, "Bar", "bar", bind (sigc::ptr_fun (printit), "bar"), GDK_p, Gdk::CONTROL_MASK);
|
||||
make_action (other_actions, "OTopMenu", "otop");
|
||||
make_action (other_actions, "OFoo", "foo", bind (sigc::ptr_fun (printit), "o-foo"), GDK_p, Gdk::ModifierType (0));
|
||||
make_action (other_actions, "OBar", "bar", bind (sigc::ptr_fun (printit), "o-bar"), GDK_p, Gdk::CONTROL_MASK);
|
||||
|
||||
other_uimanager->insert_action_group (other_actions);
|
||||
other_uimanager->insert_action_group (shared_actions);
|
||||
|
||||
uimanager->insert_action_group (actions);
|
||||
uimanager->insert_action_group (shared_actions);
|
||||
|
||||
shared_uimanager->insert_action_group (shared_actions);
|
||||
uimanager->insert_action_group (make_shared_action_group ("shared", shared_actions));
|
||||
other_uimanager->insert_action_group (other_actions);
|
||||
other_uimanager->insert_action_group (make_shared_action_group ("othershared", shared_actions));
|
||||
|
||||
other_window.add_accel_group (other_uimanager->get_accel_group());
|
||||
other_window.add_accel_group (shared_uimanager->get_accel_group());
|
||||
|
||||
window.add_accel_group (uimanager->get_accel_group());
|
||||
window.add_accel_group (shared_uimanager->get_accel_group());
|
||||
|
||||
Gtk::MenuBar* m;
|
||||
|
||||
@ -148,19 +221,12 @@ main (int argc, char* argv[])
|
||||
vpacker.pack_start (*m);
|
||||
vpacker.pack_start (button);
|
||||
|
||||
shared_uimanager->add_ui_from_file ("mtest_shared.menu");
|
||||
|
||||
MenuBar* item = dynamic_cast<MenuBar*> (shared_uimanager->get_widget ("/SharedMenuBar"));
|
||||
|
||||
window.add (vpacker);
|
||||
window.show_all ();
|
||||
|
||||
Settings::get_default()->property_gtk_can_change_accels() = true;
|
||||
|
||||
cerr << " shared = " << shared_uimanager->get_accel_group()
|
||||
<< " first = " << uimanager->get_accel_group()
|
||||
<< " second = " << other_uimanager->get_accel_group ()
|
||||
<< endl;
|
||||
AccelMap::save ("mtest.bindings");
|
||||
|
||||
app.run ();
|
||||
|
||||
|
@ -3,6 +3,7 @@
|
||||
<menu action='TopMenu'>
|
||||
<menuitem action='Foo'/>
|
||||
<menuitem action='Bar'/>
|
||||
<menuitem action='Baz'/>
|
||||
</menu>
|
||||
</menubar>
|
||||
</ui>
|
||||
|
@ -2,7 +2,8 @@
|
||||
<menubar name='OTop'>
|
||||
<menu action='OTopMenu'>
|
||||
<menuitem action='OFoo'/>
|
||||
<menuitem action='OBar'/>
|
||||
<menuitem action='Bar'/>
|
||||
<menuitem action='Baz'/>
|
||||
</menu>
|
||||
</menubar>
|
||||
</ui>
|
||||
|
@ -4,8 +4,7 @@
|
||||
PublicEditor* PublicEditor::_instance = 0;
|
||||
|
||||
PublicEditor::PublicEditor ()
|
||||
: Window (Gtk::WINDOW_TOPLEVEL),
|
||||
KeyboardTarget (*this, "editor")
|
||||
: Window (Gtk::WINDOW_TOPLEVEL)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -44,8 +44,12 @@ class TempoMarker;
|
||||
class MeterMarker;
|
||||
class Marker;
|
||||
class AutomationTimeAxisView;
|
||||
class MarkerTimeAxis;
|
||||
class ImageFrameView;
|
||||
class ImageFrameTimeAxis;
|
||||
class MarkerView;
|
||||
|
||||
class PublicEditor : public Gtk::Window, public Stateful, public KeyboardTarget {
|
||||
class PublicEditor : public Gtk::Window, public Stateful {
|
||||
public:
|
||||
PublicEditor();
|
||||
virtual ~PublicEditor();
|
||||
@ -152,14 +156,14 @@ class PublicEditor : public Gtk::Window, public Stateful, public KeyboardTarget
|
||||
virtual bool canvas_range_marker_bar_event (GdkEvent* event, ArdourCanvas::Item*) = 0;
|
||||
virtual bool canvas_transport_marker_bar_event (GdkEvent* event, ArdourCanvas::Item*) = 0;
|
||||
|
||||
virtual bool canvas_imageframe_item_view_event(GdkEvent* event, ArdourCanvas::Item*) = 0;
|
||||
virtual bool canvas_imageframe_view_event(GdkEvent* event, ArdourCanvas::Item*) = 0;
|
||||
virtual bool canvas_imageframe_start_handle_event(GdkEvent* event, ArdourCanvas::Item*) = 0;
|
||||
virtual bool canvas_imageframe_end_handle_event(GdkEvent* event, ArdourCanvas::Item*) = 0;
|
||||
virtual bool canvas_marker_time_axis_view_event(GdkEvent* event, ArdourCanvas::Item*) = 0;
|
||||
virtual bool canvas_markerview_item_view_event(GdkEvent* event, ArdourCanvas::Item*) = 0;
|
||||
virtual bool canvas_markerview_start_handle_event(GdkEvent* event, ArdourCanvas::Item*) = 0;
|
||||
virtual bool canvas_markerview_end_handle_event(GdkEvent* event, ArdourCanvas::Item*) = 0;
|
||||
virtual bool canvas_imageframe_item_view_event(GdkEvent* event, ArdourCanvas::Item*,ImageFrameView*) = 0;
|
||||
virtual bool canvas_imageframe_view_event(GdkEvent* event, ArdourCanvas::Item*,ImageFrameTimeAxis*) = 0;
|
||||
virtual bool canvas_imageframe_start_handle_event(GdkEvent* event, ArdourCanvas::Item*,ImageFrameView*) = 0;
|
||||
virtual bool canvas_imageframe_end_handle_event(GdkEvent* event, ArdourCanvas::Item*,ImageFrameView*) = 0;
|
||||
virtual bool canvas_marker_time_axis_view_event(GdkEvent* event, ArdourCanvas::Item*,MarkerTimeAxis*) = 0;
|
||||
virtual bool canvas_markerview_item_view_event(GdkEvent* event, ArdourCanvas::Item*,MarkerView*) = 0;
|
||||
virtual bool canvas_markerview_start_handle_event(GdkEvent* event, ArdourCanvas::Item*,MarkerView*) = 0;
|
||||
virtual bool canvas_markerview_end_handle_event(GdkEvent* event, ArdourCanvas::Item*,MarkerView*) = 0;
|
||||
|
||||
static PublicEditor* _instance;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user