projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
update route/processor semantics
[ardour.git]
/
libs
/
ardour
/
port_set.cc
diff --git
a/libs/ardour/port_set.cc
b/libs/ardour/port_set.cc
index c7f5e2e674e7557cc1ca7eb3ce33a38dc0ce6a3e..93fe54ed1c99807336ba609b3a04b8049c5adc80 100644
(file)
--- a/
libs/ardour/port_set.cc
+++ b/
libs/ardour/port_set.cc
@@
-92,7
+92,7
@@
PortSet::add (boost::shared_ptr<Port> port)
sort(v.begin(), v.end(), sort_ports_by_name);
sort(_all_ports.begin(), _all_ports.end(), sort_ports_by_type_and_name);
sort(v.begin(), v.end(), sort_ports_by_name);
sort(_all_ports.begin(), _all_ports.end(), sort_ports_by_type_and_name);
-
+
_count.set(port->type(), _count.get(port->type()) + 1);
assert(_count.get(port->type()) == _ports[port->type()].size());
}
_count.set(port->type(), _count.get(port->type()) + 1);
assert(_count.get(port->type()) == _ports[port->type()].size());
}
@@
-104,7
+104,7
@@
PortSet::remove (boost::shared_ptr<Port> port)
if (i != _all_ports.end()) {
_all_ports.erase(i);
}
if (i != _all_ports.end()) {
_all_ports.erase(i);
}
-
+
for (std::vector<PortVec>::iterator l = _ports.begin(); l != _ports.end(); ++l) {
PortVec::iterator i = find(l->begin(), l->end(), port);
if (i != l->end()) {
for (std::vector<PortVec>::iterator l = _ports.begin(); l != _ports.end(); ++l) {
PortVec::iterator i = find(l->begin(), l->end(), port);
if (i != l->end()) {
@@
-145,9
+145,11
@@
PortSet::port(DataType type, size_t n) const
return port(n);
} else {
const PortVec& v = _ports[type];
return port(n);
} else {
const PortVec& v = _ports[type];
- assert(n < v.size());
- return v[n];
+ if (n < v.size()) {
+ return v[n];
+ }
}
}
+ return boost::shared_ptr<Port>();
}
boost::shared_ptr<AudioPort>
}
boost::shared_ptr<AudioPort>