diff options
author | Carl Hetherington <carl@carlh.net> | 2011-11-22 15:14:41 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2011-11-22 15:14:41 +0000 |
commit | d1226a8628f11d32251666d5fb9d9dabbc44446c (patch) | |
tree | 511f336fb8113e35ec9bb4642db5e674f94195ae /libs/ardour/ardour/lxvst_plugin.h | |
parent | 84f2049023df4279b3f0644abb59a938a2bf8c4e (diff) |
Push most of LXVSTPlugin and WindowsVSTPlugin up to VSTPlugin parent.
git-svn-id: svn://localhost/ardour2/branches/3.0@10773 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/lxvst_plugin.h')
-rwxr-xr-x | libs/ardour/ardour/lxvst_plugin.h | 80 |
1 files changed, 5 insertions, 75 deletions
diff --git a/libs/ardour/ardour/lxvst_plugin.h b/libs/ardour/ardour/lxvst_plugin.h index c22ba07f17..58bc626d32 100755 --- a/libs/ardour/ardour/lxvst_plugin.h +++ b/libs/ardour/ardour/lxvst_plugin.h @@ -20,92 +20,24 @@ #ifndef __ardour_lxvst_plugin_h__ #define __ardour_lxvst_plugin_h__ -#include <list> -#include <map> -#include <set> -#include <vector> -#include <string> -#include <dlfcn.h> - -#include "pbd/stateful.h" -#include "ardour/plugin.h" +#include "ardour/vst_plugin.h" struct _VSTHandle; -struct _VSTState; typedef struct _VSTHandle VSTHandle; -typedef struct _VSTState VSTState; -struct _AEffect; -typedef struct _AEffect AEffect; namespace ARDOUR { + class AudioEngine; class Session; -class LXVSTPlugin : public ARDOUR::Plugin +class LXVSTPlugin : public VSTPlugin { public: - LXVSTPlugin (ARDOUR::AudioEngine&, ARDOUR::Session&, VSTHandle *); + LXVSTPlugin (AudioEngine &, Session &, VSTHandle *); LXVSTPlugin (const LXVSTPlugin &); ~LXVSTPlugin (); - /* Plugin interface */ - - std::string unique_id() const; - const char * label() const; - const char * name() const; - const char * maker() const; - uint32_t parameter_count() const; - float default_value (uint32_t port); - framecnt_t signal_latency() const; - void set_parameter (uint32_t port, float val); - float get_parameter (uint32_t port) const; - int get_parameter_descriptor (uint32_t which, ParameterDescriptor&) const; - std::set<Evoral::Parameter> automatable() const; - uint32_t nth_parameter (uint32_t port, bool& ok) const; - void activate (); - void deactivate (); - int set_block_size (pframes_t); - - int connect_and_run (BufferSet&, - ChanMapping in, ChanMapping out, - pframes_t nframes, framecnt_t offset); - - std::string describe_parameter (Evoral::Parameter); - std::string state_node_name() const { return "lxvst"; } - void print_parameter (uint32_t, char*, uint32_t len) const; - - bool parameter_is_audio(uint32_t) const { return false; } - bool parameter_is_control(uint32_t) const { return true; } - bool parameter_is_input(uint32_t) const { return true; } - bool parameter_is_output(uint32_t) const { return false; } - - bool load_preset (PresetRecord); - int first_user_preset_index () const; - - bool has_editor () const; - - int set_state (XMLNode const &, int); - - AEffect * plugin () const { return _plugin; } - VSTState * vstfx () const { return _vstfx; } - -private: - - void do_remove_preset (std::string name); - std::string do_save_preset (std::string name); - gchar* get_chunk (bool) const; - int set_chunk (gchar const *, bool); - XMLTree * presets_tree () const; - std::string presets_file () const; - void find_presets (); - bool load_user_preset (PresetRecord); - bool load_plugin_preset (PresetRecord); - void add_state (XMLNode *) const; - - VSTHandle * handle; - VSTState * _vstfx; - AEffect * _plugin; - bool been_resumed; + std::string state_node_name () const { return "lxvst"; } }; class LXVSTPluginInfo : public PluginInfo @@ -117,8 +49,6 @@ class LXVSTPluginInfo : public PluginInfo PluginPtr load (Session& session); }; -typedef boost::shared_ptr<LXVSTPluginInfo> LXVSTPluginInfoPtr; - } // namespace ARDOUR #endif /* __ardour_lxvst_plugin_h__ */ |