X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fglobal_port_matrix.h;h=3def23a6a3d6c47c7f47d64d33931bbc015d04ea;hb=30a698f42e3ee6be5a63ea1143413cf8329f444e;hp=845a348efd93c254757eacb8b9ed9e7d858cc695;hpb=f6652f07ae2bfa9d7984c5b6feffd6479faec034;p=ardour.git diff --git a/gtk2_ardour/global_port_matrix.h b/gtk2_ardour/global_port_matrix.h index 845a348efd..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,56 +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); - - void setup (); - - void set_state ( - boost::shared_ptr, - uint32_t, - boost::shared_ptr, - uint32_t, - bool, - uint32_t - ); - - State get_state ( - boost::shared_ptr, - uint32_t, - boost::shared_ptr, - uint32_t - ) const; - - void add_channel (boost::shared_ptr) {} - void remove_channel (boost::shared_ptr, 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; };