#include <cmath>
#include <algorithm>
#include <stdlib.h>
-#include <alloca.h>
#include "pbd/cartesian.h"
int i,j,k,l,table_size;
int n_speakers = _speakers.size ();
- if (n_speakers == 0) {
+ if (n_speakers < 3) {
+ fprintf(stderr, "VBAP: at least 3 speakers need to be defined.");
return;
}
*/
const int n_speakers = _speakers.size();
- if (n_speakers == 0) {
+ if (n_speakers < 2) {
+ fprintf(stderr, "VBAP: at least 2 speakers need to be defined.");
return;
}
}
/* sort loudspeakers according their aximuth angle */
+#ifdef __clang_analyzer__
+ // sort_2D_lss() assigns values to all of sorted_speakers
+ // "uninitialized value"
+ memset(sorted_speakers, 0, sizeof(*sorted_speakers));
+#endif
sort_2D_lss (sorted_speakers);
/* adjacent loudspeakers are the loudspeaker pairs to be used.*/
vector<Speaker> tmp = _speakers;
vector<Speaker>::iterator s;
azimuth_sorter sorter;
- int n;
+ unsigned int n;
sort (tmp.begin(), tmp.end(), sorter);
for (n = 0, s = tmp.begin(); s != tmp.end(); ++s, ++n) {
sorted_speakers[n] = (*s).id;
}
+ assert(n == _speakers.size ());
}
int