From: Rudolf Polzer Date: Sat, 27 Jul 2013 09:31:07 +0000 (+0200) Subject: get rid of modplug X-Git-Tag: xonotic-v0.8.0~97 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=3b7a0fb43d8ae37edcba84e6cbe44ca584cdc940;p=xonotic%2Fxonotic.git get rid of modplug --- 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 index 89cb4565..00000000 --- a/misc/builddeps/dp.linux32/include/libmodplug/it_defs.h +++ /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 index 46ea02c1..00000000 --- a/misc/builddeps/dp.linux32/include/libmodplug/modplug.h +++ /dev/null @@ -1,171 +0,0 @@ -/* - * This source code is public domain. - * - * Authors: Kenton Varda (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 index ed7d47e5..00000000 --- a/misc/builddeps/dp.linux32/include/libmodplug/sndfile.h +++ /dev/null @@ -1,1017 +0,0 @@ -/* - * This source code is public domain. - * - * Authors: Olivier Lapicque , - * Adam Goode (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 index 03301707..00000000 --- a/misc/builddeps/dp.linux32/include/libmodplug/stdafx.h +++ /dev/null @@ -1,127 +0,0 @@ -/* - * This source code is public domain. - * - * Authors: Rani Assaf , - * Olivier Lapicque , - * Adam Goode (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 -#endif -#ifdef HAVE_STDINT_H -# include -#endif - - -#ifdef _WIN32 - -#ifdef MSC_VER -#pragma warning (disable:4201) -#pragma warning (disable:4514) -#endif - -#define WIN32_LEAN_AND_MEAN -#include -#include -#include -#include -#include -#include - -#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 -#include -#include -#ifdef HAVE_MALLOC_H -#include -#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 index 4caea1f8..00000000 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 index b4974101..00000000 --- a/misc/builddeps/dp.linux32/lib/libmodplug.la +++ /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 index 6639185c..00000000 --- a/misc/builddeps/dp.linux32/lib/pkgconfig/libmodplug.pc +++ /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 index 89cb4565..00000000 --- a/misc/builddeps/dp.linux64/include/libmodplug/it_defs.h +++ /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 index 46ea02c1..00000000 --- a/misc/builddeps/dp.linux64/include/libmodplug/modplug.h +++ /dev/null @@ -1,171 +0,0 @@ -/* - * This source code is public domain. - * - * Authors: Kenton Varda (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 index ed7d47e5..00000000 --- a/misc/builddeps/dp.linux64/include/libmodplug/sndfile.h +++ /dev/null @@ -1,1017 +0,0 @@ -/* - * This source code is public domain. - * - * Authors: Olivier Lapicque , - * Adam Goode (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 index 03301707..00000000 --- a/misc/builddeps/dp.linux64/include/libmodplug/stdafx.h +++ /dev/null @@ -1,127 +0,0 @@ -/* - * This source code is public domain. - * - * Authors: Rani Assaf , - * Olivier Lapicque , - * Adam Goode (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 -#endif -#ifdef HAVE_STDINT_H -# include -#endif - - -#ifdef _WIN32 - -#ifdef MSC_VER -#pragma warning (disable:4201) -#pragma warning (disable:4514) -#endif - -#define WIN32_LEAN_AND_MEAN -#include -#include -#include -#include -#include -#include - -#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 -#include -#include -#ifdef HAVE_MALLOC_H -#include -#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 index c237c7ce..00000000 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 index b4974101..00000000 --- a/misc/builddeps/dp.linux64/lib/libmodplug.la +++ /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 index 6639185c..00000000 --- a/misc/builddeps/dp.linux64/lib/pkgconfig/libmodplug.pc +++ /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 index 9a8b51e1..00000000 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 index 28486793..00000000 --- a/misc/buildfiles/osx/Xonotic.app/Contents/MacOS/libmodplug.dylib +++ /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 index e51892bb..00000000 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 index a036c27a..00000000 Binary files a/misc/buildfiles/win64/libmodplug-1.dll and /dev/null differ diff --git a/misc/tools/all/release.subr b/misc/tools/all/release.subr index 8fdbd501..0004c575 100644 --- a/misc/tools/all/release.subr +++ b/misc/tools/all/release.subr @@ -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' ;;