Mark Sequence as edited when one of its parent ControlSet's ControlLists is changed.

git-svn-id: svn://localhost/ardour2/branches/3.0@7404 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2010-07-12 00:41:45 +00:00
parent 6f5ee7c429
commit d1b4599725
12 changed files with 60 additions and 20 deletions

View file

@ -26,9 +26,9 @@ Parameter::TypeMetadata Parameter::_type_metadata;
Control::Control(const Parameter& parameter, boost::shared_ptr<ControlList> list)
: _parameter(parameter)
, _list(list)
, _user_value(list ? list->default_value() : parameter.normal())
{
set_list (list);
}
@ -59,7 +59,19 @@ Control::set_float(float value, bool to_list, FrameTime frame)
void
Control::set_list(boost::shared_ptr<ControlList> list)
{
_list_marked_dirty_connection.disconnect ();
_list = list;
if (_list) {
_list->Dirty.connect_same_thread (_list_marked_dirty_connection, boost::bind (&Control::list_marked_dirty, this));
}
}
void
Control::list_marked_dirty ()
{
ListMarkedDirty (); /* EMIT SIGNAL */
}
} // namespace Evoral