X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fbackends%2Falsa%2Falsa_audiobackend.h;h=d8dfb31725453f1e6490e26be51f94b697fb040d;hb=69cbcb84a66cfc48d734692ae0f2f8d8bee4f5b5;hp=48115f9f05ea1eac059f03f7e8a0ab3176432c43;hpb=800c8182c6f8d1b5bb0e31e383179412dc64b9dd;p=ardour.git diff --git a/libs/backends/alsa/alsa_audiobackend.h b/libs/backends/alsa/alsa_audiobackend.h index 48115f9f05..d8dfb31725 100644 --- a/libs/backends/alsa/alsa_audiobackend.h +++ b/libs/backends/alsa/alsa_audiobackend.h @@ -30,6 +30,7 @@ #include +#include "pbd/natsort.h" #include "ardour/audio_backend.h" #include "ardour/dsp_load_calculator.h" #include "ardour/system_exec.h" @@ -409,8 +410,16 @@ class AlsaAudioBackend : public AudioBackend { std::vector _system_midi_in; std::vector _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 PortMap; // fast lookup in _ports - typedef std::set PortIndex; // fast lookup in _ports + typedef std::set PortIndex; // fast lookup in _ports PortMap _portmap; PortIndex _ports; @@ -446,7 +455,7 @@ class AlsaAudioBackend : public AudioBackend { } bool valid_port (PortHandle port) const { - return _ports.find (static_cast(port)) != _ports.end (); + return std::find (_ports.begin(), _ports.end(), static_cast(port)) != _ports.end (); } AlsaPort* find_port (const std::string& port_name) const {