summaryrefslogtreecommitdiff
path: root/libs/panners/vbap/vbap.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-02-19 17:42:38 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-02-19 17:42:38 +0000
commitc77d116703647a72cd7d01c6735fa610a88171dd (patch)
tree5d371ba23a3b7484fd2e61456a7c023387d94e8d /libs/panners/vbap/vbap.h
parentb25f3342070dacdd17d08dd3cd6abafe87332048 (diff)
first pass at full output & gain coefficient interpolation for VBAP panning
git-svn-id: svn://localhost/ardour2/branches/3.0@8902 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/panners/vbap/vbap.h')
-rw-r--r--libs/panners/vbap/vbap.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/libs/panners/vbap/vbap.h b/libs/panners/vbap/vbap.h
index 7aa136ac78..6174600270 100644
--- a/libs/panners/vbap/vbap.h
+++ b/libs/panners/vbap/vbap.h
@@ -68,12 +68,14 @@ public:
private:
struct Signal {
PBD::AngularVector direction;
- double gains[3];
- double desired_gains[3];
- int outputs[3];
- int desired_outputs[3];
+ std::vector<double> gains; /* most recently used gain for all speakers */
- Signal (Session&, VBAPanner&, uint32_t which);
+ int outputs[3]; /* most recent set of outputs used (2 or 3, depending on dimension) */
+ int desired_outputs[3]; /* outputs to use the next time we distribute */
+ double desired_gains[3]; /* target gains for desired_outputs */
+
+ Signal (Session&, VBAPanner&, uint32_t which, uint32_t n_speakers);
+ void resize_gains (uint32_t n_speakers);
};
std::vector<Signal*> _signals;