ActionManager::session_sensitive_actions.push_back (act);
act = ActionManager::register_action (main_actions, X_("CloseVideo"), _("Remove Video"),
sigc::mem_fun (*this, &ARDOUR_UI::remove_video));
- ActionManager::session_sensitive_actions.push_back (act);
+ act->set_sensitive (false);
act = ActionManager::register_action (main_actions, X_("ExportVideo"), _("Export To Video File"),
sigc::mem_fun (*editor, &PublicEditor::export_video));
ActionManager::session_sensitive_actions.push_back (act);
ActionManager::write_sensitive_actions.push_back (act);
ActionManager::session_sensitive_actions.push_back (act);
- /* JACK actions for controlling ... JACK */
+ /* AudioEngine actions */
- Glib::RefPtr<ActionGroup> jack_actions = ActionGroup::create (X_("JACK"));
- ActionManager::register_action (jack_actions, X_("JACK"), _("JACK"));
- ActionManager::register_action (jack_actions, X_("Latency"), _("Latency"));
+ Glib::RefPtr<ActionGroup> engine_actions = ActionGroup::create (X_("Audio"));
+ ActionManager::register_action (engine_actions, X_("JACK"), _("JACK"));
+ ActionManager::register_action (engine_actions, X_("Latency"), _("Latency"));
- act = ActionManager::register_action (jack_actions, X_("JACKReconnect"), _("Reconnect"), sigc::mem_fun (*(ARDOUR_UI::instance()), &ARDOUR_UI::reconnect_to_jack));
- ActionManager::jack_opposite_sensitive_actions.push_back (act);
+ act = ActionManager::register_action (engine_actions, X_("JACKReconnect"), _("Reconnect"), sigc::mem_fun (*(ARDOUR_UI::instance()), &ARDOUR_UI::reconnect_to_jack));
+ ActionManager::engine_opposite_sensitive_actions.push_back (act);
- act = ActionManager::register_action (jack_actions, X_("JACKDisconnect"), _("Disconnect"), sigc::mem_fun (*(ARDOUR_UI::instance()), &ARDOUR_UI::disconnect_from_jack));
- ActionManager::jack_sensitive_actions.push_back (act);
+ act = ActionManager::register_action (engine_actions, X_("JACKDisconnect"), _("Disconnect"), sigc::mem_fun (*(ARDOUR_UI::instance()), &ARDOUR_UI::disconnect_from_jack));
+ ActionManager::engine_sensitive_actions.push_back (act);
- RadioAction::Group jack_latency_group;
+ RadioAction::Group latency_group;
- act = ActionManager::register_radio_action (jack_actions, jack_latency_group, X_("JACKLatency32"), X_("32"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_jack_buffer_size), (pframes_t) 32));
- ActionManager::jack_sensitive_actions.push_back (act);
- act = ActionManager::register_radio_action (jack_actions, jack_latency_group, X_("JACKLatency64"), X_("64"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_jack_buffer_size), (pframes_t) 64));
- ActionManager::jack_sensitive_actions.push_back (act);
- act = ActionManager::register_radio_action (jack_actions, jack_latency_group, X_("JACKLatency128"), X_("128"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_jack_buffer_size), (pframes_t) 128));
- ActionManager::jack_sensitive_actions.push_back (act);
- act = ActionManager::register_radio_action (jack_actions, jack_latency_group, X_("JACKLatency256"), X_("256"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_jack_buffer_size), (pframes_t) 256));
- ActionManager::jack_sensitive_actions.push_back (act);
- act = ActionManager::register_radio_action (jack_actions, jack_latency_group, X_("JACKLatency512"), X_("512"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_jack_buffer_size), (pframes_t) 512));
- ActionManager::jack_sensitive_actions.push_back (act);
- act = ActionManager::register_radio_action (jack_actions, jack_latency_group, X_("JACKLatency1024"), X_("1024"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_jack_buffer_size), (pframes_t) 1024));
- ActionManager::jack_sensitive_actions.push_back (act);
- act = ActionManager::register_radio_action (jack_actions, jack_latency_group, X_("JACKLatency2048"), X_("2048"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_jack_buffer_size), (pframes_t) 2048));
- ActionManager::jack_sensitive_actions.push_back (act);
- act = ActionManager::register_radio_action (jack_actions, jack_latency_group, X_("JACKLatency4096"), X_("4096"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_jack_buffer_size), (pframes_t) 4096));
- ActionManager::jack_sensitive_actions.push_back (act);
- act = ActionManager::register_radio_action (jack_actions, jack_latency_group, X_("JACKLatency8192"), X_("8192"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_jack_buffer_size), (pframes_t) 8192));
- ActionManager::jack_sensitive_actions.push_back (act);
+ act = ActionManager::register_radio_action (engine_actions, latency_group, X_("JACKLatency32"), X_("32"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_jack_buffer_size), (pframes_t) 32));
+ ActionManager::engine_sensitive_actions.push_back (act);
+ act = ActionManager::register_radio_action (engine_actions, latency_group, X_("JACKLatency64"), X_("64"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_jack_buffer_size), (pframes_t) 64));
+ ActionManager::engine_sensitive_actions.push_back (act);
+ act = ActionManager::register_radio_action (engine_actions, latency_group, X_("JACKLatency128"), X_("128"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_jack_buffer_size), (pframes_t) 128));
+ ActionManager::engine_sensitive_actions.push_back (act);
+ act = ActionManager::register_radio_action (engine_actions, latency_group, X_("JACKLatency256"), X_("256"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_jack_buffer_size), (pframes_t) 256));
+ ActionManager::engine_sensitive_actions.push_back (act);
+ act = ActionManager::register_radio_action (engine_actions, latency_group, X_("JACKLatency512"), X_("512"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_jack_buffer_size), (pframes_t) 512));
+ ActionManager::engine_sensitive_actions.push_back (act);
+ act = ActionManager::register_radio_action (engine_actions, latency_group, X_("JACKLatency1024"), X_("1024"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_jack_buffer_size), (pframes_t) 1024));
+ ActionManager::engine_sensitive_actions.push_back (act);
+ act = ActionManager::register_radio_action (engine_actions, latency_group, X_("JACKLatency2048"), X_("2048"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_jack_buffer_size), (pframes_t) 2048));
+ ActionManager::engine_sensitive_actions.push_back (act);
+ act = ActionManager::register_radio_action (engine_actions, latency_group, X_("JACKLatency4096"), X_("4096"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_jack_buffer_size), (pframes_t) 4096));
+ ActionManager::engine_sensitive_actions.push_back (act);
+ act = ActionManager::register_radio_action (engine_actions, latency_group, X_("JACKLatency8192"), X_("8192"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::set_jack_buffer_size), (pframes_t) 8192));
+ ActionManager::engine_sensitive_actions.push_back (act);
/* these actions are intended to be shared across all windows */
ActionManager::register_toggle_action (common_actions, X_("toggle-mixer"), S_("Window|Mixer"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_mixer_window));
ActionManager::register_action (common_actions, X_("toggle-editor-mixer"), _("Toggle Editor+Mixer"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_editor_mixer));
+ ActionManager::register_toggle_action (common_actions, X_("toggle-meterbridge"), S_("Window|Meterbridge"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_meterbridge));
act = ActionManager::register_action (common_actions, X_("NewMIDITracer"), _("MIDI Tracer"), sigc::mem_fun(*this, &ARDOUR_UI::new_midi_tracer_window));
ActionManager::session_sensitive_actions.push_back (act);
ActionManager::add_action_group (shuttle_actions);
ActionManager::add_action_group (option_actions);
- ActionManager::add_action_group (jack_actions);
+ ActionManager::add_action_group (engine_actions);
ActionManager::add_action_group (transport_actions);
ActionManager::add_action_group (main_actions);
ActionManager::add_action_group (main_menu_actions);
Gtk::Widget* widget;
Application* app = Application::instance ();
- /* Quit will be taken of separately */
+ /* the addresses ("/ui/Main...") used below are based on the menu definitions in the menus file
+ */
+
+ /* Quit will be taken care of separately */
if ((widget = ActionManager::get_widget ("/ui/Main/Session/Quit"))) {
widget->hide ();
}
+ /* Put items for About and Preferences into App menu (the
+ * ardour.menus.in file does not list them for OS X)
+ */
+
GtkApplicationMenuGroup* group = app->add_app_menu_group ();
- if ((widget = ActionManager::get_widget ("/ui/Main/Session/About"))) {
+ if ((widget = ActionManager::get_widget ("/ui/Main/Session/toggle-about"))) {
app->add_app_menu_item (group, dynamic_cast<MenuItem*>(widget));
- }
+ }
- if ((widget = ActionManager::get_widget ("/ui/Main/Session/ToggleRCOptionsEditor"))) {
+ if ((widget = ActionManager::get_widget ("/ui/Main/Session/toggle-rc-options-editor"))) {
app->add_app_menu_item (group, dynamic_cast<MenuItem*>(widget));
- }
+ }
app->set_menu_bar (*menu_bar);
}
void
ARDOUR_UI::save_ardour_state ()
{
- if (!keyboard || !mixer || !editor) {
+ if (!keyboard || !mixer || !editor || !meterbridge) {
return;
}
/* Windows */
- WindowManager::instance().add_state (*window_node);
+ WM::Manager::instance().add_state (*window_node);
/* tearoffs */
window_node->add_child_nocopy (*tearoff_node);
Config->add_extra_xml (*window_node);
+ Config->add_extra_xml (_audio_midi_setup->get_state());
- if (_startup && _startup->engine_control() && _startup->engine_control()->was_used()) {
- Config->add_extra_xml (_startup->engine_control()->get_state());
- }
Config->save_state();
+
if (ui_config->dirty()) {
ui_config->save_state ();
}
XMLNode& enode (static_cast<Stateful*>(editor)->get_state());
XMLNode& mnode (mixer->get_state());
+ XMLNode& bnode (meterbridge->get_state());
if (_session) {
_session->add_instant_xml (enode);
_session->add_instant_xml (mnode);
+ _session->add_instant_xml (bnode);
if (location_ui) {
_session->add_instant_xml (location_ui->ui().get_state ());
}