Ardour
9.0-pre0-582-g084a23a80d
|
#include <vbap.h>
Classes | |
struct | Signal |
Public Member Functions | |
VBAPanner (std::shared_ptr< Pannable >, std::shared_ptr< Speakers >) | |
~VBAPanner () | |
void | configure_io (ChanCount in, ChanCount) |
ChanCount | in () const |
ChanCount | out () const |
void | set_position (double) |
void | set_width (double) |
void | set_elevation (double) |
void | distribute (BufferSet &ibufs, BufferSet &obufs, gain_t gain_coeff, pframes_t nframes) |
void | set_azimuth_elevation (double azimuth, double elevation) |
std::string | value_as_string (std::shared_ptr< const AutomationControl >) const |
XMLNode & | get_state () const |
PBD::AngularVector | signal_position (uint32_t n) const |
std::shared_ptr< Speakers > | get_speakers () const |
void | reset () |
Public Member Functions inherited from ARDOUR::Panner | |
Panner (std::shared_ptr< Pannable >) | |
~Panner () | |
virtual bool | clamp_position (double &) |
virtual bool | clamp_width (double &) |
virtual bool | clamp_elevation (double &) |
virtual std::pair< double, double > | position_range () const |
virtual std::pair< double, double > | width_range () const |
virtual std::pair< double, double > | elevation_range () const |
virtual double | position () const |
virtual double | width () const |
virtual double | elevation () const |
virtual void | distribute_automated (BufferSet &ibufs, BufferSet &obufs, samplepos_t start, samplepos_t end, pframes_t nframes, pan_t **buffers) |
int | set_state (const XMLNode &, int version) |
std::shared_ptr< Pannable > | pannable () const |
virtual void | freeze () |
virtual void | thaw () |
const std::set< Evoral::Parameter > & | what_can_be_automated () const |
Public Member Functions inherited from PBD::Stateful | |
Stateful () | |
virtual | ~Stateful () |
virtual bool | apply_change (PropertyBase const &) |
PropertyChange | apply_changes (PropertyList const &) |
const OwnedPropertyList & | properties () const |
void | add_property (PropertyBase &s) |
void | add_extra_xml (XMLNode &) |
XMLNode * | extra_xml (const std::string &str, bool add_if_missing=false) |
void | save_extra_xml (const XMLNode &) |
const PBD::ID & | id () const |
bool | set_id (const XMLNode &) |
void | set_id (const std::string &) |
void | reset_id () |
void | clear_changes () |
virtual void | clear_owned_changes () |
PropertyList * | get_changes_as_properties (PBD::Command *) const |
virtual void | rdiff (std::vector< PBD::Command * > &) const |
bool | changed () const |
virtual PropertyList * | property_factory (const XMLNode &) const |
virtual void | suspend_property_changes () |
virtual void | resume_property_changes () |
bool | property_changes_suspended () const |
Public Member Functions inherited from PBD::ScopedConnectionList | |
ScopedConnectionList () | |
ScopedConnectionList (const ScopedConnectionList &)=delete | |
ScopedConnectionList & | operator= (const ScopedConnectionList &)=delete |
virtual | ~ScopedConnectionList () |
void | add_connection (const UnscopedConnection &c) |
void | drop_connections () |
Static Public Member Functions | |
static Panner * | factory (std::shared_ptr< Pannable >, std::shared_ptr< Speakers >) |
Private Member Functions | |
void | compute_gains (double g[3], int ls[3], int azi, int ele) |
void | update () |
void | clear_signals () |
void | distribute_one (AudioBuffer &src, BufferSet &obufs, gain_t gain_coeff, pframes_t nframes, uint32_t which) |
void | distribute_one_automated (AudioBuffer &src, BufferSet &obufs, samplepos_t start, samplepos_t end, pframes_t nframes, pan_t **buffers, uint32_t which) |
Private Attributes | |
std::vector< Signal * > | _signals |
std::shared_ptr< VBAPSpeakers > | _speakers |
Additional Inherited Members | |
Public Attributes inherited from ARDOUR::Panner | |
PBD::Signal< void()> | SignalPositionChanged |
Public Attributes inherited from PBD::Stateful | |
PBD::Signal< void(const PropertyChange &)> | PropertyChanged |
Static Public Attributes inherited from PBD::Stateful | |
static int | current_state_version |
static int | loading_state_version |
Protected Member Functions inherited from PBD::Stateful | |
void | add_instant_xml (XMLNode &, const std::string &directory_path) |
XMLNode * | instant_xml (const std::string &str, const std::string &directory_path) |
void | add_properties (XMLNode &) const |
PropertyChange | set_values (XMLNode const &) |
virtual void | post_set (const PropertyChange &) |
virtual void | send_change (const PropertyChange &) |
virtual void | mid_thaw (const PropertyChange &) |
bool | regenerate_xml_or_string_ids () const |
Protected Attributes inherited from ARDOUR::Panner | |
std::shared_ptr< Pannable > | _pannable |
std::set< Evoral::Parameter > | _can_automate_list |
int32_t | _frozen |
Protected Attributes inherited from PBD::Stateful | |
XMLNode * | _extra_xml |
XMLNode * | _instant_xml |
PBD::PropertyChange | _pending_changed |
Glib::Threads::Mutex | _lock |
std::string | _xml_node_name |
name of node to use for this object in XML More... | |
OwnedPropertyList * | _properties |
ARDOUR::VBAPanner::~VBAPanner | ( | ) |
|
private |
|
private |
Reimplemented from ARDOUR::Panner.
|
virtual |
Pan some input buffers to a number of output buffers.
ibufs | Input buffers (one per panner input) |
obufs | Output buffers (one per panner output). |
gain_coeff | fixed, additional gain coefficient to apply to output samples. |
nframes | Number of samples in the input. |
Derived panners can choose to implement these if they need to gain more control over the panning algorithm. The default is to call distribute_one() or distribute_one_automated() on each input buffer to deliver it to each output buffer.
If a panner does not need to override this default behaviour, it can just implement distribute_one() and distribute_one_automated() (below).
Reimplemented from ARDOUR::Panner.
|
privatevirtual |
Implements ARDOUR::Panner.
|
privatevirtual |
Implements ARDOUR::Panner.
|
static |
|
virtual |
Reimplemented from ARDOUR::Panner.
|
virtual |
Reimplemented from ARDOUR::Panner.
|
virtual |
Implements ARDOUR::Panner.
|
virtual |
Implements ARDOUR::Panner.
|
virtual |
Implements ARDOUR::Panner.
void ARDOUR::VBAPanner::set_azimuth_elevation | ( | double | azimuth, |
double | elevation | ||
) |
|
virtual |
Reimplemented from ARDOUR::Panner.
|
virtual |
Reimplemented from ARDOUR::Panner.
|
virtual |
Reimplemented from ARDOUR::Panner.
|
virtual |
Reimplemented from ARDOUR::Panner.
|
private |
|
virtual |
Implements ARDOUR::Panner.
|
private |