1 #ifndef INCLUDE_AL_PANNING_VBAP 
    2 #define INCLUDE_AL_PANNING_VBAP 
   49 #include "al/math/al_Vec.hpp" 
   50 #include "al/sound/al_Spatializer.hpp" 
   51 #include "al/sound/al_Speaker.hpp" 
   52 #include "al/spatial/al_DistAtten.hpp" 
   53 #include "al/spatial/al_Pose.hpp" 
   55 #define MAX_NUM_VBAP_TRIPLETS 512 
   58 #define MIN_VOLUME_TO_LENGTH_RATIO 0.000001 
   59 #define MIN_LENGTH 0.00001 
   76   unsigned int speakerChan[3];
 
   81   bool loadVectors(
const std::vector<Speaker>& spkrs);
 
   97   void setOptions(VbapOptions options) { mOptions = options; }
 
  113                           std::vector<unsigned int> assignedOutputs);
 
  118   void set3D(
bool is3D) { mIs3D = is3D; }
 
  122                             const unsigned int& frameIndex) 
override;
 
  124                             const float* samples,
 
  127   virtual void print(std::ostream& stream = std::cout) 
override;
 
  133   std::vector<SpeakerTriple> triplets() 
const;
 
  136   std::vector<SpeakerTriple> mTriplets;
 
  137   std::map<unsigned int, std::vector<unsigned int> > mPhantomChannels;
 
  140   VbapOptions mOptions;
 
  145   void findSpeakerPairs(
const Speakers& spkrs);
 
  148   void findSpeakerTriplets(
const Speakers& spkrs);
 
A local coordinate frame.
virtual void numFrames(unsigned int v)
Set number of frames.
void makeTriple(int s1, int s2, int s3=-1)
Manually add a triple from indeces to speakers.
void makePhantomChannel(int channelIndex, std::vector< unsigned int > assignedOutputs)
Make an existing channel a phantom channel.
virtual void print(std::ostream &stream=std::cout) override
Print out information about spatializer.
virtual void renderSample(AudioIOData &io, const Pose &reldir, const float &sample, const unsigned int &frameIndex) override
Render audio sample in position.
virtual void renderBuffer(AudioIOData &io, const Pose &reldir, const float *samples, const unsigned int &numFrames) override
Render audio buffer in position.
virtual void compile() override
Vbap(const Speakers &sl, bool is3D=false)
std::vector< Speaker > Speakers
A set of speakers.