ardour
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ARDOUR::LadspaPlugin Class Reference

#include <ladspa_plugin.h>

Inheritance diagram for ARDOUR::LadspaPlugin:
ARDOUR::Plugin PBD::StatefulDestructible ARDOUR::Latent PBD::Stateful PBD::Destructible

Public Member Functions

 LadspaPlugin (std::string module_path, ARDOUR::AudioEngine &, ARDOUR::Session &, uint32_t index, framecnt_t sample_rate)
 
 LadspaPlugin (const LadspaPlugin &)
 
 ~LadspaPlugin ()
 
std::string unique_id () const
 
const char * label () const
 
const char * name () const
 
const char * maker () const
 
uint32_t parameter_count () const
 
float default_value (uint32_t port)
 
framecnt_t signal_latency () const
 
void set_parameter (uint32_t port, float val)
 
float get_parameter (uint32_t port) const
 
int get_parameter_descriptor (uint32_t which, ParameterDescriptor &) const
 
uint32_t nth_parameter (uint32_t port, bool &ok) const
 
std::set< Evoral::Parameterautomatable () const
 
void activate ()
 
void deactivate ()
 
void cleanup ()
 
int set_block_size (pframes_t)
 
int connect_and_run (BufferSet &bufs, ChanMapping in, ChanMapping out, pframes_t nframes, framecnt_t offset)
 
std::string describe_parameter (Evoral::Parameter)
 
std::string state_node_name () const
 
void print_parameter (uint32_t, char *, uint32_t len) const
 
bool parameter_is_audio (uint32_t) const
 
bool parameter_is_control (uint32_t) const
 
bool parameter_is_input (uint32_t) const
 
bool parameter_is_output (uint32_t) const
 
bool parameter_is_toggled (uint32_t) const
 
boost::shared_ptr< ScalePointsget_scale_points (uint32_t port_index) const
 
int set_state (const XMLNode &, int version)
 
bool load_preset (PresetRecord)
 
bool has_editor () const
 
int require_output_streams (uint32_t)
 
LADSPA_Properties properties () const
 
uint32_t index () const
 
const char * copyright () const
 
LADSPA_PortDescriptor port_descriptor (uint32_t i) const
 
const LADSPA_PortRangeHintport_range_hints () const
 
const char *const * port_names () const
 
void set_gain (float gain)
 
void run_adding (uint32_t nsamples)
 
void connect_port (uint32_t port, float *ptr)
 
- Public Member Functions inherited from ARDOUR::Plugin
 Plugin (ARDOUR::AudioEngine &, ARDOUR::Session &)
 
 Plugin (const Plugin &)
 
virtual ~Plugin ()
 
XMLNodeget_state ()
 
virtual void set_insert_id (PBD::ID id)
 
virtual std::string get_docs () const
 
virtual std::string get_parameter_docs (uint32_t) const
 
virtual void flush ()
 
void realtime_handle_transport_stopped ()
 
void realtime_locate ()
 
void monitoring_changed ()
 
PresetRecord save_preset (std::string)
 
void remove_preset (std::string)
 
void clear_preset ()
 
const PresetRecordpreset_by_label (const std::string &)
 
const PresetRecordpreset_by_uri (const std::string &)
 
std::vector< PresetRecordget_presets ()
 
virtual bool presets_are_MIDI_programs () const
 
virtual bool current_preset_uses_general_midi () const
 
PresetRecord last_preset () const
 
bool parameter_changed_since_last_preset () const
 
virtual int first_user_preset_index () const
 
virtual bool configure_io (ChanCount, ChanCount)
 
virtual bool can_support_io_configuration (const ChanCount &, ChanCount &)
 
virtual ChanCount output_streams () const
 
virtual ChanCount input_streams () const
 
PluginInfoPtr get_info () const
 
virtual void set_info (const PluginInfoPtr inf)
 
ARDOUR::AudioEngineengine () const
 
ARDOUR::Sessionsession () const
 
void set_cycles (uint32_t c)
 
cycles_t cycles () const
 
virtual const PropertyDescriptorsget_supported_properties () const
 
virtual const ParameterDescriptorget_property_descriptor (uint32_t id) const
 
virtual void set_property (uint32_t key, const Variant &value)
 
virtual void announce_property_values ()
 
- Public Member Functions inherited from PBD::Stateful
 Stateful ()
 
virtual ~Stateful ()
 
virtual bool apply_changes (PropertyBase const &)
 
PropertyChange apply_changes (PropertyList const &)
 
const OwnedPropertyListproperties () const
 
void add_property (PropertyBase &s)
 
void add_extra_xml (XMLNode &)
 
XMLNodeextra_xml (const std::string &str, bool add_if_missing=false)
 
void save_extra_xml (const XMLNode &)
 
const PBD::IDid () const
 
