48 lines
1.9 KiB
Plaintext
48 lines
1.9 KiB
Plaintext
|
|
||
|
|
||
|
========================================================
|
||
|
| |
|
||
|
| CONVERSION AND PORTABILITY ITEMS IN NT MULTI-MEDIA |
|
||
|
| |
|
||
|
========================================================
|
||
|
|
||
|
|
||
|
|
||
|
1. SHORT MIDI MESSAGES (RCBS)
|
||
|
|
||
|
Short midi messages are passed around the system as DWORDs.
|
||
|
The documentations says that the first byte is the 'low order
|
||
|
byte' (see midiOutShortMsg). However, testcases (eg sbtest.exe)
|
||
|
and presumably applications often just use a union of a dword
|
||
|
and byte[4] to convert (NOT the same).
|
||
|
|
||
|
|
||
|
|
||
|
2. WINDOW words
|
||
|
|
||
|
The apis now take LONG parameters but actually only store WORDs.
|
||
|
This can be fixed by using things like SetWindowLong but there
|
||
|
is still the problem of the offsets they are using. One suggestion
|
||
|
is just to double the size of everthing and every offset but
|
||
|
the conversion effort is still there.
|
||
|
|
||
|
3. (SD) MCI Device IDs
|
||
|
|
||
|
Unfortunately these are 16 bits values in Win 3.0+, and the size
|
||
|
is difficult to change as it is used in disk files. Hence is a
|
||
|
permanent fixed value. It could be "thunked" when read/written.
|
||
|
More work needs to be done to decide whether to use a 32 bit
|
||
|
device id for MCI devices in Win 32, or to stick with 16 bit.
|
||
|
The device type MCIDEVICEID has been added to WINMM.H.
|
||
|
|
||
|
4. (SD) Global sound playing windows
|
||
|
|
||
|
Windows MM extensions (MMSYSTEM) uses a single GLOBAL window
|
||
|
handle (hwndNotify) to play all asynchronous sound (MCI and
|
||
|
sndPlaySound). To do this a piece of global memory is used
|
||
|
that defines which sound is playing. NO attempt is made in
|
||
|
Windows (WIN16) to synchronise playing sounds.
|
||
|
|
||
|
Much of the WIN16 high level sound code references the global
|
||
|
window handle.
|