Try to avoid adding system ports to the port matrix twice. Fix some whitespace problems.

git-svn-id: svn://localhost/ardour2/branches/3.0@4437 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2009-01-24 01:46:13 +00:00
parent 0187028eb0
commit ff656003a8
2 changed files with 18 additions and 5 deletions

View File

@ -178,7 +178,20 @@ PortGroupList::refresh ()
if (p.substr(0, strlen ("system:")) == "system:" || p.substr (0, strlen ("alsa_pcm:")) == "alsa_pcm:") {
/* system: or alsa_pcm: prefix */
_system.add_port (p);
/* see if this port is already in one of the system: bundles */
std::vector<boost::shared_ptr<ARDOUR::Bundle> >::iterator i = _system.bundles.begin();
while (i != _system.bundles.end()) {
if ((*i)->uses_port (p)) {
break;
}
++i;
}
if (i == _system.bundles.end()) {
/* it's not already in there, so add it */
_system.add_port (p);
}
} else {
if (p.substr(0, client_matching_string.length()) != client_matching_string) {
/* other (non-ardour) prefix */

View File

@ -200,15 +200,15 @@ PortMatrixGrid::button_press (double x, double y, int b)
PortMatrix::State const s = _port_matrix->get_state (
our_bundle, our_channel, other_bundle, other_channel
);
if (s == PortMatrix::ASSOCIATED || s == PortMatrix::NOT_ASSOCIATED) {
bool const n = !(s == PortMatrix::ASSOCIATED);
_port_matrix->set_state (
our_bundle, our_channel, other_bundle, other_channel,
_port_matrix->set_state (
our_bundle, our_channel, other_bundle, other_channel,
n, 0
);
);
}
require_render ();