bool set_id (const XMLNode &)
 
void set_id (const std::string &)
 
void reset_id ()
 
void clear_changes ()
 
virtual void clear_owned_changes ()
 
PropertyListget_changes_as_properties (Command *) const
 
virtual void rdiff (std::vector< Command * > &) const
 
bool changed () const
 
virtual PropertyListproperty_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::Destructible
 Destructible ()
 
virtual ~Destructible ()
 
void drop_references ()
 
- Public Member Functions inherited from ARDOUR::Latent
 Latent ()
 
virtual ~Latent ()
 
framecnt_t user_latency () const
 
framecnt_t effective_latency () const
 
virtual void set_user_latency (framecnt_t val)
 

Private Member Functions

float _default_value (uint32_t port) const
 
void find_presets ()
 
void init (std::string module_path, uint32_t index, framecnt_t rate)
 
void run_in_place (pframes_t nsamples)
 
void latency_compute_run ()
 
int set_state_2X (const XMLNode &, int version)
 
std::string do_save_preset (std::string name)
 
void do_remove_preset (std::string name)
 
std::string preset_envvar () const
 
std::string preset_source (std::string) const
 
bool write_preset_file (std::string)
 
void add_state (XMLNode *) const
 

Private Attributes

std::string _module_path
 
Glib::Module * _module
 
const LADSPA_Descriptor_descriptor
 
LADSPA_Handle _handle
 
framecnt_t _sample_rate
 
LADSPA_Data_control_data
 
LADSPA_Data_shadow_data
 
LADSPA_Data_latency_control_port
 
uint32_t _index
 
bool _was_activated
 

Additional Inherited Members

- Public Types inherited from ARDOUR::Plugin
typedef std::map< uint32_t,
ParameterDescriptor
PropertyDescriptors
 
- Public Attributes inherited from ARDOUR::Plugin
PBD::Signal0< void > PresetAdded
 
PBD::Signal0< void > PresetRemoved
 
PBD::Signal0< void > PresetLoaded
 
PBD::Signal2< void, uint32_t,
float > 
ParameterChanged
 
PBD::Signal2< void, uint32_t,
Variant
PropertyChanged
 
PBD::Signal1< void, uint32_t > StartTouch
 
PBD::Signal1< void, uint32_t > EndTouch
 
- Public Attributes inherited from PBD::Stateful
PBD::Signal1< void, const
PropertyChange & > 
PropertyChanged
 
- Public Attributes inherited from PBD::Destructible
PBD::Signal0< void > Destroyed
 
PBD::Signal0< void > DropReferences
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version = 0
 
static int loading_state_version = 0
 
- Protected Member Functions inherited from PBD::Stateful
void add_instant_xml (XMLNode &, const std::string &directory_path)
 
XMLNodeinstant_xml (const std::string &str, const std::string &directory_path)
 
void add_properties (XMLNode &)
 
PropertyChange set_values (XMLNode const &)
 
virtual void post_set (const PropertyChange &)
 
virtual void send_change (const PropertyChange &)
 
virtual void mid_thaw (const PropertyChange &)
 
- Protected Attributes inherited from ARDOUR::Plugin
ARDOUR::AudioEngine_engine
 
ARDOUR::Session_session
 
PluginInfoPtr _info
 
uint32_t _cycles
 
std::map< std::string,
PresetRecord
_presets
 
- 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
 
- Protected Attributes inherited from ARDOUR::Latent
framecnt_t _user_latency
 

Detailed Description

Definition at line 38 of file ladspa_plugin.h.

Constructor & Destructor Documentation

ARDOUR::LadspaPlugin::LadspaPlugin ( std::string  module_path,
ARDOUR::AudioEngine ,
ARDOUR::Session ,
uint32_t  index,
framecnt_t  sample_rate 
)
LadspaPlugin::LadspaPlugin ( const LadspaPlugin other)

Definition at line 67 of file ladspa_plugin.cc.

LadspaPlugin::~LadspaPlugin ( )

Definition at line 155 of file ladspa_plugin.cc.

Member Function Documentation

float LadspaPlugin::_default_value ( uint32_t  port) const
private

Definition at line 176 of file ladspa_plugin.cc.

void ARDOUR::LadspaPlugin::activate ( )
inlinevirtual

Implements ARDOUR::Plugin.

Definition at line 61 of file ladspa_plugin.h.

void LadspaPlugin::add_state ( XMLNode ) const
privatevirtual

Add state to an existing XMLNode

Implements ARDOUR::Plugin.

Definition at line 350 of file ladspa_plugin.cc.

set< Evoral::Parameter > LadspaPlugin::automatable ( ) const
virtual

Implements ARDOUR::Plugin.

Definition at line 555 of file ladspa_plugin.cc.

void ARDOUR::LadspaPlugin::cleanup ( )
inline

