X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fardour_ui_ed.cc;h=9a9e2484bf99a4877ce1b26e6e90b2f0f39d6e58;hb=99aa8c6338e47b41143f799fdcb35d1699548076;hp=0c67d4b59d31a57259aac3f0fded1e0326651eef;hpb=98d994f29c968796c5e9822e7c3b1713e53b274d;p=ardour.git diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc index 0c67d4b59d..9a9e2484bf 100644 --- a/gtk2_ardour/ardour_ui_ed.cc +++ b/gtk2_ardour/ardour_ui_ed.cc @@ -17,6 +17,10 @@ */ +#ifdef WAF_BUILD +#include "gtk2ardour-config.h" +#endif + /* This file contains any ARDOUR_UI methods that require knowledge of the editor, and exists so that no compilation dependency exists between the main ARDOUR_UI modules and the PublicEditor class. This @@ -94,7 +98,7 @@ ARDOUR_UI::install_actions () /* menus + submenus that need action items */ ActionManager::register_action (main_actions, X_("Session"), _("Session")); - act = ActionManager::register_action (main_actions, X_("Cleanup"), _("Cleanup")); + act = ActionManager::register_action (main_actions, X_("Cleanup"), _("Clean-up")); ActionManager::write_sensitive_actions.push_back (act); ActionManager::register_action (main_actions, X_("Sync"), _("Sync")); ActionManager::register_action (main_actions, X_("TransportOptions"), _("Options")); @@ -157,11 +161,14 @@ ARDOUR_UI::install_actions () act = ActionManager::register_action (main_actions, X_("ExportAudio"), _("Export To Audio File(s)..."), sigc::mem_fun (*editor, &PublicEditor::export_audio)); ActionManager::session_sensitive_actions.push_back (act); + + act = ActionManager::register_action (main_actions, X_("StemExport"), _("Stem export..."), sigc::mem_fun (*editor, &PublicEditor::stem_export)); + ActionManager::session_sensitive_actions.push_back (act); act = ActionManager::register_action (main_actions, X_("Export"), _("Export")); ActionManager::session_sensitive_actions.push_back (act); - act = ActionManager::register_action (main_actions, X_("CleanupUnused"), _("Cleanup Unused Sources..."), sigc::mem_fun (*(ARDOUR_UI::instance()), &ARDOUR_UI::cleanup)); + act = ActionManager::register_action (main_actions, X_("CleanupUnused"), _("Clean-up Unused Sources..."), sigc::mem_fun (*(ARDOUR_UI::instance()), &ARDOUR_UI::cleanup)); ActionManager::session_sensitive_actions.push_back (act); ActionManager::write_sensitive_actions.push_back (act); @@ -183,23 +190,23 @@ ARDOUR_UI::install_actions () RadioAction::Group jack_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), (nframes_t) 32)); + 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), (nframes_t) 64)); + 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), (nframes_t) 128)); + 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), (nframes_t) 256)); + 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), (nframes_t) 512)); + 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), (nframes_t) 1024)); + 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), (nframes_t) 2048)); + 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), (nframes_t) 4096)); + 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), (nframes_t) 8192)); + 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); /* these actions are intended to be shared across all windows */ @@ -208,15 +215,14 @@ ARDOUR_UI::install_actions () ActionManager::register_action (main_actions, X_("WindowMenu"), _("Window")); ActionManager::register_action (common_actions, X_("Quit"), _("Quit"), (hide_return (sigc::mem_fun(*this, &ARDOUR_UI::finish)))); - /* windows visibility actions */ + /* windows visibility actions */ ActionManager::register_toggle_action (common_actions, X_("ToggleMaximalEditor"), _("Maximise Editor Space"), sigc::mem_fun (*this, &ARDOUR_UI::toggle_editing_space)); act = ActionManager::register_toggle_action (common_actions, X_("KeepTearoffs"), _("Toolbars when Maximised"), mem_fun (*this, &ARDOUR_UI::toggle_keep_tearoffs)); ActionManager::session_sensitive_actions.push_back (act); - ActionManager::register_action (common_actions, X_("goto-editor"), _("Show Editor"), sigc::mem_fun(*this, &ARDOUR_UI::goto_editor_window)); - ActionManager::register_action (common_actions, X_("goto-mixer"), _("Show Mixer"), sigc::mem_fun(*this, &ARDOUR_UI::goto_mixer_window)); - ActionManager::register_action (common_actions, X_("toggle-editor-mixer-on-top"), _("Toggle Editor Mixer on Top"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_editor_mixer_on_top)); + ActionManager::register_toggle_action (common_actions, X_("toggle-mixer"), _("Mixer"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_mixer_window)); + ActionManager::register_toggle_action (common_actions, X_("toggle-mixer-on-top"), _("Mixer on Top"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_mixer_on_top)); ActionManager::register_toggle_action (common_actions, X_("ToggleRCOptionsEditor"), _("Preferences"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_rc_options_window)); ActionManager::register_toggle_action (common_actions, X_("ToggleSessionOptionsEditor"), _("Properties"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_session_options_window)); act = ActionManager::register_toggle_action (common_actions, X_("ToggleInspector"), _("Tracks and Busses"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_route_params_window)); @@ -226,6 +232,8 @@ ARDOUR_UI::install_actions () ActionManager::session_sensitive_actions.push_back (act); act = ActionManager::register_toggle_action (common_actions, X_("ToggleBigClock"), _("Big Clock"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_big_clock_window)); ActionManager::session_sensitive_actions.push_back (act); + act = ActionManager::register_toggle_action (common_actions, X_("toggle-speaker-config"), _("Speaker Configuration"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_speaker_config_window)); + ActionManager::session_sensitive_actions.push_back (act); act = ActionManager::register_toggle_action (common_actions, X_("toggle-audio-connection-manager"), _("Audio Connection Manager"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::toggle_global_port_matrix), ARDOUR::DataType::AUDIO)); ActionManager::session_sensitive_actions.push_back (act); act = ActionManager::register_toggle_action (common_actions, X_("toggle-midi-connection-manager"), _("MIDI Connection Manager"), sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::toggle_global_port_matrix), ARDOUR::DataType::MIDI)); @@ -234,8 +242,8 @@ ARDOUR_UI::install_actions () ActionManager::session_sensitive_actions.push_back (act); ActionManager::register_action (common_actions, X_("About"), _("About"), sigc::mem_fun(*this, &ARDOUR_UI::show_about)); ActionManager::register_action (common_actions, X_("Chat"), _("Chat"), sigc::mem_fun(*this, &ARDOUR_UI::launch_chat)); - ActionManager::register_action (common_actions, X_("Manual"), _("Manual"), mem_fun(*this, &ARDOUR_UI::launch_manual)); - ActionManager::register_action (common_actions, X_("Reference"), _("Reference"), mem_fun(*this, &ARDOUR_UI::launch_reference)); + ActionManager::register_action (common_actions, X_("Manual"), _("Manual"), mem_fun(*this, &ARDOUR_UI::launch_manual)); + ActionManager::register_action (common_actions, X_("Reference"), _("Reference"), mem_fun(*this, &ARDOUR_UI::launch_reference)); ActionManager::register_toggle_action (common_actions, X_("ToggleThemeManager"), _("Theme Manager"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_theme_manager)); ActionManager::register_toggle_action (common_actions, X_("ToggleKeyEditor"), _("Key Bindings"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_key_editor)); ActionManager::register_toggle_action (common_actions, X_("ToggleBundleManager"), _("Bundle Manager"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_bundle_manager)); @@ -300,7 +308,7 @@ ARDOUR_UI::install_actions () act = ActionManager::register_action (transport_actions, X_("Loop"), _("Play Loop Range"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_session_auto_loop)); ActionManager::session_sensitive_actions.push_back (act); ActionManager::transport_sensitive_actions.push_back (act); - act = ActionManager::register_action (transport_actions, X_("PlaySelection"), _("Play Selection"), sigc::mem_fun(*this, &ARDOUR_UI::transport_play_selection)); + act = ActionManager::register_action (transport_actions, X_("PlaySelection"), _("Play Selected Range"), sigc::mem_fun(*this, &ARDOUR_UI::transport_play_selection)); ActionManager::session_sensitive_actions.push_back (act); ActionManager::transport_sensitive_actions.push_back (act); @@ -390,7 +398,7 @@ ARDOUR_UI::install_actions () ActionManager::session_sensitive_actions.push_back (act); act = ActionManager::register_toggle_action (transport_actions, X_("ToggleTimeMaster"), _("Time Master"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_time_master)); ActionManager::session_sensitive_actions.push_back (act); - act = ActionManager::register_toggle_action (transport_actions, X_("ToggleExternalSync"), _(""), sigc::mem_fun(*this, &ARDOUR_UI::toggle_external_sync)); + act = ActionManager::register_toggle_action (transport_actions, X_("ToggleExternalSync"), "", sigc::mem_fun(*this, &ARDOUR_UI::toggle_external_sync)); ActionManager::session_sensitive_actions.push_back (act); for (int i = 1; i <= 32; ++i) { @@ -419,15 +427,15 @@ ARDOUR_UI::install_actions () ActionManager::session_sensitive_actions.push_back (act); - if (getenv ("ARDOUR_BUNDLED")) { - act = ActionManager::register_toggle_action (main_actions, X_("EnableTranslation"), _("Enable Translations"), mem_fun (*this, &ARDOUR_UI::toggle_translations)); - if (act) { - RefPtr ract = RefPtr::cast_dynamic (act); - if (ract) { - ract->set_active (!ARDOUR::translations_are_disabled()); - } - } - } + if (getenv ("ARDOUR_BUNDLED")) { + act = ActionManager::register_toggle_action (main_actions, X_("EnableTranslation"), _("Enable Translations"), mem_fun (*this, &ARDOUR_UI::toggle_translations)); + if (act) { + RefPtr ract = RefPtr::cast_dynamic (act); + if (ract) { + ract->set_active (!ARDOUR::translations_are_disabled()); + } + } + } ActionManager::add_action_group (shuttle_actions); ActionManager::add_action_group (option_actions); @@ -438,7 +446,7 @@ ARDOUR_UI::install_actions () } void -ARDOUR_UI::set_jack_buffer_size (nframes_t nframes) +ARDOUR_UI::set_jack_buffer_size (pframes_t nframes) { Glib::RefPtr action; const char* action_name = 0; @@ -528,7 +536,7 @@ ARDOUR_UI::build_menu_bar () sample_rate_label.set_name ("SampleRate"); #ifndef TOP_MENUBAR - menu_hbox.pack_start (*menu_bar, true, true); + menu_hbox.pack_start (*menu_bar, false, false); #else use_menubar_as_top_menubar (); #endif @@ -603,15 +611,15 @@ ARDOUR_UI::big_clock_realized () set_decoration (big_clock_window->get(), (Gdk::DECOR_BORDER|Gdk::DECOR_RESIZEH)); big_clock_window->get()->get_window()->get_geometry (x, y, w, big_clock_height, d); - original_big_clock_height = big_clock_height; - original_big_clock_width = w; + original_big_clock_height = big_clock_height; + original_big_clock_width = w; - Pango::FontDescription fd (big_clock.get_style()->get_font()); - original_big_clock_font_size = fd.get_size (); + Pango::FontDescription fd (big_clock.get_style()->get_font()); + original_big_clock_font_size = fd.get_size (); - if (!fd.get_size_is_absolute ()) { - original_big_clock_font_size /= PANGO_SCALE; - } + if (!fd.get_size_is_absolute ()) { + original_big_clock_font_size /= PANGO_SCALE; + } big_clock_window->setup (); } @@ -645,7 +653,7 @@ ARDOUR_UI::idle_big_clock_text_resizer (int, int) Glib::RefPtr win = big_clock_window->get()->get_window(); Pango::FontDescription fd (big_clock.get_style()->get_font()); int current_size = fd.get_size (); - int x, y, w, h, d; + int x, y, w, h, d; if (!fd.get_size_is_absolute ()) { current_size /= PANGO_SCALE; @@ -653,28 +661,28 @@ ARDOUR_UI::idle_big_clock_text_resizer (int, int) win->get_geometry (x, y, w, h, d); - double scale = min (((double) w / (double) original_big_clock_width), - ((double) h / (double) original_big_clock_height)); + double scale = min (((double) w / (double) original_big_clock_width), + ((double) h / (double) original_big_clock_height)); - int size = (int) lrintf (original_big_clock_font_size * scale); + int size = (int) lrintf (original_big_clock_font_size * scale); - if (size != current_size) { + if (size != current_size) { - string family = fd.get_family(); - char buf[family.length()+16]; - snprintf (buf, family.length()+16, "%s %d", family.c_str(), size); + string family = fd.get_family(); + char buf[family.length()+16]; + snprintf (buf, family.length()+16, "%s %d", family.c_str(), size); - try { - Pango::FontDescription fd (buf); - Glib::RefPtr rcstyle = big_clock.get_modifier_style (); - rcstyle->set_font (fd); - big_clock.modify_style (rcstyle); - } + try { + Pango::FontDescription fd (buf); + Glib::RefPtr rcstyle = big_clock.get_modifier_style (); + rcstyle->set_font (fd); + big_clock.modify_style (rcstyle); + } - catch (...) { - /* oh well, do nothing */ - } - } + catch (...) { + /* oh well, do nothing */ + } + } return false; } @@ -694,7 +702,7 @@ ARDOUR_UI::save_ardour_state () Config->add_extra_xml (*node); Config->add_extra_xml (get_transport_controllable_state()); - XMLNode* window_node = new XMLNode (X_("UI")); + XMLNode* window_node = new XMLNode (X_("UI")); for (list::iterator i = _window_proxies.begin(); i != _window_proxies.end(); ++i) { if ((*i)->rc_configured()) { @@ -702,31 +710,31 @@ ARDOUR_UI::save_ardour_state () } } - /* tearoffs */ - - XMLNode* tearoff_node = new XMLNode (X_("Tearoffs")); - - if (transport_tearoff) { - XMLNode* t = new XMLNode (X_("transport")); - transport_tearoff->add_state (*t); - tearoff_node->add_child_nocopy (*t); - } - - if (mixer && mixer->monitor_section()) { - XMLNode* t = new XMLNode (X_("monitor-section")); - mixer->monitor_section()->tearoff().add_state (*t); - tearoff_node->add_child_nocopy (*t); - } - - if (editor && editor->mouse_mode_tearoff()) { - XMLNode* t = new XMLNode (X_("mouse-mode")); - editor->mouse_mode_tearoff ()->add_state (*t); - tearoff_node->add_child_nocopy (*t); - } + /* tearoffs */ + + XMLNode* tearoff_node = new XMLNode (X_("Tearoffs")); + + if (transport_tearoff) { + XMLNode* t = new XMLNode (X_("transport")); + transport_tearoff->add_state (*t); + tearoff_node->add_child_nocopy (*t); + } + + if (mixer && mixer->monitor_section()) { + XMLNode* t = new XMLNode (X_("monitor-section")); + mixer->monitor_section()->tearoff().add_state (*t); + tearoff_node->add_child_nocopy (*t); + } + + if (editor && editor->mouse_mode_tearoff()) { + XMLNode* t = new XMLNode (X_("mouse-mode")); + editor->mouse_mode_tearoff ()->add_state (*t); + tearoff_node->add_child_nocopy (*t); + } - window_node->add_child_nocopy (*tearoff_node); + window_node->add_child_nocopy (*tearoff_node); - Config->add_extra_xml (*window_node); + Config->add_extra_xml (*window_node); if (_startup && _startup->engine_control() && _startup->engine_control()->was_used()) { Config->add_extra_xml (_startup->engine_control()->get_state()); @@ -769,4 +777,3 @@ ARDOUR_UI::toggle_global_port_matrix (ARDOUR::DataType t) } } } -