pouët.net

GmDlsTool by xplsv [web]

                       
                      ..________
   ..__        _______\         \ ________             _____..
-- \    \_____ \       \         \       _\..___ ____ /      / - 
-- /    /    _/_ \      \         \             \    \      / -- 
- /____/\    \   \_______\         \__..__\      \____\    / --- 
         \____\____ \     \         \_  \_________\/______/
             ..     ..     \_______../               ++ xplsv


        ---                                      ---
                     GmDLSTool by xplsv
        ---                                      ---
        ---                                      ---

        Here's a tool for 4KB authors looking to use
        the audio samples embedded in the Windows 
        GM.DLS file.  The file offset to each WAV
        sample is given and the samples can be 
        previewed and extracted to files for use in
        trackers.  
        
        Use the file offset at playback time to snag 
        the samples.  Samples are stored directly
        in the DLS as WAV files with just 2 changes.
        In the DLS the 'LIST' tag is in the place of
        the WAV 'RIFF' tag and 'wave' tag is used
        instead of 'WAVE'.

        So here is a simple example to play back a
        sample you found with the tool.
        --------------------------------------------
        byte * file = read the whole gm.dls file;
        byte * data = file + sampleOffset;
        data -= 4;
        *(dword *)data = 'EVAW';
        data -= 8;
        *(dword *)data = 'FFIR';
        PlaySoundA(
            (const char *)data, 
            NULL, 
            SND_MEMORY
        );
        --------------------------------------------
        
        How deliciously simple right?  :)  Have fun!
        
        blackpawn/xplsv
        jimscott@blackpawn.com.
        
        ---                                      ---
        ---                                      ---
                      xplsv.com 2007
        ---                                      ---