summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-09-06 16:56:46 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-09-06 16:56:51 -0400
commit835b874e1e0a211659563646af5f91e0d3fdab8d (patch)
tree06ed0452df11c9cf4e38d5228e6a48755a93bb74 /gtk2_ardour
parent73fe0e4b97df72b64e8dd4614d6257815e8e4080 (diff)
add ActionManager::rec_sensitive_actions and put "add track/bus" in this group, which is disabled during active recording
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/actions.cc1
-rw-r--r--gtk2_ardour/actions.h1
-rw-r--r--gtk2_ardour/ardour_ui.cc15
-rw-r--r--gtk2_ardour/ardour_ui_ed.cc1
4 files changed, 13 insertions, 5 deletions
diff --git a/gtk2_ardour/actions.cc b/gtk2_ardour/actions.cc
index 1edbcafaa4..28367ff3f3 100644
--- a/gtk2_ardour/actions.cc
+++ b/gtk2_ardour/actions.cc
@@ -62,6 +62,7 @@ RelatedActions ActionManager::engine_sensitive_actions;
RelatedActions ActionManager::engine_opposite_sensitive_actions;
RelatedActions ActionManager::transport_sensitive_actions;
RelatedActions ActionManager::edit_point_in_region_sensitive_actions;
+RelatedActions ActionManager::rec_sensitive_actions;
void
ActionManager::init ()
diff --git a/gtk2_ardour/actions.h b/gtk2_ardour/actions.h
index 6900e8392a..ec867e9bd0 100644
--- a/gtk2_ardour/actions.h
+++ b/gtk2_ardour/actions.h
@@ -51,6 +51,7 @@ namespace ActionManager {
extern std::vector<Glib::RefPtr<Gtk::Action> > engine_sensitive_actions;
extern std::vector<Glib::RefPtr<Gtk::Action> > engine_opposite_sensitive_actions;
extern std::vector<Glib::RefPtr<Gtk::Action> > edit_point_in_region_sensitive_actions;
+ extern std::vector<Glib::RefPtr<Gtk::Action> > rec_sensitive_actions;
extern void map_some_state (const char* group, const char* action, bool (ARDOUR::RCConfiguration::*get)() const);
extern void map_some_state (const char* group, const char* action, bool (UIConfiguration::*get)() const);
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index a53bcf167f..ee7d40ffab 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -4982,16 +4982,21 @@ ARDOUR_UI::record_state_changed ()
{
ENSURE_GUI_THREAD (*this, &ARDOUR_UI::record_state_changed);
- if (!_session || !big_clock_window) {
+ if (!_session) {
/* why bother - the clock isn't visible */
return;
}
- if (_session->record_status () == Session::Recording && _session->have_rec_enabled_track ()) {
- big_clock->set_active (true);
- } else {
- big_clock->set_active (false);
+ ActionManager::set_sensitive (ActionManager::rec_sensitive_actions, !_session->actively_recording());
+
+ if (big_clock_window) {
+ if (_session->record_status () == Session::Recording && _session->have_rec_enabled_track ()) {
+ big_clock->set_active (true);
+ } else {
+ big_clock->set_active (false);
+ }
}
+
}
bool
diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc
index dceb61e73b..b8f7468f87 100644
--- a/gtk2_ardour/ardour_ui_ed.cc
+++ b/gtk2_ardour/ardour_ui_ed.cc
@@ -159,6 +159,7 @@ ARDOUR_UI::install_actions ()
act = global_actions.register_action (main_actions, X_("AddTrackBus"), _("Add Track or Bus..."), sigc::mem_fun(*this, &ARDOUR_UI::add_route));
ActionManager::session_sensitive_actions.push_back (act);
ActionManager::write_sensitive_actions.push_back (act);
+ ActionManager::rec_sensitive_actions.push_back (act);
act = global_actions.register_action (main_actions, X_("duplicate-routes"), _("Duplicate Tracks/Busses..."),
sigc::mem_fun(*this, &ARDOUR_UI::start_duplicate_routes));