NO-OP: whitespace
[ardour.git] / gtk2_ardour / global_port_matrix.h
index 845a348efd93c254757eacb8b9ed9e7d858cc695..3def23a6a3d6c47c7f47d64d33931bbc015d04ea 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2009 Paul Davis 
+    Copyright (C) 2009 Paul Davis
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
 #ifndef __ardour_gtk_global_port_matrix_h__
 #define __ardour_gtk_global_port_matrix_h__
 
+#include <gtkmm/button.h>
 #include "port_matrix.h"
 #include "port_group.h"
-#include "ardour_dialog.h"
+#include "ardour_window.h"
 
 class GlobalPortMatrix : public PortMatrix
 {
 public:
-       GlobalPortMatrix (ARDOUR::Session&, ARDOUR::DataType);
-
-       void setup ();
-       
-       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;
+       GlobalPortMatrix (Gtk::Window*, ARDOUR::Session*, ARDOUR::DataType);
+
+       void setup_ports (int);
+       void set_session (ARDOUR::Session* s);
+
+       void set_state (ARDOUR::BundleChannel c[2], bool);
+       PortMatrixNode::State get_state (ARDOUR::BundleChannel c[2]) const;
+
+       std::string disassociation_verb () const;
+       std::string channel_noun () const;
+
+       bool list_is_global (int) const {
+               return true;
        }
 
 private:
-       void group_visibility_changed ();
-       
-       ARDOUR::Session& _session;
-       PortGroupList _our_port_group_list;
-
+       /* see PortMatrix: signal flow from 0 to 1 (out to in) */
+       enum {
+               FLOW_OUT = 0,
+               FLOW_IN = 1,
+       };
 };
 
-
-class GlobalPortMatrixWindow : public ArdourDialog
+class GlobalPortMatrixWindow : public ArdourWindow
 {
 public:
-       GlobalPortMatrixWindow (ARDOUR::Session&, ARDOUR::DataType);
+       GlobalPortMatrixWindow (ARDOUR::Session *, ARDOUR::DataType);
+
+       void set_session (ARDOUR::Session *);
 
 private:
-       GlobalPortMatrix _port_matrix;
+       void on_show ();
 
+       GlobalPortMatrix _port_matrix;
+       Gtk::Button _rescan_button;
+       Gtk::CheckButton _show_ports_button;
 };