Add option to disable track record disarm when the transport is rolling (mantis #2658)

git-svn-id: svn://localhost/ardour2/branches/3.0@5187 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2009-06-14 13:44:26 +00:00
parent 478bab5380
commit addaba4204
4 changed files with 28 additions and 0 deletions

View File

@ -996,6 +996,14 @@ RCOptionEditor::RCOptionEditor ()
mem_fun (*_rc_config, &RCConfiguration::set_secondary_clock_delta_edit_cursor)
));
add_option (_("Transport"),
new BoolOption (
"disable-disarm-during-roll",
_("Disable record disarm when transport is rolling"),
mem_fun (*_rc_config, &RCConfiguration::get_disable_disarm_during_roll),
mem_fun (*_rc_config, &RCConfiguration::set_disable_disarm_during_roll)
));
/* EDITOR */
add_option (_("Editor"),

View File

@ -128,6 +128,7 @@ RouteUI::init ()
UI::instance()->set_tip (show_sends_button, _("make mixer strips show sends to this bus"), "");
_session.SoloChanged.connect (mem_fun(*this, &RouteUI::solo_changed_so_update_mute));
_session.TransportStateChange.connect (mem_fun (*this, &RouteUI::check_rec_enable_sensitivity));
}
void
@ -482,6 +483,7 @@ RouteUI::rec_enable_press(GdkEventButton* ev)
_session.record_disenable_all ();
} else {
_session.record_enable_all ();
check_rec_enable_sensitivity ();
}
cmd->mark();
@ -499,6 +501,7 @@ RouteUI::rec_enable_press(GdkEventButton* ev)
} else {
reversibly_apply_track_boolean ("rec-enable change", &Track::set_record_enable, !track()->record_enabled(), this);
check_rec_enable_sensitivity ();
}
}
@ -1357,3 +1360,17 @@ RouteUI::save_as_template ()
_route->save_as_template (path.to_string(), name);
}
void
RouteUI::check_rec_enable_sensitivity ()
{
if (Config->get_disable_disarm_during_roll () == false) {
return;
}
if (_session.transport_rolling() && rec_enable_button->get_active()) {
rec_enable_button->set_sensitive (false);
} else {
rec_enable_button->set_sensitive (true);
}
}

View File

@ -183,6 +183,8 @@ class RouteUI : public virtual AxisView
void save_as_template ();
protected:
void check_rec_enable_sensitivity ();
std::vector<sigc::connection> connections;
std::string s_name;
std::string m_name;

View File

@ -112,6 +112,7 @@ CONFIG_VARIABLE (bool, primary_clock_delta_edit_cursor, "primary-clock-delta-edi
CONFIG_VARIABLE (bool, secondary_clock_delta_edit_cursor, "secondary-clock-delta-edit-cursor", false)
CONFIG_VARIABLE (bool, show_track_meters, "show-track-meters", true)
CONFIG_VARIABLE (bool, locate_while_waiting_for_sync, "locate-while-waiting-for-sync", false)
CONFIG_VARIABLE (bool, disable_disarm_during_roll, "disable-disarm-during-roll", false)
/* metering */