When a part has MIDI data but an empty InstrumentData::uniqueId:
midi-instrument/@id is written from core::Token{""}, which is X
(src/private/mx/impl/PartWriter.cpp:188).
score-instrument/@id is synthesized as ID1000000, ID1000001, ... from a process-wide atomic
counter (PartWriter.cpp:64-68, PartWriter.cpp:260-275).
So midi-instrument/@id does not refer to the score-instrument. The output also depends on how
many scores the process has already written, so writing the same ScoreData twice gives different
files.
Related: #397. Found while auditing silent recoveries for #432 (#439).
When a part has MIDI data but an empty
InstrumentData::uniqueId:midi-instrument/@idis written fromcore::Token{""}, which isX(
src/private/mx/impl/PartWriter.cpp:188).score-instrument/@idis synthesized asID1000000,ID1000001, ... from a process-wide atomiccounter (
PartWriter.cpp:64-68,PartWriter.cpp:260-275).So
midi-instrument/@iddoes not refer to thescore-instrument. The output also depends on howmany scores the process has already written, so writing the same
ScoreDatatwice gives differentfiles.
Related: #397. Found while auditing silent recoveries for #432 (#439).