Definition at line 75 of file ladspa_plugin.h.

int LadspaPlugin::connect_and_run ( BufferSet bufs,
ChanMapping  in,
ChanMapping  out,
pframes_t  nframes,
framecnt_t  offset 
)
virtual

Reimplemented from ARDOUR::Plugin.

Definition at line 571 of file ladspa_plugin.cc.

void ARDOUR::LadspaPlugin::connect_port ( uint32_t  port,
float *  ptr 
)
inline

Definition at line 121 of file ladspa_plugin.h.

const char* ARDOUR::LadspaPlugin::copyright ( ) const
inline

Definition at line 114 of file ladspa_plugin.h.

void ARDOUR::LadspaPlugin::deactivate ( )
inlinevirtual

Implements ARDOUR::Plugin.

Definition at line 68 of file ladspa_plugin.h.

float ARDOUR::LadspaPlugin::default_value ( uint32_t  port)
inlinevirtual

Implements ARDOUR::Plugin.

Definition at line 52 of file ladspa_plugin.h.

string LadspaPlugin::describe_parameter ( Evoral::Parameter  which)
virtual

Implements ARDOUR::Plugin.

Definition at line 531 of file ladspa_plugin.cc.

void LadspaPlugin::do_remove_preset ( std::string  )
privatevirtual

Do the actual removal of a preset of the provided name

Implements ARDOUR::Plugin.

Definition at line 837 of file ladspa_plugin.cc.

string LadspaPlugin::do_save_preset ( std::string  )
privatevirtual

Do the actual saving of the current plugin settings to a preset of the provided name. Should return a URI on success, or an empty string on failure.

Implements ARDOUR::Plugin.

Definition at line 905 of file ladspa_plugin.cc.

void LadspaPlugin::find_presets ( )
privatevirtual

Fill _presets with our presets

Implements ARDOUR::Plugin.

Definition at line 748 of file ladspa_plugin.cc.

float LadspaPlugin::get_parameter ( uint32_t  which) const
virtual
Returns
`plugin' value

Implements ARDOUR::Plugin.

Definition at line 322 of file ladspa_plugin.cc.

int LadspaPlugin::get_parameter_descriptor ( uint32_t  which,
ParameterDescriptor desc 
) const
virtual

Implements ARDOUR::Plugin.

Definition at line 475 of file ladspa_plugin.cc.

boost::shared_ptr< ScalePoints > LadspaPlugin::get_scale_points ( uint32_t  port_index) const
virtual

Reimplemented from ARDOUR::Plugin.

Definition at line 646 of file ladspa_plugin.cc.

bool ARDOUR::LadspaPlugin::has_editor ( ) const
inlinevirtual

Implements ARDOUR::Plugin.

Definition at line 106 of file ladspa_plugin.h.

uint32_t ARDOUR::LadspaPlugin::index ( ) const
inline

Definition at line 113 of file ladspa_plugin.h.

void LadspaPlugin::init ( std::string  module_path,
uint32_t  index,
framecnt_t  rate 
)
private

Definition at line 79 of file ladspa_plugin.cc.

const char* ARDOUR::LadspaPlugin::label ( ) const
inlinevirtual

Implements ARDOUR::Plugin.

Definition at line 48 of file ladspa_plugin.h.

void LadspaPlugin::latency_compute_run ( )
private

Definition at line 684 of file ladspa_plugin.cc.

bool LadspaPlugin::load_preset ( PresetRecord  r)
virtual

Set parameters using a preset

Reimplemented from ARDOUR::Plugin.

Definition at line 776 of file ladspa_plugin.cc.

const char* ARDOUR::LadspaPlugin::maker ( ) const
inlinevirtual

Implements ARDOUR::Plugin.

Definition at line 50 of file ladspa_plugin.h.

const char* ARDOUR::LadspaPlugin::name ( ) const
inlinevirtual

Implements ARDOUR::Plugin.

Definition at line 49 of file ladspa_plugin.h.

uint32_t LadspaPlugin::nth_parameter ( uint32_t  port,
bool &  ok 
) const
virtual

Implements ARDOUR::Plugin.

Definition at line 332 of file ladspa_plugin.cc.

uint32_t ARDOUR::LadspaPlugin::parameter_count ( ) const
inlinevirtual

Implements ARDOUR::Plugin.

Definition at line 51 of file ladspa_plugin.h.

bool LadspaPlugin::parameter_is_audio ( uint32_t  param) const
virtual

Implements ARDOUR::Plugin.

Definition at line 616 of file ladspa_plugin.cc.

bool LadspaPlugin::parameter_is_control ( uint32_t  param) const
virtual

Implements ARDOUR::Plugin.

Definition at line 610 of file ladspa_plugin.cc.

bool LadspaPlugin::parameter_is_input ( uint32_t  param) const
virtual

Implements ARDOUR::Plugin.

Definition at line 628 of file ladspa_plugin.cc.

bool LadspaPlugin::parameter_is_output ( uint32_t  param) const
virtual

Implements ARDOUR::Plugin.

Definition at line 622 of file ladspa_plugin.cc.

bool ARDOUR::LadspaPlugin::parameter_is_toggled ( uint32_t  ) const
LADSPA_PortDescriptor LadspaPlugin::port_descriptor ( uint32_t  i) const

Definition at line 957 of file ladspa_plugin.cc.

const char* const* ARDOUR::LadspaPlugin::port_names ( ) const
inline

Definition at line 117 of file ladspa_plugin.h.

const LADSPA_PortRangeHint* ARDOUR::LadspaPlugin::port_range_hints ( ) const
inline

Definition at line 116 of file ladspa_plugin.h.

string LadspaPlugin::preset_envvar ( ) const
private

Definition at line 859 of file ladspa_plugin.cc.

string LadspaPlugin::preset_source ( std::string  ) const
private

Definition at line 870 of file ladspa_plugin.cc.

void LadspaPlugin::print_parameter ( uint32_t  param,
char *  buf,
uint32_t  len 
) const
virtual

Implements ARDOUR::Plugin.

Definition at line 634 of file ladspa_plugin.cc.

LADSPA_Properties ARDOUR::LadspaPlugin::properties ( ) const
inline

Definition at line 112 of file ladspa_plugin.h.

int ARDOUR::LadspaPlugin::require_output_streams ( uint32_t  )
void ARDOUR::LadspaPlugin::run_adding ( uint32_t  nsamples)
inline

Definition at line 120 of file ladspa_plugin.h.

void LadspaPlugin::run_in_place ( pframes_t  nsamples)
private

Definition at line 670 of file ladspa_plugin.cc.

int ARDOUR::LadspaPlugin::set_block_size ( pframes_t  )
inlinevirtual

Implements ARDOUR::Plugin.

Definition at line 83 of file ladspa_plugin.h.

void ARDOUR::LadspaPlugin::set_gain ( float  gain)
inline

Definition at line 119 of file ladspa_plugin.h.

void LadspaPlugin::set_parameter ( uint32_t  which,
float  val 
)
virtual
Parameters
val`plugin' value

