diff options
author | Robin Gareus <robin@gareus.org> | 2016-04-15 17:57:40 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-04-15 17:57:40 +0200 |
commit | 424cacfbc83516d9e935bd93135e58b34dcfc002 (patch) | |
tree | c106cbc68fbb6e26b07e8c8e8608385b60f19cce /libs/ardour/ardour/plugin.h | |
parent | 6f4ccfcd3b8ea971170b339fa93d501680cf44b3 (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.h | 5 |
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>) { } |