diff options
author | Carl Hetherington <carl@carlh.net> | 2007-05-11 12:53:43 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2007-05-11 12:53:43 +0000 |
commit | 9b411705f26466b9cda218c84f4aa9e4786a14f0 (patch) | |
tree | 753f2b43182c5e8d9df0855c6fe5aeb00057aaba /libs | |
parent | da285fc57dfda8c33ca0da967bcc40cd1e608ca4 (diff) |
Fix compilation with VST=1
git-svn-id: svn://localhost/ardour2/trunk@1834 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/ardour/vst_plugin.h | 2 | ||||
-rw-r--r-- | libs/ardour/vst_plugin.cc | 21 |
2 files changed, 19 insertions, 4 deletions
diff --git a/libs/ardour/ardour/vst_plugin.h b/libs/ardour/ardour/vst_plugin.h index f7ec486d36..ffcb999183 100644 --- a/libs/ardour/ardour/vst_plugin.h +++ b/libs/ardour/ardour/vst_plugin.h @@ -71,7 +71,7 @@ class VSTPlugin : public ARDOUR::Plugin void activate (); void deactivate (); void set_block_size (nframes_t nframes); - int connect_and_run (vector<Sample*>& bufs, uint32_t maxbuf, int32_t& in, int32_t& out, nframes_t nframes, nframes_t offset); + int connect_and_run (BufferSet&, uint32_t& in, uint32_t& out, nframes_t nframes, nframes_t offset); void store_state (ARDOUR::PluginState&); void restore_state (ARDOUR::PluginState&); string describe_parameter (uint32_t); diff --git a/libs/ardour/vst_plugin.cc b/libs/ardour/vst_plugin.cc index 9ec6994e3c..7c161cccf7 100644 --- a/libs/ardour/vst_plugin.cc +++ b/libs/ardour/vst_plugin.cc @@ -44,6 +44,7 @@ #include <ardour/session.h> #include <ardour/audioengine.h> #include <ardour/vst_plugin.h> +#include <ardour/buffer_set.h> #include <pbd/stl_delete.h> @@ -365,19 +366,21 @@ VSTPlugin::automatable () const } int -VSTPlugin::connect_and_run (vector<Sample*>& bufs, uint32_t maxbuf, int32_t& in_index, int32_t& out_index, nframes_t nframes, nframes_t offset) +VSTPlugin::connect_and_run (BufferSet& bufs, uint32_t& in_index, uint32_t& out_index, nframes_t nframes, nframes_t offset) { float *ins[_plugin->numInputs]; float *outs[_plugin->numOutputs]; int32_t i; + const uint32_t nbufs = bufs.count().n_audio(); + for (i = 0; i < (int32_t) _plugin->numInputs; ++i) { - ins[i] = bufs[min((uint32_t) in_index,maxbuf - 1)] + offset; + ins[i] = bufs.get_audio(min((uint32_t) in_index, nbufs - 1)).data() + offset; in_index++; } for (i = 0; i < (int32_t) _plugin->numOutputs; ++i) { - outs[i] = bufs[min((uint32_t) out_index,maxbuf - 1)] + offset; + outs[i] = bufs.get_audio(min((uint32_t) out_index, nbufs - 1)).data() + offset; /* unbelievably, several VST plugins still rely on Cubase behaviour and do not silence the buffer in processReplacing @@ -498,3 +501,15 @@ VSTPluginInfo::load (Session& session) return PluginPtr ((Plugin*) 0); } } + +void +VSTPlugin::store_state (ARDOUR::PluginState& s) +{ + +} + +void +VSTPlugin::restore_state (ARDOUR::PluginState& s) +{ + +} |