Reimplemented from ARDOUR::Plugin.

Definition at line 294 of file ladspa_plugin.cc.

int LadspaPlugin::set_state ( const XMLNode node,
int  version 
)
virtual

Reimplemented from ARDOUR::Plugin.

Definition at line 372 of file ladspa_plugin.cc.

int LadspaPlugin::set_state_2X ( const XMLNode node,
int  version 
)
private

Definition at line 426 of file ladspa_plugin.cc.

ARDOUR::framecnt_t LadspaPlugin::signal_latency ( ) const
virtual

Implements ARDOUR::Latent.

Definition at line 541 of file ladspa_plugin.cc.

std::string ARDOUR::LadspaPlugin::state_node_name ( ) const
inlinevirtual

Implements ARDOUR::Plugin.

Definition at line 90 of file ladspa_plugin.h.

string LadspaPlugin::unique_id ( ) const
virtual

Implements ARDOUR::Plugin.

Definition at line 168 of file ladspa_plugin.cc.

bool LadspaPlugin::write_preset_file ( std::string  )
private

Definition at line 876 of file ladspa_plugin.cc.

Member Data Documentation

LADSPA_Data* ARDOUR::LadspaPlugin::_control_data
private

Definition at line 130 of file ladspa_plugin.h.

const LADSPA_Descriptor* ARDOUR::LadspaPlugin::_descriptor
private

Definition at line 127 of file ladspa_plugin.h.

LADSPA_Handle ARDOUR::LadspaPlugin::_handle
private

Definition at line 128 of file ladspa_plugin.h.

uint32_t ARDOUR::LadspaPlugin::_index
private

Definition at line 133 of file ladspa_plugin.h.

LADSPA_Data* ARDOUR::LadspaPlugin::_latency_control_port
private

Definition at line 132 of file ladspa_plugin.h.

Glib::Module* ARDOUR::LadspaPlugin::_module
private

Definition at line 126 of file ladspa_plugin.h.

std::string ARDOUR::LadspaPlugin::_module_path
private

Definition at line 125 of file ladspa_plugin.h.

framecnt_t ARDOUR::LadspaPlugin::_sample_rate
private

Definition at line 129 of file ladspa_plugin.h.

LADSPA_Data* ARDOUR::LadspaPlugin::_shadow_data
private

Definition at line 131 of file ladspa_plugin.h.

bool ARDOUR::LadspaPlugin::_was_activated
private

Definition at line 134 of file ladspa_plugin.h.


The documentation for this class was generated from the following files: