Stony Brook index page Stony Brook Modula-2 archive and support pages

Home - News - Tips & Tricks - Library Fixes - Bugs workarounds - SB site archive

WAVEFORMATEX record

February 13, 2005

There is an error in MMSYSTEM.DEF, it concerns reading WAV-files.

WAVEFORMAT is correct using /PACK but for WAVEFORMATEX it is forgotten so that that its SIZE becomes 20 bytes instead of the correct 18.

Therefore, at about line 500 in module MMSYSTEM.DEF, the /PACK and /NOPACK directives should be added before and after the declaration of the WAVEFORMATEX record as follows:

     <*/PUSH/PACK*>
     WAVEFORMATEX = RECORD
         wFormatTag      : WORD;
         nChannels       : WORD;
         nSamplesPerSec  : DWORD;
         nAvgBytesPerSec : DWORD;
         nBlockAlign     : WORD;
         wBitsPerSample  : WORD;
         cbSize          : WORD;
     END;
     <*/POP*>