diff options
-rw-r--r-- | libs/ardour/ardour/plugin.h | 16 | ||||
-rw-r--r-- | libs/ardour/plugin.cc | 27 |
2 files changed, 43 insertions, 0 deletions
diff --git a/libs/ardour/ardour/plugin.h b/libs/ardour/ardour/plugin.h index 65cb1f6c36..e219ec5bdd 100644 --- a/libs/ardour/ardour/plugin.h +++ b/libs/ardour/ardour/plugin.h @@ -102,6 +102,22 @@ class LIBARDOUR_API Plugin : public PBD::StatefulDestructible, public Latent virtual bool parameter_is_input(uint32_t) const = 0; virtual bool parameter_is_output(uint32_t) const = 0; + struct LIBARDOUR_API IOPortDescription { + public: + IOPortDescription (const std::string& n) + : name (n) + , is_sidechain (false) + {} + IOPortDescription (const IOPortDescription &other) + : name (other.name) + , is_sidechain (other.is_sidechain) + {} + std::string name; + bool is_sidechain; + }; + + virtual IOPortDescription describe_io_port (DataType dt, bool input, uint32_t id); + virtual void set_automation_control (uint32_t /*port_index*/, boost::shared_ptr<ARDOUR::AutomationControl>) { } virtual boost::shared_ptr<ScalePoints> get_scale_points(uint32_t /*port_index*/) const { diff --git a/libs/ardour/plugin.cc b/libs/ardour/plugin.cc index 4bb5b02c77..61141301cb 100644 --- a/libs/ardour/plugin.cc +++ b/libs/ardour/plugin.cc @@ -257,6 +257,33 @@ Plugin::input_streams () const return ChanCount::ZERO; } +Plugin::IOPortDescription +Plugin::describe_io_port (ARDOUR::DataType dt, bool input, uint32_t id) +{ + std::stringstream ss; + switch (dt) { + case DataType::AUDIO: + ss << _("Audio") << " "; + break; + case DataType::MIDI: + ss << _("Midi") << " "; + break; + default: + ss << _("?") << " "; + break; + } + if (input) { + ss << _("In") << " "; + } else { + ss << _("Out") << " "; + } + + ss << id; + + Plugin::IOPortDescription iod (ss.str()); + return iod; +} + const Plugin::PresetRecord * Plugin::preset_by_label (const string& label) { |