summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/plugin.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-04-15 17:57:40 +0200
committerRobin Gareus <robin@gareus.org>2016-04-15 17:57:40 +0200
commit424cacfbc83516d9e935bd93135e58b34dcfc002 (patch)
treec106cbc68fbb6e26b07e8c8e8608385b60f19cce /libs/ardour/ardour/plugin.h
parent6f4ccfcd3b8ea971170b339fa93d501680cf44b3 (diff)
variable plugin port config.
* extend plugin API (query IO ports) * collect possible variable plugin configurations (AU, Lua) * prepare semi-automatic configuration (presets: mono, stereo, N)
Diffstat (limited to 'libs/ardour/ardour/plugin.h')
-rw-r--r--libs/ardour/ardour/plugin.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/libs/ardour/ardour/plugin.h b/libs/ardour/ardour/plugin.h
index ec749281af..d284c2620d 100644
--- a/libs/ardour/ardour/plugin.h
+++ b/libs/ardour/ardour/plugin.h
@@ -22,6 +22,7 @@
#include <boost/shared_ptr.hpp>
#include <string>
+#include <set>
#include "pbd/statefuldestructible.h"
#include "pbd/controllable.h"
@@ -54,6 +55,7 @@ class AutomationControl;
typedef boost::shared_ptr<Plugin> PluginPtr;
typedef boost::shared_ptr<PluginInfo> PluginInfoPtr;
typedef std::list<PluginInfoPtr> PluginInfoList;
+typedef std::set<uint32_t> PluginOutputConfiguration;
/** A plugin is an external module (usually 3rd party provided) loaded into Ardour
* for the purpose of digital signal processing.
@@ -124,7 +126,8 @@ class LIBARDOUR_API Plugin : public PBD::StatefulDestructible, public Latent
bool is_sidechain;
};
- virtual IOPortDescription describe_io_port (DataType dt, bool input, uint32_t id);
+ virtual IOPortDescription describe_io_port (DataType dt, bool input, uint32_t id) const;
+ virtual PluginOutputConfiguration possible_output () const;
virtual void set_automation_control (uint32_t /*port_index*/, boost::shared_ptr<ARDOUR::AutomationControl>) { }