]> git.rm.cloudns.org Git - xonotic/xonotic.git/commitdiff
get rid of modplug
authorRudolf Polzer <divverent@xonotic.org>
Sat, 27 Jul 2013 09:31:07 +0000 (11:31 +0200)
committerRudolf Polzer <divverent@xonotic.org>
Sat, 27 Jul 2013 09:31:46 +0000 (11:31 +0200)
19 files changed:
misc/builddeps/dp.linux32/include/libmodplug/it_defs.h [deleted file]
misc/builddeps/dp.linux32/include/libmodplug/modplug.h [deleted file]
misc/builddeps/dp.linux32/include/libmodplug/sndfile.h [deleted file]
misc/builddeps/dp.linux32/include/libmodplug/stdafx.h [deleted file]
misc/builddeps/dp.linux32/lib/libmodplug.a [deleted file]
misc/builddeps/dp.linux32/lib/libmodplug.la [deleted file]
misc/builddeps/dp.linux32/lib/pkgconfig/libmodplug.pc [deleted file]
misc/builddeps/dp.linux64/include/libmodplug/it_defs.h [deleted file]
misc/builddeps/dp.linux64/include/libmodplug/modplug.h [deleted file]
misc/builddeps/dp.linux64/include/libmodplug/sndfile.h [deleted file]
misc/builddeps/dp.linux64/include/libmodplug/stdafx.h [deleted file]
misc/builddeps/dp.linux64/lib/libmodplug.a [deleted file]
misc/builddeps/dp.linux64/lib/libmodplug.la [deleted file]
misc/builddeps/dp.linux64/lib/pkgconfig/libmodplug.pc [deleted file]
misc/buildfiles/osx/Xonotic.app/Contents/MacOS/libmodplug.1.dylib [deleted file]
misc/buildfiles/osx/Xonotic.app/Contents/MacOS/libmodplug.dylib [deleted symlink]
misc/buildfiles/win32/libmodplug-1.dll [deleted file]
misc/buildfiles/win64/libmodplug-1.dll [deleted file]
misc/tools/all/release.subr

