summaryrefslogtreecommitdiff
path: root/libs/panners/vbap/vbap.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/panners/vbap/vbap.cc')
-rw-r--r--libs/panners/vbap/vbap.cc24
1 files changed, 10 insertions, 14 deletions
diff --git a/libs/panners/vbap/vbap.cc b/libs/panners/vbap/vbap.cc
index da48b46fa0..0bf9e34255 100644
--- a/libs/panners/vbap/vbap.cc
+++ b/libs/panners/vbap/vbap.cc
@@ -123,6 +123,16 @@ VBAPanner::configure_io (ChanCount in, ChanCount /* ignored - we use Speakers */
void
VBAPanner::update ()
{
+
+ _can_automate_list.clear ();
+ _can_automate_list.insert (Evoral::Parameter (PanAzimuthAutomation));
+ if (_signals.size() > 1) {
+ _can_automate_list.insert (Evoral::Parameter (PanWidthAutomation));
+ }
+ if (_speakers->dimension() == 3) {
+ _can_automate_list.insert (Evoral::Parameter (PanElevationAutomation));
+ }
+
/* recompute signal directions based on panner azimuth and, if relevant, width (diffusion) and elevation parameters */
double elevation = _pannable->pan_elevation_control->get_value() * 90.0;
@@ -392,20 +402,6 @@ VBAPanner::out() const
return ChanCount (DataType::AUDIO, _speakers->n_speakers());
}
-std::set<Evoral::Parameter>
-VBAPanner::what_can_be_automated() const
-{
- set<Evoral::Parameter> s;
- s.insert (Evoral::Parameter (PanAzimuthAutomation));
- if (_signals.size() > 1) {
- s.insert (Evoral::Parameter (PanWidthAutomation));
- }
- if (_speakers->dimension() == 3) {
- s.insert (Evoral::Parameter (PanElevationAutomation));
- }
- return s;
-}
-
string
VBAPanner::value_as_string (boost::shared_ptr<const AutomationControl> ac) const
{