19 #ifndef _libardour_io_plug_h_
20 #define _libardour_io_plug_h_
43 class ReadOnlyControl;
48 IOPlug (
Session&, std::shared_ptr<Plugin> = std::shared_ptr<Plugin>(),
bool pre =
true);
63 bool is_pre ()
const {
return _pre; }
65 std::shared_ptr<IO>
input ()
const {
return _input; }
66 std::shared_ptr<IO>
output ()
const {
return _output; }
81 std::shared_ptr<Plugin>
plugin (uint32_t num = 0)
const {
return _plugin; }
130 typedef std::map<uint32_t, std::shared_ptr<ReadOnlyControl> >
CtrlOutMap;
virtual bool get_stats(PBD::microseconds_t &, PBD::microseconds_t &, double &, double &) const
uint32_t get_count() const
bool can_reset_all_parameters()
int set_state(const XMLNode &, int version)
void connect_and_run(samplepos_t, pframes_t)
PBD::TimingStats _timing_stats
bool write_immediate_event(Evoral::EventType event_type, size_t size, const uint8_t *buf)
ChanMapping input_map(uint32_t num) const
XMLNode & get_state(void) const
std::atomic< int > _reset_meters
std::shared_ptr< Plugin > plugin(uint32_t num=0) const
samplecnt_t signal_latency() const
bool reset_parameters_to_default()
uint32_t _plugin_signal_latency
void set_window_proxy(Gtkmm2ext::WindowProxy *wp)
std::shared_ptr< IO > input() const
ChanMapping output_map(uint32_t num) const
std::shared_ptr< IO > _output
void reset_input_meters()
bool load_preset(Plugin::PresetRecord)
int set_block_size(pframes_t)
std::shared_ptr< Evoral::Control > control_factory(const Evoral::Parameter &id)
PortManager::MIDIInputPorts midi_input_ports() const
PortManager::MIDIInputPorts _midi_input_ports
Gtkmm2ext::WindowProxy * window_proxy() const
Gtkmm2ext::WindowProxy * _window_proxy
UIElements ui_elements() const
virtual void clear_stats()
void parameter_changed_externally(uint32_t, float)
std::string graph_node_name() const
std::shared_ptr< IO > output() const
bool direct_feeds_according_to_reality(std::shared_ptr< GraphNode >, bool *via_send_only=0)
std::shared_ptr< IO > _input
std::string ensure_io_name(std::string) const
virtual bool provides_stats() const
bool set_name(std::string const &)
std::shared_ptr< ReadOnlyControl > control_output(uint32_t) const
std::atomic< int > _stat_reset
PortManager::AudioInputPorts audio_input_ports() const
std::string io_name(std::string const &name="") const
std::string describe_parameter(Evoral::Parameter)
CtrlOutMap _control_outputs
IOPlug(Session &, std::shared_ptr< Plugin >=std::shared_ptr< Plugin >(), bool pre=true)
PortManager::AudioInputPorts _audio_input_ports
void set_public_latency(bool)
std::map< uint32_t, std::shared_ptr< ReadOnlyControl > > CtrlOutMap
std::map< std::string, AudioInputPort, SortByPortName > AudioInputPorts
std::map< std::string, MIDIInputPort, SortByPortName > MIDIInputPorts
GtkImageIconNameData name
std::shared_ptr< Plugin > PluginPtr
Temporal::samplecnt_t samplecnt_t
Temporal::samplepos_t samplepos_t