#include <boost/shared_ptr.hpp>
+#include "pbd/natsort.h"
#include "ardour/audio_backend.h"
#include "ardour/dsp_load_calculator.h"
#include "ardour/system_exec.h"
std::vector<AlsaPort *> _system_midi_in;
std::vector<AlsaPort *> _system_midi_out;
+ struct SortByPortName
+ {
+ bool operator ()(const AlsaPort* lhs, const AlsaPort* rhs) const
+ {
+ return PBD::naturally_less (lhs->name ().c_str (), rhs->name ().c_str ());
+ }
+ };
+
typedef std::map<std::string, AlsaPort *> PortMap; // fast lookup in _ports
- typedef std::set<AlsaPort *> PortIndex; // fast lookup in _ports
+ typedef std::set<AlsaPort *, SortByPortName> PortIndex; // fast lookup in _ports
PortMap _portmap;
PortIndex _ports;
}
bool valid_port (PortHandle port) const {
- return _ports.find (static_cast<AlsaPort*>(port)) != _ports.end ();
+ return std::find (_ports.begin(), _ports.end(), static_cast<AlsaPort*>(port)) != _ports.end ();
}
AlsaPort* find_port (const std::string& port_name) const {