summaryrefslogtreecommitdiff
path: root/libs/panners/vbap/vbap.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2014-01-10 16:07:57 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2014-01-10 16:07:57 -0500
commit3020b224fa2d6e1b6b8a576e8e8e211e0585f2a2 (patch)
tree314c3099bcc57d9af09d249e1e7dd8e45baca642 /libs/panners/vbap/vbap.cc
parentd15fda6d751a465d278f477923075d4783f3b1ca (diff)
parent897fbdc652434d3aa1e67223c3c3ef7ae9be2318 (diff)
Merge windows+cc branch into cairocanvas branch. Not finished, need to now merge windows branch to get changes from there
Diffstat (limited to 'libs/panners/vbap/vbap.cc')
-rw-r--r--libs/panners/vbap/vbap.cc18
1 files changed, 11 insertions, 7 deletions
diff --git a/libs/panners/vbap/vbap.cc b/libs/panners/vbap/vbap.cc
index 2241ab96e3..f160ae3d24 100644
--- a/libs/panners/vbap/vbap.cc
+++ b/libs/panners/vbap/vbap.cc
@@ -25,6 +25,10 @@
#include <iostream>
#include <string>
+#ifdef COMPILER_MSVC
+#include <malloc.h>
+#endif
+
#include "pbd/cartesian.h"
#include "pbd/compose.h"
@@ -53,7 +57,7 @@ static PanPluginDescriptor _descriptor = {
VBAPanner::factory
};
-extern "C" { PanPluginDescriptor* panner_descriptor () { return &_descriptor; } }
+extern "C" ARDOURPANNER_API PanPluginDescriptor* panner_descriptor () { return &_descriptor; }
VBAPanner::Signal::Signal (Session&, VBAPanner&, uint32_t, uint32_t n_speakers)
{
@@ -65,7 +69,7 @@ VBAPanner::Signal::Signal (Session&, VBAPanner&, uint32_t, uint32_t n_speakers)
}
void
-VBAPanner::Signal::Signal::resize_gains (uint32_t n)
+VBAPanner::Signal::resize_gains (uint32_t n)
{
gains.assign (n, 0.0);
}
@@ -293,7 +297,7 @@ VBAPanner::distribute_one (AudioBuffer& srcbuf, BufferSet& obufs, gain_t gain_co
assert (sz == obufs.count().n_audio());
- int8_t outputs[sz]; // on the stack, no malloc
+ int8_t *outputs = (int8_t*)alloca(sz); // on the stack, no malloc
/* set initial state of each output "record"
*/
@@ -322,10 +326,10 @@ VBAPanner::distribute_one (AudioBuffer& srcbuf, BufferSet& obufs, gain_t gain_co
/* at this point, we can test a speaker's status:
- (outputs[o] & 1) <= in use before
- (outputs[o] & 2) <= in use this time
- (outputs[o] & 3) == 3 <= in use both times
- outputs[o] == 0 <= not in use either time
+ (*outputs[o] & 1) <= in use before
+ (*outputs[o] & 2) <= in use this time
+ (*outputs[o] & 3) == 3 <= in use both times
+ *outputs[o] == 0 <= not in use either time
*/