[Media_api] portmidi crash cleanup questions
Roger Dannenberg
rbd at cs.cmu.edu
Thu Apr 10 18:21:17 PDT 2008
Excellent questions. Just to review, the pm_dll.dll is there because
Windows used to crash if you left a midi input port open, and this was
the best way (I knew) to close it. Maybe SetUnhandledExceptionFilter
would have been better. However, testing indicates that this Windows
crashing bug has been fixed. I haven't found any official confirmation,
but testing seems conclusive.
To make things more interesting, we've just discovered that the
pm_dll.dll does not work under Vista -- closing the midi in port from
the DLL apparently causes the process to at least hang for a long time.
Therefore, my recommendation is scrap the whole DLL thing. At best, it
seems to be unnecessary. There's a compile-time #define for that, but
you also need to stop linking with the DLL static interface library.
We're in the process of fixing all the Visual C++ projects, cleaning up
the code, and testing these changes.
If you leave the DLL in (or current applications use it), it really does
nothing if you properly close midi ports before you exit, so "nice"
applications should run under Vista without problems. (Maybe that's why
no one noticed the problem.)
-Roger
More information about the media_api
mailing list