X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fglobal_port_matrix.h;h=3def23a6a3d6c47c7f47d64d33931bbc015d04ea;hb=37ee083931c6e57e0d5611ac909294126d92ba05;hp=fe7f56394e3dc59bd64b8d017007db5f61b86510;hpb=a384dab13095f3d909e52eff9e6170ae55416601;p=ardour.git diff --git a/gtk2_ardour/global_port_matrix.h b/gtk2_ardour/global_port_matrix.h index fe7f56394e..3def23a6a3 100644 --- a/gtk2_ardour/global_port_matrix.h +++ b/gtk2_ardour/global_port_matrix.h @@ -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 @@ -20,46 +20,50 @@ #ifndef __ardour_gtk_global_port_matrix_h__ #define __ardour_gtk_global_port_matrix_h__ +#include #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); + GlobalPortMatrix (Gtk::Window*, ARDOUR::Session*, ARDOUR::DataType); + + void setup_ports (int); + void set_session (ARDOUR::Session* s); - void setup (); - void set_state (ARDOUR::BundleChannel c[2], bool); - State get_state (ARDOUR::BundleChannel c[2]) const; + PortMatrixNode::State get_state (ARDOUR::BundleChannel c[2]) const; - void add_channel (boost::shared_ptr) {} - bool can_remove_channels (int d) const { - return false; - } - void remove_channel (ARDOUR::BundleChannel) {} - bool can_rename_channels (int d) const { - return false; + std::string disassociation_verb () const; + std::string channel_noun () const; + + bool list_is_global (int) const { + return true; } private: /* see PortMatrix: signal flow from 0 to 1 (out to in) */ enum { - OUT = 0, - IN = 1, + FLOW_OUT = 0, + FLOW_IN = 1, }; }; - -class GlobalPortMatrixWindow : public Gtk::Window +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; };