summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/audio_unit.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-05-13 18:54:21 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-05-13 18:54:21 +0000
commit49f73b561b4117131e2d2da001d9dd133846ef62 (patch)
treefee231c7b72c7c2a8a2637140c118115961862d4 /libs/ardour/ardour/audio_unit.h
parent65ddc52f4975179054902b3df8ea2b8b043d1513 (diff)
initial code for AU I/O config discovery (i hate you apple!)
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3346 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/audio_unit.h')
-rw-r--r--libs/ardour/ardour/audio_unit.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/libs/ardour/ardour/audio_unit.h b/libs/ardour/ardour/audio_unit.h
index e5f6053c5b..98bda912f7 100644
--- a/libs/ardour/ardour/audio_unit.h
+++ b/libs/ardour/ardour/audio_unit.h
@@ -145,6 +145,10 @@ class AUPlugin : public ARDOUR::Plugin
typedef boost::shared_ptr<AUPlugin> AUPluginPtr;
+struct AUPluginCachedInfo {
+ std::vector<std::pair<int,int> > io_configs;
+};
+
class AUPluginInfo : public PluginInfo {
public:
AUPluginInfo (boost::shared_ptr<CAComponentDescription>);
@@ -162,6 +166,13 @@ class AUPluginInfo : public PluginInfo {
static void discover_music (PluginInfoList&);
static void discover_fx (PluginInfoList&);
static void discover_by_description (PluginInfoList&, CAComponentDescription&);
+
+ static std::map<std::string,AUPluginCachedInfo> cached_info;
+
+ static bool cached_io_configuration (std::string, CAComponentDescription&, AUPluginCachedInfo&);
+ static void add_cached_info (AUPluginCachedInfo&);
+ static void save_cached_info ();
+ static int load_cached_info ();
};
typedef boost::shared_ptr<AUPluginInfo> AUPluginInfoPtr;