Ardour
9.0-pre0-582-g084a23a80d
|
#include <panner.h>
Public Member Functions | |
Panner (std::shared_ptr< Pannable >) | |
~Panner () | |
virtual std::shared_ptr< Speakers > | get_speakers () const |
virtual ChanCount | in () const =0 |
virtual ChanCount | out () const =0 |
virtual void | configure_io (ARDOUR::ChanCount, ARDOUR::ChanCount) |
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 void | set_position (double) |
virtual void | set_width (double) |
virtual void | set_elevation (double) |
virtual double | position () const |
virtual double | width () const |
virtual double | elevation () const |
virtual PBD::AngularVector | signal_position (uint32_t) const |
virtual void | reset ()=0 |
virtual void | distribute (BufferSet &ibufs, BufferSet &obufs, gain_t gain_coeff, pframes_t nframes) |
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) |
XMLNode & | get_state () const |
std::shared_ptr< Pannable > | pannable () const |
virtual void | freeze () |
virtual void | thaw () |
const std::set< Evoral::Parameter > & | what_can_be_automated () const |
virtual std::string | value_as_string (std::shared_ptr< const AutomationControl >) const =0 |
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 () |
Public Attributes | |
PBD::Signal< void()> | SignalPositionChanged |
Public Attributes inherited from PBD::Stateful | |
PBD::Signal< void(const PropertyChange &)> | PropertyChanged |
Protected Member Functions | |
virtual void | distribute_one (AudioBuffer &, BufferSet &obufs, gain_t gain_coeff, pframes_t nframes, uint32_t which)=0 |
virtual void | distribute_one_automated (AudioBuffer &, BufferSet &obufs, samplepos_t start, samplepos_t end, pframes_t nframes, pan_t **buffers, uint32_t which)=0 |
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 | |
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 |
Additional Inherited Members | |
Static Public Attributes inherited from PBD::Stateful | |
static int | current_state_version |
static int | loading_state_version |
ARDOUR::Panner::Panner | ( | std::shared_ptr< Pannable > | ) |
ARDOUR::Panner::~Panner | ( | ) |
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in ARDOUR::Pannerbalance, ARDOUR::Panner2in2out, and ARDOUR::Panner1in2out.
|
inlinevirtual |
Reimplemented in ARDOUR::Panner2in2out.
|
inlinevirtual |
Reimplemented in ARDOUR::VBAPanner.
|
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 in ARDOUR::VBAPanner.
|
virtual |
|
protectedpure virtual |
Implemented in ARDOUR::Pannerbalance, ARDOUR::Panner2in2out, ARDOUR::VBAPanner, and ARDOUR::Panner1in2out.
|
protectedpure virtual |
Implemented in ARDOUR::Pannerbalance, ARDOUR::Panner2in2out, ARDOUR::Panner1in2out, and ARDOUR::VBAPanner.
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
|
inlinevirtual |
Reimplemented in ARDOUR::VBAPanner.
|
virtual |
Implements PBD::Stateful.
Reimplemented in ARDOUR::VBAPanner, ARDOUR::Pannerbalance, ARDOUR::Panner2in2out, and ARDOUR::Panner1in2out.
|
pure virtual |
Implemented in ARDOUR::VBAPanner, ARDOUR::Pannerbalance, ARDOUR::Panner2in2out, and ARDOUR::Panner1in2out.
|
pure virtual |
Implemented in ARDOUR::VBAPanner, ARDOUR::Pannerbalance, ARDOUR::Panner2in2out, and ARDOUR::Panner1in2out.
|
inline |
|
inlinevirtual |
Reimplemented in ARDOUR::Pannerbalance, ARDOUR::Panner2in2out, and ARDOUR::Panner1in2out.
|
inlinevirtual |
Reimplemented in ARDOUR::Pannerbalance, ARDOUR::Panner2in2out, and ARDOUR::Panner1in2out.
|
pure virtual |
Implemented in ARDOUR::VBAPanner, ARDOUR::Pannerbalance, ARDOUR::Panner2in2out, and ARDOUR::Panner1in2out.
|
inlinevirtual |
Reimplemented in ARDOUR::VBAPanner.
|
inlinevirtual |
Reimplemented in ARDOUR::VBAPanner, ARDOUR::Pannerbalance, ARDOUR::Panner2in2out, and ARDOUR::Panner1in2out.
|
virtual |
Implements PBD::Stateful.
|
inlinevirtual |
Reimplemented in ARDOUR::VBAPanner, and ARDOUR::Panner2in2out.
|
inlinevirtual |
Reimplemented in ARDOUR::VBAPanner.
|
virtual |
Reimplemented in ARDOUR::Pannerbalance, and ARDOUR::Panner2in2out.
|
pure virtual |
Implemented in ARDOUR::VBAPanner, ARDOUR::Pannerbalance, ARDOUR::Panner2in2out, and ARDOUR::Panner1in2out.
|
inline |
|
inlinevirtual |
Reimplemented in ARDOUR::Panner2in2out.
|
inlinevirtual |
Reimplemented in ARDOUR::Panner2in2out.
|
protected |
|
protected |
PBD::Signal<void()> ARDOUR::Panner::SignalPositionChanged |