fix wavesbackend midi timing
authorRobin Gareus <robin@gareus.org>
Thu, 9 Oct 2014 07:43:53 +0000 (09:43 +0200)
committerRobin Gareus <robin@gareus.org>
Thu, 9 Oct 2014 07:43:53 +0000 (09:43 +0200)
libs/backends/wavesaudio/waves_midiport.cc

index f071eda17c1c885fd050d39fd99443eedf930e1a..aac5be06edba91953cb5f14e797ec9b0bd6a0520 100644 (file)
@@ -29,6 +29,12 @@ WavesMidiPort::WavesMidiPort (const std::string& port_name, PortFlags flags)
 {       
 }
 
+struct MidiEventSorter {
+       bool operator() (const WavesMidiEvent* a, const WavesMidiEvent* b) {
+               return *a < *b;
+       }
+};
+
 void* 
 WavesMidiPort::get_buffer (pframes_t nframes)
 {
@@ -47,7 +53,7 @@ WavesMidiPort::get_buffer (pframes_t nframes)
                                target += ((const WavesMidiPort*)*cit)->const_buffer ();
                        }while((++cit) != get_connections ().end ());
 
-                       std::sort (target.begin (), target.end ());
+                       std::sort (target.begin (), target.end (), MidiEventSorter());
                }
        }