summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/audio_unit.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-12-18 20:54:46 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-12-18 20:54:46 +0000
commit6bcec5f82091c860e1625bdc68b0ee4075e84046 (patch)
treea524880bd2324e79c4858126a503977f3ff406ba /libs/ardour/ardour/audio_unit.h
parent5119d48267be90aa4af3daa91f8bb72e6ab57c2c (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.h27
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&);