From f84a7605d8781df6f4d2214c636d9f438c93ae33 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 8 Jul 2016 20:43:24 +0200 Subject: [PATCH] pre-sort port-names --- libs/backends/alsa/alsa_audiobackend.h | 10 +++++++++- libs/backends/coreaudio/coreaudio_backend.h | 10 +++++++++- libs/backends/dummy/dummy_audiobackend.h | 10 +++++++++- 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/libs/backends/alsa/alsa_audiobackend.h b/libs/backends/alsa/alsa_audiobackend.h index 48115f9f05..2a2cc94046 100644 --- a/libs/backends/alsa/alsa_audiobackend.h +++ b/libs/backends/alsa/alsa_audiobackend.h @@ -409,8 +409,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 lhs->name () < rhs->name (); + } + }; + 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; diff --git a/libs/backends/coreaudio/coreaudio_backend.h b/libs/backends/coreaudio/coreaudio_backend.h index 6153b12e10..58e81342c1 100644 --- a/libs/backends/coreaudio/coreaudio_backend.h +++ b/libs/backends/coreaudio/coreaudio_backend.h @@ -466,8 +466,16 @@ class CoreAudioBackend : public AudioBackend { std::vector _system_midi_in; std::vector _system_midi_out; + struct SortByPortName + { + bool operator ()(const CoreBackendPort* lhs, const CoreBackendPort* rhs) const + { + return lhs->name () < rhs->name (); + } + }; + 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; diff --git a/libs/backends/dummy/dummy_audiobackend.h b/libs/backends/dummy/dummy_audiobackend.h index 5caf8bafd9..12abe7be92 100644 --- a/libs/backends/dummy/dummy_audiobackend.h +++ b/libs/backends/dummy/dummy_audiobackend.h @@ -451,8 +451,16 @@ class DummyAudioBackend : public AudioBackend { std::vector _system_midi_in; std::vector _system_midi_out; + struct SortByPortName + { + bool operator ()(const DummyPort* lhs, const DummyPort* rhs) const + { + return lhs->name () < rhs->name (); + } + }; + 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; -- 2.30.2