fix shf-f1/f2 toggle timeline update
[goodguy/history.git] / cinelerra-5.1 / cinelerra / pluginlv2config.h
index c1ed9b92460bb318d79aec26f58e074410a32278..5f4f41d6d09284d265a3fc1f508fc5b1feb4a54a 100644 (file)
 #include "guicast.h"
 #include "mutex.h"
 #include "pluginaclient.h"
+#include "pluginlv2.inc"
 #include "pluginlv2config.inc"
 #include "samples.inc"
 
 #ifdef HAVE_LV2
 #include <lilv/lilv.h>
-
-#ifdef HAVE_LV2UI
 #include <suil/suil.h>
 
 #define NS_UI "http://lv2plug.in/ns/extensions/ui#"
 #include <lv2/lv2plug.in/ns/extensions/ui/ui.h>
-#endif
-
 #include <lv2/lv2plug.in/ns/ext/atom/atom.h>
 #include <lv2/lv2plug.in/ns/ext/urid/urid.h>
 #include <lv2/lv2plug.in/ns/ext/state/state.h>
 #include <lv2/lv2plug.in/ns/ext/worker/worker.h>
 #include <lv2/lv2plug.in/ns/ext/log/log.h>
 #include <lv2/lv2plug.in/ns/ext/options/options.h>
+#include <lv2/lv2plug.in/ns/ext/parameters/parameters.h>
 #include <lv2/lv2plug.in/ns/ext/buf-size/buf-size.h>
 #include <lv2/lv2plug.in/ns/ext/uri-map/uri-map.h>
 #include <lv2/lv2plug.in/ns/ext/data-access/data-access.h>
@@ -67,14 +65,14 @@ public:
        operator LV2_Feature **() { return (LV2_Feature **)&values[0]; }
 };
 
-class PluginLV2UriTable : public ArrayList<const char *>
+class PluginLV2UriTable : public ArrayList<const char *>, public Mutex
 {
-       Mutex uri_table_lock;
 public:
        PluginLV2UriTable();
        ~PluginLV2UriTable();
        LV2_URID map(const char *uri);
        const char *unmap(LV2_URID urid);
+       operator LV2_URID_Map_Handle() { return (LV2_URID_Map_Handle)this; }
 };
 
 #endif
@@ -124,11 +122,11 @@ public:
        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);
+       void init_lv2(const LilvPlugin *lilv, PluginLV2 *lv2);
        int update();
        void dump(FILE *fp);
 
-       int nb_ports;
+       int nb_ports, *ports;
        const char **names, **syms;
        float *mins, *maxs, *ctls;
 };