-#include <lilv/lilv.h>
-#include <lv2/lv2plug.in/ns/ext/atom/atom.h>
-#include <lv2/lv2plug.in/ns/ext/buf-size/buf-size.h>
-
-class PluginLV2UriTable : public ArrayList<const char *>
-{
-public:
- PluginLV2UriTable();
- ~PluginLV2UriTable();
- LV2_URID map(const char *uri);
- const char *unmap(LV2_URID urid);
-};
-
-class PluginLV2Client_OptName : public BC_ListBoxItem
-{
-public:
- PluginLV2Client_Opt *opt;
- PluginLV2Client_OptName(PluginLV2Client_Opt *opt);
-};
-
-class PluginLV2Client_OptValue : public BC_ListBoxItem
-{
-public:
- PluginLV2Client_Opt *opt;
- PluginLV2Client_OptValue(PluginLV2Client_Opt *opt);
- int update();
-};
-
-class PluginLV2Client_Opt
-{
-public:
- int idx;
- const char *sym;
- PluginLV2ClientConfig *conf;
- PluginLV2Client_OptName *item_name;
- PluginLV2Client_OptValue *item_value;
- float get_value();
- void set_value(float v);
- int update(float v);
- const char *get_name();
-
- PluginLV2Client_Opt(PluginLV2ClientConfig *conf, const char *sym, int idx);
- ~PluginLV2Client_Opt();
-};
-
-
-class PluginLV2ClientConfig : public ArrayList<PluginLV2Client_Opt *>
-{
-public:
- PluginLV2ClientConfig();
- ~PluginLV2ClientConfig();
-
- int equivalent(PluginLV2ClientConfig &that);
- void copy_from(PluginLV2ClientConfig &that);
- void interpolate(PluginLV2ClientConfig &prev, PluginLV2ClientConfig &next,
- int64_t prev_frame, int64_t next_frame, int64_t current_frame);
- void reset();
- void init_lv2(const LilvPlugin *lilv);
- int update();
-
- int nb_ports;
- const char **names;
- float *mins, *maxs, *ctls;
-};
-
-class PluginLV2Client_OptPanel : public BC_ListBox