20 #ifndef __ardour_ladspa_plugin_h__
21 #define __ardour_ladspa_plugin_h__
27 #include <glibmm/module.h>
47 std::string unique_id()
const;
48 const char*
label()
const {
return _descriptor->Label; }
49 const char*
name()
const {
return _descriptor->Name; }
50 const char*
maker()
const {
return _descriptor->Maker; }
54 void set_parameter (uint32_t port,
float val);
55 float get_parameter (uint32_t port)
const;
57 uint32_t nth_parameter (uint32_t port,
bool& ok)
const;
59 std::set<Evoral::Parameter> automatable()
const;
62 if (!_was_activated && _descriptor->activate)
63 _descriptor->activate (_handle);
65 _was_activated =
true;
69 if (_was_activated && _descriptor->deactivate)
70 _descriptor->deactivate (_handle);
72 _was_activated =
false;
79 if (_descriptor->cleanup)
80 _descriptor->cleanup (_handle);
91 void print_parameter (uint32_t,
char*, uint32_t len)
const;
93 bool parameter_is_audio(uint32_t)
const;
94 bool parameter_is_control(uint32_t)
const;
95 bool parameter_is_input(uint32_t)
const;
96 bool parameter_is_output(uint32_t)
const;
97 bool parameter_is_toggled(uint32_t)
const;
100 get_scale_points(uint32_t port_index)
const;
102 int set_state (
const XMLNode&,
int version);
104 bool load_preset (PresetRecord);
108 int require_output_streams (uint32_t);
113 uint32_t
index()
const {
return _index; }
114 const char *
copyright()
const {
return _descriptor->Copyright; }
117 const char *
const *
port_names()
const {
return _descriptor->PortNames; }
119 void set_gain (
float gain) { _descriptor->set_run_adding_gain (_handle, gain); }
120 void run_adding (uint32_t nsamples) { _descriptor->run_adding (_handle, nsamples); }
121 void connect_port (uint32_t port,
float *ptr) { _descriptor->connect_port (_handle, port, ptr); }
124 float _default_value (uint32_t port)
const;
136 void find_presets ();
138 void init (std::string module_path, uint32_t index,
framecnt_t rate);
140 void latency_compute_run ();
141 int set_state_2X (
const XMLNode&,
int version);
142 std::string do_save_preset (std::string
name);
143 void do_remove_preset (std::string
name);
144 std::string preset_envvar ()
const;
145 std::string preset_source (std::string)
const;
146 bool write_preset_file (std::string);
147 void add_state (
XMLNode *)
const;
LADSPA_Properties properties() const
const LADSPA_Descriptor * _descriptor
int LADSPA_PortDescriptor
const char * name() const
LIBARDOUR_API PBD::PropertyDescriptor< bool > gain
const char *const * port_names() const
std::string state_node_name() const
const char * maker() const
void set_gain(float gain)
LADSPA_Data * _control_data
boost::shared_ptr< LadspaPluginInfo > LadspaPluginInfoPtr
void run_adding(uint32_t nsamples)
uint32_t parameter_count() const
const char * label() const
void connect_port(uint32_t port, float *ptr)
const LADSPA_PortRangeHint * port_range_hints() const
LADSPA_Data * _latency_control_port
LIBARDOUR_API uint64_t AudioEngine
LIBARDOUR_API bool init(bool with_vst, bool try_optimization, const char *localedir)
float default_value(uint32_t port)
const char * copyright() const
LADSPA_Data * _shadow_data
int set_block_size(pframes_t)