Rémi Bernon (@rbernon) commented about dlls/dmime/tests/dmime.c:
- ok(hr == DMUS_S_FREE, "got %#lx\n", hr);
- note = note60;
- note.rtTime = rt;
- note.mtTime = mt;
- note.mtDuration = 0;
- hr = IDirectMusicTool_ProcessPMsg(tool, performance, (DMUS_PMSG *)¬e);
- ok(hr == DMUS_S_FREE, "got %#lx\n", hr);
- note = note60;
- note.rtTime = rt;
- note.mtTime = mt;
- hr = IDirectMusicTool_ProcessPMsg(tool, performance, (DMUS_PMSG *)¬e);
- todo_wine ok(hr == DMUS_S_REQUEUE, "got %#lx\n", hr);
- ok(note.dwSize == sizeof(DMUS_NOTE_PMSG), "got %lu\n", note.dwSize);
- todo_wine ok(llabs(note.rtTime - rt - 6503906) < 10, "got %I64d\n", note.rtTime - rt);
This doesn't look flexible enough, and the hardcoded value isn't great. I'd do something like this to leave around 1ms of leeway.
``` todo_wine ok(fabs(note.rtTime - rt - scale_music_time(999, 120.0)) < 10000.0, "got %I64d\n", note.rtTime - rt); ```