45 #ifdef ARDOURPANNER_DLL_EXPORTS
46 #define ARDOURPANNER_API LIBARDOUR_DLL_EXPORT
48 #define ARDOURPANNER_API LIBARDOUR_DLL_IMPORT
50 #define ARDOURPANNER_LOCAL LIBARDOUR_DLL_LOCAL
66 virtual std::shared_ptr<Speakers>
get_speakers()
const {
return std::shared_ptr<Speakers>(); }
89 virtual std::pair<double, double>
position_range ()
const {
return std::make_pair (-DBL_MAX, DBL_MAX); }
90 virtual std::pair<double, double>
width_range ()
const {
return std::make_pair (-DBL_MAX, DBL_MAX); }
91 virtual std::pair<double, double>
elevation_range ()
const {
return std::make_pair (-DBL_MAX, DBL_MAX); }
97 virtual double position ()
const {
return 0.0; }
98 virtual double width ()
const {
return 0.0; }
132 std::shared_ptr<Pannable>
pannable()
const {
return _pannable; }
138 return _can_automate_list;
141 virtual std::string
value_as_string (std::shared_ptr<const AutomationControl>)
const = 0;
147 pan_t** buffers, uint32_t which) = 0;
165 ARDOUR::Panner* (*factory)(std::shared_ptr<ARDOUR::Pannable>, std::shared_ptr<ARDOUR::Speakers>);
virtual bool clamp_position(double &)
virtual bool clamp_width(double &)
virtual std::pair< double, double > width_range() const
virtual void set_position(double)
virtual bool clamp_elevation(double &)
virtual void distribute_automated(BufferSet &ibufs, BufferSet &obufs, samplepos_t start, samplepos_t end, pframes_t nframes, pan_t **buffers)
std::set< Evoral::Parameter > _can_automate_list
virtual double width() const
virtual double position() const
virtual ChanCount in() const =0
virtual void distribute(BufferSet &ibufs, BufferSet &obufs, gain_t gain_coeff, pframes_t nframes)
virtual void configure_io(ARDOUR::ChanCount, ARDOUR::ChanCount)
std::shared_ptr< Pannable > pannable() const
virtual void distribute_one(AudioBuffer &, BufferSet &obufs, gain_t gain_coeff, pframes_t nframes, uint32_t which)=0
Panner(std::shared_ptr< Pannable >)
const std::set< Evoral::Parameter > & what_can_be_automated() const
int set_state(const XMLNode &, int version)
virtual double elevation() const
virtual void distribute_one_automated(AudioBuffer &, BufferSet &obufs, samplepos_t start, samplepos_t end, pframes_t nframes, pan_t **buffers, uint32_t which)=0
virtual std::pair< double, double > position_range() const
virtual ChanCount out() const =0
XMLNode & get_state() const
virtual std::pair< double, double > elevation_range() const
virtual PBD::AngularVector signal_position(uint32_t) const
std::shared_ptr< Pannable > _pannable
virtual std::shared_ptr< Speakers > get_speakers() const
PBD::Signal< void()> SignalPositionChanged
virtual std::string value_as_string(std::shared_ptr< const AutomationControl >) const =0
virtual void set_width(double)
virtual void set_elevation(double)
PBD::PropertyDescriptor< timepos_t > start
Temporal::samplepos_t samplepos_t