Rémi Bernon (@rbernon) commented about dlls/dmime/miditracks.c:
- { - double elapsed = - item->deltaTime * 1000000.0 / This->ticks_per_second; - ref_time += elapsed; - number_of_quarter_notes += elapsed / 10 / usec_per_quarter_note; - } + /* This is the "fake" tempo case, ticks and MUSIC_TIME should mean + * the same thing. */ + music_time = ticks;
- if (item->status == 0xff) - { - hr = handle_meta_events(This, item, &usec_per_quarter_note); - if (hr != S_OK) - break; + if (music_time < start_time || music_time >= end_time) There again, you had something and you rewrite it entirely. This should probably be squashed, and the implementation split in a separate change.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/4982#note_59645