diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2007-12-18 20:54:46 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2007-12-18 20:54:46 +0000 |
commit | 6bcec5f82091c860e1625bdc68b0ee4075e84046 (patch) | |
tree | a524880bd2324e79c4858126a503977f3ff406ba /libs/ardour/ardour/audio_unit.h | |
parent | 5119d48267be90aa4af3daa91f8bb72e6ab57c2c (diff) |
new LocateRollLocate event, used to implement play-at-edit-point-and-return; other fixes from the OS X world
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2792 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/audio_unit.h')
-rw-r--r-- | libs/ardour/ardour/audio_unit.h | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/libs/ardour/ardour/audio_unit.h b/libs/ardour/ardour/audio_unit.h index 7f51d39738..68498f9074 100644 --- a/libs/ardour/ardour/audio_unit.h +++ b/libs/ardour/ardour/audio_unit.h @@ -22,6 +22,7 @@ #define __ardour_audio_unit_h__ #include <stdint.h> +#include <boost/shared_ptr.hpp> #include <list> #include <set> @@ -47,7 +48,7 @@ class Session; class AUPlugin : public ARDOUR::Plugin { public: - AUPlugin (AudioEngine& engine, Session& session, CAComponent* comp); + AUPlugin (AudioEngine& engine, Session& session, boost::shared_ptr<CAComponent> comp); virtual ~AUPlugin (); std::string unique_id () const; @@ -92,20 +93,21 @@ class AUPlugin : public ARDOUR::Plugin uint32_t output_streams() const; uint32_t input_streams() const; - CAAudioUnit* get_au () { return unit; } - CAComponent* get_comp () { return comp; } + boost::shared_ptr<CAAudioUnit> get_au () { return unit; } + boost::shared_ptr<CAComponent> get_comp () { return comp; } - OSStatus render_callback(AudioUnitRenderActionFlags *ioActionFlags, - const AudioTimeStamp *inTimeStamp, - UInt32 inBusNumber, - UInt32 inNumberFrames, - AudioBufferList* ioData); + OSStatus render_callback(AudioUnitRenderActionFlags *ioActionFlags, + const AudioTimeStamp *inTimeStamp, + UInt32 inBusNumber, + UInt32 inNumberFrames, + AudioBufferList* ioData); private: - CAComponent* comp; - CAAudioUnit* unit; + boost::shared_ptr<CAComponent> comp; + boost::shared_ptr<CAAudioUnit> unit; AudioStreamBasicDescription streamFormat; bool initialized; + int format_set; AudioBufferList* buffers; UInt32 global_elements; @@ -129,7 +131,7 @@ typedef boost::shared_ptr<AUPlugin> AUPluginPtr; class AUPluginInfo : public PluginInfo { public: - AUPluginInfo (CAComponentDescription*); + AUPluginInfo (boost::shared_ptr<CAComponentDescription>); ~AUPluginInfo (); PluginPtr load (Session& session); @@ -139,7 +141,8 @@ class AUPluginInfo : public PluginInfo { static std::string stringify_descriptor (const CAComponentDescription&); private: - CAComponentDescription* descriptor; + boost::shared_ptr<CAComponentDescription> descriptor; + static void discover_music (PluginInfoList&); static void discover_fx (PluginInfoList&); static void discover_by_description (PluginInfoList&, CAComponentDescription&); |