Guitarix
ladspaback.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012, 2013 Andreas Degert, Hermann Meyer
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17  */
18 
19 #include <ladspa.h>
20 
21 namespace ladspa {
22 
23 /****************************************************************
24  ** PortDesc
25  */
26 
29 };
30 
32 public:
33  enum { name_set = 0x01, dflt_set = 0x02, low_set = 0x04, up_set = 0x08, tp_set = 0x10, newrow_set = 0x20 };
34 private:
35  Glib::ustring name;
36  float dflt;
37  float low;
38  float up;
40  std::map<int, Glib::ustring> enumdict;
41  bool newrow;
42  int set_flags;
43  inline void sf(int f) { set_flags |= f; }
44  friend bool operator!=(const ChangeableValues& v1, const ChangeableValues& v2);
45 public:
49  int get_excl_flags(DisplayType tp) const;
50  bool has_settings(DisplayType tp) const;
51  inline bool is_set(int f) const { return set_flags & f; }
52  inline void unset(int f) { set_flags &= ~f; }
53  inline void set_name(const Glib::ustring& nm) { name = nm; sf(name_set); }
54  inline void set_dflt(float v) { dflt = v; sf(dflt_set); }
55  inline void set_low(float v) { low = v; sf(low_set); }
56  inline void set_up(float v) { up = v; sf(up_set); }
57  inline void set_tp(DisplayType v) { tp = v; sf(tp_set); }
58  inline void set_newrow(bool v) { newrow = v; sf(newrow_set); }
59  inline const Glib::ustring& get_name() { return name; }
60  inline float get_dflt() { return dflt; }
61  inline float get_low() { return low; }
62  inline float get_up() { return up; }
63  inline DisplayType get_tp() { return tp; }
64  inline bool get_newrow() { return newrow; }
65  inline bool has_enumkey(int k) { return enumdict.find(k) != enumdict.end(); }
66  void set_enumvalue(int k, const Glib::ustring& v) { enumdict[k] = v; }
67  inline std::map<int, Glib::ustring>::iterator find_enum(int k) { return enumdict.find(k); }
68  inline void erase_enum(int k) { enumdict.erase(enumdict.find(k)); }
69  inline std::map<int, Glib::ustring>::iterator enum_end() { return enumdict.end(); }
70 };
71 
72 enum step_mode {
76 };
77 
78 class PortDesc {
79 private:
80 public:
81  int idx;
82  int pos;
83  bool is_output;
85  bool fake_low;
86  bool fake_up;
87  bool fake_dflt;
89  bool use_sr;
90  bool has_sr;
94  static const int SR = 44100;
95 public:
99  float calc_step();
100  void set_default(float value, Glib::ustring label);
101  void output(gx_system::JsonWriter& jw);
102  friend bool cmp_ctrl_ports(const PortDesc *a, const PortDesc *b);
103 public:
104  PortDesc(int idx_, int pos_, bool is_output_, Glib::ustring name, const LADSPA_PortRangeHint& hint);
107  void reset();
108  void fixup(bool newrow);
109  bool check_changed(const PortDesc& vp) const;
110  Glib::ustring get_enum(int idx);
113  inline float get_up() { return user.is_set(ChangeableValues::up_set) ? user.get_up() : factory.get_up(); }
116  const Glib::ustring& get_name() { return user.is_set(ChangeableValues::name_set) ? user.get_name() : factory.get_name(); }
117  inline int get_pos() { return pos; }
118  void set_low(float v);
119  void set_up(float v);
120  void set_dflt(float v);
121  void set_tp(DisplayType v);
122  void set_newrow(bool v);
123  bool has_settings();
124  bool enumkey_changed(int k) { return user.has_enumkey(k); }
125  bool is_set(int f) { return user.is_set(f); }
126  void set_state(gx_system::JsonParser& jp, int version);
127 };
128 
129 
130 /****************************************************************
131  ** class PluginDesc
132  */
133 
134 class PluginDesc {
135 public:
136  unsigned long UniqueID;
137  Glib::ustring Label;
138  Glib::ustring Name;
139  Glib::ustring shortname;
140  Glib::ustring Maker;
142  Glib::ustring MasterLabel;
143  int tp;
144  std::vector<PortDesc*> ctrl_ports;
145  std::string path;
146  int index;
147  Glib::ustring category;
148  Glib::ustring deduced_category;
149  int quirks;
151  bool is_lv2;
152  std::string ladspa_category;
153  bool active;
159 public:
160  int quirks_get();
161  void reset();
162  bool check_changed();
163  bool _i_check_has_settings();
164  void check_has_settings();
165  int set_active(bool v);
166  void fixup();
167  void set_add_wet_dry_controller(bool v);
168  void set_stereo_to_mono(bool v);
169  void copy_ports(PluginDesc *p);
170  void set_category(const std::vector<Glib::ustring>& s);
171  void set_default(int idx, float value, const Glib::ustring& label);
172  void set_state(const Glib::ustring& fname);
173 private:
174  PluginDesc(const LADSPA_Descriptor& desc, int tp_, std::vector<PortDesc*>& ctrl_ports_, const std::string path_, int index_);
175  PluginDesc(LilvWorld *world, const LilvPlugin* plugin, int tp_, std::vector<PortDesc*>& ctrl_ports_);
177  ~PluginDesc();
179  friend class LadspaPluginList;
180 public:
181  void set_old();
182  void clear_old() { delete old; old = 0; }
185 };
186 
187 /****************************************************************
188  ** class LadspaPluginList
189  */
190 
191 struct LV2Preset {
192  std::string sname;
193  std::vector<PortDesc*> ctrl_ports;
194  LilvPlugin* plugin;
195  unsigned int num_ports;
196  std::string cline;
198 };
199 
200 
201 class LadspaPluginList: private std::vector<PluginDesc*> {
202 private:
203  typedef std::map<std::string, PluginDesc*> pluginmap;
204  LilvWorld* world;
205  const LilvPlugins* lv2_plugins;
206  LilvNode* lv2_AudioPort;
207  LilvNode* lv2_ControlPort;
208  LilvNode* lv2_InputPort;
209  LilvNode* lv2_OutputPort;
211  LilvNode* lv2_AtomPort;
212 private:
213  bool feature_is_supported(const char* uri);
214  static void get_preset_values(const char* port_symbol, void* user_data, const void* value, uint32_t size, uint32_t type);
215  static void set_preset_values(Glib::ustring port_symbol, LV2Preset* pdata, Glib::ustring value);
216  static inline std::string make_key(unsigned long unique_id) { return "ladspa://" + gx_system::to_string(unique_id); }
217  static void add_plugin(const LADSPA_Descriptor& desc, pluginmap& d, const std::string& path, int index);
218  static void load_defs(const std::string& path, pluginmap& d);
219  static void set_instances(const char *uri, pluginmap& d, std::vector<Glib::ustring>& label,
220  std::vector<unsigned long>& not_found, std::set<unsigned long>& seen);
221  static void descend(const char *uri, pluginmap& d,
222  std::vector<unsigned long>& not_found, std::set<unsigned long>& seen,
223  std::vector<Glib::ustring>& base);
224  void add_plugin(const LilvPlugin* plugin, pluginmap& d, gx_system::CmdlineOptions& options);
225  void lv2_load(pluginmap& d, gx_system::CmdlineOptions& options);
226  void get_presets(LV2Preset *pdata);
227 public:
233  void load(gx_system::CmdlineOptions& options, std::vector<std::string>& old_not_found);
234  void save(gx_system::CmdlineOptions& options);
235  using std::vector<PluginDesc*>::begin;
236  using std::vector<PluginDesc*>::end;
237 };
238 
239 } // namespace ladspa
ladspa::LadspaPluginList::save
void save(gx_system::CmdlineOptions &options)
ladspa::PortDesc::has_settings
bool has_settings()
ladspa::ChangeableValues::name
Glib::ustring name
Definition: ladspaback.h:35
ladspa::ChangeableValues::low
float low
Definition: ladspaback.h:37
ladspa::PortDesc::SR
static const int SR
Definition: ladspaback.h:94
ladspa::PluginDesc::Name
Glib::ustring Name
Definition: ladspaback.h:140
ladspa::PortDesc::set_up
void set_up(float v)
ladspa::PortDesc::fixup
void fixup(bool newrow)
ladspa::ChangeableValues::serializeJSON
void serializeJSON(gx_system::JsonWriter &jw)
ladspa::PluginDesc::shortname
Glib::ustring shortname
Definition: ladspaback.h:141
ladspa::PluginDesc::deduced_category
Glib::ustring deduced_category
Definition: ladspaback.h:150
ladspa::PluginDesc::active_set
bool active_set
Definition: ladspaback.h:156
ladspa::PluginDesc::is_lv2
bool is_lv2
Definition: ladspaback.h:153
ladspa::PortDesc::enumkey_changed
bool enumkey_changed(int k)
Definition: ladspaback.h:124
ladspa::LadspaPluginList::~LadspaPluginList
~LadspaPluginList()
ladspa::tp_display_toggle
@ tp_display_toggle
Definition: ladspaback.h:30
ladspa::ChangeableValues::get_up
float get_up()
Definition: ladspaback.h:62
ladspa::stp_normal
@ stp_normal
Definition: ladspaback.h:74
ladspa::PortDesc::set_low
void set_low(float v)
ladspa::PluginDesc::serializeJSON
void serializeJSON(gx_system::JsonWriter &jw)
ladspa::ChangeableValues::set_dflt
void set_dflt(float v)
Definition: ladspaback.h:54
ladspa::PortDesc
Definition: ladspaback.h:78
ladspa::PortDesc::fake_low
bool fake_low
Definition: ladspaback.h:85
ladspa::PortDesc::check_changed
bool check_changed(const PortDesc &vp) const
ladspa::PortDesc::step
step_mode step
Definition: ladspaback.h:88
ladspa::ChangeableValues::has_settings
bool has_settings(DisplayType tp) const
ladspa::ChangeableValues::newrow_set
@ newrow_set
Definition: ladspaback.h:33
LADSPA_PortRangeHintDescriptor
int LADSPA_PortRangeHintDescriptor
Definition: ladspa.h:200
ladspa::PortDesc::serializeJSON
void serializeJSON(gx_system::JsonWriter &jw)
ladspa::ChangeableValues::dflt_set
@ dflt_set
Definition: ladspaback.h:33
ladspa::PortDesc::set_default
void set_default(float value, Glib::ustring label)
ladspa::PortDesc::factory
ChangeableValues factory
Definition: ladspaback.h:92
ladspa::PluginDesc::MasterLabel
Glib::ustring MasterLabel
Definition: ladspaback.h:144
ladspa::PluginDesc::copy_ports
void copy_ports(PluginDesc *p)
ladspa::tp_toggle
@ tp_toggle
Definition: ladspaback.h:30
ladspa::tp_none
@ tp_none
Definition: ladspaback.h:30
ladspa::LV2Preset
Definition: ladspaback.h:191
ladspa::PluginDesc::active
bool active
Definition: ladspaback.h:155
ladspa::LadspaPluginList::descend
static void descend(const char *uri, pluginmap &d, std::vector< unsigned long > &not_found, std::set< unsigned long > &seen, std::vector< Glib::ustring > &base)
ladspa::LadspaPluginList::lv2_AudioPort
LilvNode * lv2_AudioPort
Definition: ladspaback.h:206
ladspa::tp_int
@ tp_int
Definition: ladspaback.h:30
ladspa::LV2Preset::has_preset
bool has_preset
Definition: ladspaback.h:199
ladspa::ChangeableValues::set_newrow
void set_newrow(bool v)
Definition: ladspaback.h:58
ladspa::PortDesc::fake_dflt
bool fake_dflt
Definition: ladspaback.h:87
ladspa::ChangeableValues::up_set
@ up_set
Definition: ladspaback.h:33
ladspa::ChangeableValues::set_enumvalue
void set_enumvalue(int k, const Glib::ustring &v)
Definition: ladspaback.h:66
ladspa::PortDesc::output
void output(gx_system::JsonWriter &jw)
ladspa::PluginDesc::set_active
int set_active(bool v)
ladspa::LadspaPluginList::lv2_plugins
const LilvPlugins * lv2_plugins
Definition: ladspaback.h:205
ladspa::PortDesc::get_name
const Glib::ustring & get_name()
Definition: ladspaback.h:116
ladspa::PortDesc::user
ChangeableValues user
Definition: ladspaback.h:93
ladspa::ChangeableValues::set_low
void set_low(float v)
Definition: ladspaback.h:55
ladspa::PortDesc::use_sr
bool use_sr
Definition: ladspaback.h:89
ladspa::LadspaPluginList
Definition: ladspaback.h:201
ladspa::ChangeableValues::set_name
void set_name(const Glib::ustring &nm)
Definition: ladspaback.h:53
ladspa::PluginDesc::quirks_default
int quirks_default
Definition: ladspaback.h:152
ladspa::stp_fine
@ stp_fine
Definition: ladspaback.h:75
ladspa::PortDesc::get_low
float get_low()
Definition: ladspaback.h:112
ladspa::PluginDesc::PluginDesc
PluginDesc(const LADSPA_Descriptor &desc, int tp_, std::vector< PortDesc * > &ctrl_ports_, const std::string path_, int index_)
ladspa::ChangeableValues::set_flags
int set_flags
Definition: ladspaback.h:42
ladspa::PortDesc::has_sr
bool has_sr
Definition: ladspaback.h:90
ladspa::PortDesc::get_tp
DisplayType get_tp()
Definition: ladspaback.h:111
ladspa::ChangeableValues::sf
void sf(int f)
Definition: ladspaback.h:43
ladspa::PluginDesc
Definition: ladspaback.h:134
gx_system::to_string
std::string to_string(const T &t)
Definition: gx_system.h:554
ladspa::LadspaPluginList::feature_is_supported
bool feature_is_supported(const char *uri)
ladspa::PortDesc::is_output
bool is_output
Definition: ladspaback.h:83
ladspa::ChangeableValues::dflt
float dflt
Definition: ladspaback.h:36
ladspa::PortDesc::get_dflt
float get_dflt()
Definition: ladspaback.h:114
ladspa::PluginDesc::has_settings
bool has_settings
Definition: ladspaback.h:157
ladspa::PortDesc::reset
void reset()
ladspa::PortDesc::set_dflt
void set_dflt(float v)
ladspa::PluginDesc::tp
int tp
Definition: ladspaback.h:145
ladspa::PluginDesc::reset
void reset()
ladspa::PluginDesc::set_category
void set_category(const std::vector< Glib::ustring > &s)
ladspa::PluginDesc::add_wet_dry
int add_wet_dry
Definition: ladspaback.h:158
ladspa::PluginDesc::check_changed
bool check_changed()
ladspa::ChangeableValues::ChangeableValues
ChangeableValues()
Definition: ladspaback.h:46
ladspa::PluginDesc::set_state
void set_state(const Glib::ustring &fname)
ladspa::PluginDesc::category
Glib::ustring category
Definition: ladspaback.h:149
ladspa::PortDesc::set_range_default
void set_range_default(const LADSPA_PortRangeHint &h, ChangeableValues &store)
ladspa
Definition: ladspaback.h:21
ladspa::PortDesc::get_pos
int get_pos()
Definition: ladspaback.h:117
ladspa::PluginDesc::path
std::string path
Definition: ladspaback.h:147
ladspa::PortDesc::set_tp
void set_tp(DisplayType v)
ladspa::PortDesc::set_newrow
void set_newrow(bool v)
ladspa::PortDesc::fake_up
bool fake_up
Definition: ladspaback.h:86
ladspa::LadspaPluginList::lv2_connectionOptional
LilvNode * lv2_connectionOptional
Definition: ladspaback.h:210
gx_system::JsonWriter
Definition: gx_json.h:55
ladspa::PluginDesc::set_add_wet_dry_controller
void set_add_wet_dry_controller(bool v)
ladspa::LadspaPluginList::set_preset_values
static void set_preset_values(Glib::ustring port_symbol, LV2Preset *pdata, Glib::ustring value)
ladspa::ChangeableValues::operator!=
friend bool operator!=(const ChangeableValues &v1, const ChangeableValues &v2)
ladspa::ChangeableValues::get_low
float get_low()
Definition: ladspaback.h:61
ladspa::LadspaPluginList::pluginmap
std::map< std::string, PluginDesc * > pluginmap
Definition: ladspaback.h:203
ladspa::PortDesc::pos
int pos
Definition: ladspaback.h:82
ladspa::tp_scale
@ tp_scale
Definition: ladspaback.h:30
ladspa::PluginDesc::UniqueID
unsigned long UniqueID
Definition: ladspaback.h:138
ladspa::LadspaPluginList::make_key
static std::string make_key(unsigned long unique_id)
Definition: ladspaback.h:216
gx_system::JsonParser
Definition: gx_json.h:112
ladspa::ChangeableValues::enumdict
std::map< int, Glib::ustring > enumdict
Definition: ladspaback.h:40
ladspa::PluginDesc::~PluginDesc
~PluginDesc()
ladspa::ChangeableValues::get_excl_flags
int get_excl_flags(DisplayType tp) const
ladspa::LadspaPluginList::lv2_OutputPort
LilvNode * lv2_OutputPort
Definition: ladspaback.h:209
ladspa::PortDesc::set_default_value
void set_default_value(const LADSPA_PortRangeHint &h, ChangeableValues &store)
ladspa::LadspaPluginList::writeJSON
void writeJSON(gx_system::JsonWriter &jw)
ladspa::PortDesc::is_set
bool is_set(int f)
Definition: ladspaback.h:125
ladspa::LadspaPluginList::lv2_load
void lv2_load(pluginmap &d, gx_system::CmdlineOptions &options)
ladspa::LadspaPluginList::readJSON
void readJSON(gx_system::JsonParser &jp)
ladspa::PluginDesc::set_old
void set_old()
ladspa::LV2Preset::sname
std::string sname
Definition: ladspaback.h:194
ladspa::LV2Preset::ctrl_ports
std::vector< PortDesc * > ctrl_ports
Definition: ladspaback.h:195
ladspa::ChangeableValues::name_set
@ name_set
Definition: ladspaback.h:33
ladspa::ChangeableValues::get_dflt
float get_dflt()
Definition: ladspaback.h:60
ladspa::PluginDesc::set_stereo_to_mono
void set_stereo_to_mono(bool v)
ladspa::LadspaPluginList::pdata
LV2Preset pdata
Definition: ladspaback.h:230
ladspa::PluginDesc::output_entry
void output_entry(gx_system::JsonWriter &jw)
ladspa::ChangeableValues::tp
DisplayType tp
Definition: ladspaback.h:39
_LADSPA_PortRangeHint
Definition: ladspa.h:337
ladspa::ChangeableValues::get_tp
DisplayType get_tp()
Definition: ladspaback.h:63
ladspa::PluginDesc::Maker
Glib::ustring Maker
Definition: ladspaback.h:142
ladspa::ChangeableValues::find_enum
std::map< int, Glib::ustring >::iterator find_enum(int k)
Definition: ladspaback.h:67
ladspa::LadspaPluginList::lv2_ControlPort
LilvNode * lv2_ControlPort
Definition: ladspaback.h:207
ladspa::PluginDesc::ladspa_category
std::string ladspa_category
Definition: ladspaback.h:154
ladspa::DisplayType
DisplayType
Definition: ladspaback.h:27
ladspa::PluginDesc::quirks
int quirks
Definition: ladspaback.h:151
ladspa::PortDesc::PortDesc
PortDesc(int idx_, int pos_, bool is_output_, Glib::ustring name, const LADSPA_PortRangeHint &hint)
ladspa::LadspaPluginList::world
LilvWorld * world
Definition: ladspaback.h:204
ladspa::ChangeableValues::unset
void unset(int f)
Definition: ladspaback.h:52
ladspa::PluginDesc::index
int index
Definition: ladspaback.h:148
ladspa::PluginDesc::_i_check_has_settings
bool _i_check_has_settings()
ladspa::LV2Preset::cline
std::string cline
Definition: ladspaback.h:198
ladspa::ChangeableValues::set_up
void set_up(float v)
Definition: ladspaback.h:56
ladspa::PortDesc::has_caption
bool has_caption
Definition: ladspaback.h:91
ladspa::LadspaPluginList::load_defs
static void load_defs(const std::string &path, pluginmap &d)
gx_system::CmdlineOptions
Definition: gx_system.h:384
ladspa::LadspaPluginList::get_presets
void get_presets(LV2Preset *pdata)
ladspa::stp_coarse
@ stp_coarse
Definition: ladspaback.h:73
ladspa::PluginDesc::clear_old
void clear_old()
Definition: ladspaback.h:184
ladspa::tp_enum
@ tp_enum
Definition: ladspaback.h:30
ladspa::PluginDesc::stereo_to_mono
int stereo_to_mono
Definition: ladspaback.h:159
ladspa::PluginDesc::MasterIdx
int MasterIdx
Definition: ladspaback.h:143
ladspa::ChangeableValues::up
float up
Definition: ladspaback.h:38
ladspa::ChangeableValues
Definition: ladspaback.h:31
ladspa::tp_scale_log
@ tp_scale_log
Definition: ladspaback.h:30
ladspa::ChangeableValues::get_newrow
bool get_newrow()
Definition: ladspaback.h:64
ladspa::PluginDesc::ctrl_ports
std::vector< PortDesc * > ctrl_ports
Definition: ladspaback.h:146
ladspa::ChangeableValues::newrow
bool newrow
Definition: ladspaback.h:41
ladspa::LadspaPluginList::set_instances
static void set_instances(const char *uri, pluginmap &d, std::vector< Glib::ustring > &label, std::vector< unsigned long > &not_found, std::set< unsigned long > &seen)
ladspa::PortDesc::set_state
void set_state(gx_system::JsonParser &jp, int version)
ladspa::LadspaPluginList::get_preset_values
static void get_preset_values(const char *port_symbol, void *user_data, const void *value, uint32_t size, uint32_t type)
ladspa::LadspaPluginList::LadspaPluginList
LadspaPluginList()
ladspa::ChangeableValues::erase_enum
void erase_enum(int k)
Definition: ladspaback.h:68
ladspa::step_mode
step_mode
Definition: ladspaback.h:72
ladspa::PluginDesc::Label
Glib::ustring Label
Definition: ladspaback.h:139
ladspa::LV2Preset::num_ports
unsigned int num_ports
Definition: ladspaback.h:197
ladspa::ChangeableValues::set_tp
void set_tp(DisplayType v)
Definition: ladspaback.h:57
ladspa::PluginDesc::output
void output(gx_system::JsonWriter &jw)
ladspa::ChangeableValues::is_set
bool is_set(int f) const
Definition: ladspaback.h:51
ladspa::ChangeableValues::tp_set
@ tp_set
Definition: ladspaback.h:33
ladspa::PortDesc::hint_desc
LADSPA_PortRangeHintDescriptor hint_desc
Definition: ladspaback.h:84
ladspa::PortDesc::get_newrow
bool get_newrow()
Definition: ladspaback.h:115
ladspa::LadspaPluginList::lv2_InputPort
LilvNode * lv2_InputPort
Definition: ladspaback.h:208
ladspa::PortDesc::set_tp_default
void set_tp_default(const LADSPA_PortRangeHint &h, ChangeableValues &store)
ladspa::PortDesc::cmp_ctrl_ports
friend bool cmp_ctrl_ports(const PortDesc *a, const PortDesc *b)
ladspa::PluginDesc::check_has_settings
void check_has_settings()
ladspa::ChangeableValues::get_name
const Glib::ustring & get_name()
Definition: ladspaback.h:59
ladspa::LadspaPluginList::lv2_AtomPort
LilvNode * lv2_AtomPort
Definition: ladspaback.h:211
_LADSPA_Descriptor
Definition: ladspa.h:373
ladspa::tp_atom
@ tp_atom
Definition: ladspaback.h:30
ladspa::ChangeableValues::enum_end
std::map< int, Glib::ustring >::iterator enum_end()
Definition: ladspaback.h:69
ladspa::LadspaPluginList::load
void load(gx_system::CmdlineOptions &options, std::vector< std::string > &old_not_found)
ladspa::PluginDesc::set_default
void set_default(int idx, float value, const Glib::ustring &label)
ladspa::PluginDesc::fixup
void fixup()
ladspa.h
ladspa::PortDesc::calc_step
float calc_step()
ladspa::ChangeableValues::low_set
@ low_set
Definition: ladspaback.h:33
ladspa::PluginDesc::quirks_get
int quirks_get()
ladspa::PortDesc::idx
int idx
Definition: ladspaback.h:81
ladspa::PortDesc::get_enum
Glib::ustring get_enum(int idx)
ladspa::ChangeableValues::has_enumkey
bool has_enumkey(int k)
Definition: ladspaback.h:65
ladspa::tp_display
@ tp_display
Definition: ladspaback.h:30
ladspa::LadspaPluginList::add_plugin
static void add_plugin(const LADSPA_Descriptor &desc, pluginmap &d, const std::string &path, int index)
ladspa::tp_enabled
@ tp_enabled
Definition: ladspaback.h:30
ladspa::PluginDesc::old
PluginDesc * old
Definition: ladspaback.h:160
ladspa::LV2Preset::plugin
LilvPlugin * plugin
Definition: ladspaback.h:196
ladspa::PortDesc::get_up
float get_up()
Definition: ladspaback.h:113