diff options
author | David Robillard <d@drobilla.net> | 2011-05-14 21:05:26 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2011-05-14 21:05:26 +0000 |
commit | 4e49c56361ef06d75696e4eac77ba59c1ed1aa3f (patch) | |
tree | b5c9b17de40d022a57c6b63dfaade7fb5b695782 /libs/ardour/ardour | |
parent | ac367e89043e0a7f0db6ca44edf5edaab27e8091 (diff) |
Completely localist use of SLV2 to lv2_plugin.cc and lv2_plugin_ui.cc.
git-svn-id: svn://localhost/ardour2/branches/3.0@9514 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r-- | libs/ardour/ardour/lv2_plugin.h | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/libs/ardour/ardour/lv2_plugin.h b/libs/ardour/ardour/lv2_plugin.h index bd947a5e9a..7f978b81b1 100644 --- a/libs/ardour/ardour/lv2_plugin.h +++ b/libs/ardour/ardour/lv2_plugin.h @@ -30,7 +30,6 @@ #include "pbd/stateful.h" #include <jack/types.h> -#include <slv2/slv2.h> #include "ardour/plugin.h" #include "ardour/uri_map.h" @@ -45,16 +44,18 @@ class LV2Plugin : public ARDOUR::Plugin public: LV2Plugin (ARDOUR::AudioEngine& engine, ARDOUR::Session& session, - SLV2Plugin plugin, + void* c_plugin, framecnt_t sample_rate); LV2Plugin (const LV2Plugin &); ~LV2Plugin (); std::string unique_id () const; + const char* uri () const; const char* label () const; const char* name () const; const char* maker () const; + uint32_t num_ports () const; uint32_t parameter_count () const; float default_value (uint32_t port); framecnt_t signal_latency () const; @@ -63,13 +64,10 @@ class LV2Plugin : public ARDOUR::Plugin int get_parameter_descriptor (uint32_t which, ParameterDescriptor&) const; uint32_t nth_parameter (uint32_t port, bool& ok) const; - const void* extension_data (const char* uri) { - return _instance->lv2_descriptor->extension_data (uri); - } + const void* extension_data (const char* uri); - SLV2Plugin slv2_plugin () { return _plugin; } - SLV2UI slv2_ui () { return _ui; } - SLV2Value ui_type () { return _ui_type; } + void* c_plugin(); + void* c_ui(); bool is_external_ui () const; @@ -119,14 +117,10 @@ class LV2Plugin : public ARDOUR::Plugin bool has_editor () const; private: + struct Impl; + Impl* _impl; void* _module; LV2_Feature** _features; - SLV2Plugin _plugin; - SLV2UI _ui; - SLV2Value _ui_type; - SLV2Value _name; - SLV2Value _author; - SLV2Instance _instance; framecnt_t _sample_rate; float* _control_data; float* _shadow_data; @@ -172,7 +166,7 @@ class LV2Plugin : public ARDOUR::Plugin static char* lv2_files_new_file_path (void* host_data, const char* relative_path); - void init (SLV2Plugin plugin, framecnt_t rate); + void init (void* c_plugin, framecnt_t rate); void run (pframes_t nsamples); void latency_compute_run (); @@ -185,14 +179,14 @@ class LV2Plugin : public ARDOUR::Plugin class LV2PluginInfo : public PluginInfo { public: - LV2PluginInfo (void* slv2_plugin); + LV2PluginInfo (void* c_plugin); ~LV2PluginInfo (); static PluginInfoList* discover (); PluginPtr load (Session& session); - void* _slv2_plugin; + void* _c_plugin; }; typedef boost::shared_ptr<LV2PluginInfo> LV2PluginInfoPtr; |