========================================================
  |                                                      |
  | 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.