20 #ifndef __libardour_vbap_h__
21 #define __libardour_vbap_h__
41 VBAPanner (std::shared_ptr<Pannable>, std::shared_ptr<Speakers>);
52 static Panner*
factory (std::shared_ptr<Pannable>, std::shared_ptr<Speakers>);
90 pan_t** buffers, uint32_t which);
virtual double elevation() const
XMLNode & get_state() const
PBD::AngularVector signal_position(uint32_t n) const
void compute_gains(double g[3], int ls[3], int azi, int ele)
VBAPanner(std::shared_ptr< Pannable >, std::shared_ptr< Speakers >)
void set_azimuth_elevation(double azimuth, double elevation)
void distribute(BufferSet &ibufs, BufferSet &obufs, gain_t gain_coeff, pframes_t nframes)
std::shared_ptr< VBAPSpeakers > _speakers
std::string value_as_string(std::shared_ptr< const AutomationControl >) const
void distribute_one(AudioBuffer &src, BufferSet &obufs, gain_t gain_coeff, pframes_t nframes, uint32_t which)
void set_position(double)
void configure_io(ChanCount in, ChanCount)
void set_elevation(double)
void distribute_one_automated(AudioBuffer &src, BufferSet &obufs, samplepos_t start, samplepos_t end, pframes_t nframes, pan_t **buffers, uint32_t which)
std::shared_ptr< Speakers > get_speakers() const
std::vector< Signal * > _signals
static Panner * factory(std::shared_ptr< Pannable >, std::shared_ptr< Speakers >)
PBD::PropertyDescriptor< timepos_t > start
Temporal::samplepos_t samplepos_t
Signal(VBAPanner &, uint32_t which, uint32_t n_speakers)
void resize_gains(uint32_t n_speakers)
std::vector< double > gains
PBD::AngularVector direction