From 86f1b8c71f7cfae210d66bb97d3c513eade0c40e Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Fri, 29 Mar 2013 11:52:25 -0400 Subject: major fixes for MIDI patch change and note undo/redo. Patch change handling was completely broken because of the use of absolute floating point comparisons for time comparison, and serialization/deserialization of patch change property changes was borked because of int/char conversions by stringstream. Note undo/redo would fail for note removal if a note had been moved and/or had its note number changed as the next operation after it was added, because time-based lookup would fail. Similar small changes made for sysex messages, which just needed the musical_time comparisons and nothing else --- libs/evoral/src/Sequence.cpp | 129 +++++++++++++++++++++++++++++++++---------- 1 file changed, 101 insertions(+), 28 deletions(-) (limited to 'libs/evoral/src/Sequence.cpp') diff --git a/libs/evoral/src/Sequence.cpp b/libs/evoral/src/Sequence.cpp index 71bdcb7c03..738d5a19c9 100644 --- a/libs/evoral/src/Sequence.cpp +++ b/libs/evoral/src/Sequence.cpp @@ -720,25 +720,27 @@ void Sequence