diff options
author | David Robillard <d@drobilla.net> | 2008-02-16 22:55:47 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-02-16 22:55:47 +0000 |
commit | 859e9106e72a7908fa093d946111d148223225a0 (patch) | |
tree | ec47825b5f5746bcbc5d321d40da7fc798f5c380 /libs/ardour/ardour/audio_unit.h | |
parent | 8aa9508c82f32efcf9c7c00e2c9e76268d4dddce (diff) |
Merge with 2.0-ongoing R3071.
git-svn-id: svn://localhost/ardour2/branches/3.0@3074 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/audio_unit.h')
-rw-r--r-- | libs/ardour/ardour/audio_unit.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/libs/ardour/ardour/audio_unit.h b/libs/ardour/ardour/audio_unit.h index c781e8200d..bdeac0477b 100644 --- a/libs/ardour/ardour/audio_unit.h +++ b/libs/ardour/ardour/audio_unit.h @@ -32,6 +32,7 @@ #include <ardour/plugin.h> #include <AudioUnit/AudioUnit.h> +#include <appleutility/AUParamInfo.h> #include <boost/shared_ptr.hpp> @@ -45,6 +46,16 @@ namespace ARDOUR { class AudioEngine; class Session; +struct AUParameterDescriptor : public Plugin::ParameterDescriptor { + // additional fields to make operations more efficient + AudioUnitParameterID id; + AudioUnitScope scope; + AudioUnitElement element; + float default_value; + bool automatable; + AudioUnitParameterUnit unit; +}; + class AUPlugin : public ARDOUR::Plugin { public: @@ -105,7 +116,7 @@ class AUPlugin : public ARDOUR::Plugin private: boost::shared_ptr<CAComponent> comp; boost::shared_ptr<CAAudioUnit> unit; - + AudioStreamBasicDescription streamFormat; bool initialized; int format_set; @@ -119,6 +130,7 @@ class AUPlugin : public ARDOUR::Plugin int set_input_format (); int set_stream_format (int scope, uint32_t cnt); int _set_block_size (nframes_t nframes); + void discover_parameters (); std::vector<std::pair<uint32_t, uint32_t> > parameter_map; uint32_t current_maxbuf; @@ -126,6 +138,8 @@ class AUPlugin : public ARDOUR::Plugin nframes_t cb_offset; vector<Sample*>* current_buffers; nframes_t frames_processed; + + std::vector<AUParameterDescriptor> descriptors; }; typedef boost::shared_ptr<AUPlugin> AUPluginPtr; |