diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc index 6c4c1464aa..bd8e82f159 100644 --- a/gtk2_ardour/mixer_strip.cc +++ b/gtk2_ardour/mixer_strip.cc @@ -174,6 +174,15 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session* sess, std::shared_ptr rt, { init (); set_route (rt); + + if (is_master () && !_route->comment().empty () && _session->config.get_show_master_bus_comment_on_load () && self_destruct) { + open_comment_editor (); + _comment_window->hide (); + _comment_window->set_position (Gtk::WIN_POS_CENTER_ON_PARENT); + _comment_window->present (); + /* show only once */ + _session->config.set_show_master_bus_comment_on_load (false); + } } void diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc index 340f945be3..225d26e5f8 100644 --- a/gtk2_ardour/route_ui.cc +++ b/gtk2_ardour/route_ui.cc @@ -127,9 +127,9 @@ RouteUI::RouteUI (ARDOUR::Session* sess) , solo_menu(0) , sends_menu(0) , playlist_action_menu (0) + , _comment_window(0) , _playlist_selector(0) , _record_menu(0) - , _comment_window(0) , _comment_area(0) , _invert_menu(0) { diff --git a/gtk2_ardour/route_ui.h b/gtk2_ardour/route_ui.h index 6c738117aa..4f93829f4e 100644 --- a/gtk2_ardour/route_ui.h +++ b/gtk2_ardour/route_ui.h @@ -268,6 +268,8 @@ protected: ARDOUR::SoloMuteRelease* _solo_release; ARDOUR::SoloMuteRelease* _mute_release; + ArdourWindow* _comment_window; + private: void invert_menu_toggled (uint32_t); bool invert_press (GdkEventButton*); @@ -322,7 +324,6 @@ private: PlaylistSelector* _playlist_selector; Gtk::Menu* _record_menu; - ArdourWindow* _comment_window; Gtk::TextView* _comment_area; Gtk::CheckMenuItem* _step_edit_item; diff --git a/gtk2_ardour/session_option_editor.cc b/gtk2_ardour/session_option_editor.cc index 42dcb88398..416a113096 100644 --- a/gtk2_ardour/session_option_editor.cc +++ b/gtk2_ardour/session_option_editor.cc @@ -436,6 +436,15 @@ SessionOptionEditor::SessionOptionEditor (Session* s) sigc::mem_fun (*_session_config, &SessionConfiguration::set_count_in) )); + add_option (_("Misc"), new OptionEditorHeading (_("Project Banner"))); + + add_option (_("Misc"), new BoolOption ( + "show-master-bus-comment-on-load", + _("Show master bus comment window on session load (once)"), + sigc::mem_fun (*_session_config, &SessionConfiguration::get_show_master_bus_comment_on_load), + sigc::mem_fun (*_session_config, &SessionConfiguration::set_show_master_bus_comment_on_load) + )); + add_option (_("Misc"), new OptionEditorHeading (_("Defaults"))); Gtk::Button* btn = Gtk::manage (new Gtk::Button (_("Use these settings as defaults"))); diff --git a/libs/ardour/ardour/session_configuration_vars.h b/libs/ardour/ardour/session_configuration_vars.h index f28dbb776e..720c3497cf 100644 --- a/libs/ardour/ardour/session_configuration_vars.h +++ b/libs/ardour/ardour/session_configuration_vars.h @@ -92,6 +92,7 @@ CONFIG_VARIABLE (bool, show_monitor_on_meterbridge, "show-monitor-on-meterbridge CONFIG_VARIABLE (bool, show_name_on_meterbridge, "show-name-on-meterbridge", true) CONFIG_VARIABLE (bool, show_fader_on_meterbridge, "show-fader-on-meterbridge", false) CONFIG_VARIABLE (uint32_t, meterbridge_label_height, "meterbridge-label-height", 0) +CONFIG_VARIABLE (bool, show_master_bus_comment_on_load, "show-master-bus-comment-on-load", false) /* If the user changes the session default_time_domain, we also stash that in rc_config as a global preference, where it is used to initialize the session timebase menu during new session creation