summaryrefslogtreecommitdiff
path: root/gtk2_ardour/port_matrix.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-12-14 09:35:23 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-12-14 09:35:23 +0000
commit18d6284438bb69655670a7b1e931cd73f35d00d8 (patch)
tree0ca40171267042f11f17e434d25be43074400133 /gtk2_ardour/port_matrix.cc
parent7b5e8bf0f751ec76fce440e1547f5a274a9b9549 (diff)
bump required version of GTK, SLV2; basic fixups so that the new port-matrix io-selector actually shows up, even if its ugly and not working correctly
git-svn-id: svn://localhost/ardour2/branches/3.0@4322 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/port_matrix.cc')
-rw-r--r--gtk2_ardour/port_matrix.cc23
1 files changed, 22 insertions, 1 deletions
diff --git a/gtk2_ardour/port_matrix.cc b/gtk2_ardour/port_matrix.cc
index b1dd2a17ac..c2bb01691b 100644
--- a/gtk2_ardour/port_matrix.cc
+++ b/gtk2_ardour/port_matrix.cc
@@ -144,6 +144,12 @@ PortMatrix::~PortMatrix ()
clear ();
}
+void
+PortMatrix::set_ports (const std::list<std::string>& ports)
+{
+ matrix.set_ports (ports);
+}
+
/** Clear out the things that change when the number of source or destination ports changes */
void
PortMatrix::clear ()
@@ -244,13 +250,17 @@ PortMatrix::setup ()
_side_vbox.pack_start (*_side_vbox_pad, false, false);
}
+ matrix.clear ();
+
/* Checkbutton tables and visibility checkbuttons */
for (PortGroupList::iterator i = _port_group_list.begin(); i != _port_group_list.end(); ++i) {
PortGroupUI* t = new PortGroupUI (*this, **i);
_port_group_ui.push_back (t);
-
+
+ matrix.add_group (**i);
+
_visibility_checkbutton_box.pack_start (t->get_visibility_checkbutton(), false, false);
CheckButton* chk = dynamic_cast<CheckButton*>(&t->get_visibility_checkbutton());
@@ -370,6 +380,8 @@ PortGroupList::refresh ()
boost::shared_ptr<ARDOUR::Session::RouteList> routes = _session.get_routes ();
+ cerr << "Looking for arour routes\n";
+
for (ARDOUR::Session::RouteList::const_iterator i = routes->begin(); i != routes->end(); ++i) {
PortGroup* g = 0;
@@ -408,6 +420,8 @@ PortGroupList::refresh ()
finding all the ports that we can connect to.
*/
+ cerr << "Looking for non-ardour ports\n";
+
const char **ports = _session.engine().get_ports ("", _type.to_jack_type(), _offer_inputs ?
JackPortIsInput : JackPortIsOutput);
if (ports) {
@@ -415,6 +429,8 @@ PortGroupList::refresh ()
int n = 0;
string client_matching_string;
+ cerr << "Got some\n";
+
client_matching_string = _session.engine().client_name();
client_matching_string += ':';
@@ -437,6 +453,11 @@ PortGroupList::refresh ()
free (ports);
}
+ cerr << "at end of refresh, we have " << buss.ports.size () << " buss\n";
+ cerr << "at end of refresh, we have " << track.ports.size () << " track\n";
+ cerr << "at end of refresh, we have " << system.ports.size () << " system\n";
+ cerr << "at end of refresh, we have " << other.ports.size () << " other\n";
+
push_back (&system);
push_back (&buss);
push_back (&track);