Respect quantizePost=False when parsing raw MIDI#548
Conversation
|
Closing and reopening to rerun tests since there were potentially MIDI keyword conflicts with a recently merged PR. |
|
Looks really great, but couple of comments:
Thanks! |
|
Sure thing, will definitely get on the documentation. With luck it could cut down inquires about 32nd notes. RE: pickles -- so long as I am testing the same file and parsing it two ways, I think I would have to force the source each time. Otherwise if the first call is forceSource=False, quantizePost=True, upon running the test a second time, wouldn't it just load in the result of the second parsing? The motivation was to avoid a false positive test result if behavior changed elsewhere, but I could check for that more directly by just asserting that every value in defaults.quantizationQuarterLengthDivisors is less than 8, so if that behavior ever changes then this test will complain that it must be rewritten. Then I could just call parse once and let it use a pickle. |
|
Fixes #192 (documentation request) |
|
On second thought I definitely still need to forceSource even when parsing the test file one time, otherwise when the test passes once it will pass forever -- need to ensure I'm testing that the pipeline for **keywords remains intact all the way down from converter.parse() |
|
• Noticed MIDI file had an incorrect note_off value that was causing M21 to fill a gap with an extraneous rest. Didn't affect my tests, but want to contribute a clean test file. • Noticed two more places to document the quantization keywords. |
|
Thanks -- good explanation for why you need forceSource in both these cases. Thanks for trying it. Will review new changes today! |
|
This is a model PR. Thank you Jacob! Will definitely make MANY people happy! |
Fixes #546, fixes #192 and adds test method converter.testParseMidiNoQuantize()
New example MIDI file containing a 1/4 measure with exactly 3 16th notes and 2 32nd notes