MIDI Lag Under XP
Ever since I "upgraded" to Windows XP I've noticed an annoying pause (a few seconds) every time a new MIDI starts in Dink. Anyone else get this? And more importantly does anyone know a way to fix it?
I get that as well. I thought of trying to peek into the Dink source and fix it, but all of that DirectX stuff is far beyond my comprehension.
I know what the bug is. On Windows XP, 2000, and NT, the mciSendString() command is extremely slow (but only when used with the open command). And, of course, Seth uses this command. Another bug, for future reference, is that the first note of a MIDI is dropped if the song does not begin with a quarter rest.
There are two workarounds, besides the obvious of not using MIDI:
1) Use a static member object to keep track of the MIDI and open it only when necessary.
2) Use the MMSystem interface, which is the one used by Winamp. I believe (but am not sure) that this supports 64-bit also (WinMM's mciSendString doesn't).
One handy tidbit that is also probably a contributing factor:
Lines used by Seth's midi interface: ~200
Lines used by Windemere's midi on Windows: exactly 16.
There are two workarounds, besides the obvious of not using MIDI:
1) Use a static member object to keep track of the MIDI and open it only when necessary.
2) Use the MMSystem interface, which is the one used by Winamp. I believe (but am not sure) that this supports 64-bit also (WinMM's mciSendString doesn't).
One handy tidbit that is also probably a contributing factor:
Lines used by Seth's midi interface: ~200
Lines used by Windemere's midi on Windows: exactly 16.