Move control surface options into RC prefs editor. Remove Options menu.
[ardour.git] / gtk2_ardour / io_selector.h
index 20bcb2ff274100ea93addf7fd793b8cb1a55f089..872fd5d7d65b4446be971584afb3117483f9f587 100644 (file)
@@ -27,45 +27,48 @@ namespace ARDOUR {
        class PortInsert;
 }
 
-class IOSelector : public PortMatrix {
+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 set_state (ARDOUR::BundleChannel c[2], bool);
+       PortMatrixNode::State get_state (ARDOUR::BundleChannel c[2]) const;
 
        void add_channel (boost::shared_ptr<ARDOUR::Bundle>);
-       void remove_channel (boost::shared_ptr<ARDOUR::Bundle>, uint32_t);
-       bool can_rename_channels () const {
+       bool can_remove_channels (int d) const {
+               return d == _ours;
+       }
+       void remove_channel (ARDOUR::BundleChannel);
+       bool can_rename_channels (int d) const {
                return false;
        }
        
-       uint32_t n_rows () const;
-       uint32_t maximum_rows () const;
-       uint32_t minimum_rows () const;
+       uint32_t n_io_ports () const;
        boost::shared_ptr<ARDOUR::IO> const io () { return _io; }
-       void setup ();
+       void setup_ports (int);
+       bool list_is_global (int) const;
+
+       bool find_inputs_for_io_outputs () const {
+               return _find_inputs_for_io_outputs;
+       }
+
+       int ours () const {
+               return _ours;
+       }
+
+       int other () const {
+               return _other;
+       }
+
 
   private:
-       ARDOUR::Session& _session;
-       boost::shared_ptr<ARDOUR::IO> _io;
-       PortGroup* _port_group;
        
-       void ports_changed ();
+       int _other;
+       int _ours;
+       boost::shared_ptr<ARDOUR::IO> _io;
+       boost::shared_ptr<PortGroup> _port_group;
+       bool _find_inputs_for_io_outputs;
 };
 
 class IOSelectorWindow : public ArdourDialog
@@ -91,7 +94,8 @@ class IOSelectorWindow : public ArdourDialog
 
        void cancel ();
        void accept ();
-
+       void rescan ();
+       
        void ports_changed ();
        void io_name_changed (void *src);
 };