pre-sort port-names
authorRobin Gareus <robin@gareus.org>
Fri, 8 Jul 2016 18:43:24 +0000 (20:43 +0200)
committerRobin Gareus <robin@gareus.org>
Fri, 8 Jul 2016 18:44:21 +0000 (20:44 +0200)
libs/backends/alsa/alsa_audiobackend.h
libs/backends/coreaudio/coreaudio_backend.h
libs/backends/dummy/dummy_audiobackend.h

index 48115f9f05ea1eac059f03f7e8a0ab3176432c43..2a2cc94046484b673c120726ef480e630971a794 100644 (file)
@@ -409,8 +409,16 @@ class AlsaAudioBackend : public AudioBackend {
                std::vector<AlsaPort *> _system_midi_in;
                std::vector<AlsaPort *> _system_midi_out;
 
+               struct SortByPortName
+               {
+                       bool operator ()(const AlsaPort* lhs, const AlsaPort* rhs) const
+                       {
+                               return lhs->name () < rhs->name ();
+                       }
+               };
+
                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;
 
index 6153b12e1049043df3f1243c697cac9122c43f76..58e81342c147c7c8f59f3e23eedd690fe5263fc3 100644 (file)
@@ -466,8 +466,16 @@ class CoreAudioBackend : public AudioBackend {
        std::vector<CoreBackendPort *> _system_midi_in;
        std::vector<CoreBackendPort *> _system_midi_out;
 
+       struct SortByPortName
+       {
+               bool operator ()(const CoreBackendPort* lhs, const CoreBackendPort* rhs) const
+               {
+                       return lhs->name () < rhs->name ();
+               }
+       };
+
        typedef std::map<std::string, CoreBackendPort *> PortMap; // fast lookup in _ports
-       typedef std::set<CoreBackendPort *> PortIndex; // fast lookup in _ports
+       typedef std::set<CoreBackendPort *, SortByPortName> PortIndex; // fast lookup in _ports
        PortMap _portmap;
        PortIndex _ports;
 
index 5caf8bafd960b3cf9e44a8e20e073a201f276d04..12abe7be92a2a627b77fe1bcea617c8144df6dfd 100644 (file)
@@ -451,8 +451,16 @@ class DummyAudioBackend : public AudioBackend {
                std::vector<DummyMidiPort *> _system_midi_in;
                std::vector<DummyMidiPort *> _system_midi_out;
 
+               struct SortByPortName
+               {
+                       bool operator ()(const DummyPort* lhs, const DummyPort* rhs) const
+                       {
+                               return lhs->name () < rhs->name ();
+                       }
+               };
+
                typedef std::map<std::string, DummyPort *> PortMap; // fast lookup in _ports
-               typedef std::set<DummyPort *> PortIndex; // fast lookup in _ports
+               typedef std::set<DummyPort *, SortByPortName> PortIndex; // fast lookup in _ports
                PortMap _portmap;
                PortIndex _ports;