-namespace ARDOUR {
- class PortInsert;
-}
-
-class IOSelector : public PortMatrix {
- public:
- IOSelector (ARDOUR::Session&, boost::shared_ptr<ARDOUR::IO>, bool);
- ~IOSelector ();
-
- void set_state (
- boost::shared_ptr<ARDOUR::Bundle>,
- uint32_t,
- boost::shared_ptr<ARDOUR::Bundle>,
- uint32_t,
- bool,
- uint32_t
- );
-
- State get_state (
- boost::shared_ptr<ARDOUR::Bundle>,
- uint32_t,
- boost::shared_ptr<ARDOUR::Bundle>,
- uint32_t
- ) const;
-
- void add_channel (boost::shared_ptr<ARDOUR::Bundle>);
- void remove_channel (boost::shared_ptr<ARDOUR::Bundle>, uint32_t);
- bool can_rename_channels () const {
- return false;
- }
-
- uint32_t n_rows () const;
- uint32_t maximum_rows () const;
- uint32_t minimum_rows () const;
- boost::shared_ptr<ARDOUR::IO> const io () { return _io; }
- void setup ();
-
- private:
- ARDOUR::Session& _session;
- boost::shared_ptr<ARDOUR::IO> _io;
- PortGroup* _port_group;
-
- void ports_changed ();
-};
-
-class IOSelectorWindow : public ArdourDialog