fix port-sort order for good.
authorRobin Gareus <robin@gareus.org>
Fri, 8 Jul 2016 19:31:52 +0000 (21:31 +0200)
committerRobin Gareus <robin@gareus.org>
Fri, 8 Jul 2016 19:37:42 +0000 (21:37 +0200)
TODO find out how to make std::set::find() work with custom sort order,
as std::find may only be O(N) and not O(log (N)).

libs/backends/alsa/alsa_audiobackend.cc
libs/backends/alsa/alsa_audiobackend.h
libs/backends/coreaudio/coreaudio_backend.cc
libs/backends/coreaudio/coreaudio_backend.h
libs/backends/dummy/dummy_audiobackend.cc
libs/backends/dummy/dummy_audiobackend.h

index ed8254e3e3336358925852f79df2201198e36816..8e34428db31c94f30c0f9dd8520d6c95eb0d4e0a 100644 (file)
@@ -1362,7 +1362,7 @@ AlsaAudioBackend::unregister_port (PortEngine::PortHandle port_handle)
                return;
        }
        AlsaPort* port = static_cast<AlsaPort*>(port_handle);
-       PortIndex::iterator i = _ports.find (static_cast<AlsaPort*>(port_handle));
+       PortIndex::iterator i = std::find (_ports.begin(), _ports.end(), static_cast<AlsaPort*>(port_handle));
        if (i == _ports.end ()) {
                PBD::error << _("AlsaBackend::unregister_port: Failed to find port") << endmsg;
                return;
index 2a2cc94046484b673c120726ef480e630971a794..f7f7f693bb2e176d019d932473796c33947c0b26 100644 (file)
@@ -454,7 +454,7 @@ class AlsaAudioBackend : public AudioBackend {
                }
 
                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 {
index f87282c995e13031f75d7788a271593f16c167b3..b22049e24754b6ab3759e58f796b5233628d4f71 100644 (file)
@@ -1054,7 +1054,7 @@ CoreAudioBackend::unregister_port (PortEngine::PortHandle port_handle)
                return;
        }
        CoreBackendPort* port = static_cast<CoreBackendPort*>(port_handle);
-       PortIndex::iterator i = _ports.find (static_cast<CoreBackendPort*>(port_handle));
+       PortIndex::iterator i = std::find (_ports.begin(), _ports.end(), static_cast<CoreBackendPort*>(port_handle));
        if (i == _ports.end ()) {
                PBD::warning << _("CoreAudioBackend::unregister_port: Failed to find port") << endmsg;
                return;
index 58e81342c147c7c8f59f3e23eedd690fe5263fc3..643604030bcd5613df5efb1cd9b2de5dfba6b5d9 100644 (file)
@@ -505,7 +505,7 @@ class CoreAudioBackend : public AudioBackend {
        }
 
        bool valid_port (PortHandle port) const {
-               return _ports.find (static_cast<CoreBackendPort*>(port)) != _ports.end ();
+               return std::find (_ports.begin(), _ports.end(), static_cast<CoreBackendPort*>(port)) != _ports.end ();
        }
 
        CoreBackendPort* find_port (const std::string& port_name) const {
index 0d3567f3e7130d5a2419d0e2f1d9282d3fcf2c09..801c8045d965b28e874c8e309964f7c88a719146 100644 (file)
@@ -809,7 +809,7 @@ DummyAudioBackend::unregister_port (PortEngine::PortHandle port_handle)
                return;
        }
        DummyPort* port = static_cast<DummyPort*>(port_handle);
-       PortIndex::iterator i = _ports.find (static_cast<DummyPort*>(port_handle));
+       PortIndex::iterator i = std::find (_ports.begin(), _ports.end(), static_cast<DummyPort*>(port_handle));
        if (i == _ports.end ()) {
                PBD::error << _("DummyBackend::unregister_port: Failed to find port") << endmsg;
                return;
index 12abe7be92a2a627b77fe1bcea617c8144df6dfd..fbb55b48ba23239f54f63bca2f54ba199e033a6e 100644 (file)
@@ -490,7 +490,7 @@ class DummyAudioBackend : public AudioBackend {
                }
 
                bool valid_port (PortHandle port) const {
-                       return _ports.find (static_cast<DummyPort*>(port)) != _ports.end ();
+                       return std::find (_ports.begin(), _ports.end(), static_cast<DummyPort*>(port)) != _ports.end ();
                }
 
                DummyPort* find_port (const std::string& port_name) const {