summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/lv2_plugin.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/ardour/lv2_plugin.h')
-rw-r--r--libs/ardour/ardour/lv2_plugin.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/libs/ardour/ardour/lv2_plugin.h b/libs/ardour/ardour/lv2_plugin.h
index f235a0b4c2..7daf4ed2b1 100644
--- a/libs/ardour/ardour/lv2_plugin.h
+++ b/libs/ardour/ardour/lv2_plugin.h
@@ -33,6 +33,7 @@
#include <jack/types.h>
#include <slv2/slv2.h>
#include "ardour/plugin.h"
+#include "ardour/uri_map.h"
namespace ARDOUR {
class AudioEngine;
@@ -95,9 +96,12 @@ class LV2Plugin : public ARDOUR::Plugin
void set_block_size (nframes_t nframes) {}
- int connect_and_run (BufferSet& bufs, uint32_t& in, uint32_t& out, nframes_t nframes, nframes_t offset);
+ int connect_and_run (BufferSet& bufs,
+ ChanMapping in, ChanMapping out,
+ nframes_t nframes, nframes_t offset);
+
std::string describe_parameter (Evoral::Parameter);
- std::string state_node_name() const { return "LV2"; }
+ std::string state_node_name() const { return "lv2"; }
void print_parameter (uint32_t, char*, uint32_t len) const;
bool parameter_is_audio(uint32_t) const;
@@ -107,6 +111,8 @@ class LV2Plugin : public ARDOUR::Plugin
bool parameter_is_output(uint32_t) const;
bool parameter_is_toggled(uint32_t) const;
+ static uint32_t midi_event_type() { return _midi_event_type; }
+
XMLNode& get_state();
int set_state(const XMLNode& node);
bool save_preset(std::string uri);
@@ -138,6 +144,9 @@ class LV2Plugin : public ARDOUR::Plugin
LV2_Feature _data_access_feature;
LV2_Feature _instance_access_feature;
+ static URIMap _uri_map;
+ static uint32_t _midi_event_type;
+
void init (LV2World& world, SLV2Plugin plugin, nframes_t rate);
void run (nframes_t nsamples);
void latency_compute_run ();