X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fport_set.cc;h=b96e45662b945da03a9e513ddb6a4e3e6c02ca81;hb=f938687f8798d094c99cd4308ad6aa1c467e4a97;hp=388162359bbb37bfbd45e59d96bdaaa096ce2f9c;hpb=5a401620266dd832b120235c8e956a86d1f800cd;p=ardour.git diff --git a/libs/ardour/port_set.cc b/libs/ardour/port_set.cc index 388162359b..b96e45662b 100644 --- a/libs/ardour/port_set.cc +++ b/libs/ardour/port_set.cc @@ -1,22 +1,24 @@ /* - Copyright (C) 2006 Paul Davis - + Copyright (C) 2006 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 the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include +#include "ardour/port_set.h" +#include "ardour/midi_port.h" +#include "ardour/audio_port.h" namespace ARDOUR { @@ -34,17 +36,14 @@ static bool sort_ports_by_name (Port* a, Port* b) void PortSet::add(Port* port) { - const size_t list_index = port->type().to_index(); - assert(list_index < _ports.size()); - - PortVec& v = _ports[list_index]; - + PortVec& v = _ports[port->type()]; + v.push_back(port); sort(v.begin(), v.end(), sort_ports_by_name); _count.set(port->type(), _count.get(port->type()) + 1); - assert(_count.get(port->type()) == _ports[port->type().to_index()].size()); + assert(_count.get(port->type()) == _ports[port->type()].size()); } bool @@ -89,7 +88,7 @@ Port* PortSet::port(size_t n) const { // This is awesome. Awesomely slow. - + size_t size_so_far = 0; for (std::vector::const_iterator l = _ports.begin(); l != _ports.end(); ++l) { @@ -108,7 +107,7 @@ PortSet::port(DataType type, size_t n) const if (type == DataType::NIL) { return port(n); } else { - const PortVec& v = _ports[type.to_index()]; + const PortVec& v = _ports[type]; assert(n < v.size()); return v[n]; }