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/ardour/midi_track.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libs/ardour/midi_track.cc') diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc index 0f1b2b52af..1a618a01dd 100644 --- a/libs/ardour/midi_track.cc +++ b/libs/ardour/midi_track.cc @@ -169,7 +169,7 @@ MidiTrack::set_state (const XMLNode& node, int version) playback_channel_mode = ChannelMode (string_2_enum(prop->value(), playback_channel_mode)); } if ((prop = node.property ("capture-channel-mode")) != 0) { - playback_channel_mode = ChannelMode (string_2_enum(prop->value(), capture_channel_mode)); + capture_channel_mode = ChannelMode (string_2_enum(prop->value(), capture_channel_mode)); } if ((prop = node.property ("channel-mode")) != 0) { /* 3.0 behaviour where capture and playback modes were not separated */ -- cgit v1.2.3