summaryrefslogtreecommitdiff
path: root/libs/ardour/automatable.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/automatable.cc')
-rw-r--r--libs/ardour/automatable.cc52
1 files changed, 3 insertions, 49 deletions
diff --git a/libs/ardour/automatable.cc b/libs/ardour/automatable.cc
index 8c17a99bea..6d8114939d 100644
--- a/libs/ardour/automatable.cc
+++ b/libs/ardour/automatable.cc
@@ -79,22 +79,6 @@ Automatable::old_set_automation_state (const XMLNode& node)
warning << _("Automation node has no path property") << endmsg;
}
- if ((prop = node.property ("visible")) != 0) {
- uint32_t what;
- stringstream sstr;
-
- _visible_controls.clear ();
-
- sstr << prop->value();
- while (1) {
- sstr >> what;
- if (sstr.fail()) {
- break;
- }
- mark_automation_visible (Evoral::Parameter(PluginAutomation, 0, what), true);
- }
- }
-
_last_automation_snapshot = 0;
return 0;
@@ -167,17 +151,6 @@ Automatable::add_control(boost::shared_ptr<Evoral::Control> ac)
automation_list_automation_state_changed (param, al->automation_state ()); // sync everything up
}
-void
-Automatable::what_has_visible_data(set<Evoral::Parameter>& s) const
-{
- Glib::Mutex::Lock lm (control_lock());
- set<Evoral::Parameter>::const_iterator li;
-
- for (li = _visible_controls.begin(); li != _visible_controls.end(); ++li) {
- s.insert (*li);
- }
-}
-
string
Automatable::describe_parameter (Evoral::Parameter param)
{
@@ -205,20 +178,6 @@ Automatable::can_automate (Evoral::Parameter what)
_can_automate_list.insert (what);
}
-void
-Automatable::mark_automation_visible (Evoral::Parameter what, bool yn)
-{
- if (yn) {
- _visible_controls.insert (what);
- } else {
- set<Evoral::Parameter>::iterator i;
-
- if ((i = _visible_controls.find (what)) != _visible_controls.end()) {
- _visible_controls.erase (i);
- }
- }
-}
-
/** \a legacy_param is used for loading legacy sessions where an object (IO, Panner)
* had a single automation parameter, with it's type implicit. Derived objects should
* pass that type and it will be used for the untyped AutomationList found.
@@ -230,8 +189,6 @@ Automatable::set_automation_xml_state (const XMLNode& node, Evoral::Parameter le
/* Don't clear controls, since some may be special derived Controllable classes */
- _visible_controls.clear ();
-
XMLNodeList nlist = node.children();
XMLNodeIterator niter;
@@ -292,8 +249,7 @@ Automatable::get_automation_xml_state ()
}
for (Controls::iterator li = controls().begin(); li != controls().end(); ++li) {
- boost::shared_ptr<AutomationList> l
- = boost::dynamic_pointer_cast<AutomationList>(li->second->list());
+ boost::shared_ptr<AutomationList> l = boost::dynamic_pointer_cast<AutomationList>(li->second->list());
if (!l->empty()) {
node->add_child_nocopy (l->get_state ());
}
@@ -364,11 +320,9 @@ void
Automatable::protect_automation ()
{
typedef set<Evoral::Parameter> ParameterSet;
- ParameterSet automated_params;
-
- what_has_data(automated_params);
+ const ParameterSet& automated_params = what_can_be_automated ();
- for (ParameterSet::iterator i = automated_params.begin(); i != automated_params.end(); ++i) {
+ for (ParameterSet::const_iterator i = automated_params.begin(); i != automated_params.end(); ++i) {
boost::shared_ptr<Evoral::Control> c = control(*i);
boost::shared_ptr<AutomationList> l = boost::dynamic_pointer_cast<AutomationList>(c->list());