diff --git a/misc/builddeps/dp.linux32/include/libmodplug/it_defs.h b/misc/builddeps/dp.linux32/include/libmodplug/it_defs.h
deleted file mode 100644 (file)
index 89cb456..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-#ifndef _ITDEFS_H_
-#define _ITDEFS_H_
-
-#pragma pack(1)
-
-typedef struct tagITFILEHEADER
-{
-       DWORD id;                       // 0x4D504D49
-       CHAR songname[26];
-       WORD reserved1;         // 0x1004
-       WORD ordnum;
-       WORD insnum;
-       WORD smpnum;
-       WORD patnum;
-       WORD cwtv;
-       WORD cmwt;
-       WORD flags;
-       WORD special;
-       BYTE globalvol;
-       BYTE mv;
-       BYTE speed;
-       BYTE tempo;
-       BYTE sep;
-       BYTE zero;
-       WORD msglength;
-       DWORD msgoffset;
-       DWORD reserved2;
-       BYTE chnpan[64];
-       BYTE chnvol[64];
-} ITFILEHEADER;
-
-
-typedef struct tagITENVELOPE
-{
-       BYTE flags;
-       BYTE num;
-       BYTE lpb;
-       BYTE lpe;
-       BYTE slb;
-       BYTE sle;
-       BYTE data[25*3];
-       BYTE reserved;
-} ITENVELOPE;
-
-// Old Impulse Instrument Format (cmwt < 0x200)
-typedef struct tagITOLDINSTRUMENT
-{
-       DWORD id;                       // IMPI = 0x49504D49
-       CHAR filename[12];      // DOS file name
-       BYTE zero;
-       BYTE flags;
-       BYTE vls;
-       BYTE vle;
-       BYTE sls;
-       BYTE sle;
-       WORD reserved1;
-       WORD fadeout;
-       BYTE nna;
-       BYTE dnc;
-       WORD trkvers;
-       BYTE nos;
-       BYTE reserved2;
-       CHAR name[26];
-       WORD reserved3[3];
-       BYTE keyboard[240];
-       BYTE volenv[200];
-       BYTE nodes[50];
-} ITOLDINSTRUMENT;
-
-
-// Impulse Instrument Format
-typedef struct tagITINSTRUMENT
-{
-       DWORD id;
-       CHAR filename[12];
-       BYTE zero;
-       BYTE nna;
-       BYTE dct;
-       BYTE dca;
-       WORD fadeout;
-       signed char pps;
-       BYTE ppc;
-       BYTE gbv;
-       BYTE dfp;
-       BYTE rv;
-       BYTE rp;
-       WORD trkvers;
-       BYTE nos;
-       BYTE reserved1;
-       CHAR name[26];
-       BYTE ifc;
-       BYTE ifr;
-       BYTE mch;
-       BYTE mpr;
-       WORD mbank;
-       BYTE keyboard[240];
-       ITENVELOPE volenv;
-       ITENVELOPE panenv;
-       ITENVELOPE pitchenv;
-       BYTE dummy[4]; // was 7, but IT v2.17 saves 554 bytes
-} ITINSTRUMENT;
-
-
-// IT Sample Format
-typedef struct ITSAMPLESTRUCT
-{
-       DWORD id;               // 0x53504D49
-       CHAR filename[12];
-       BYTE zero;
-       BYTE gvl;
-       BYTE flags;
-       BYTE vol;
-       CHAR name[26];
-       BYTE cvt;
-       BYTE dfp;
-       DWORD length;
-       DWORD loopbegin;
-       DWORD loopend;
-       DWORD C5Speed;
-       DWORD susloopbegin;
-       DWORD susloopend;
-       DWORD samplepointer;
-       BYTE vis;
-       BYTE vid;
-       BYTE vir;
-       BYTE vit;
-} ITSAMPLESTRUCT;
-
-#pragma pack()
-
-extern BYTE autovibit2xm[8];
-extern BYTE autovibxm2it[8];
-
-#endif
diff --git a/misc/builddeps/dp.linux32/include/libmodplug/modplug.h b/misc/builddeps/dp.linux32/include/libmodplug/modplug.h
deleted file mode 100644 (file)
index 46ea02c..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * This source code is public domain.
- *
- * Authors: Kenton Varda <temporal@gauge3d.org> (C interface wrapper)
- */
-
-#ifndef MODPLUG_H__INCLUDED
-#define MODPLUG_H__INCLUDED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct _ModPlugFile;
-typedef struct _ModPlugFile ModPlugFile;
-
-struct _ModPlugNote {
-       unsigned char Note;
-       unsigned char Instrument;
-       unsigned char VolumeEffect;
-       unsigned char Effect;
-       unsigned char Volume;
-       unsigned char Parameter;
-};
-typedef struct _ModPlugNote ModPlugNote;
-
-typedef void (*ModPlugMixerProc)(int*, unsigned long, unsigned long);
-
-/* Load a mod file.  [data] should point to a block of memory containing the complete
- * file, and [size] should be the size of that block.
- * Return the loaded mod file on success, or NULL on failure. */
-ModPlugFile* ModPlug_Load(const void* data, int size);
-/* Unload a mod file. */
-void ModPlug_Unload(ModPlugFile* file);
-
-/* Read sample data into the buffer.  Returns the number of bytes read.  If the end
- * of the mod has been reached, zero is returned. */
-int  ModPlug_Read(ModPlugFile* file, void* buffer, int size);
-
-/* Get the name of the mod.  The returned buffer is stored within the ModPlugFile
- * structure and will remain valid until you unload the file. */
-const char* ModPlug_GetName(ModPlugFile* file);
-
-/* Get the length of the mod, in milliseconds.  Note that this result is not always
- * accurate, especially in the case of mods with loops. */
-int ModPlug_GetLength(ModPlugFile* file);
-
-/* Seek to a particular position in the song.  Note that seeking and MODs don't mix very
- * well.  Some mods will be missing instruments for a short time after a seek, as ModPlug
- * does not scan the sequence backwards to find out which instruments were supposed to be
- * playing at that time.  (Doing so would be difficult and not very reliable.)  Also,
- * note that seeking is not very exact in some mods -- especially those for which
- * ModPlug_GetLength() does not report the full length. */
-void ModPlug_Seek(ModPlugFile* file, int millisecond);
-
-enum _ModPlug_Flags
-{
-       MODPLUG_ENABLE_OVERSAMPLING     = 1 << 0,  /* Enable oversampling (*highly* recommended) */
-       MODPLUG_ENABLE_NOISE_REDUCTION  = 1 << 1,  /* Enable noise reduction */
-       MODPLUG_ENABLE_REVERB           = 1 << 2,  /* Enable reverb */
-       MODPLUG_ENABLE_MEGABASS         = 1 << 3,  /* Enable megabass */
-       MODPLUG_ENABLE_SURROUND         = 1 << 4   /* Enable surround sound. */
-};
-
-enum _ModPlug_ResamplingMode
-{
-       MODPLUG_RESAMPLE_NEAREST = 0,  /* No interpolation (very fast, extremely bad sound quality) */
-       MODPLUG_RESAMPLE_LINEAR  = 1,  /* Linear interpolation (fast, good quality) */
-       MODPLUG_RESAMPLE_SPLINE  = 2,  /* Cubic spline interpolation (high quality) */
-       MODPLUG_RESAMPLE_FIR     = 3   /* 8-tap fir filter (extremely high quality) */
-};
-
-typedef struct _ModPlug_Settings
-{
-       int mFlags;  /* One or more of the MODPLUG_ENABLE_* flags above, bitwise-OR'ed */
-       
-       /* Note that ModPlug always decodes sound at 44100kHz, 32 bit, stereo and then
-        * down-mixes to the settings you choose. */
-       int mChannels;       /* Number of channels - 1 for mono or 2 for stereo */
-       int mBits;           /* Bits per sample - 8, 16, or 32 */
-       int mFrequency;      /* Sampling rate - 11025, 22050, or 44100 */
-       int mResamplingMode; /* One of MODPLUG_RESAMPLE_*, above */
-
-       int mStereoSeparation; /* Stereo separation, 1 - 256 */
-       int mMaxMixChannels; /* Maximum number of mixing channels (polyphony), 32 - 256 */
-       
-       int mReverbDepth;    /* Reverb level 0(quiet)-100(loud)      */
-       int mReverbDelay;    /* Reverb delay in ms, usually 40-200ms */
-       int mBassAmount;     /* XBass level 0(quiet)-100(loud)       */
-       int mBassRange;      /* XBass cutoff in Hz 10-100            */
-       int mSurroundDepth;  /* Surround level 0(quiet)-100(heavy)   */
-       int mSurroundDelay;  /* Surround delay in ms, usually 5-40ms */
-       int mLoopCount;      /* Number of times to loop.  Zero prevents looping.
-                               -1 loops forever. */
-} ModPlug_Settings;
-
-/* Get and set the mod decoder settings.  All options, except for channels, bits-per-sample,
- * sampling rate, and loop count, will take effect immediately.  Those options which don't
- * take effect immediately will take effect the next time you load a mod. */
-void ModPlug_GetSettings(ModPlug_Settings* settings);
-void ModPlug_SetSettings(const ModPlug_Settings* settings);
-
-/* New ModPlug API Functions */
-/* NOTE: Master Volume (1-512) */
-unsigned int ModPlug_GetMasterVolume(ModPlugFile* file) ;
-void ModPlug_SetMasterVolume(ModPlugFile* file,unsigned int cvol) ;
-
-int ModPlug_GetCurrentSpeed(ModPlugFile* file);
-int ModPlug_GetCurrentTempo(ModPlugFile* file);
-int ModPlug_GetCurrentOrder(ModPlugFile* file);
-int ModPlug_GetCurrentPattern(ModPlugFile* file);
-int ModPlug_GetCurrentRow(ModPlugFile* file);
-int ModPlug_GetPlayingChannels(ModPlugFile* file);
-
-void ModPlug_SeekOrder(ModPlugFile* file,int order);
-int ModPlug_GetModuleType(ModPlugFile* file);
-char* ModPlug_GetMessage(ModPlugFile* file);
-
-
-#ifndef MODPLUG_NO_FILESAVE
-/*
- * EXPERIMENTAL Export Functions
- */
-/*Export to a Scream Tracker 3 S3M module. EXPERIMENTAL (only works on Little-Endian platforms)*/
-char ModPlug_ExportS3M(ModPlugFile* file, const char* filepath);
-
-/*Export to a Extended Module (XM). EXPERIMENTAL (only works on Little-Endian platforms)*/
-char ModPlug_ExportXM(ModPlugFile* file, const char* filepath);
-
-/*Export to a Amiga MOD file. EXPERIMENTAL.*/
-char ModPlug_ExportMOD(ModPlugFile* file, const char* filepath);
-
-/*Export to a Impulse Tracker IT file. Should work OK in Little-Endian & Big-Endian platforms :-) */
-char ModPlug_ExportIT(ModPlugFile* file, const char* filepath);
-#endif // MODPLUG_NO_FILESAVE
-
-unsigned int ModPlug_NumInstruments(ModPlugFile* file);
-unsigned int ModPlug_NumSamples(ModPlugFile* file);
-unsigned int ModPlug_NumPatterns(ModPlugFile* file);
-unsigned int ModPlug_NumChannels(ModPlugFile* file);
-unsigned int ModPlug_SampleName(ModPlugFile* file, unsigned int qual, char* buff);
-unsigned int ModPlug_InstrumentName(ModPlugFile* file, unsigned int qual, char* buff);
-
-/*
- * Retrieve pattern note-data
- */
-ModPlugNote* ModPlug_GetPattern(ModPlugFile* file, int pattern, unsigned int* numrows);
-
-/*
- * =================
- * Mixer callback
- * =================
- *
- * Use this callback if you want to 'modify' the mixed data of LibModPlug.
- * 
- * void proc(int* buffer,unsigned long channels,unsigned long nsamples) ;
- *
- * 'buffer': A buffer of mixed samples
- * 'channels': N. of channels in the buffer
- * 'nsamples': N. of samples in the buffeer (without taking care of n.channels)
- *
- * (Samples are signed 32-bit integers)
- */
-void ModPlug_InitMixerCallback(ModPlugFile* file,ModPlugMixerProc proc) ;
-void ModPlug_UnloadMixerCallback(ModPlugFile* file) ;
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif
diff --git a/misc/builddeps/dp.linux32/include/libmodplug/sndfile.h b/misc/builddeps/dp.linux32/include/libmodplug/sndfile.h
deleted file mode 100644 (file)
index ed7d47e..0000000
+++ /dev/null
@@ -1,1017 +0,0 @@
-/*
- * This source code is public domain.
- *
- * Authors: Olivier Lapicque <olivierl@jps.net>,
- *          Adam Goode       <adam@evdebs.org> (endian and char fixes for PPC)
-*/
-
-#if defined(HAVE_CONFIG_H) && !defined(CONFIG_H_INCLUDED)
-#include "config.h"
-#define CONFIG_H_INCLUDED 1
-#endif
-
-#ifndef __SNDFILE_H
-#define __SNDFILE_H
-
-#ifdef UNDER_CE
-int _strnicmp(const char *str1,const char *str2, int n);
-#endif
-
-#ifndef LPCBYTE
-typedef const BYTE * LPCBYTE;
-#endif
-
-#define MOD_AMIGAC2                    0x1AB
-#define MAX_SAMPLE_LENGTH      16000000
-#define MAX_SAMPLE_RATE                192000
-#define MAX_ORDERS                     256
-#define MAX_PATTERNS           240
-#define MAX_SAMPLES                    240
-#define MAX_INSTRUMENTS                MAX_SAMPLES
-#ifdef MODPLUG_FASTSOUNDLIB
-#define MAX_CHANNELS           80
-#else
-#define MAX_CHANNELS           128
-#endif
-#define MAX_BASECHANNELS       64
-#define MAX_ENVPOINTS          32
-#define MIN_PERIOD                     0x0020
-#define MAX_PERIOD                     0xFFFF
-#define MAX_PATTERNNAME                32
-#define MAX_CHANNELNAME                20
-#define MAX_INFONAME           80
-#define MAX_EQ_BANDS           6
-#define MAX_MIXPLUGINS         8
-
-
-#define MOD_TYPE_NONE          0x00
-#define MOD_TYPE_MOD           0x01
-#define MOD_TYPE_S3M           0x02
-#define MOD_TYPE_XM                    0x04
-#define MOD_TYPE_MED           0x08
-#define MOD_TYPE_MTM           0x10
-#define MOD_TYPE_IT                    0x20
-#define MOD_TYPE_669           0x40
-#define MOD_TYPE_ULT           0x80
-#define MOD_TYPE_STM           0x100
-#define MOD_TYPE_FAR           0x200
-#define MOD_TYPE_WAV           0x400
-#define MOD_TYPE_AMF           0x800
-#define MOD_TYPE_AMS           0x1000
-#define MOD_TYPE_DSM           0x2000
-#define MOD_TYPE_MDL           0x4000
-#define MOD_TYPE_OKT           0x8000
-#define MOD_TYPE_MID           0x10000
-#define MOD_TYPE_DMF           0x20000
-#define MOD_TYPE_PTM           0x40000
-#define MOD_TYPE_DBM           0x80000
-#define MOD_TYPE_MT2           0x100000
-#define MOD_TYPE_AMF0          0x200000
-#define MOD_TYPE_PSM           0x400000
-#define MOD_TYPE_J2B           0x800000
-#define MOD_TYPE_ABC           0x1000000
-#define MOD_TYPE_PAT           0x2000000
-#define MOD_TYPE_UMX           0x80000000 // Fake type
-#define MAX_MODTYPE            24
-
-
-
-// Channel flags:
-// Bits 0-7:   Sample Flags
-#define CHN_16BIT               0x01
-#define CHN_LOOP                0x02
-#define CHN_PINGPONGLOOP        0x04
-#define CHN_SUSTAINLOOP         0x08
-#define CHN_PINGPONGSUSTAIN     0x10
-#define CHN_PANNING             0x20
-#define CHN_STEREO              0x40
-#define CHN_PINGPONGFLAG       0x80
-// Bits 8-31:  Channel Flags
-#define CHN_MUTE                0x100
-#define CHN_KEYOFF              0x200
-#define CHN_NOTEFADE           0x400
-#define CHN_SURROUND            0x800
-#define CHN_NOIDO               0x1000
-#define CHN_HQSRC               0x2000
-#define CHN_FILTER              0x4000
-#define CHN_VOLUMERAMP         0x8000
-#define CHN_VIBRATO             0x10000
-#define CHN_TREMOLO             0x20000
-#define CHN_PANBRELLO          0x40000
-#define CHN_PORTAMENTO         0x80000
-#define CHN_GLISSANDO          0x100000
-#define CHN_VOLENV              0x200000
-#define CHN_PANENV              0x400000
-#define CHN_PITCHENV           0x800000
-#define CHN_FASTVOLRAMP                0x1000000
-#define CHN_EXTRALOUD          0x2000000
-#define CHN_REVERB              0x4000000
-#define CHN_NOREVERB           0x8000000
-
-
-#define ENV_VOLUME              0x0001
-#define ENV_VOLSUSTAIN         0x0002
-#define ENV_VOLLOOP             0x0004
-#define ENV_PANNING             0x0008
-#define ENV_PANSUSTAIN         0x0010
-#define ENV_PANLOOP             0x0020
-#define ENV_PITCH               0x0040
-#define ENV_PITCHSUSTAIN       0x0080
-#define ENV_PITCHLOOP          0x0100
-#define ENV_SETPANNING         0x0200
-#define ENV_FILTER              0x0400
-#define ENV_VOLCARRY           0x0800
-#define ENV_PANCARRY           0x1000
-#define ENV_PITCHCARRY         0x2000
-
-#define CMD_NONE                        0
-#define CMD_ARPEGGIO                   1
-#define CMD_PORTAMENTOUP               2
-#define CMD_PORTAMENTODOWN             3
-#define CMD_TONEPORTAMENTO             4
-#define CMD_VIBRATO                     5
-#define CMD_TONEPORTAVOL               6
-#define CMD_VIBRATOVOL                 7
-#define CMD_TREMOLO                     8
-#define CMD_PANNING8                   9
-#define CMD_OFFSET                      10
-#define CMD_VOLUMESLIDE                        11
-#define CMD_POSITIONJUMP               12
-#define CMD_VOLUME                      13
-#define CMD_PATTERNBREAK               14
-#define CMD_RETRIG                      15
-#define CMD_SPEED                       16
-#define CMD_TEMPO                       17
-#define CMD_TREMOR                      18
-#define CMD_MODCMDEX                   19
-#define CMD_S3MCMDEX                   20
-#define CMD_CHANNELVOLUME              21
-#define CMD_CHANNELVOLSLIDE            22
-#define CMD_GLOBALVOLUME               23
-#define CMD_GLOBALVOLSLIDE             24
-#define CMD_KEYOFF                      25
-#define CMD_FINEVIBRATO                        26
-#define CMD_PANBRELLO                  27
-#define CMD_XFINEPORTAUPDOWN            28
-#define CMD_PANNINGSLIDE               29
-#define CMD_SETENVPOSITION             30
-#define CMD_MIDI                        31
-
-
-// Volume Column commands
-#define VOLCMD_VOLUME                  1
-#define VOLCMD_PANNING                 2
-#define VOLCMD_VOLSLIDEUP              3
-#define VOLCMD_VOLSLIDEDOWN            4
-#define VOLCMD_FINEVOLUP               5
-#define VOLCMD_FINEVOLDOWN             6
-#define VOLCMD_VIBRATOSPEED            7
-#define VOLCMD_VIBRATO                 8
-#define VOLCMD_PANSLIDELEFT            9
-#define VOLCMD_PANSLIDERIGHT           10
-#define VOLCMD_TONEPORTAMENTO          11
-#define VOLCMD_PORTAUP                 12
-#define VOLCMD_PORTADOWN               13
-
-#define RSF_16BIT              0x04
-#define RSF_STEREO             0x08
-
-#define RS_PCM8S               0       // 8-bit signed
-#define RS_PCM8U               1       // 8-bit unsigned
-#define RS_PCM8D               2       // 8-bit delta values
-#define RS_ADPCM4              3       // 4-bit ADPCM-packed
-#define RS_PCM16D              4       // 16-bit delta values
-#define RS_PCM16S              5       // 16-bit signed
-#define RS_PCM16U              6       // 16-bit unsigned
-#define RS_PCM16M              7       // 16-bit motorola order
-#define RS_STPCM8S             (RS_PCM8S|RSF_STEREO)  // stereo 8-bit signed
-#define RS_STPCM8U             (RS_PCM8U|RSF_STEREO)  // stereo 8-bit unsigned
-#define RS_STPCM8D             (RS_PCM8D|RSF_STEREO)  // stereo 8-bit delta values
-#define RS_STPCM16S            (RS_PCM16S|RSF_STEREO) // stereo 16-bit signed
-#define RS_STPCM16U            (RS_PCM16U|RSF_STEREO) // stereo 16-bit unsigned
-#define RS_STPCM16D            (RS_PCM16D|RSF_STEREO) // stereo 16-bit delta values
-#define RS_STPCM16M            (RS_PCM16M|RSF_STEREO) // stereo 16-bit signed big endian
-// IT 2.14 compressed samples
-#define RS_IT2148              0x10
-#define RS_IT21416             0x14
-#define RS_IT2158              0x12
-#define RS_IT21516             0x16
-// AMS Packed Samples
-#define RS_AMS8                        0x11
-#define RS_AMS16               0x15
-// DMF Huffman compression
-#define RS_DMF8                        0x13
-#define RS_DMF16               0x17
-// MDL Huffman compression
-#define RS_MDL8                        0x20
-#define RS_MDL16               0x24
-#define RS_PTM8DTO16   0x25
-// Stereo Interleaved Samples
-#define RS_STIPCM8S            (RS_PCM8S|0x40|RSF_STEREO)      // stereo 8-bit signed
-#define RS_STIPCM8U            (RS_PCM8U|0x40|RSF_STEREO)      // stereo 8-bit unsigned
-#define RS_STIPCM16S   (RS_PCM16S|0x40|RSF_STEREO)     // stereo 16-bit signed
-#define RS_STIPCM16U   (RS_PCM16U|0x40|RSF_STEREO)     // stereo 16-bit unsigned
-#define RS_STIPCM16M   (RS_PCM16M|0x40|RSF_STEREO)     // stereo 16-bit signed big endian
-// 24-bit signed
-#define RS_PCM24S              (RS_PCM16S|0x80)                        // mono 24-bit signed
-#define RS_STIPCM24S   (RS_PCM16S|0x80|RSF_STEREO)     // stereo 24-bit signed
-#define RS_PCM32S              (RS_PCM16S|0xC0)                        // mono 24-bit signed
-#define RS_STIPCM32S   (RS_PCM16S|0xC0|RSF_STEREO)     // stereo 24-bit signed
-
-// NNA types
-#define NNA_NOTECUT            0
-#define NNA_CONTINUE   1
-#define NNA_NOTEOFF            2
-#define NNA_NOTEFADE   3
-
-// DCT types
-#define DCT_NONE               0
-#define DCT_NOTE               1
-#define DCT_SAMPLE             2
-#define DCT_INSTRUMENT 3
-
-// DNA types
-#define DNA_NOTECUT            0
-#define DNA_NOTEOFF            1
-#define DNA_NOTEFADE   2
-
-// Mixer Hardware-Dependent features
-#define SYSMIX_ENABLEMMX       0x01
-#define SYSMIX_WINDOWSNT       0x02
-#define SYSMIX_SLOWCPU         0x04
-#define SYSMIX_FASTCPU         0x08
-
-// Module flags
-#define SONG_EMBEDMIDICFG      0x0001
-#define SONG_FASTVOLSLIDES     0x0002
-#define SONG_ITOLDEFFECTS      0x0004
-#define SONG_ITCOMPATMODE      0x0008
-#define SONG_LINEARSLIDES      0x0010
-#define SONG_PATTERNLOOP       0x0020
-#define SONG_STEP                      0x0040
-#define SONG_PAUSED                    0x0080
-#define SONG_FADINGSONG                0x0100
-#define SONG_ENDREACHED                0x0200
-#define SONG_GLOBALFADE                0x0400
-#define SONG_CPUVERYHIGH       0x0800
-#define SONG_FIRSTTICK         0x1000
-#define SONG_MPTFILTERMODE     0x2000
-#define SONG_SURROUNDPAN       0x4000
-#define SONG_EXFILTERRANGE     0x8000
-#define SONG_AMIGALIMITS       0x10000
-
-// Global Options (Renderer)
-#define SNDMIX_REVERSESTEREO   0x0001
-#define SNDMIX_NOISEREDUCTION  0x0002
-#define SNDMIX_AGC                             0x0004
-#define SNDMIX_NORESAMPLING            0x0008
-#define SNDMIX_HQRESAMPLER             0x0010
-#define SNDMIX_MEGABASS                        0x0020
-#define SNDMIX_SURROUND                        0x0040
-#define SNDMIX_REVERB                  0x0080
-#define SNDMIX_EQ                              0x0100
-#define SNDMIX_SOFTPANNING             0x0200
-#define SNDMIX_ULTRAHQSRCMODE  0x0400
-// Misc Flags (can safely be turned on or off)
-#define SNDMIX_DIRECTTODISK            0x10000
-#define SNDMIX_ENABLEMMX               0x20000
-#define SNDMIX_NOBACKWARDJUMPS 0x40000
-#define SNDMIX_MAXDEFAULTPAN   0x80000 // Used by the MOD loader
-
-
-// Reverb Types (GM2 Presets)
-enum {
-       REVERBTYPE_SMALLROOM,
-       REVERBTYPE_MEDIUMROOM,
-       REVERBTYPE_LARGEROOM,
-       REVERBTYPE_SMALLHALL,
-       REVERBTYPE_MEDIUMHALL,
-       REVERBTYPE_LARGEHALL,
-       NUM_REVERBTYPES
-};
-
-
-enum {
-       SRCMODE_NEAREST,
-       SRCMODE_LINEAR,
-       SRCMODE_SPLINE,
-       SRCMODE_POLYPHASE,
-       NUM_SRC_MODES
-};
-
-
-// Sample Struct
-typedef struct _MODINSTRUMENT
-{
-       UINT nLength,nLoopStart,nLoopEnd;
-       UINT nSustainStart, nSustainEnd;
-       signed char *pSample;
-       UINT nC4Speed;
-       WORD nPan;
-       WORD nVolume;
-       WORD nGlobalVol;
-       WORD uFlags;
-       signed char RelativeTone;
-       signed char nFineTune;
-       BYTE nVibType;
-       BYTE nVibSweep;
-       BYTE nVibDepth;
-       BYTE nVibRate;
-       CHAR name[22];
-} MODINSTRUMENT;
-
-
-// Instrument Struct
-typedef struct _INSTRUMENTHEADER
-{
-       UINT nFadeOut;
-       DWORD dwFlags;
-       WORD nGlobalVol;
-       WORD nPan;
-       WORD VolPoints[MAX_ENVPOINTS];
-       WORD PanPoints[MAX_ENVPOINTS];
-       WORD PitchPoints[MAX_ENVPOINTS];
-       BYTE VolEnv[MAX_ENVPOINTS];
-       BYTE PanEnv[MAX_ENVPOINTS];
-       BYTE PitchEnv[MAX_ENVPOINTS];
-       BYTE Keyboard[128];
-       BYTE NoteMap[128];
-
-       BYTE nVolEnv;
-       BYTE nPanEnv;
-       BYTE nPitchEnv;
-       BYTE nVolLoopStart;
-       BYTE nVolLoopEnd;
-       BYTE nVolSustainBegin;
-       BYTE nVolSustainEnd;
-       BYTE nPanLoopStart;
-       BYTE nPanLoopEnd;
-       BYTE nPanSustainBegin;
-       BYTE nPanSustainEnd;
-       BYTE nPitchLoopStart;
-       BYTE nPitchLoopEnd;
-       BYTE nPitchSustainBegin;
-       BYTE nPitchSustainEnd;
-       BYTE nNNA;
-       BYTE nDCT;
-       BYTE nDNA;
-       BYTE nPanSwing;
-       BYTE nVolSwing;
-       BYTE nIFC;
-       BYTE nIFR;
-       WORD wMidiBank;
-       BYTE nMidiProgram;
-       BYTE nMidiChannel;
-       BYTE nMidiDrumKey;
-       signed char nPPS;
-       unsigned char nPPC;
-       CHAR name[32];
-       CHAR filename[12];
-} INSTRUMENTHEADER;
-
-
-// Channel Struct
-typedef struct _MODCHANNEL
-{
-       // First 32-bytes: Most used mixing information: don't change it
-       signed char * pCurrentSample;
-       DWORD nPos;
-       DWORD nPosLo;   // actually 16-bit
-       LONG nInc;              // 16.16
-       LONG nRightVol;
-       LONG nLeftVol;
-       LONG nRightRamp;
-       LONG nLeftRamp;
-       // 2nd cache line
-       DWORD nLength;
-       DWORD dwFlags;
-       DWORD nLoopStart;
-       DWORD nLoopEnd;
-       LONG nRampRightVol;
-       LONG nRampLeftVol;
-       LONG nFilter_Y1, nFilter_Y2, nFilter_Y3, nFilter_Y4;
-       LONG nFilter_A0, nFilter_B0, nFilter_B1;
-       LONG nROfs, nLOfs;
-       LONG nRampLength;
-       // Information not used in the mixer
-       signed char * pSample;
-       LONG nNewRightVol, nNewLeftVol;
-       LONG nRealVolume, nRealPan;
-       LONG nVolume, nPan, nFadeOutVol;
-       LONG nPeriod, nC4Speed, nPortamentoDest;
-       INSTRUMENTHEADER *pHeader;
-       MODINSTRUMENT *pInstrument;
-       DWORD nVolEnvPosition, nPanEnvPosition, nPitchEnvPosition;
-       DWORD nMasterChn, nVUMeter;
-       LONG nGlobalVol, nInsVol;
-       LONG nFineTune, nTranspose;
-       LONG nPortamentoSlide, nAutoVibDepth;
-       UINT nAutoVibPos, nVibratoPos, nTremoloPos, nPanbrelloPos;
-       // 16-bit members
-       signed short nVolSwing, nPanSwing;
-       // 8-bit members
-       BYTE nNote, nNNA;
-       BYTE nNewNote, nNewIns, nCommand, nArpeggio;
-       BYTE nOldVolumeSlide, nOldFineVolUpDown;
-       BYTE nOldPortaUpDown, nOldFinePortaUpDown;
-       BYTE nOldPanSlide, nOldChnVolSlide;
-       BYTE nVibratoType, nVibratoSpeed, nVibratoDepth;
-       BYTE nTremoloType, nTremoloSpeed, nTremoloDepth;
-       BYTE nPanbrelloType, nPanbrelloSpeed, nPanbrelloDepth;
-       BYTE nOldCmdEx, nOldVolParam, nOldTempo;
-       BYTE nOldOffset, nOldHiOffset;
-       BYTE nCutOff, nResonance;
-       BYTE nRetrigCount, nRetrigParam;
-       BYTE nTremorCount, nTremorParam;
-       BYTE nPatternLoop, nPatternLoopCount;
-       BYTE nRowNote, nRowInstr;
-       BYTE nRowVolCmd, nRowVolume;
-       BYTE nRowCommand, nRowParam;
-       BYTE nLeftVU, nRightVU;
-       BYTE nActiveMacro, nPadding;
-} MODCHANNEL;
-
-
-typedef struct _MODCHANNELSETTINGS
-{
-       UINT nPan;
-       UINT nVolume;
-       DWORD dwFlags;
-       UINT nMixPlugin;
-        char szName[MAX_CHANNELNAME];        // changed from CHAR
-} MODCHANNELSETTINGS;
-
-
-typedef struct _MODCOMMAND
-{
-       BYTE note;
-       BYTE instr;
-       BYTE volcmd;
-       BYTE command;
-       BYTE vol;
-       BYTE param;
-} MODCOMMAND, *LPMODCOMMAND;
-
-////////////////////////////////////////////////////////////////////
-// Mix Plugins
-#define MIXPLUG_MIXREADY                       0x01    // Set when cleared
-
-class IMixPlugin
-{
-public:
-       virtual ~IMixPlugin();
-       virtual int AddRef() = 0;
-       virtual int Release() = 0;
-       virtual void SaveAllParameters() = 0;
-       virtual void RestoreAllParameters() = 0;
-       virtual void Process(float *pOutL, float *pOutR, unsigned long nSamples) = 0;
-       virtual void Init(unsigned long nFreq, int bReset) = 0;
-       virtual void MidiSend(DWORD dwMidiCode) = 0;
-       virtual void MidiCommand(UINT nMidiCh, UINT nMidiProg, UINT note, UINT vol) = 0;
-};
-
-
-#define MIXPLUG_INPUTF_MASTEREFFECT            0x01    // Apply to master mix
-#define MIXPLUG_INPUTF_BYPASS                  0x02    // Bypass effect
-#define MIXPLUG_INPUTF_WETMIX                  0x04    // Wet Mix (dry added)
-
-typedef struct _SNDMIXPLUGINSTATE
-{
-       DWORD dwFlags;                                  // MIXPLUG_XXXX
-       LONG nVolDecayL, nVolDecayR;    // Buffer click removal
-       int *pMixBuffer;                                // Stereo effect send buffer
-       float *pOutBufferL;                             // Temp storage for int -> float conversion
-       float *pOutBufferR;
-} SNDMIXPLUGINSTATE, *PSNDMIXPLUGINSTATE;
-
-typedef struct _SNDMIXPLUGININFO
-{
-       DWORD dwPluginId1;
-       DWORD dwPluginId2;
-       DWORD dwInputRouting;   // MIXPLUG_INPUTF_XXXX
-       DWORD dwOutputRouting;  // 0=mix 0x80+=fx
-       DWORD dwReserved[4];    // Reserved for routing info
-       CHAR szName[32];
-       CHAR szLibraryName[64]; // original DLL name
-} SNDMIXPLUGININFO, *PSNDMIXPLUGININFO; // Size should be 128
-
-typedef struct _SNDMIXPLUGIN
-{
-       IMixPlugin *pMixPlugin;
-       PSNDMIXPLUGINSTATE pMixState;
-       ULONG nPluginDataSize;
-       PVOID pPluginData;
-       SNDMIXPLUGININFO Info;
-} SNDMIXPLUGIN, *PSNDMIXPLUGIN;
-
-typedef        BOOL (*PMIXPLUGINCREATEPROC)(PSNDMIXPLUGIN);
-
-////////////////////////////////////////////////////////////////////
-
-enum {
-       MIDIOUT_START=0,
-       MIDIOUT_STOP,
-       MIDIOUT_TICK,
-       MIDIOUT_NOTEON,
-       MIDIOUT_NOTEOFF,
-       MIDIOUT_VOLUME,
-       MIDIOUT_PAN,
-       MIDIOUT_BANKSEL,
-       MIDIOUT_PROGRAM,
-};
-
-
-typedef struct MODMIDICFG
-{
-        char szMidiGlb[9*32];      // changed from CHAR
-        char szMidiSFXExt[16*32];  // changed from CHAR
-        char szMidiZXXExt[128*32]; // changed from CHAR
-} MODMIDICFG, *LPMODMIDICFG;
-
-#define NOTE_MAX                        120 //Defines maximum notevalue as well as maximum number of notes.
-
-typedef VOID (* LPSNDMIXHOOKPROC)(int *, unsigned long, unsigned long); // buffer, samples, channels
-
-
-
-//==============
-class CSoundFile
-//==============
-{
-public:        // Static Members
-       static UINT m_nXBassDepth, m_nXBassRange;
-       static UINT m_nReverbDepth, m_nReverbDelay, gnReverbType;
-       static UINT m_nProLogicDepth, m_nProLogicDelay;
-       static UINT m_nStereoSeparation;
-       static UINT m_nMaxMixChannels;
-       static LONG m_nStreamVolume;
-       static DWORD gdwSysInfo, gdwSoundSetup, gdwMixingFreq, gnBitsPerSample, gnChannels;
-       static UINT gnAGC, gnVolumeRampSamples, gnVUMeter, gnCPUUsage;
-       static LPSNDMIXHOOKPROC gpSndMixHook;
-       static PMIXPLUGINCREATEPROC gpMixPluginCreateProc;
-
-public:        // for Editing
-       MODCHANNEL Chn[MAX_CHANNELS];                                   // Channels
-       UINT ChnMix[MAX_CHANNELS];                                              // Channels to be mixed
-       MODINSTRUMENT Ins[MAX_SAMPLES];                                 // Instruments
-       INSTRUMENTHEADER *Headers[MAX_INSTRUMENTS];             // Instrument Headers
-       MODCHANNELSETTINGS ChnSettings[MAX_BASECHANNELS]; // Channels settings
-       MODCOMMAND *Patterns[MAX_PATTERNS];                             // Patterns
-       WORD PatternSize[MAX_PATTERNS];                                 // Patterns Lengths
-       BYTE Order[MAX_ORDERS];                                                 // Pattern Orders
-       MODMIDICFG m_MidiCfg;                                                   // Midi macro config table
-       SNDMIXPLUGIN m_MixPlugins[MAX_MIXPLUGINS];              // Mix plugins
-       UINT m_nDefaultSpeed, m_nDefaultTempo, m_nDefaultGlobalVolume;
-       DWORD m_dwSongFlags;                                                    // Song flags SONG_XXXX
-       UINT m_nChannels, m_nMixChannels, m_nMixStat, m_nBufferCount;
-       UINT m_nType, m_nSamples, m_nInstruments;
-       UINT m_nTickCount, m_nTotalCount, m_nPatternDelay, m_nFrameDelay;
-       UINT m_nMusicSpeed, m_nMusicTempo;
-       UINT m_nNextRow, m_nRow;
-       UINT m_nPattern,m_nCurrentPattern,m_nNextPattern,m_nRestartPos;
-       UINT m_nMasterVolume, m_nGlobalVolume, m_nSongPreAmp;
-       UINT m_nFreqFactor, m_nTempoFactor, m_nOldGlbVolSlide;
-       LONG m_nMinPeriod, m_nMaxPeriod, m_nRepeatCount, m_nInitialRepeatCount;
-       DWORD m_nGlobalFadeSamples, m_nGlobalFadeMaxSamples;
-       UINT m_nMaxOrderPosition;
-       UINT m_nPatternNames;
-       LPSTR m_lpszSongComments, m_lpszPatternNames;
-       char m_szNames[MAX_INSTRUMENTS][32];    // changed from CHAR
-       CHAR CompressionTable[16];
-
-public:
-       CSoundFile();
-       ~CSoundFile();
-
-public:
-       BOOL Create(LPCBYTE lpStream, DWORD dwMemLength=0);
-       BOOL Destroy();
-       UINT GetType() const { return m_nType; }
-       UINT GetNumChannels() const;
-       UINT GetLogicalChannels() const { return m_nChannels; }
-       BOOL SetMasterVolume(UINT vol, BOOL bAdjustAGC=FALSE);
-       UINT GetMasterVolume() const { return m_nMasterVolume; }
-       UINT GetNumPatterns() const;
-       UINT GetNumInstruments() const;
-       UINT GetNumSamples() const { return m_nSamples; }
-       UINT GetCurrentPos() const;
-       UINT GetCurrentPattern() const { return m_nPattern; }
-       UINT GetCurrentOrder() const { return m_nCurrentPattern; }
-       UINT GetSongComments(LPSTR s, UINT cbsize, UINT linesize=32);
-       UINT GetRawSongComments(LPSTR s, UINT cbsize, UINT linesize=32);
-       UINT GetMaxPosition() const;
-       void SetCurrentPos(UINT nPos);
-       void SetCurrentOrder(UINT nOrder);
-       void GetTitle(LPSTR s) const { lstrcpyn(s,m_szNames[0],32); }
-       LPCSTR GetTitle() const { return m_szNames[0]; }
-       UINT GetSampleName(UINT nSample,LPSTR s=NULL) const;
-       UINT GetInstrumentName(UINT nInstr,LPSTR s=NULL) const;
-       UINT GetMusicSpeed() const { return m_nMusicSpeed; }
-       UINT GetMusicTempo() const { return m_nMusicTempo; }
-       DWORD GetLength(BOOL bAdjust, BOOL bTotal=FALSE);
-       DWORD GetSongTime() { return GetLength(FALSE, TRUE); }
-       void SetRepeatCount(int n) { m_nRepeatCount = n; m_nInitialRepeatCount = n; }
-       int GetRepeatCount() const { return m_nRepeatCount; }
-       BOOL IsPaused() const { return (m_dwSongFlags & SONG_PAUSED) ? TRUE : FALSE; }
-       void LoopPattern(int nPat, int nRow=0);
-       void CheckCPUUsage(UINT nCPU);
-       BOOL SetPatternName(UINT nPat, LPCSTR lpszName);
-       BOOL GetPatternName(UINT nPat, LPSTR lpszName, UINT cbSize=MAX_PATTERNNAME) const;
-       // Module Loaders
-       BOOL ReadXM(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadS3M(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadMod(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadMed(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadMTM(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadSTM(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadIT(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL Read669(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadUlt(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadWav(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadDSM(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadFAR(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadAMS(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadAMS2(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadMDL(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadOKT(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadDMF(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadPTM(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadDBM(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadAMF(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadMT2(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadPSM(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadJ2B(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadUMX(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadABC(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL TestABC(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadMID(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL TestMID(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadPAT(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL TestPAT(LPCBYTE lpStream, DWORD dwMemLength);
-       // Save Functions
-#ifndef MODPLUG_NO_FILESAVE
-       UINT WriteSample(FILE *f, MODINSTRUMENT *pins, UINT nFlags, UINT nMaxLen=0);
-       BOOL SaveXM(LPCSTR lpszFileName, UINT nPacking=0);
-       BOOL SaveS3M(LPCSTR lpszFileName, UINT nPacking=0);
-       BOOL SaveMod(LPCSTR lpszFileName, UINT nPacking=0);
-       BOOL SaveIT(LPCSTR lpszFileName, UINT nPacking=0);
-#endif // MODPLUG_NO_FILESAVE
-       // MOD Convert function
-       UINT GetBestSaveFormat() const;
-       UINT GetSaveFormats() const;
-       void ConvertModCommand(MODCOMMAND *) const;
-       void S3MConvert(MODCOMMAND *m, BOOL bIT) const;
-       void S3MSaveConvert(UINT *pcmd, UINT *pprm, BOOL bIT) const;
-       WORD ModSaveCommand(const MODCOMMAND *m, BOOL bXM) const;
-
-public:
-       // Real-time sound functions
-       VOID ResetChannels();
-
-       UINT Read(LPVOID lpBuffer, UINT cbBuffer);
-       UINT CreateStereoMix(int count);
-       BOOL FadeSong(UINT msec);
-       BOOL GlobalFadeSong(UINT msec);
-       UINT GetTotalTickCount() const { return m_nTotalCount; }
-       VOID ResetTotalTickCount() { m_nTotalCount = 0; }
-
-public:
-       // Mixer Config
-       static BOOL InitPlayer(BOOL bReset=FALSE);
-       static BOOL SetMixConfig(UINT nStereoSeparation, UINT nMaxMixChannels);
-       static BOOL SetWaveConfig(UINT nRate,UINT nBits,UINT nChannels,BOOL bMMX=FALSE);
-       static BOOL SetResamplingMode(UINT nMode); // SRCMODE_XXXX
-       static BOOL IsStereo() { return (gnChannels > 1) ? TRUE : FALSE; }
-       static DWORD GetSampleRate() { return gdwMixingFreq; }
-       static DWORD GetBitsPerSample() { return gnBitsPerSample; }
-       static DWORD InitSysInfo();
-       static DWORD GetSysInfo() { return gdwSysInfo; }
-       // AGC
-       static BOOL GetAGC() { return (gdwSoundSetup & SNDMIX_AGC) ? TRUE : FALSE; }
-       static void SetAGC(BOOL b);
-       static void ResetAGC();
-       static void ProcessAGC(int count);
-
-       //GCCFIX -- added these functions back in!
-       static BOOL SetWaveConfigEx(BOOL bSurround,BOOL bNoOverSampling,BOOL bReverb,BOOL hqido,BOOL bMegaBass,BOOL bNR,BOOL bEQ);
-       // DSP Effects
-       static void InitializeDSP(BOOL bReset);
-       static void ProcessStereoDSP(int count);
-       static void ProcessMonoDSP(int count);
-       // [Reverb level 0(quiet)-100(loud)], [delay in ms, usually 40-200ms]
-       static BOOL SetReverbParameters(UINT nDepth, UINT nDelay);
-       // [XBass level 0(quiet)-100(loud)], [cutoff in Hz 10-100]
-       static BOOL SetXBassParameters(UINT nDepth, UINT nRange);
-       // [Surround level 0(quiet)-100(heavy)] [delay in ms, usually 5-40ms]
-       static BOOL SetSurroundParameters(UINT nDepth, UINT nDelay);
-public:
-       BOOL ReadNote();
-       BOOL ProcessRow();
-       BOOL ProcessEffects();
-       UINT GetNNAChannel(UINT nChn) const;
-       void CheckNNA(UINT nChn, UINT instr, int note, BOOL bForceCut);
-       void NoteChange(UINT nChn, int note, BOOL bPorta=FALSE, BOOL bResetEnv=TRUE);
-       void InstrumentChange(MODCHANNEL *pChn, UINT instr, BOOL bPorta=FALSE,BOOL bUpdVol=TRUE,BOOL bResetEnv=TRUE);
-       // Channel Effects
-       void PortamentoUp(MODCHANNEL *pChn, UINT param);
-       void PortamentoDown(MODCHANNEL *pChn, UINT param);
-       void FinePortamentoUp(MODCHANNEL *pChn, UINT param);
-       void FinePortamentoDown(MODCHANNEL *pChn, UINT param);
-       void ExtraFinePortamentoUp(MODCHANNEL *pChn, UINT param);
-       void ExtraFinePortamentoDown(MODCHANNEL *pChn, UINT param);
-       void TonePortamento(MODCHANNEL *pChn, UINT param);
-       void Vibrato(MODCHANNEL *pChn, UINT param);
-       void FineVibrato(MODCHANNEL *pChn, UINT param);
-       void VolumeSlide(MODCHANNEL *pChn, UINT param);
-       void PanningSlide(MODCHANNEL *pChn, UINT param);
-       void ChannelVolSlide(MODCHANNEL *pChn, UINT param);
-       void FineVolumeUp(MODCHANNEL *pChn, UINT param);
-       void FineVolumeDown(MODCHANNEL *pChn, UINT param);
-       void Tremolo(MODCHANNEL *pChn, UINT param);
-       void Panbrello(MODCHANNEL *pChn, UINT param);
-       void RetrigNote(UINT nChn, UINT param);
-       void NoteCut(UINT nChn, UINT nTick);
-       void KeyOff(UINT nChn);
-       int PatternLoop(MODCHANNEL *, UINT param);
-       void ExtendedMODCommands(UINT nChn, UINT param);
-       void ExtendedS3MCommands(UINT nChn, UINT param);
-       void ExtendedChannelEffect(MODCHANNEL *, UINT param);
-       void ProcessMidiMacro(UINT nChn, LPCSTR pszMidiMacro, UINT param=0);
-       void SetupChannelFilter(MODCHANNEL *pChn, BOOL bReset, int flt_modifier=256) const;
-       // Low-Level effect processing
-       void DoFreqSlide(MODCHANNEL *pChn, LONG nFreqSlide);
-       // Global Effects
-       void SetTempo(UINT param);
-       void SetSpeed(UINT param);
-       void GlobalVolSlide(UINT param);
-       DWORD IsSongFinished(UINT nOrder, UINT nRow) const;
-       BOOL IsValidBackwardJump(UINT nStartOrder, UINT nStartRow, UINT nJumpOrder, UINT nJumpRow) const;
-       // Read/Write sample functions
-       signed char GetDeltaValue(signed char prev, UINT n) const { return (signed char)(prev + CompressionTable[n & 0x0F]); }
-       UINT PackSample(int &sample, int next);
-       BOOL CanPackSample(LPSTR pSample, UINT nLen, UINT nPacking, BYTE *result=NULL);
-       UINT ReadSample(MODINSTRUMENT *pIns, UINT nFlags, LPCSTR pMemFile, DWORD dwMemLength);
-       BOOL DestroySample(UINT nSample);
-       BOOL DestroyInstrument(UINT nInstr);
-       BOOL IsSampleUsed(UINT nSample);
-       BOOL IsInstrumentUsed(UINT nInstr);
-       BOOL RemoveInstrumentSamples(UINT nInstr);
-       UINT DetectUnusedSamples(BOOL *);
-       BOOL RemoveSelectedSamples(BOOL *);
-       void AdjustSampleLoop(MODINSTRUMENT *pIns);
-       // I/O from another sound file
-       BOOL ReadInstrumentFromSong(UINT nInstr, CSoundFile *, UINT nSrcInstrument);
-       BOOL ReadSampleFromSong(UINT nSample, CSoundFile *, UINT nSrcSample);
-       // Period/Note functions
-       UINT GetNoteFromPeriod(UINT period) const;
-       UINT GetPeriodFromNote(UINT note, int nFineTune, UINT nC4Speed) const;
-       UINT GetFreqFromPeriod(UINT period, UINT nC4Speed, int nPeriodFrac=0) const;
-       // Misc functions
-       MODINSTRUMENT *GetSample(UINT n) { return Ins+n; }
-       void ResetMidiCfg();
-       UINT MapMidiInstrument(DWORD dwProgram, UINT nChannel, UINT nNote);
-       BOOL ITInstrToMPT(const void *p, INSTRUMENTHEADER *penv, UINT trkvers);
-       UINT SaveMixPlugins(FILE *f=NULL, BOOL bUpdate=TRUE);
-       UINT LoadMixPlugins(const void *pData, UINT nLen);
-#ifndef NO_FILTER
-       DWORD CutOffToFrequency(UINT nCutOff, int flt_modifier=256) const; // [0-255] => [1-10KHz]
-#endif
-
-       // Static helper functions
-public:
-       static DWORD TransposeToFrequency(int transp, int ftune=0);
-       static int FrequencyToTranspose(DWORD freq);
-       static void FrequencyToTranspose(MODINSTRUMENT *psmp);
-
-       // System-Dependant functions
-public:
-       static MODCOMMAND *AllocatePattern(UINT rows, UINT nchns);
-       static signed char* AllocateSample(UINT nbytes);
-       static void FreePattern(LPVOID pat);
-       static void FreeSample(LPVOID p);
-       static UINT Normalize24BitBuffer(LPBYTE pbuffer, UINT cbsizebytes, DWORD lmax24, DWORD dwByteInc);
-};
-
-
-// inline DWORD BigEndian(DWORD x) { return ((x & 0xFF) << 24) | ((x & 0xFF00) << 8) | ((x & 0xFF0000) >> 8) | ((x & 0xFF000000) >> 24); }
-// inline WORD BigEndianW(WORD x) { return (WORD)(((x >> 8) & 0xFF) | ((x << 8) & 0xFF00)); }
-
-
-//////////////////////////////////////////////////////////
-// WAVE format information
-
-#pragma pack(1)
-
-// Standard IFF chunks IDs
-#define IFFID_FORM             0x4d524f46
-#define IFFID_RIFF             0x46464952
-#define IFFID_WAVE             0x45564157
-#define IFFID_LIST             0x5453494C
-#define IFFID_INFO             0x4F464E49
-
-// IFF Info fields
-#define IFFID_ICOP             0x504F4349
-#define IFFID_IART             0x54524149
-#define IFFID_IPRD             0x44525049
-#define IFFID_INAM             0x4D414E49
-#define IFFID_ICMT             0x544D4349
-#define IFFID_IENG             0x474E4549
-#define IFFID_ISFT             0x54465349
-#define IFFID_ISBJ             0x4A425349
-#define IFFID_IGNR             0x524E4749
-#define IFFID_ICRD             0x44524349
-
-// Wave IFF chunks IDs
-#define IFFID_wave             0x65766177
-#define IFFID_fmt              0x20746D66
-#define IFFID_wsmp             0x706D7377
-#define IFFID_pcm              0x206d6370
-#define IFFID_data             0x61746164
-#define IFFID_smpl             0x6C706D73
-#define IFFID_xtra             0x61727478
-
-typedef struct WAVEFILEHEADER
-{
-       DWORD id_RIFF;          // "RIFF"
-       DWORD filesize;         // file length-8
-       DWORD id_WAVE;
-} WAVEFILEHEADER;
-
-
-typedef struct WAVEFORMATHEADER
-{
-       DWORD id_fmt;           // "fmt "
-       DWORD hdrlen;           // 16
-       WORD format;            // 1
-       WORD channels;          // 1:mono, 2:stereo
-       DWORD freqHz;           // sampling freq
-       DWORD bytessec;         // bytes/sec=freqHz*samplesize
-       WORD samplesize;        // sizeof(sample)
-       WORD bitspersample;     // bits per sample (8/16)
-} WAVEFORMATHEADER;
-
-
-typedef struct WAVEDATAHEADER
-{
-       DWORD id_data;          // "data"
-       DWORD length;           // length of data
-} WAVEDATAHEADER;
-
-
-typedef struct WAVESMPLHEADER
-{
-       // SMPL
-       DWORD smpl_id;          // "smpl"       -> 0x6C706D73
-       DWORD smpl_len;         // length of smpl: 3Ch  (54h with sustain loop)
-       DWORD dwManufacturer;
-       DWORD dwProduct;
-       DWORD dwSamplePeriod;   // 1000000000/freqHz
-       DWORD dwBaseNote;       // 3Ch = C-4 -> 60 + RelativeTone
-       DWORD dwPitchFraction;
-       DWORD dwSMPTEFormat;
-       DWORD dwSMPTEOffset;
-       DWORD dwSampleLoops;    // number of loops
-       DWORD cbSamplerData;
-} WAVESMPLHEADER;
-
-
-typedef struct SAMPLELOOPSTRUCT
-{
-       DWORD dwIdentifier;
-       DWORD dwLoopType;               // 0=normal, 1=bidi
-       DWORD dwLoopStart;
-       DWORD dwLoopEnd;                // Byte offset ?
-       DWORD dwFraction;
-       DWORD dwPlayCount;              // Loop Count, 0=infinite
-} SAMPLELOOPSTRUCT;
-
-
-typedef struct WAVESAMPLERINFO
-{
-       WAVESMPLHEADER wsiHdr;
-       SAMPLELOOPSTRUCT wsiLoops[2];
-} WAVESAMPLERINFO;
-
-
-typedef struct WAVELISTHEADER
-{
-       DWORD list_id;  // "LIST" -> 0x5453494C
-       DWORD list_len;
-       DWORD info;             // "INFO"
-} WAVELISTHEADER;
-
-
-typedef struct WAVEEXTRAHEADER
-{
-       DWORD xtra_id;  // "xtra"       -> 0x61727478
-       DWORD xtra_len;
-       DWORD dwFlags;
-       WORD  wPan;
-       WORD  wVolume;
-       WORD  wGlobalVol;
-       WORD  wReserved;
-       BYTE nVibType;
-       BYTE nVibSweep;
-       BYTE nVibDepth;
-       BYTE nVibRate;
-} WAVEEXTRAHEADER;
-
-#pragma pack()
-
-///////////////////////////////////////////////////////////
-// Low-level Mixing functions
-
-#define MIXBUFFERSIZE          512
-#define MIXING_ATTENUATION     4
-#define MIXING_CLIPMIN         (-0x08000000)
-#define MIXING_CLIPMAX         (0x07FFFFFF)
-#define VOLUMERAMPPRECISION    12
-#define FADESONGDELAY          100
-#define EQ_BUFFERSIZE          (MIXBUFFERSIZE)
-#define AGC_PRECISION          9
-#define AGC_UNITY                      (1 << AGC_PRECISION)
-
-// Calling conventions
-#ifdef MSC_VER
-#define MPPASMCALL     __cdecl
-#define MPPFASTCALL    __fastcall
-#else
-#define MPPASMCALL
-#define MPPFASTCALL
-#endif
-
-#define MOD2XMFineTune(k)      ((int)( (signed char)((k)<<4) ))
-#define XM2MODFineTune(k)      ((int)( (k>>4)&0x0f ))
-
-int _muldiv(long a, long b, long c);
-int _muldivr(long a, long b, long c);
-
-
-// Byte swapping functions from the GNU C Library and libsdl
-
-/* Swap bytes in 16 bit value.  */
-#ifdef __GNUC__
-# define bswap_16(x) \
-    (__extension__                                                           \
-     ({ unsigned short int __bsx = (x);                                              \
-        ((((__bsx) >> 8) & 0xff) | (((__bsx) & 0xff) << 8)); }))
-#else
-static __inline unsigned short int
-bswap_16 (unsigned short int __bsx)
-{
-  return ((((__bsx) >> 8) & 0xff) | (((__bsx) & 0xff) << 8));
-}
-#endif
-
-/* Swap bytes in 32 bit value.  */
-#ifdef __GNUC__
-# define bswap_32(x) \
-    (__extension__                                                           \
-     ({ unsigned int __bsx = (x);                                            \
-        ((((__bsx) & 0xff000000) >> 24) | (((__bsx) & 0x00ff0000) >>  8) |    \
-        (((__bsx) & 0x0000ff00) <<  8) | (((__bsx) & 0x000000ff) << 24)); }))
-#else
-static __inline unsigned int
-bswap_32 (unsigned int __bsx)
-{
-  return ((((__bsx) & 0xff000000) >> 24) | (((__bsx) & 0x00ff0000) >>  8) |
-         (((__bsx) & 0x0000ff00) <<  8) | (((__bsx) & 0x000000ff) << 24));
-}
-#endif
-
-#if (defined ARM) && (defined _WIN32_WCE)
-static __inline unsigned short int
-ARM_get16(const void *data)
-{
-       unsigned short int s;
-       memcpy(&s,data,sizeof(s));
-       return s;
-}
-
-static __inline unsigned int
-ARM_get32(const void *data)
-{
-       unsigned int s;
-       memcpy(&s,data,sizeof(s));
-       return s;
-}
-
-#define bswapLE16(X) ARM_get16(&X)
-#define bswapLE32(X) ARM_get32(&X)
-#define bswapBE16(X) bswap_16(ARM_get16(&X))
-#define bswapBE32(X) bswap_32(ARM_get32(&X))
-
-// From libsdl
-#elif defined(WORDS_BIGENDIAN) && WORDS_BIGENDIAN
-#define bswapLE16(X) bswap_16(X)
-#define bswapLE32(X) bswap_32(X)
-#define bswapBE16(X) (X)
-#define bswapBE32(X) (X)
-#else
-#define bswapLE16(X) (X)
-#define bswapLE32(X) (X)
-#define bswapBE16(X) bswap_16(X)
-#define bswapBE32(X) bswap_32(X)
-#endif
-
-#endif
diff --git a/misc/builddeps/dp.linux32/include/libmodplug/stdafx.h b/misc/builddeps/dp.linux32/include/libmodplug/stdafx.h
deleted file mode 100644 (file)
index 0330170..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * This source code is public domain.
- *
- * Authors: Rani Assaf <rani@magic.metawire.com>,
- *          Olivier Lapicque <olivierl@jps.net>,
- *          Adam Goode       <adam@evdebs.org> (endian and char fixes for PPC)
- */
-
-#ifndef _STDAFX_H_
-#define _STDAFX_H_
-
-/* Autoconf detection of stdint/inttypes */
-#if defined(HAVE_CONFIG_H) && !defined(CONFIG_H_INCLUDED)
-# include "config.h"
-# define CONFIG_H_INCLUDED 1
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-
-
-#ifdef _WIN32
-
-#ifdef MSC_VER
-#pragma warning (disable:4201)
-#pragma warning (disable:4514)
-#endif
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <windowsx.h>
-#include <mmsystem.h>
-#include <stdio.h>
-#include <malloc.h>
-#include <stdint.h>
-
-#define srandom(_seed)  srand(_seed)
-#define random()        rand()
-#define sleep(_ms)      Sleep(_ms)
-
-inline void ProcessPlugins(int n) {}
-
-#define strncasecmp(a,b,c)  strncmp(a,b,c)
-#define strcasecmp(a,b) strcmp(a,b)
-#define strnicmp(a,b,c)                strncasecmp(a,b,c)
-#define HAVE_SINF 1
-
-#else
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#ifdef HAVE_MALLOC_H
-#include <malloc.h>
-#endif
-
-typedef int8_t CHAR;
-typedef uint8_t UCHAR;
-typedef uint8_t* PUCHAR;
-typedef uint16_t USHORT;
-typedef uint32_t ULONG;
-typedef uint32_t UINT;
-typedef uint32_t DWORD;
-typedef int32_t LONG;
-typedef int64_t LONGLONG;
-typedef int32_t* LPLONG;
-typedef uint32_t* LPDWORD;
-typedef uint16_t WORD;
-typedef uint8_t BYTE;
-typedef uint8_t* LPBYTE;
-typedef bool BOOL;
-typedef char* LPSTR;
-typedef void* LPVOID;
-typedef uint16_t* LPWORD;
-typedef const char* LPCSTR;
-typedef void* PVOID;
-typedef void VOID;
-
-inline LONG MulDiv (long a, long b, long c)
-{
-  // if (!c) return 0;
-  return ((uint64_t) a * (uint64_t) b ) / c;
-}
-
-#define MODPLUG_NO_FILESAVE
-#define NO_AGC
-#define LPCTSTR LPCSTR
-#define lstrcpyn strncpy
-#define lstrcpy strcpy
-#define lstrcmp strcmp
-#define WAVE_FORMAT_PCM 1
-//#define ENABLE_EQ
-
-#define  GHND   0
-
-inline int8_t * GlobalAllocPtr(unsigned int, size_t size)
-{
-  int8_t * p = (int8_t *) malloc(size);
-
-  if (p != NULL) memset(p, 0, size);
-  return p;
-}
-
-inline void ProcessPlugins(int n) {}
-
-#define GlobalFreePtr(p) free((void *)(p))
-
-#define strnicmp(a,b,c)                strncasecmp(a,b,c)
-#define wsprintf                       sprintf
-
-#ifndef FALSE
-#define FALSE  false
-#endif
-
-#ifndef TRUE
-#define TRUE   true
-#endif
-
-#endif // _WIN32
-
-#endif
-
-
-
diff --git a/misc/builddeps/dp.linux32/lib/libmodplug.a b/misc/builddeps/dp.linux32/lib/libmodplug.a
deleted file mode 100644 (file)
index 4caea1f..0000000
Binary files a/misc/builddeps/dp.linux32/lib/libmodplug.a and /dev/null differ
diff --git a/misc/builddeps/dp.linux32/lib/libmodplug.la b/misc/builddeps/dp.linux32/lib/libmodplug.la
deleted file mode 100755 (executable)
index b497410..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-# libmodplug.la - a libtool library file
-# Generated by libtool (GNU libtool) 2.4
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname=''
-
-# Names of this library.
-library_names=''
-
-# The name of the static archive.
-old_library='libmodplug.a'
-
-# Linker flags that can not go in dependency_libs.
-inherited_linker_flags=''
-
-# Libraries that this one depends upon.
-dependency_libs=' -L/tmp/libmodplug-0.8.8.4.deps/lib/'
-
-# Names of additional weak libraries provided by this library
-weak_library_names=''
-
-# Version information for libmodplug.
-current=1
-age=0
-revision=0
-
-# Is this an already installed library?
-installed=yes
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=no
-
-# Files to dlopen/dlpreopen
-dlopen=''
-dlpreopen=''
-
-# Directory that this library needs to be installed in:
-libdir='/usr/local/lib'
diff --git a/misc/builddeps/dp.linux32/lib/pkgconfig/libmodplug.pc b/misc/builddeps/dp.linux32/lib/pkgconfig/libmodplug.pc
deleted file mode 100644 (file)
index 6639185..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-prefix=/usr/local
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
-
-Name: libmodplug
-Description: The ModPlug mod file playing library.
-Version: 0.8.8.4
-Requires: 
-Libs: -L${libdir} -lmodplug 
-Libs.private: -lstdc++ -lm
-Cflags: -I${includedir} -I${includedir}/libmodplug
diff --git a/misc/builddeps/dp.linux64/include/libmodplug/it_defs.h b/misc/builddeps/dp.linux64/include/libmodplug/it_defs.h
deleted file mode 100644 (file)
index 89cb456..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-#ifndef _ITDEFS_H_
-#define _ITDEFS_H_
-
-#pragma pack(1)
-
-typedef struct tagITFILEHEADER
-{
-       DWORD id;                       // 0x4D504D49
-       CHAR songname[26];
-       WORD reserved1;         // 0x1004
-       WORD ordnum;
-       WORD insnum;
-       WORD smpnum;
-       WORD patnum;
-       WORD cwtv;
-       WORD cmwt;
-       WORD flags;
-       WORD special;
-       BYTE globalvol;
-       BYTE mv;
-       BYTE speed;
-       BYTE tempo;
-       BYTE sep;
-       BYTE zero;
-       WORD msglength;
-       DWORD msgoffset;
-       DWORD reserved2;
-       BYTE chnpan[64];
-       BYTE chnvol[64];
-} ITFILEHEADER;
-
-
-typedef struct tagITENVELOPE
-{
-       BYTE flags;
-       BYTE num;
-       BYTE lpb;
-       BYTE lpe;
-       BYTE slb;
-       BYTE sle;
-       BYTE data[25*3];
-       BYTE reserved;
-} ITENVELOPE;
-
-// Old Impulse Instrument Format (cmwt < 0x200)
-typedef struct tagITOLDINSTRUMENT
-{
-       DWORD id;                       // IMPI = 0x49504D49
-       CHAR filename[12];      // DOS file name
-       BYTE zero;
-       BYTE flags;
-       BYTE vls;
-       BYTE vle;
-       BYTE sls;
-       BYTE sle;
-       WORD reserved1;
-       WORD fadeout;
-       BYTE nna;
-       BYTE dnc;
-       WORD trkvers;
-       BYTE nos;
-       BYTE reserved2;
-       CHAR name[26];
-       WORD reserved3[3];
-       BYTE keyboard[240];
-       BYTE volenv[200];
-       BYTE nodes[50];
-} ITOLDINSTRUMENT;
-
-
-// Impulse Instrument Format
-typedef struct tagITINSTRUMENT
-{
-       DWORD id;
-       CHAR filename[12];
-       BYTE zero;
-       BYTE nna;
-       BYTE dct;
-       BYTE dca;
-       WORD fadeout;
-       signed char pps;
-       BYTE ppc;
-       BYTE gbv;
-       BYTE dfp;
-       BYTE rv;
-       BYTE rp;
-       WORD trkvers;
-       BYTE nos;
-       BYTE reserved1;
-       CHAR name[26];
-       BYTE ifc;
-       BYTE ifr;
-       BYTE mch;
-       BYTE mpr;
-       WORD mbank;
-       BYTE keyboard[240];
-       ITENVELOPE volenv;
-       ITENVELOPE panenv;
-       ITENVELOPE pitchenv;
-       BYTE dummy[4]; // was 7, but IT v2.17 saves 554 bytes
-} ITINSTRUMENT;
-
-
-// IT Sample Format
-typedef struct ITSAMPLESTRUCT
-{
-       DWORD id;               // 0x53504D49
-       CHAR filename[12];
-       BYTE zero;
-       BYTE gvl;
-       BYTE flags;
-       BYTE vol;
-       CHAR name[26];
-       BYTE cvt;
-       BYTE dfp;
-       DWORD length;
-       DWORD loopbegin;
-       DWORD loopend;
-       DWORD C5Speed;
-       DWORD susloopbegin;
-       DWORD susloopend;
-       DWORD samplepointer;
-       BYTE vis;
-       BYTE vid;
-       BYTE vir;
-       BYTE vit;
-} ITSAMPLESTRUCT;
-
-#pragma pack()
-
-extern BYTE autovibit2xm[8];
-extern BYTE autovibxm2it[8];
-
-#endif
diff --git a/misc/builddeps/dp.linux64/include/libmodplug/modplug.h b/misc/builddeps/dp.linux64/include/libmodplug/modplug.h
deleted file mode 100644 (file)
index 46ea02c..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * This source code is public domain.
- *
- * Authors: Kenton Varda <temporal@gauge3d.org> (C interface wrapper)
- */
-
-#ifndef MODPLUG_H__INCLUDED
-#define MODPLUG_H__INCLUDED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct _ModPlugFile;
-typedef struct _ModPlugFile ModPlugFile;
-
-struct _ModPlugNote {
-       unsigned char Note;
-       unsigned char Instrument;
-       unsigned char VolumeEffect;
-       unsigned char Effect;
-       unsigned char Volume;
-       unsigned char Parameter;
-};
-typedef struct _ModPlugNote ModPlugNote;
-
-typedef void (*ModPlugMixerProc)(int*, unsigned long, unsigned long);
-
-/* Load a mod file.  [data] should point to a block of memory containing the complete
- * file, and [size] should be the size of that block.
- * Return the loaded mod file on success, or NULL on failure. */
-ModPlugFile* ModPlug_Load(const void* data, int size);
-/* Unload a mod file. */
-void ModPlug_Unload(ModPlugFile* file);
-
-/* Read sample data into the buffer.  Returns the number of bytes read.  If the end
- * of the mod has been reached, zero is returned. */
-int  ModPlug_Read(ModPlugFile* file, void* buffer, int size);
-
-/* Get the name of the mod.  The returned buffer is stored within the ModPlugFile
- * structure and will remain valid until you unload the file. */
-const char* ModPlug_GetName(ModPlugFile* file);
-
-/* Get the length of the mod, in milliseconds.  Note that this result is not always
- * accurate, especially in the case of mods with loops. */
-int ModPlug_GetLength(ModPlugFile* file);
-
-/* Seek to a particular position in the song.  Note that seeking and MODs don't mix very
- * well.  Some mods will be missing instruments for a short time after a seek, as ModPlug
- * does not scan the sequence backwards to find out which instruments were supposed to be
- * playing at that time.  (Doing so would be difficult and not very reliable.)  Also,
- * note that seeking is not very exact in some mods -- especially those for which
- * ModPlug_GetLength() does not report the full length. */
-void ModPlug_Seek(ModPlugFile* file, int millisecond);
-
-enum _ModPlug_Flags
-{
-       MODPLUG_ENABLE_OVERSAMPLING     = 1 << 0,  /* Enable oversampling (*highly* recommended) */
-       MODPLUG_ENABLE_NOISE_REDUCTION  = 1 << 1,  /* Enable noise reduction */
-       MODPLUG_ENABLE_REVERB           = 1 << 2,  /* Enable reverb */
-       MODPLUG_ENABLE_MEGABASS         = 1 << 3,  /* Enable megabass */
-       MODPLUG_ENABLE_SURROUND         = 1 << 4   /* Enable surround sound. */
-};
-
-enum _ModPlug_ResamplingMode
-{
-       MODPLUG_RESAMPLE_NEAREST = 0,  /* No interpolation (very fast, extremely bad sound quality) */
-       MODPLUG_RESAMPLE_LINEAR  = 1,  /* Linear interpolation (fast, good quality) */
-       MODPLUG_RESAMPLE_SPLINE  = 2,  /* Cubic spline interpolation (high quality) */
-       MODPLUG_RESAMPLE_FIR     = 3   /* 8-tap fir filter (extremely high quality) */
-};
-
-typedef struct _ModPlug_Settings
-{
-       int mFlags;  /* One or more of the MODPLUG_ENABLE_* flags above, bitwise-OR'ed */
-       
-       /* Note that ModPlug always decodes sound at 44100kHz, 32 bit, stereo and then
-        * down-mixes to the settings you choose. */
-       int mChannels;       /* Number of channels - 1 for mono or 2 for stereo */
-       int mBits;           /* Bits per sample - 8, 16, or 32 */
-       int mFrequency;      /* Sampling rate - 11025, 22050, or 44100 */
-       int mResamplingMode; /* One of MODPLUG_RESAMPLE_*, above */
-
-       int mStereoSeparation; /* Stereo separation, 1 - 256 */
-       int mMaxMixChannels; /* Maximum number of mixing channels (polyphony), 32 - 256 */
-       
-       int mReverbDepth;    /* Reverb level 0(quiet)-100(loud)      */
-       int mReverbDelay;    /* Reverb delay in ms, usually 40-200ms */
-       int mBassAmount;     /* XBass level 0(quiet)-100(loud)       */
-       int mBassRange;      /* XBass cutoff in Hz 10-100            */
-       int mSurroundDepth;  /* Surround level 0(quiet)-100(heavy)   */
-       int mSurroundDelay;  /* Surround delay in ms, usually 5-40ms */
-       int mLoopCount;      /* Number of times to loop.  Zero prevents looping.
-                               -1 loops forever. */
-} ModPlug_Settings;
-
-/* Get and set the mod decoder settings.  All options, except for channels, bits-per-sample,
- * sampling rate, and loop count, will take effect immediately.  Those options which don't
- * take effect immediately will take effect the next time you load a mod. */
-void ModPlug_GetSettings(ModPlug_Settings* settings);
-void ModPlug_SetSettings(const ModPlug_Settings* settings);
-
-/* New ModPlug API Functions */
-/* NOTE: Master Volume (1-512) */
-unsigned int ModPlug_GetMasterVolume(ModPlugFile* file) ;
-void ModPlug_SetMasterVolume(ModPlugFile* file,unsigned int cvol) ;
-
-int ModPlug_GetCurrentSpeed(ModPlugFile* file);
-int ModPlug_GetCurrentTempo(ModPlugFile* file);
-int ModPlug_GetCurrentOrder(ModPlugFile* file);
-int ModPlug_GetCurrentPattern(ModPlugFile* file);
-int ModPlug_GetCurrentRow(ModPlugFile* file);
-int ModPlug_GetPlayingChannels(ModPlugFile* file);
-
-void ModPlug_SeekOrder(ModPlugFile* file,int order);
-int ModPlug_GetModuleType(ModPlugFile* file);
-char* ModPlug_GetMessage(ModPlugFile* file);
-
-
-#ifndef MODPLUG_NO_FILESAVE
-/*
- * EXPERIMENTAL Export Functions
- */
-/*Export to a Scream Tracker 3 S3M module. EXPERIMENTAL (only works on Little-Endian platforms)*/
-char ModPlug_ExportS3M(ModPlugFile* file, const char* filepath);
-
-/*Export to a Extended Module (XM). EXPERIMENTAL (only works on Little-Endian platforms)*/
-char ModPlug_ExportXM(ModPlugFile* file, const char* filepath);
-
-/*Export to a Amiga MOD file. EXPERIMENTAL.*/
-char ModPlug_ExportMOD(ModPlugFile* file, const char* filepath);
-
-/*Export to a Impulse Tracker IT file. Should work OK in Little-Endian & Big-Endian platforms :-) */
-char ModPlug_ExportIT(ModPlugFile* file, const char* filepath);
-#endif // MODPLUG_NO_FILESAVE
-
-unsigned int ModPlug_NumInstruments(ModPlugFile* file);
-unsigned int ModPlug_NumSamples(ModPlugFile* file);
-unsigned int ModPlug_NumPatterns(ModPlugFile* file);
-unsigned int ModPlug_NumChannels(ModPlugFile* file);
-unsigned int ModPlug_SampleName(ModPlugFile* file, unsigned int qual, char* buff);
-unsigned int ModPlug_InstrumentName(ModPlugFile* file, unsigned int qual, char* buff);
-
-/*
- * Retrieve pattern note-data
- */
-ModPlugNote* ModPlug_GetPattern(ModPlugFile* file, int pattern, unsigned int* numrows);
-
-/*
- * =================
- * Mixer callback
- * =================
- *
- * Use this callback if you want to 'modify' the mixed data of LibModPlug.
- * 
- * void proc(int* buffer,unsigned long channels,unsigned long nsamples) ;
- *
- * 'buffer': A buffer of mixed samples
- * 'channels': N. of channels in the buffer
- * 'nsamples': N. of samples in the buffeer (without taking care of n.channels)
- *
- * (Samples are signed 32-bit integers)
- */
-void ModPlug_InitMixerCallback(ModPlugFile* file,ModPlugMixerProc proc) ;
-void ModPlug_UnloadMixerCallback(ModPlugFile* file) ;
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif
diff --git a/misc/builddeps/dp.linux64/include/libmodplug/sndfile.h b/misc/builddeps/dp.linux64/include/libmodplug/sndfile.h
deleted file mode 100644 (file)
index ed7d47e..0000000
+++ /dev/null
@@ -1,1017 +0,0 @@
-/*
- * This source code is public domain.
- *
- * Authors: Olivier Lapicque <olivierl@jps.net>,
- *          Adam Goode       <adam@evdebs.org> (endian and char fixes for PPC)
-*/
-
-#if defined(HAVE_CONFIG_H) && !defined(CONFIG_H_INCLUDED)
-#include "config.h"
-#define CONFIG_H_INCLUDED 1
-#endif
-
-#ifndef __SNDFILE_H
-#define __SNDFILE_H
-
-#ifdef UNDER_CE
-int _strnicmp(const char *str1,const char *str2, int n);
-#endif
-
-#ifndef LPCBYTE
-typedef const BYTE * LPCBYTE;
-#endif
-
-#define MOD_AMIGAC2                    0x1AB
-#define MAX_SAMPLE_LENGTH      16000000
-#define MAX_SAMPLE_RATE                192000
-#define MAX_ORDERS                     256
-#define MAX_PATTERNS           240
-#define MAX_SAMPLES                    240
-#define MAX_INSTRUMENTS                MAX_SAMPLES
-#ifdef MODPLUG_FASTSOUNDLIB
-#define MAX_CHANNELS           80
-#else
-#define MAX_CHANNELS           128
-#endif
-#define MAX_BASECHANNELS       64
-#define MAX_ENVPOINTS          32
-#define MIN_PERIOD                     0x0020
-#define MAX_PERIOD                     0xFFFF
-#define MAX_PATTERNNAME                32
-#define MAX_CHANNELNAME                20
-#define MAX_INFONAME           80
-#define MAX_EQ_BANDS           6
-#define MAX_MIXPLUGINS         8
-
-
-#define MOD_TYPE_NONE          0x00
-#define MOD_TYPE_MOD           0x01
-#define MOD_TYPE_S3M           0x02
-#define MOD_TYPE_XM                    0x04
-#define MOD_TYPE_MED           0x08
-#define MOD_TYPE_MTM           0x10
-#define MOD_TYPE_IT                    0x20
-#define MOD_TYPE_669           0x40
-#define MOD_TYPE_ULT           0x80
-#define MOD_TYPE_STM           0x100
-#define MOD_TYPE_FAR           0x200
-#define MOD_TYPE_WAV           0x400
-#define MOD_TYPE_AMF           0x800
-#define MOD_TYPE_AMS           0x1000
-#define MOD_TYPE_DSM           0x2000
-#define MOD_TYPE_MDL           0x4000
-#define MOD_TYPE_OKT           0x8000
-#define MOD_TYPE_MID           0x10000
-#define MOD_TYPE_DMF           0x20000
-#define MOD_TYPE_PTM           0x40000
-#define MOD_TYPE_DBM           0x80000
-#define MOD_TYPE_MT2           0x100000
-#define MOD_TYPE_AMF0          0x200000
-#define MOD_TYPE_PSM           0x400000
-#define MOD_TYPE_J2B           0x800000
-#define MOD_TYPE_ABC           0x1000000
-#define MOD_TYPE_PAT           0x2000000
-#define MOD_TYPE_UMX           0x80000000 // Fake type
-#define MAX_MODTYPE            24
-
-
-
-// Channel flags:
-// Bits 0-7:   Sample Flags
-#define CHN_16BIT               0x01
-#define CHN_LOOP                0x02
-#define CHN_PINGPONGLOOP        0x04
-#define CHN_SUSTAINLOOP         0x08
-#define CHN_PINGPONGSUSTAIN     0x10
-#define CHN_PANNING             0x20
-#define CHN_STEREO              0x40
-#define CHN_PINGPONGFLAG       0x80
-// Bits 8-31:  Channel Flags
-#define CHN_MUTE                0x100
-#define CHN_KEYOFF              0x200
-#define CHN_NOTEFADE           0x400
-#define CHN_SURROUND            0x800
-#define CHN_NOIDO               0x1000
-#define CHN_HQSRC               0x2000
-#define CHN_FILTER              0x4000
-#define CHN_VOLUMERAMP         0x8000
-#define CHN_VIBRATO             0x10000
-#define CHN_TREMOLO             0x20000
-#define CHN_PANBRELLO          0x40000
-#define CHN_PORTAMENTO         0x80000
-#define CHN_GLISSANDO          0x100000
-#define CHN_VOLENV              0x200000
-#define CHN_PANENV              0x400000
-#define CHN_PITCHENV           0x800000
-#define CHN_FASTVOLRAMP                0x1000000
-#define CHN_EXTRALOUD          0x2000000
-#define CHN_REVERB              0x4000000
-#define CHN_NOREVERB           0x8000000
-
-
-#define ENV_VOLUME              0x0001
-#define ENV_VOLSUSTAIN         0x0002
-#define ENV_VOLLOOP             0x0004
-#define ENV_PANNING             0x0008
-#define ENV_PANSUSTAIN         0x0010
-#define ENV_PANLOOP             0x0020
-#define ENV_PITCH               0x0040
-#define ENV_PITCHSUSTAIN       0x0080
-#define ENV_PITCHLOOP          0x0100
-#define ENV_SETPANNING         0x0200
-#define ENV_FILTER              0x0400
-#define ENV_VOLCARRY           0x0800
-#define ENV_PANCARRY           0x1000
-#define ENV_PITCHCARRY         0x2000
-
-#define CMD_NONE                        0
-#define CMD_ARPEGGIO                   1
-#define CMD_PORTAMENTOUP               2
-#define CMD_PORTAMENTODOWN             3
-#define CMD_TONEPORTAMENTO             4
-#define CMD_VIBRATO                     5
-#define CMD_TONEPORTAVOL               6
-#define CMD_VIBRATOVOL                 7
-#define CMD_TREMOLO                     8
-#define CMD_PANNING8                   9
-#define CMD_OFFSET                      10
-#define CMD_VOLUMESLIDE                        11
-#define CMD_POSITIONJUMP               12
-#define CMD_VOLUME                      13
-#define CMD_PATTERNBREAK               14
-#define CMD_RETRIG                      15
-#define CMD_SPEED                       16
-#define CMD_TEMPO                       17
-#define CMD_TREMOR                      18
-#define CMD_MODCMDEX                   19
-#define CMD_S3MCMDEX                   20
-#define CMD_CHANNELVOLUME              21
-#define CMD_CHANNELVOLSLIDE            22
-#define CMD_GLOBALVOLUME               23
-#define CMD_GLOBALVOLSLIDE             24
-#define CMD_KEYOFF                      25
-#define CMD_FINEVIBRATO                        26
-#define CMD_PANBRELLO                  27
-#define CMD_XFINEPORTAUPDOWN            28
-#define CMD_PANNINGSLIDE               29
-#define CMD_SETENVPOSITION             30
-#define CMD_MIDI                        31
-
-
-// Volume Column commands
-#define VOLCMD_VOLUME                  1
-#define VOLCMD_PANNING                 2
-#define VOLCMD_VOLSLIDEUP              3
-#define VOLCMD_VOLSLIDEDOWN            4
-#define VOLCMD_FINEVOLUP               5
-#define VOLCMD_FINEVOLDOWN             6
-#define VOLCMD_VIBRATOSPEED            7
-#define VOLCMD_VIBRATO                 8
-#define VOLCMD_PANSLIDELEFT            9
-#define VOLCMD_PANSLIDERIGHT           10
-#define VOLCMD_TONEPORTAMENTO          11
-#define VOLCMD_PORTAUP                 12
-#define VOLCMD_PORTADOWN               13
-
-#define RSF_16BIT              0x04
-#define RSF_STEREO             0x08
-
-#define RS_PCM8S               0       // 8-bit signed
-#define RS_PCM8U               1       // 8-bit unsigned
-#define RS_PCM8D               2       // 8-bit delta values
-#define RS_ADPCM4              3       // 4-bit ADPCM-packed
-#define RS_PCM16D              4       // 16-bit delta values
-#define RS_PCM16S              5       // 16-bit signed
-#define RS_PCM16U              6       // 16-bit unsigned
-#define RS_PCM16M              7       // 16-bit motorola order
-#define RS_STPCM8S             (RS_PCM8S|RSF_STEREO)  // stereo 8-bit signed
-#define RS_STPCM8U             (RS_PCM8U|RSF_STEREO)  // stereo 8-bit unsigned
-#define RS_STPCM8D             (RS_PCM8D|RSF_STEREO)  // stereo 8-bit delta values
-#define RS_STPCM16S            (RS_PCM16S|RSF_STEREO) // stereo 16-bit signed
-#define RS_STPCM16U            (RS_PCM16U|RSF_STEREO) // stereo 16-bit unsigned
-#define RS_STPCM16D            (RS_PCM16D|RSF_STEREO) // stereo 16-bit delta values
-#define RS_STPCM16M            (RS_PCM16M|RSF_STEREO) // stereo 16-bit signed big endian
-// IT 2.14 compressed samples
-#define RS_IT2148              0x10
-#define RS_IT21416             0x14
-#define RS_IT2158              0x12
-#define RS_IT21516             0x16
-// AMS Packed Samples
-#define RS_AMS8                        0x11
-#define RS_AMS16               0x15
-// DMF Huffman compression
-#define RS_DMF8                        0x13
-#define RS_DMF16               0x17
-// MDL Huffman compression
-#define RS_MDL8                        0x20
-#define RS_MDL16               0x24
-#define RS_PTM8DTO16   0x25
-// Stereo Interleaved Samples
-#define RS_STIPCM8S            (RS_PCM8S|0x40|RSF_STEREO)      // stereo 8-bit signed
-#define RS_STIPCM8U            (RS_PCM8U|0x40|RSF_STEREO)      // stereo 8-bit unsigned
-#define RS_STIPCM16S   (RS_PCM16S|0x40|RSF_STEREO)     // stereo 16-bit signed
-#define RS_STIPCM16U   (RS_PCM16U|0x40|RSF_STEREO)     // stereo 16-bit unsigned
-#define RS_STIPCM16M   (RS_PCM16M|0x40|RSF_STEREO)     // stereo 16-bit signed big endian
-// 24-bit signed
-#define RS_PCM24S              (RS_PCM16S|0x80)                        // mono 24-bit signed
-#define RS_STIPCM24S   (RS_PCM16S|0x80|RSF_STEREO)     // stereo 24-bit signed
-#define RS_PCM32S              (RS_PCM16S|0xC0)                        // mono 24-bit signed
-#define RS_STIPCM32S   (RS_PCM16S|0xC0|RSF_STEREO)     // stereo 24-bit signed
-
-// NNA types
-#define NNA_NOTECUT            0
-#define NNA_CONTINUE   1
-#define NNA_NOTEOFF            2
-#define NNA_NOTEFADE   3
-
-// DCT types
-#define DCT_NONE               0
-#define DCT_NOTE               1
-#define DCT_SAMPLE             2
-#define DCT_INSTRUMENT 3
-
-// DNA types
-#define DNA_NOTECUT            0
-#define DNA_NOTEOFF            1
-#define DNA_NOTEFADE   2
-
-// Mixer Hardware-Dependent features
-#define SYSMIX_ENABLEMMX       0x01
-#define SYSMIX_WINDOWSNT       0x02
-#define SYSMIX_SLOWCPU         0x04
-#define SYSMIX_FASTCPU         0x08
-
-// Module flags
-#define SONG_EMBEDMIDICFG      0x0001
-#define SONG_FASTVOLSLIDES     0x0002
-#define SONG_ITOLDEFFECTS      0x0004
-#define SONG_ITCOMPATMODE      0x0008
-#define SONG_LINEARSLIDES      0x0010
-#define SONG_PATTERNLOOP       0x0020
-#define SONG_STEP                      0x0040
-#define SONG_PAUSED                    0x0080
-#define SONG_FADINGSONG                0x0100
-#define SONG_ENDREACHED                0x0200
-#define SONG_GLOBALFADE                0x0400
-#define SONG_CPUVERYHIGH       0x0800
-#define SONG_FIRSTTICK         0x1000
-#define SONG_MPTFILTERMODE     0x2000
-#define SONG_SURROUNDPAN       0x4000
-#define SONG_EXFILTERRANGE     0x8000
-#define SONG_AMIGALIMITS       0x10000
-
-// Global Options (Renderer)
-#define SNDMIX_REVERSESTEREO   0x0001
-#define SNDMIX_NOISEREDUCTION  0x0002
-#define SNDMIX_AGC                             0x0004
-#define SNDMIX_NORESAMPLING            0x0008
-#define SNDMIX_HQRESAMPLER             0x0010
-#define SNDMIX_MEGABASS                        0x0020
-#define SNDMIX_SURROUND                        0x0040
-#define SNDMIX_REVERB                  0x0080
-#define SNDMIX_EQ                              0x0100
-#define SNDMIX_SOFTPANNING             0x0200
-#define SNDMIX_ULTRAHQSRCMODE  0x0400
-// Misc Flags (can safely be turned on or off)
-#define SNDMIX_DIRECTTODISK            0x10000
-#define SNDMIX_ENABLEMMX               0x20000
-#define SNDMIX_NOBACKWARDJUMPS 0x40000
-#define SNDMIX_MAXDEFAULTPAN   0x80000 // Used by the MOD loader
-
-
-// Reverb Types (GM2 Presets)
-enum {
-       REVERBTYPE_SMALLROOM,
-       REVERBTYPE_MEDIUMROOM,
-       REVERBTYPE_LARGEROOM,
-       REVERBTYPE_SMALLHALL,
-       REVERBTYPE_MEDIUMHALL,
-       REVERBTYPE_LARGEHALL,
-       NUM_REVERBTYPES
-};
-
-
-enum {
-       SRCMODE_NEAREST,
-       SRCMODE_LINEAR,
-       SRCMODE_SPLINE,
-       SRCMODE_POLYPHASE,
-       NUM_SRC_MODES
-};
-
-
-// Sample Struct
-typedef struct _MODINSTRUMENT
-{
-       UINT nLength,nLoopStart,nLoopEnd;
-       UINT nSustainStart, nSustainEnd;
-       signed char *pSample;
-       UINT nC4Speed;
-       WORD nPan;
-       WORD nVolume;
-       WORD nGlobalVol;
-       WORD uFlags;
-       signed char RelativeTone;
-       signed char nFineTune;
-       BYTE nVibType;
-       BYTE nVibSweep;
-       BYTE nVibDepth;
-       BYTE nVibRate;
-       CHAR name[22];
-} MODINSTRUMENT;
-
-
-// Instrument Struct
-typedef struct _INSTRUMENTHEADER
-{
-       UINT nFadeOut;
-       DWORD dwFlags;
-       WORD nGlobalVol;
-       WORD nPan;
-       WORD VolPoints[MAX_ENVPOINTS];
-       WORD PanPoints[MAX_ENVPOINTS];
-       WORD PitchPoints[MAX_ENVPOINTS];
-       BYTE VolEnv[MAX_ENVPOINTS];
-       BYTE PanEnv[MAX_ENVPOINTS];
-       BYTE PitchEnv[MAX_ENVPOINTS];
-       BYTE Keyboard[128];
-       BYTE NoteMap[128];
-
-       BYTE nVolEnv;
-       BYTE nPanEnv;
-       BYTE nPitchEnv;
-       BYTE nVolLoopStart;
-       BYTE nVolLoopEnd;
-       BYTE nVolSustainBegin;
-       BYTE nVolSustainEnd;
-       BYTE nPanLoopStart;
-       BYTE nPanLoopEnd;
-       BYTE nPanSustainBegin;
-       BYTE nPanSustainEnd;
-       BYTE nPitchLoopStart;
-       BYTE nPitchLoopEnd;
-       BYTE nPitchSustainBegin;
-       BYTE nPitchSustainEnd;
-       BYTE nNNA;
-       BYTE nDCT;
-       BYTE nDNA;
-       BYTE nPanSwing;
-       BYTE nVolSwing;
-       BYTE nIFC;
-       BYTE nIFR;
-       WORD wMidiBank;
-       BYTE nMidiProgram;
-       BYTE nMidiChannel;
-       BYTE nMidiDrumKey;
-       signed char nPPS;
-       unsigned char nPPC;
-       CHAR name[32];
-       CHAR filename[12];
-} INSTRUMENTHEADER;
-
-
-// Channel Struct
-typedef struct _MODCHANNEL
-{
-       // First 32-bytes: Most used mixing information: don't change it
-       signed char * pCurrentSample;
-       DWORD nPos;
-       DWORD nPosLo;   // actually 16-bit
-       LONG nInc;              // 16.16
-       LONG nRightVol;
-       LONG nLeftVol;
-       LONG nRightRamp;
-       LONG nLeftRamp;
-       // 2nd cache line
-       DWORD nLength;
-       DWORD dwFlags;
-       DWORD nLoopStart;
-       DWORD nLoopEnd;
-       LONG nRampRightVol;
-       LONG nRampLeftVol;
-       LONG nFilter_Y1, nFilter_Y2, nFilter_Y3, nFilter_Y4;
-       LONG nFilter_A0, nFilter_B0, nFilter_B1;
-       LONG nROfs, nLOfs;
-       LONG nRampLength;
-       // Information not used in the mixer
-       signed char * pSample;
-       LONG nNewRightVol, nNewLeftVol;
-       LONG nRealVolume, nRealPan;
-       LONG nVolume, nPan, nFadeOutVol;
-       LONG nPeriod, nC4Speed, nPortamentoDest;
-       INSTRUMENTHEADER *pHeader;
-       MODINSTRUMENT *pInstrument;
-       DWORD nVolEnvPosition, nPanEnvPosition, nPitchEnvPosition;
-       DWORD nMasterChn, nVUMeter;
-       LONG nGlobalVol, nInsVol;
-       LONG nFineTune, nTranspose;
-       LONG nPortamentoSlide, nAutoVibDepth;
-       UINT nAutoVibPos, nVibratoPos, nTremoloPos, nPanbrelloPos;
-       // 16-bit members
-       signed short nVolSwing, nPanSwing;
-       // 8-bit members
-       BYTE nNote, nNNA;
-       BYTE nNewNote, nNewIns, nCommand, nArpeggio;
-       BYTE nOldVolumeSlide, nOldFineVolUpDown;
-       BYTE nOldPortaUpDown, nOldFinePortaUpDown;
-       BYTE nOldPanSlide, nOldChnVolSlide;
-       BYTE nVibratoType, nVibratoSpeed, nVibratoDepth;
-       BYTE nTremoloType, nTremoloSpeed, nTremoloDepth;
-       BYTE nPanbrelloType, nPanbrelloSpeed, nPanbrelloDepth;
-       BYTE nOldCmdEx, nOldVolParam, nOldTempo;
-       BYTE nOldOffset, nOldHiOffset;
-       BYTE nCutOff, nResonance;
-       BYTE nRetrigCount, nRetrigParam;
-       BYTE nTremorCount, nTremorParam;
-       BYTE nPatternLoop, nPatternLoopCount;
-       BYTE nRowNote, nRowInstr;
-       BYTE nRowVolCmd, nRowVolume;
-       BYTE nRowCommand, nRowParam;
-       BYTE nLeftVU, nRightVU;
-       BYTE nActiveMacro, nPadding;
-} MODCHANNEL;
-
-
-typedef struct _MODCHANNELSETTINGS
-{
-       UINT nPan;
-       UINT nVolume;
-       DWORD dwFlags;
-       UINT nMixPlugin;
-        char szName[MAX_CHANNELNAME];        // changed from CHAR
-} MODCHANNELSETTINGS;
-
-
-typedef struct _MODCOMMAND
-{
-       BYTE note;
-       BYTE instr;
-       BYTE volcmd;
-       BYTE command;
-       BYTE vol;
-       BYTE param;
-} MODCOMMAND, *LPMODCOMMAND;
-
-////////////////////////////////////////////////////////////////////
-// Mix Plugins
-#define MIXPLUG_MIXREADY                       0x01    // Set when cleared
-
-class IMixPlugin
-{
-public:
-       virtual ~IMixPlugin();
-       virtual int AddRef() = 0;
-       virtual int Release() = 0;
-       virtual void SaveAllParameters() = 0;
-       virtual void RestoreAllParameters() = 0;
-       virtual void Process(float *pOutL, float *pOutR, unsigned long nSamples) = 0;
-       virtual void Init(unsigned long nFreq, int bReset) = 0;
-       virtual void MidiSend(DWORD dwMidiCode) = 0;
-       virtual void MidiCommand(UINT nMidiCh, UINT nMidiProg, UINT note, UINT vol) = 0;
-};
-
-
-#define MIXPLUG_INPUTF_MASTEREFFECT            0x01    // Apply to master mix
-#define MIXPLUG_INPUTF_BYPASS                  0x02    // Bypass effect
-#define MIXPLUG_INPUTF_WETMIX                  0x04    // Wet Mix (dry added)
-
-typedef struct _SNDMIXPLUGINSTATE
-{
-       DWORD dwFlags;                                  // MIXPLUG_XXXX
-       LONG nVolDecayL, nVolDecayR;    // Buffer click removal
-       int *pMixBuffer;                                // Stereo effect send buffer
-       float *pOutBufferL;                             // Temp storage for int -> float conversion
-       float *pOutBufferR;
-} SNDMIXPLUGINSTATE, *PSNDMIXPLUGINSTATE;
-
-typedef struct _SNDMIXPLUGININFO
-{
-       DWORD dwPluginId1;
-       DWORD dwPluginId2;
-       DWORD dwInputRouting;   // MIXPLUG_INPUTF_XXXX
-       DWORD dwOutputRouting;  // 0=mix 0x80+=fx
-       DWORD dwReserved[4];    // Reserved for routing info
-       CHAR szName[32];
-       CHAR szLibraryName[64]; // original DLL name
-} SNDMIXPLUGININFO, *PSNDMIXPLUGININFO; // Size should be 128
-
-typedef struct _SNDMIXPLUGIN
-{
-       IMixPlugin *pMixPlugin;
-       PSNDMIXPLUGINSTATE pMixState;
-       ULONG nPluginDataSize;
-       PVOID pPluginData;
-       SNDMIXPLUGININFO Info;
-} SNDMIXPLUGIN, *PSNDMIXPLUGIN;
-
-typedef        BOOL (*PMIXPLUGINCREATEPROC)(PSNDMIXPLUGIN);
-
-////////////////////////////////////////////////////////////////////
-
-enum {
-       MIDIOUT_START=0,
-       MIDIOUT_STOP,
-       MIDIOUT_TICK,
-       MIDIOUT_NOTEON,
-       MIDIOUT_NOTEOFF,
-       MIDIOUT_VOLUME,
-       MIDIOUT_PAN,
-       MIDIOUT_BANKSEL,
-       MIDIOUT_PROGRAM,
-};
-
-
-typedef struct MODMIDICFG
-{
-        char szMidiGlb[9*32];      // changed from CHAR
-        char szMidiSFXExt[16*32];  // changed from CHAR
-        char szMidiZXXExt[128*32]; // changed from CHAR
-} MODMIDICFG, *LPMODMIDICFG;
-
-#define NOTE_MAX                        120 //Defines maximum notevalue as well as maximum number of notes.
-
-typedef VOID (* LPSNDMIXHOOKPROC)(int *, unsigned long, unsigned long); // buffer, samples, channels
-
-
-
-//==============
-class CSoundFile
-//==============
-{
-public:        // Static Members
-       static UINT m_nXBassDepth, m_nXBassRange;
-       static UINT m_nReverbDepth, m_nReverbDelay, gnReverbType;
-       static UINT m_nProLogicDepth, m_nProLogicDelay;
-       static UINT m_nStereoSeparation;
-       static UINT m_nMaxMixChannels;
-       static LONG m_nStreamVolume;
-       static DWORD gdwSysInfo, gdwSoundSetup, gdwMixingFreq, gnBitsPerSample, gnChannels;
-       static UINT gnAGC, gnVolumeRampSamples, gnVUMeter, gnCPUUsage;
-       static LPSNDMIXHOOKPROC gpSndMixHook;
-       static PMIXPLUGINCREATEPROC gpMixPluginCreateProc;
-
-public:        // for Editing
-       MODCHANNEL Chn[MAX_CHANNELS];                                   // Channels
-       UINT ChnMix[MAX_CHANNELS];                                              // Channels to be mixed
-       MODINSTRUMENT Ins[MAX_SAMPLES];                                 // Instruments
-       INSTRUMENTHEADER *Headers[MAX_INSTRUMENTS];             // Instrument Headers
-       MODCHANNELSETTINGS ChnSettings[MAX_BASECHANNELS]; // Channels settings
-       MODCOMMAND *Patterns[MAX_PATTERNS];                             // Patterns
-       WORD PatternSize[MAX_PATTERNS];                                 // Patterns Lengths
-       BYTE Order[MAX_ORDERS];                                                 // Pattern Orders
-       MODMIDICFG m_MidiCfg;                                                   // Midi macro config table
-       SNDMIXPLUGIN m_MixPlugins[MAX_MIXPLUGINS];              // Mix plugins
-       UINT m_nDefaultSpeed, m_nDefaultTempo, m_nDefaultGlobalVolume;
-       DWORD m_dwSongFlags;                                                    // Song flags SONG_XXXX
-       UINT m_nChannels, m_nMixChannels, m_nMixStat, m_nBufferCount;
-       UINT m_nType, m_nSamples, m_nInstruments;
-       UINT m_nTickCount, m_nTotalCount, m_nPatternDelay, m_nFrameDelay;
-       UINT m_nMusicSpeed, m_nMusicTempo;
-       UINT m_nNextRow, m_nRow;
-       UINT m_nPattern,m_nCurrentPattern,m_nNextPattern,m_nRestartPos;
-       UINT m_nMasterVolume, m_nGlobalVolume, m_nSongPreAmp;
-       UINT m_nFreqFactor, m_nTempoFactor, m_nOldGlbVolSlide;
-       LONG m_nMinPeriod, m_nMaxPeriod, m_nRepeatCount, m_nInitialRepeatCount;
-       DWORD m_nGlobalFadeSamples, m_nGlobalFadeMaxSamples;
-       UINT m_nMaxOrderPosition;
-       UINT m_nPatternNames;
-       LPSTR m_lpszSongComments, m_lpszPatternNames;
-       char m_szNames[MAX_INSTRUMENTS][32];    // changed from CHAR
-       CHAR CompressionTable[16];
-
-public:
-       CSoundFile();
-       ~CSoundFile();
-
-public:
-       BOOL Create(LPCBYTE lpStream, DWORD dwMemLength=0);
-       BOOL Destroy();
-       UINT GetType() const { return m_nType; }
-       UINT GetNumChannels() const;
-       UINT GetLogicalChannels() const { return m_nChannels; }
-       BOOL SetMasterVolume(UINT vol, BOOL bAdjustAGC=FALSE);
-       UINT GetMasterVolume() const { return m_nMasterVolume; }
-       UINT GetNumPatterns() const;
-       UINT GetNumInstruments() const;
-       UINT GetNumSamples() const { return m_nSamples; }
-       UINT GetCurrentPos() const;
-       UINT GetCurrentPattern() const { return m_nPattern; }
-       UINT GetCurrentOrder() const { return m_nCurrentPattern; }
-       UINT GetSongComments(LPSTR s, UINT cbsize, UINT linesize=32);
-       UINT GetRawSongComments(LPSTR s, UINT cbsize, UINT linesize=32);
-       UINT GetMaxPosition() const;
-       void SetCurrentPos(UINT nPos);
-       void SetCurrentOrder(UINT nOrder);
-       void GetTitle(LPSTR s) const { lstrcpyn(s,m_szNames[0],32); }
-       LPCSTR GetTitle() const { return m_szNames[0]; }
-       UINT GetSampleName(UINT nSample,LPSTR s=NULL) const;
-       UINT GetInstrumentName(UINT nInstr,LPSTR s=NULL) const;
-       UINT GetMusicSpeed() const { return m_nMusicSpeed; }
-       UINT GetMusicTempo() const { return m_nMusicTempo; }
-       DWORD GetLength(BOOL bAdjust, BOOL bTotal=FALSE);
-       DWORD GetSongTime() { return GetLength(FALSE, TRUE); }
-       void SetRepeatCount(int n) { m_nRepeatCount = n; m_nInitialRepeatCount = n; }
-       int GetRepeatCount() const { return m_nRepeatCount; }
-       BOOL IsPaused() const { return (m_dwSongFlags & SONG_PAUSED) ? TRUE : FALSE; }
-       void LoopPattern(int nPat, int nRow=0);
-       void CheckCPUUsage(UINT nCPU);
-       BOOL SetPatternName(UINT nPat, LPCSTR lpszName);
-       BOOL GetPatternName(UINT nPat, LPSTR lpszName, UINT cbSize=MAX_PATTERNNAME) const;
-       // Module Loaders
-       BOOL ReadXM(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadS3M(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadMod(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadMed(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadMTM(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadSTM(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadIT(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL Read669(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadUlt(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadWav(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadDSM(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadFAR(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadAMS(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadAMS2(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadMDL(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadOKT(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadDMF(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadPTM(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadDBM(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadAMF(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadMT2(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadPSM(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadJ2B(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadUMX(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadABC(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL TestABC(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadMID(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL TestMID(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL ReadPAT(LPCBYTE lpStream, DWORD dwMemLength);
-       BOOL TestPAT(LPCBYTE lpStream, DWORD dwMemLength);
-       // Save Functions
-#ifndef MODPLUG_NO_FILESAVE
-       UINT WriteSample(FILE *f, MODINSTRUMENT *pins, UINT nFlags, UINT nMaxLen=0);
-       BOOL SaveXM(LPCSTR lpszFileName, UINT nPacking=0);
-       BOOL SaveS3M(LPCSTR lpszFileName, UINT nPacking=0);
-       BOOL SaveMod(LPCSTR lpszFileName, UINT nPacking=0);
-       BOOL SaveIT(LPCSTR lpszFileName, UINT nPacking=0);
-#endif // MODPLUG_NO_FILESAVE
-       // MOD Convert function
-       UINT GetBestSaveFormat() const;
-       UINT GetSaveFormats() const;
-       void ConvertModCommand(MODCOMMAND *) const;
-       void S3MConvert(MODCOMMAND *m, BOOL bIT) const;
-       void S3MSaveConvert(UINT *pcmd, UINT *pprm, BOOL bIT) const;
-       WORD ModSaveCommand(const MODCOMMAND *m, BOOL bXM) const;
-
-public:
-       // Real-time sound functions
-       VOID ResetChannels();
-
-       UINT Read(LPVOID lpBuffer, UINT cbBuffer);
-       UINT CreateStereoMix(int count);
-       BOOL FadeSong(UINT msec);
-       BOOL GlobalFadeSong(UINT msec);
-       UINT GetTotalTickCount() const { return m_nTotalCount; }
-       VOID ResetTotalTickCount() { m_nTotalCount = 0; }
-
-public:
-       // Mixer Config
-       static BOOL InitPlayer(BOOL bReset=FALSE);
-       static BOOL SetMixConfig(UINT nStereoSeparation, UINT nMaxMixChannels);
-       static BOOL SetWaveConfig(UINT nRate,UINT nBits,UINT nChannels,BOOL bMMX=FALSE);
-       static BOOL SetResamplingMode(UINT nMode); // SRCMODE_XXXX
-       static BOOL IsStereo() { return (gnChannels > 1) ? TRUE : FALSE; }
-       static DWORD GetSampleRate() { return gdwMixingFreq; }
-       static DWORD GetBitsPerSample() { return gnBitsPerSample; }
-       static DWORD InitSysInfo();
-       static DWORD GetSysInfo() { return gdwSysInfo; }
-       // AGC
-       static BOOL GetAGC() { return (gdwSoundSetup & SNDMIX_AGC) ? TRUE : FALSE; }
-       static void SetAGC(BOOL b);
-       static void ResetAGC();
-       static void ProcessAGC(int count);
-
-       //GCCFIX -- added these functions back in!
-       static BOOL SetWaveConfigEx(BOOL bSurround,BOOL bNoOverSampling,BOOL bReverb,BOOL hqido,BOOL bMegaBass,BOOL bNR,BOOL bEQ);
-       // DSP Effects
-       static void InitializeDSP(BOOL bReset);
-       static void ProcessStereoDSP(int count);
-       static void ProcessMonoDSP(int count);
-       // [Reverb level 0(quiet)-100(loud)], [delay in ms, usually 40-200ms]
-       static BOOL SetReverbParameters(UINT nDepth, UINT nDelay);
-       // [XBass level 0(quiet)-100(loud)], [cutoff in Hz 10-100]
-       static BOOL SetXBassParameters(UINT nDepth, UINT nRange);
-       // [Surround level 0(quiet)-100(heavy)] [delay in ms, usually 5-40ms]
-       static BOOL SetSurroundParameters(UINT nDepth, UINT nDelay);
-public:
-       BOOL ReadNote();
-       BOOL ProcessRow();
-       BOOL ProcessEffects();
-       UINT GetNNAChannel(UINT nChn) const;
-       void CheckNNA(UINT nChn, UINT instr, int note, BOOL bForceCut);
-       void NoteChange(UINT nChn, int note, BOOL bPorta=FALSE, BOOL bResetEnv=TRUE);
-       void InstrumentChange(MODCHANNEL *pChn, UINT instr, BOOL bPorta=FALSE,BOOL bUpdVol=TRUE,BOOL bResetEnv=TRUE);
-       // Channel Effects
-       void PortamentoUp(MODCHANNEL *pChn, UINT param);
-       void PortamentoDown(MODCHANNEL *pChn, UINT param);
-       void FinePortamentoUp(MODCHANNEL *pChn, UINT param);
-       void FinePortamentoDown(MODCHANNEL *pChn, UINT param);
-       void ExtraFinePortamentoUp(MODCHANNEL *pChn, UINT param);
-       void ExtraFinePortamentoDown(MODCHANNEL *pChn, UINT param);
-       void TonePortamento(MODCHANNEL *pChn, UINT param);
-       void Vibrato(MODCHANNEL *pChn, UINT param);
-       void FineVibrato(MODCHANNEL *pChn, UINT param);
-       void VolumeSlide(MODCHANNEL *pChn, UINT param);
-       void PanningSlide(MODCHANNEL *pChn, UINT param);
-       void ChannelVolSlide(MODCHANNEL *pChn, UINT param);
-       void FineVolumeUp(MODCHANNEL *pChn, UINT param);
-       void FineVolumeDown(MODCHANNEL *pChn, UINT param);
-       void Tremolo(MODCHANNEL *pChn, UINT param);
-       void Panbrello(MODCHANNEL *pChn, UINT param);
-       void RetrigNote(UINT nChn, UINT param);
-       void NoteCut(UINT nChn, UINT nTick);
-       void KeyOff(UINT nChn);
-       int PatternLoop(MODCHANNEL *, UINT param);
-       void ExtendedMODCommands(UINT nChn, UINT param);
-       void ExtendedS3MCommands(UINT nChn, UINT param);
-       void ExtendedChannelEffect(MODCHANNEL *, UINT param);
-       void ProcessMidiMacro(UINT nChn, LPCSTR pszMidiMacro, UINT param=0);
-       void SetupChannelFilter(MODCHANNEL *pChn, BOOL bReset, int flt_modifier=256) const;
-       // Low-Level effect processing
-       void DoFreqSlide(MODCHANNEL *pChn, LONG nFreqSlide);
-       // Global Effects
-       void SetTempo(UINT param);
-       void SetSpeed(UINT param);
-       void GlobalVolSlide(UINT param);
-       DWORD IsSongFinished(UINT nOrder, UINT nRow) const;
-       BOOL IsValidBackwardJump(UINT nStartOrder, UINT nStartRow, UINT nJumpOrder, UINT nJumpRow) const;
-       // Read/Write sample functions
-       signed char GetDeltaValue(signed char prev, UINT n) const { return (signed char)(prev + CompressionTable[n & 0x0F]); }
-       UINT PackSample(int &sample, int next);
-       BOOL CanPackSample(LPSTR pSample, UINT nLen, UINT nPacking, BYTE *result=NULL);
-       UINT ReadSample(MODINSTRUMENT *pIns, UINT nFlags, LPCSTR pMemFile, DWORD dwMemLength);
-       BOOL DestroySample(UINT nSample);
-       BOOL DestroyInstrument(UINT nInstr);
-       BOOL IsSampleUsed(UINT nSample);
-       BOOL IsInstrumentUsed(UINT nInstr);
-       BOOL RemoveInstrumentSamples(UINT nInstr);
-       UINT DetectUnusedSamples(BOOL *);
-       BOOL RemoveSelectedSamples(BOOL *);
-       void AdjustSampleLoop(MODINSTRUMENT *pIns);
-       // I/O from another sound file
-       BOOL ReadInstrumentFromSong(UINT nInstr, CSoundFile *, UINT nSrcInstrument);
-       BOOL ReadSampleFromSong(UINT nSample, CSoundFile *, UINT nSrcSample);
-       // Period/Note functions
-       UINT GetNoteFromPeriod(UINT period) const;
-       UINT GetPeriodFromNote(UINT note, int nFineTune, UINT nC4Speed) const;
-       UINT GetFreqFromPeriod(UINT period, UINT nC4Speed, int nPeriodFrac=0) const;
-       // Misc functions
-       MODINSTRUMENT *GetSample(UINT n) { return Ins+n; }
-       void ResetMidiCfg();
-       UINT MapMidiInstrument(DWORD dwProgram, UINT nChannel, UINT nNote);
-       BOOL ITInstrToMPT(const void *p, INSTRUMENTHEADER *penv, UINT trkvers);
-       UINT SaveMixPlugins(FILE *f=NULL, BOOL bUpdate=TRUE);
-       UINT LoadMixPlugins(const void *pData, UINT nLen);
-#ifndef NO_FILTER
-       DWORD CutOffToFrequency(UINT nCutOff, int flt_modifier=256) const; // [0-255] => [1-10KHz]
-#endif
-
-       // Static helper functions
-public:
-       static DWORD TransposeToFrequency(int transp, int ftune=0);
-       static int FrequencyToTranspose(DWORD freq);
-       static void FrequencyToTranspose(MODINSTRUMENT *psmp);
-
-       // System-Dependant functions
-public:
-       static MODCOMMAND *AllocatePattern(UINT rows, UINT nchns);
-       static signed char* AllocateSample(UINT nbytes);
-       static void FreePattern(LPVOID pat);
-       static void FreeSample(LPVOID p);
-       static UINT Normalize24BitBuffer(LPBYTE pbuffer, UINT cbsizebytes, DWORD lmax24, DWORD dwByteInc);
-};
-
-
-// inline DWORD BigEndian(DWORD x) { return ((x & 0xFF) << 24) | ((x & 0xFF00) << 8) | ((x & 0xFF0000) >> 8) | ((x & 0xFF000000) >> 24); }
-// inline WORD BigEndianW(WORD x) { return (WORD)(((x >> 8) & 0xFF) | ((x << 8) & 0xFF00)); }
-
-
-//////////////////////////////////////////////////////////
-// WAVE format information
-
-#pragma pack(1)
-
-// Standard IFF chunks IDs
-#define IFFID_FORM             0x4d524f46
-#define IFFID_RIFF             0x46464952
-#define IFFID_WAVE             0x45564157
-#define IFFID_LIST             0x5453494C
-#define IFFID_INFO             0x4F464E49
-
-// IFF Info fields
-#define IFFID_ICOP             0x504F4349
-#define IFFID_IART             0x54524149
-#define IFFID_IPRD             0x44525049
-#define IFFID_INAM             0x4D414E49
-#define IFFID_ICMT             0x544D4349
-#define IFFID_IENG             0x474E4549
-#define IFFID_ISFT             0x54465349
-#define IFFID_ISBJ             0x4A425349
-#define IFFID_IGNR             0x524E4749
-#define IFFID_ICRD             0x44524349
-
-// Wave IFF chunks IDs
-#define IFFID_wave             0x65766177
-#define IFFID_fmt              0x20746D66
-#define IFFID_wsmp             0x706D7377
-#define IFFID_pcm              0x206d6370
-#define IFFID_data             0x61746164
-#define IFFID_smpl             0x6C706D73
-#define IFFID_xtra             0x61727478
-
-typedef struct WAVEFILEHEADER
-{
-       DWORD id_RIFF;          // "RIFF"
-       DWORD filesize;         // file length-8
-       DWORD id_WAVE;
-} WAVEFILEHEADER;
-
-
-typedef struct WAVEFORMATHEADER
-{
-       DWORD id_fmt;           // "fmt "
-       DWORD hdrlen;           // 16
-       WORD format;            // 1
-       WORD channels;          // 1:mono, 2:stereo
-       DWORD freqHz;           // sampling freq
-       DWORD bytessec;         // bytes/sec=freqHz*samplesize
-       WORD samplesize;        // sizeof(sample)
-       WORD bitspersample;     // bits per sample (8/16)
-} WAVEFORMATHEADER;
-
-
-typedef struct WAVEDATAHEADER
-{
-       DWORD id_data;          // "data"
-       DWORD length;           // length of data
-} WAVEDATAHEADER;
-
-
-typedef struct WAVESMPLHEADER
-{
-       // SMPL
-       DWORD smpl_id;          // "smpl"       -> 0x6C706D73
-       DWORD smpl_len;         // length of smpl: 3Ch  (54h with sustain loop)
-       DWORD dwManufacturer;
-       DWORD dwProduct;
-       DWORD dwSamplePeriod;   // 1000000000/freqHz
-       DWORD dwBaseNote;       // 3Ch = C-4 -> 60 + RelativeTone
-       DWORD dwPitchFraction;
-       DWORD dwSMPTEFormat;
-       DWORD dwSMPTEOffset;
-       DWORD dwSampleLoops;    // number of loops
-       DWORD cbSamplerData;
-} WAVESMPLHEADER;
-
-
-typedef struct SAMPLELOOPSTRUCT
-{
-       DWORD dwIdentifier;
-       DWORD dwLoopType;               // 0=normal, 1=bidi
-       DWORD dwLoopStart;
-       DWORD dwLoopEnd;                // Byte offset ?
-       DWORD dwFraction;
-       DWORD dwPlayCount;              // Loop Count, 0=infinite
-} SAMPLELOOPSTRUCT;
-
-
-typedef struct WAVESAMPLERINFO
-{
-       WAVESMPLHEADER wsiHdr;
-       SAMPLELOOPSTRUCT wsiLoops[2];
-} WAVESAMPLERINFO;
-
-
-typedef struct WAVELISTHEADER
-{
-       DWORD list_id;  // "LIST" -> 0x5453494C
-       DWORD list_len;
-       DWORD info;             // "INFO"
-} WAVELISTHEADER;
-
-
-typedef struct WAVEEXTRAHEADER
-{
-       DWORD xtra_id;  // "xtra"       -> 0x61727478
-       DWORD xtra_len;
-       DWORD dwFlags;
-       WORD  wPan;
-       WORD  wVolume;
-       WORD  wGlobalVol;
-       WORD  wReserved;
-       BYTE nVibType;
-       BYTE nVibSweep;
-       BYTE nVibDepth;
-       BYTE nVibRate;
-} WAVEEXTRAHEADER;
-
-#pragma pack()
-
-///////////////////////////////////////////////////////////
-// Low-level Mixing functions
-
-#define MIXBUFFERSIZE          512
-#define MIXING_ATTENUATION     4
-#define MIXING_CLIPMIN         (-0x08000000)
-#define MIXING_CLIPMAX         (0x07FFFFFF)
-#define VOLUMERAMPPRECISION    12
-#define FADESONGDELAY          100
-#define EQ_BUFFERSIZE          (MIXBUFFERSIZE)
-#define AGC_PRECISION          9
-#define AGC_UNITY                      (1 << AGC_PRECISION)
-
-// Calling conventions
-#ifdef MSC_VER
-#define MPPASMCALL     __cdecl
-#define MPPFASTCALL    __fastcall
-#else
-#define MPPASMCALL
-#define MPPFASTCALL
-#endif
-
-#define MOD2XMFineTune(k)      ((int)( (signed char)((k)<<4) ))
-#define XM2MODFineTune(k)      ((int)( (k>>4)&0x0f ))
-
-int _muldiv(long a, long b, long c);
-int _muldivr(long a, long b, long c);
-
-
-// Byte swapping functions from the GNU C Library and libsdl
-
-/* Swap bytes in 16 bit value.  */
-#ifdef __GNUC__
-# define bswap_16(x) \
-    (__extension__                                                           \
-     ({ unsigned short int __bsx = (x);                                              \
-        ((((__bsx) >> 8) & 0xff) | (((__bsx) & 0xff) << 8)); }))
-#else
-static __inline unsigned short int
-bswap_16 (unsigned short int __bsx)
-{
-  return ((((__bsx) >> 8) & 0xff) | (((__bsx) & 0xff) << 8));
-}
-#endif
-
-/* Swap bytes in 32 bit value.  */
-#ifdef __GNUC__
-# define bswap_32(x) \
-    (__extension__                                                           \
-     ({ unsigned int __bsx = (x);                                            \
-        ((((__bsx) & 0xff000000) >> 24) | (((__bsx) & 0x00ff0000) >>  8) |    \
-        (((__bsx) & 0x0000ff00) <<  8) | (((__bsx) & 0x000000ff) << 24)); }))
-#else
-static __inline unsigned int
-bswap_32 (unsigned int __bsx)
-{
-  return ((((__bsx) & 0xff000000) >> 24) | (((__bsx) & 0x00ff0000) >>  8) |
-         (((__bsx) & 0x0000ff00) <<  8) | (((__bsx) & 0x000000ff) << 24));
-}
-#endif
-
-#if (defined ARM) && (defined _WIN32_WCE)
-static __inline unsigned short int
-ARM_get16(const void *data)
-{
-       unsigned short int s;
-       memcpy(&s,data,sizeof(s));
-       return s;
-}
-
-static __inline unsigned int
-ARM_get32(const void *data)
-{
-       unsigned int s;
-       memcpy(&s,data,sizeof(s));
-       return s;
-}
-
-#define bswapLE16(X) ARM_get16(&X)
-#define bswapLE32(X) ARM_get32(&X)
-#define bswapBE16(X) bswap_16(ARM_get16(&X))
-#define bswapBE32(X) bswap_32(ARM_get32(&X))
-
-// From libsdl
-#elif defined(WORDS_BIGENDIAN) && WORDS_BIGENDIAN
-#define bswapLE16(X) bswap_16(X)
-#define bswapLE32(X) bswap_32(X)
-#define bswapBE16(X) (X)
-#define bswapBE32(X) (X)
-#else
-#define bswapLE16(X) (X)
-#define bswapLE32(X) (X)
-#define bswapBE16(X) bswap_16(X)
-#define bswapBE32(X) bswap_32(X)
-#endif
-
-#endif
diff --git a/misc/builddeps/dp.linux64/include/libmodplug/stdafx.h b/misc/builddeps/dp.linux64/include/libmodplug/stdafx.h
deleted file mode 100644 (file)
index 0330170..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * This source code is public domain.
- *
- * Authors: Rani Assaf <rani@magic.metawire.com>,
- *          Olivier Lapicque <olivierl@jps.net>,
- *          Adam Goode       <adam@evdebs.org> (endian and char fixes for PPC)
- */
-
-#ifndef _STDAFX_H_
-#define _STDAFX_H_
-
-/* Autoconf detection of stdint/inttypes */
-#if defined(HAVE_CONFIG_H) && !defined(CONFIG_H_INCLUDED)
-# include "config.h"
-# define CONFIG_H_INCLUDED 1
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-
-
-#ifdef _WIN32
-
-#ifdef MSC_VER
-#pragma warning (disable:4201)
-#pragma warning (disable:4514)
-#endif
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <windowsx.h>
-#include <mmsystem.h>
-#include <stdio.h>
-#include <malloc.h>
-#include <stdint.h>
-
-#define srandom(_seed)  srand(_seed)
-#define random()        rand()
-#define sleep(_ms)      Sleep(_ms)
-
-inline void ProcessPlugins(int n) {}
-
-#define strncasecmp(a,b,c)  strncmp(a,b,c)
-#define strcasecmp(a,b) strcmp(a,b)
-#define strnicmp(a,b,c)                strncasecmp(a,b,c)
-#define HAVE_SINF 1
-
-#else
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#ifdef HAVE_MALLOC_H
-#include <malloc.h>
-#endif
-
-typedef int8_t CHAR;
-typedef uint8_t UCHAR;
-typedef uint8_t* PUCHAR;
-typedef uint16_t USHORT;
-typedef uint32_t ULONG;
-typedef uint32_t UINT;
-typedef uint32_t DWORD;
-typedef int32_t LONG;
-typedef int64_t LONGLONG;
-typedef int32_t* LPLONG;
-typedef uint32_t* LPDWORD;
-typedef uint16_t WORD;
-typedef uint8_t BYTE;
-typedef uint8_t* LPBYTE;
-typedef bool BOOL;
-typedef char* LPSTR;
-typedef void* LPVOID;
-typedef uint16_t* LPWORD;
-typedef const char* LPCSTR;
-typedef void* PVOID;
-typedef void VOID;
-
-inline LONG MulDiv (long a, long b, long c)
-{
-  // if (!c) return 0;
-  return ((uint64_t) a * (uint64_t) b ) / c;
-}
-
-#define MODPLUG_NO_FILESAVE
-#define NO_AGC
-#define LPCTSTR LPCSTR
-#define lstrcpyn strncpy
-#define lstrcpy strcpy
-#define lstrcmp strcmp
-#define WAVE_FORMAT_PCM 1
-//#define ENABLE_EQ
-
-#define  GHND   0
-
-inline int8_t * GlobalAllocPtr(unsigned int, size_t size)
-{
-  int8_t * p = (int8_t *) malloc(size);
-
-  if (p != NULL) memset(p, 0, size);
-  return p;
-}
-
-inline void ProcessPlugins(int n) {}
-
-#define GlobalFreePtr(p) free((void *)(p))
-
-#define strnicmp(a,b,c)                strncasecmp(a,b,c)
-#define wsprintf                       sprintf
-
-#ifndef FALSE
-#define FALSE  false
-#endif
-
-#ifndef TRUE
-#define TRUE   true
-#endif
-
-#endif // _WIN32
-
-#endif
-
-
-
diff --git a/misc/builddeps/dp.linux64/lib/libmodplug.a b/misc/builddeps/dp.linux64/lib/libmodplug.a
deleted file mode 100644 (file)
index c237c7c..0000000
Binary files a/misc/builddeps/dp.linux64/lib/libmodplug.a and /dev/null differ
diff --git a/misc/builddeps/dp.linux64/lib/libmodplug.la b/misc/builddeps/dp.linux64/lib/libmodplug.la
deleted file mode 100755 (executable)
index b497410..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-# libmodplug.la - a libtool library file
-# Generated by libtool (GNU libtool) 2.4
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname=''
-
-# Names of this library.
-library_names=''
-
-# The name of the static archive.
-old_library='libmodplug.a'
-
-# Linker flags that can not go in dependency_libs.
-inherited_linker_flags=''
-
-# Libraries that this one depends upon.
-dependency_libs=' -L/tmp/libmodplug-0.8.8.4.deps/lib/'
-
-# Names of additional weak libraries provided by this library
-weak_library_names=''
-
-# Version information for libmodplug.
-current=1
-age=0
-revision=0
-
-# Is this an already installed library?
-installed=yes
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=no
-
-# Files to dlopen/dlpreopen
-dlopen=''
-dlpreopen=''
-
-# Directory that this library needs to be installed in:
-libdir='/usr/local/lib'
diff --git a/misc/builddeps/dp.linux64/lib/pkgconfig/libmodplug.pc b/misc/builddeps/dp.linux64/lib/pkgconfig/libmodplug.pc
deleted file mode 100644 (file)
index 6639185..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-prefix=/usr/local
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
-
-Name: libmodplug
-Description: The ModPlug mod file playing library.
-Version: 0.8.8.4
-Requires: 
-Libs: -L${libdir} -lmodplug 
-Libs.private: -lstdc++ -lm
-Cflags: -I${includedir} -I${includedir}/libmodplug
diff --git a/misc/buildfiles/osx/Xonotic.app/Contents/MacOS/libmodplug.1.dylib b/misc/buildfiles/osx/Xonotic.app/Contents/MacOS/libmodplug.1.dylib
deleted file mode 100755 (executable)
index 9a8b51e..0000000
Binary files a/misc/buildfiles/osx/Xonotic.app/Contents/MacOS/libmodplug.1.dylib and /dev/null differ
diff --git a/misc/buildfiles/osx/Xonotic.app/Contents/MacOS/libmodplug.dylib b/misc/buildfiles/osx/Xonotic.app/Contents/MacOS/libmodplug.dylib
deleted file mode 120000 (symlink)
index 2848679..0000000
+++ /dev/null
@@ -1 +0,0 @@
-libmodplug.1.dylib
\ No newline at end of file
diff --git a/misc/buildfiles/win32/libmodplug-1.dll b/misc/buildfiles/win32/libmodplug-1.dll
deleted file mode 100755 (executable)
index e51892b..0000000
Binary files a/misc/buildfiles/win32/libmodplug-1.dll and /dev/null differ
diff --git a/misc/buildfiles/win64/libmodplug-1.dll b/misc/buildfiles/win64/libmodplug-1.dll
deleted file mode 100755 (executable)
index a036c27..0000000
Binary files a/misc/buildfiles/win64/libmodplug-1.dll and /dev/null differ
index 8fdbd50119a80b01195a9ebb794be18e1ac40b73..0004c575cd79556e80ee065a27dbfeee33cc3759 100644 (file)
@@ -264,14 +264,14 @@ case "$cmd" in
        release-engine-win32)
                release_common
                verbose "$SELF" release-compile win32 \
-                       'STRIP=: DP_MAKE_TARGET=mingw UNAME=MINGW32 CC="i586-mingw32msvc-gcc -g1 -Wl,--dynamicbase -Wl,--nxcompat -I.deps/include -L.deps/lib -DUSE_WSPIAPI_H -DSUPPORTIPV6" WINDRES="i586-mingw32msvc-windres" SDL_CONFIG=".deps/bin/sdl-config" LIB_JPEG= LIB_ODE= CFLAGS_ODE=-DUSEODE CFLAGS_LIBJPEG= WIN32RELEASE=1 D3D=1' \
+                       'STRIP=: DP_MAKE_TARGET=mingw UNAME=MINGW32 CC="i586-mingw32msvc-gcc -g1 -Wl,--dynamicbase -Wl,--nxcompat -I.deps/include -L.deps/lib -DUSE_WSPIAPI_H -DSUPPORTIPV6" WINDRES="i586-mingw32msvc-windres" SDL_CONFIG=".deps/bin/sdl-config" LIB_JPEG= CFLAGS_LIBJPEG= WIN32RELEASE=1 D3D=1' \
                        gmqcc.exe 'gmqcc.exe:Xonotic/gmqcc/gmqcc.exe' \
                        release 'darkplaces.exe:Xonotic/xonotic.exe darkplaces-sdl.exe:Xonotic/xonotic-sdl.exe darkplaces-dedicated.exe:Xonotic/xonotic-dedicated.exe'
                ;;
        release-engine-win64)
                release_common
                verbose "$SELF" release-compile win64 \
-                       'STRIP=: DP_MAKE_TARGET=mingw UNAME=MINGW32 CC="amd64-mingw32msvc-gcc -g1 -Wl,--dynamicbase -Wl,--nxcompat -I.deps/include -L.deps/lib -DSUPPORTIPV6" WINDRES="amd64-mingw32msvc-windres" SDL_CONFIG=".deps/bin/sdl-config" LIB_JPEG= CFLAGS_LIBJPEG= LIB_ODE= CFLAGS_ODE=-DUSEODE WIN64RELEASE=1 D3D=1' \
+                       'STRIP=: DP_MAKE_TARGET=mingw UNAME=MINGW32 CC="amd64-mingw32msvc-gcc -g1 -Wl,--dynamicbase -Wl,--nxcompat -I.deps/include -L.deps/lib -DSUPPORTIPV6" WINDRES="amd64-mingw32msvc-windres" SDL_CONFIG=".deps/bin/sdl-config" LIB_JPEG= CFLAGS_LIBJPEG= WIN64RELEASE=1 D3D=1' \
                        gmqcc.exe 'gmqcc.exe:Xonotic/gmqcc/gmqcc-x64.exe' \
                        release 'darkplaces.exe:Xonotic/xonotic-x64.exe darkplaces-sdl.exe:Xonotic/xonotic-x64-sdl.exe darkplaces-dedicated.exe:Xonotic/xonotic-x64-dedicated.exe'
                ;;
@@ -279,21 +279,21 @@ case "$cmd" in
                release_common
                # gcc on OSX is buggy, needs -fno-reorder-blocks for a release build to succeed
                verbose "$SELF" release-compile osx \
-                       'STRIP=: CC="gcc -g1 -arch i386 -arch ppc -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.4 -I.deps/include -L.deps/lib -fno-reorder-blocks -DSUPPORTIPV6" LIB_ODE= CFLAGS_ODE=-DUSEODE' \
+                       'STRIP=: CC="gcc -g1 -arch i386 -arch ppc -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.4 -I.deps/include -L.deps/lib -fno-reorder-blocks -DSUPPORTIPV6"' \
                        gmqcc 'gmqcc:Xonotic/gmqcc/gmqcc.osx' \
                        'sv-release sdl-release' 'darkplaces-sdl:Xonotic/Xonotic.app/Contents/MacOS/xonotic-osx-sdl-bin darkplaces-dedicated:Xonotic/xonotic-osx-dedicated'
                ;;
        release-engine-linux32)
                release_common
                verbose "$SELF" release-compile linux32 \
-                       'STRIP=: CC="gcc -m32 -march=i686 -g1 -I.deps/include -L.deps/lib -DSUPPORTIPV6" LIB_MODPLUG=.deps/lib/libmodplug.a LIB_JPEG=.deps/lib/libjpeg.a LIB_CRYPTO=".deps/lib/libd0_blind_id.a .deps/lib/libgmp.a" LIB_ODE= CFLAGS_ODE=-DUSEODE' \
+                       'STRIP=: CC="gcc -m32 -march=i686 -g1 -I.deps/include -L.deps/lib -DSUPPORTIPV6" LIB_JPEG=.deps/lib/libjpeg.a LIB_CRYPTO=".deps/lib/libd0_blind_id.a .deps/lib/libgmp.a"' \
                        gmqcc 'gmqcc:Xonotic/gmqcc/gmqcc.linux32' \
                        release 'darkplaces-glx:Xonotic/xonotic-linux32-glx darkplaces-sdl:Xonotic/xonotic-linux32-sdl darkplaces-dedicated:Xonotic/xonotic-linux32-dedicated'
                ;;
        release-engine-linux64)
                release_common
                verbose "$SELF" release-compile linux64 \
-                       'STRIP=: CC="gcc -m64 -g1 -I.deps/include -L.deps/lib -DSUPPORTIPV6" LIB_MODPLUG=.deps/lib/libmodplug.a LIB_JPEG=.deps/lib/libjpeg.a LIB_CRYPTO=".deps/lib/libd0_blind_id.a .deps/lib/libgmp.a" LIB_ODE= CFLAGS_ODE=-DUSEODE' \
+                       'STRIP=: CC="gcc -m64 -g1 -I.deps/include -L.deps/lib -DSUPPORTIPV6" LIB_JPEG=.deps/lib/libjpeg.a LIB_CRYPTO=".deps/lib/libd0_blind_id.a .deps/lib/libgmp.a"' \
                        gmqcc 'gmqcc:Xonotic/gmqcc/gmqcc.linux64' \
                        release 'darkplaces-glx:Xonotic/xonotic-linux64-glx darkplaces-sdl:Xonotic/xonotic-linux64-sdl darkplaces-dedicated:Xonotic/xonotic-linux64-dedicated'
                ;;