# HG changeset patch # User Chris Cannam # Date 1413388680 -3600 # Node ID 977b7007071fed09d4da9acf353a798bdb10d022 # Parent ff28af9e1d58c565f123b2a080a3904dec2d5952 TransformId is not sufficient -- it could be ambiguous (same transform id, different parameters etc). Use the whole transform diff -r ff28af9e1d58 -r 977b7007071f runner/MIDIFeatureWriter.cpp --- a/runner/MIDIFeatureWriter.cpp Wed Oct 15 16:54:35 2014 +0100 +++ b/runner/MIDIFeatureWriter.cpp Wed Oct 15 16:58:00 2014 +0100 @@ -79,7 +79,7 @@ m_rates[filename] = sampleRate; } - if (m_fileTransforms[filename].find(transformId) == + if (m_fileTransforms[filename].find(transform) == m_fileTransforms[filename].end()) { // This transform is new to the file, give it a channel number @@ -87,8 +87,8 @@ int channel = m_nextChannels[filename]; m_nextChannels[filename] = channel + 1; - m_fileTransforms[filename].insert(transformId); - m_channels[transformId] = channel; + m_fileTransforms[filename].insert(transform); + m_channels[transform] = channel; } NoteList notes = m_notes[filename]; @@ -129,7 +129,7 @@ NoteData note(frame, duration, pitch, velocity); - note.channel = m_channels[transformId]; + note.channel = m_channels[transform]; notes.push_back(note); } diff -r ff28af9e1d58 -r 977b7007071f runner/MIDIFeatureWriter.h --- a/runner/MIDIFeatureWriter.h Wed Oct 15 16:54:35 2014 +0100 +++ b/runner/MIDIFeatureWriter.h Wed Oct 15 16:58:00 2014 +0100 @@ -63,13 +63,13 @@ typedef map NoteMap; // output filename -> notes NoteMap m_notes; - typedef map > FileTransformMap; + typedef map > FileTransformMap; FileTransformMap m_fileTransforms; typedef map SampleRateMap; // NoteData uses sample timing SampleRateMap m_rates; - typedef map ChannelMap; + typedef map ChannelMap; ChannelMap m_channels; typedef map NextChannelMap;