Fix problem with turning off 'disable-disarm-during-roll' during roll

git-svn-id: svn://localhost/ardour2/branches/3.0@5190 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2009-06-14 17:56:29 +00:00
parent ebf60a31d8
commit 57f6ec6d9a
2 changed files with 17 additions and 7 deletions

View File

@ -129,6 +129,8 @@ RouteUI::init ()
_session.SoloChanged.connect (mem_fun(*this, &RouteUI::solo_changed_so_update_mute));
_session.TransportStateChange.connect (mem_fun (*this, &RouteUI::check_rec_enable_sensitivity));
Config->ParameterChanged.connect (mem_fun (*this, &RouteUI::parameter_changed));
}
void
@ -1364,13 +1366,19 @@ RouteUI::save_as_template ()
void
RouteUI::check_rec_enable_sensitivity ()
{
if (Config->get_disable_disarm_during_roll () == false) {
return;
}
if (_session.transport_rolling() && rec_enable_button->get_active()) {
if (_session.transport_rolling() && rec_enable_button->get_active() && Config->get_disable_disarm_during_roll()) {
rec_enable_button->set_sensitive (false);
} else {
rec_enable_button->set_sensitive (true);
}
}
void
RouteUI::parameter_changed (string const & p)
{
ENSURE_GUI_THREAD (bind (mem_fun (*this, &RouteUI::parameter_changed), p));
if (p == "disable-disarm-during-roll") {
check_rec_enable_sensitivity ();
}
}

View File

@ -183,8 +183,6 @@ 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;
@ -194,6 +192,10 @@ class RouteUI : public virtual AxisView
void init ();
void reset ();
private:
void check_rec_enable_sensitivity ();
void parameter_changed (std::string const &);
};
#endif /* __ardour_route_ui__ */