+ /** plugin ports marked as sidechain */
+ ChanCount sidechain_input_pins() const;
+
+ /** Plugin-Insert IO sidechain ports */
+ ChanCount sidechain_input_ports() const {
+ if (_sidechain) {
+ return _sidechain->input ()->n_ports ();
+ } else {
+ return ChanCount ();
+ }
+ }
+
+ const ChanCount& required_buffers () const { return _required_buffers; }
+ const ChanCount& preset_out () const { return _preset_out; }
+
+ // allow to override output_streams(), implies "Custom Mode"
+
+ // only the owning route may call these (with process lock held)
+ // route is not a friend class, it owns us
+ bool set_count (uint32_t num);
+ void set_sinks (const ChanCount&); // reconfigurable I/O ONLY
+ void set_outputs (const ChanCount&);
+ void set_strict_io (bool b);
+ void set_custom_cfg (bool b);
+ bool set_preset_out (const ChanCount&);
+ bool add_sidechain (uint32_t n_audio = 1);
+ bool del_sidechain ();
+ boost::shared_ptr<SideChain> sidechain () const { return _sidechain; }
+ // end C++ class slavery!
+
+ uint32_t get_count () const { return _plugins.size(); }
+ bool strict_io () const { return _strict_io; }
+ bool custom_cfg () const { return _custom_cfg; }