mirror of
https://github.com/Shpoike/Quakespasm.git
synced 2024-11-10 07:21:58 +00:00
oslibs, codecs: rebuilt the FLAC decoder for windows and macosx after
fixing a number typo. oslibs, codecs: killed all binary blobs for libmodplug. the library is full of insecurities, mistakes, etc, neither is it endian-correct. the snd_modplug.c code is still there if one ever wants to build it though. git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1362 af15c1b1-3010-417e-b628-4374ebc0bcbd
This commit is contained in:
parent
1730afbe57
commit
219a137593
14 changed files with 0 additions and 387 deletions
|
@ -1,185 +0,0 @@
|
||||||
/*
|
|
||||||
* This source code is public domain.
|
|
||||||
*
|
|
||||||
* Authors: Kenton Varda <temporal@gauge3d.org> (C interface wrapper)
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef MODPLUG_H__INCLUDED
|
|
||||||
#define MODPLUG_H__INCLUDED
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(_WIN32) || defined(__CYGWIN__)
|
|
||||||
# if defined(MODPLUG_BUILD) && defined(DLL_EXPORT) /* building libmodplug as a dll for windows */
|
|
||||||
# define MODPLUG_EXPORT __declspec(dllexport)
|
|
||||||
# elif defined(MODPLUG_BUILD) || defined(MODPLUG_STATIC) /* building or using static libmodplug for windows */
|
|
||||||
# define MODPLUG_EXPORT
|
|
||||||
# else
|
|
||||||
# define MODPLUG_EXPORT __declspec(dllimport) /* using libmodplug dll for windows */
|
|
||||||
# endif
|
|
||||||
#elif defined(MODPLUG_BUILD) && defined(SYM_VISIBILITY)
|
|
||||||
# define MODPLUG_EXPORT __attribute__((visibility("default")))
|
|
||||||
#else
|
|
||||||
#define MODPLUG_EXPORT
|
|
||||||
#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. */
|
|
||||||
MODPLUG_EXPORT ModPlugFile* ModPlug_Load(const void* data, int size);
|
|
||||||
/* Unload a mod file. */
|
|
||||||
MODPLUG_EXPORT 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. */
|
|
||||||
MODPLUG_EXPORT 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. */
|
|
||||||
MODPLUG_EXPORT 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. */
|
|
||||||
MODPLUG_EXPORT 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. */
|
|
||||||
MODPLUG_EXPORT 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. */
|
|
||||||
MODPLUG_EXPORT void ModPlug_GetSettings(ModPlug_Settings* settings);
|
|
||||||
MODPLUG_EXPORT void ModPlug_SetSettings(const ModPlug_Settings* settings);
|
|
||||||
|
|
||||||
/* New ModPlug API Functions */
|
|
||||||
/* NOTE: Master Volume (1-512) */
|
|
||||||
MODPLUG_EXPORT unsigned int ModPlug_GetMasterVolume(ModPlugFile* file) ;
|
|
||||||
MODPLUG_EXPORT void ModPlug_SetMasterVolume(ModPlugFile* file,unsigned int cvol) ;
|
|
||||||
|
|
||||||
MODPLUG_EXPORT int ModPlug_GetCurrentSpeed(ModPlugFile* file);
|
|
||||||
MODPLUG_EXPORT int ModPlug_GetCurrentTempo(ModPlugFile* file);
|
|
||||||
MODPLUG_EXPORT int ModPlug_GetCurrentOrder(ModPlugFile* file);
|
|
||||||
MODPLUG_EXPORT int ModPlug_GetCurrentPattern(ModPlugFile* file);
|
|
||||||
MODPLUG_EXPORT int ModPlug_GetCurrentRow(ModPlugFile* file);
|
|
||||||
MODPLUG_EXPORT int ModPlug_GetPlayingChannels(ModPlugFile* file);
|
|
||||||
|
|
||||||
MODPLUG_EXPORT void ModPlug_SeekOrder(ModPlugFile* file,int order);
|
|
||||||
MODPLUG_EXPORT int ModPlug_GetModuleType(ModPlugFile* file);
|
|
||||||
MODPLUG_EXPORT char* ModPlug_GetMessage(ModPlugFile* file);
|
|
||||||
|
|
||||||
#define MODPLUG_NO_FILESAVE /* experimental yet. must match stdafx.h. */
|
|
||||||
#ifndef MODPLUG_NO_FILESAVE
|
|
||||||
/*
|
|
||||||
* EXPERIMENTAL Export Functions
|
|
||||||
*/
|
|
||||||
/*Export to a Scream Tracker 3 S3M module. EXPERIMENTAL (only works on Little-Endian platforms)*/
|
|
||||||
MODPLUG_EXPORT char ModPlug_ExportS3M(ModPlugFile* file, const char* filepath);
|
|
||||||
|
|
||||||
/*Export to a Extended Module (XM). EXPERIMENTAL (only works on Little-Endian platforms)*/
|
|
||||||
MODPLUG_EXPORT char ModPlug_ExportXM(ModPlugFile* file, const char* filepath);
|
|
||||||
|
|
||||||
/*Export to a Amiga MOD file. EXPERIMENTAL.*/
|
|
||||||
MODPLUG_EXPORT char ModPlug_ExportMOD(ModPlugFile* file, const char* filepath);
|
|
||||||
|
|
||||||
/*Export to a Impulse Tracker IT file. Should work OK in Little-Endian & Big-Endian platforms :-) */
|
|
||||||
MODPLUG_EXPORT char ModPlug_ExportIT(ModPlugFile* file, const char* filepath);
|
|
||||||
#endif /* MODPLUG_NO_FILESAVE */
|
|
||||||
|
|
||||||
MODPLUG_EXPORT unsigned int ModPlug_NumInstruments(ModPlugFile* file);
|
|
||||||
MODPLUG_EXPORT unsigned int ModPlug_NumSamples(ModPlugFile* file);
|
|
||||||
MODPLUG_EXPORT unsigned int ModPlug_NumPatterns(ModPlugFile* file);
|
|
||||||
MODPLUG_EXPORT unsigned int ModPlug_NumChannels(ModPlugFile* file);
|
|
||||||
MODPLUG_EXPORT unsigned int ModPlug_SampleName(ModPlugFile* file, unsigned int qual, char* buff);
|
|
||||||
MODPLUG_EXPORT unsigned int ModPlug_InstrumentName(ModPlugFile* file, unsigned int qual, char* buff);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Retrieve pattern note-data
|
|
||||||
*/
|
|
||||||
MODPLUG_EXPORT 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)
|
|
||||||
*/
|
|
||||||
MODPLUG_EXPORT void ModPlug_InitMixerCallback(ModPlugFile* file,ModPlugMixerProc proc) ;
|
|
||||||
MODPLUG_EXPORT void ModPlug_UnloadMixerCallback(ModPlugFile* file) ;
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
} /* extern "C" */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,7 +0,0 @@
|
||||||
libmodplug - v0.8.8.5 release + git (2014-11-27) using sezero's fork
|
|
||||||
at https://github.com/sezero/libmodplug/
|
|
||||||
|
|
||||||
midi formats (*.abc, *.mid) and GUS patches (*.pat) loading disabled.
|
|
||||||
wav format loading disabled.
|
|
||||||
|
|
||||||
only the C-interface is exported in the dylibs, which is what we use.
|
|
Binary file not shown.
Binary file not shown.
|
@ -1,185 +0,0 @@
|
||||||
/*
|
|
||||||
* This source code is public domain.
|
|
||||||
*
|
|
||||||
* Authors: Kenton Varda <temporal@gauge3d.org> (C interface wrapper)
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef MODPLUG_H__INCLUDED
|
|
||||||
#define MODPLUG_H__INCLUDED
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(_WIN32) || defined(__CYGWIN__)
|
|
||||||
# if defined(MODPLUG_BUILD) && defined(DLL_EXPORT) /* building libmodplug as a dll for windows */
|
|
||||||
# define MODPLUG_EXPORT __declspec(dllexport)
|
|
||||||
# elif defined(MODPLUG_BUILD) || defined(MODPLUG_STATIC) /* building or using static libmodplug for windows */
|
|
||||||
# define MODPLUG_EXPORT
|
|
||||||
# else
|
|
||||||
# define MODPLUG_EXPORT __declspec(dllimport) /* using libmodplug dll for windows */
|
|
||||||
# endif
|
|
||||||
#elif defined(MODPLUG_BUILD) && defined(SYM_VISIBILITY)
|
|
||||||
# define MODPLUG_EXPORT __attribute__((visibility("default")))
|
|
||||||
#else
|
|
||||||
#define MODPLUG_EXPORT
|
|
||||||
#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. */
|
|
||||||
MODPLUG_EXPORT ModPlugFile* ModPlug_Load(const void* data, int size);
|
|
||||||
/* Unload a mod file. */
|
|
||||||
MODPLUG_EXPORT 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. */
|
|
||||||
MODPLUG_EXPORT 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. */
|
|
||||||
MODPLUG_EXPORT 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. */
|
|
||||||
MODPLUG_EXPORT 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. */
|
|
||||||
MODPLUG_EXPORT 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. */
|
|
||||||
MODPLUG_EXPORT void ModPlug_GetSettings(ModPlug_Settings* settings);
|
|
||||||
MODPLUG_EXPORT void ModPlug_SetSettings(const ModPlug_Settings* settings);
|
|
||||||
|
|
||||||
/* New ModPlug API Functions */
|
|
||||||
/* NOTE: Master Volume (1-512) */
|
|
||||||
MODPLUG_EXPORT unsigned int ModPlug_GetMasterVolume(ModPlugFile* file) ;
|
|
||||||
MODPLUG_EXPORT void ModPlug_SetMasterVolume(ModPlugFile* file,unsigned int cvol) ;
|
|
||||||
|
|
||||||
MODPLUG_EXPORT int ModPlug_GetCurrentSpeed(ModPlugFile* file);
|
|
||||||
MODPLUG_EXPORT int ModPlug_GetCurrentTempo(ModPlugFile* file);
|
|
||||||
MODPLUG_EXPORT int ModPlug_GetCurrentOrder(ModPlugFile* file);
|
|
||||||
MODPLUG_EXPORT int ModPlug_GetCurrentPattern(ModPlugFile* file);
|
|
||||||
MODPLUG_EXPORT int ModPlug_GetCurrentRow(ModPlugFile* file);
|
|
||||||
MODPLUG_EXPORT int ModPlug_GetPlayingChannels(ModPlugFile* file);
|
|
||||||
|
|
||||||
MODPLUG_EXPORT void ModPlug_SeekOrder(ModPlugFile* file,int order);
|
|
||||||
MODPLUG_EXPORT int ModPlug_GetModuleType(ModPlugFile* file);
|
|
||||||
MODPLUG_EXPORT char* ModPlug_GetMessage(ModPlugFile* file);
|
|
||||||
|
|
||||||
#define MODPLUG_NO_FILESAVE /* experimental yet. must match stdafx.h. */
|
|
||||||
#ifndef MODPLUG_NO_FILESAVE
|
|
||||||
/*
|
|
||||||
* EXPERIMENTAL Export Functions
|
|
||||||
*/
|
|
||||||
/*Export to a Scream Tracker 3 S3M module. EXPERIMENTAL (only works on Little-Endian platforms)*/
|
|
||||||
MODPLUG_EXPORT char ModPlug_ExportS3M(ModPlugFile* file, const char* filepath);
|
|
||||||
|
|
||||||
/*Export to a Extended Module (XM). EXPERIMENTAL (only works on Little-Endian platforms)*/
|
|
||||||
MODPLUG_EXPORT char ModPlug_ExportXM(ModPlugFile* file, const char* filepath);
|
|
||||||
|
|
||||||
/*Export to a Amiga MOD file. EXPERIMENTAL.*/
|
|
||||||
MODPLUG_EXPORT char ModPlug_ExportMOD(ModPlugFile* file, const char* filepath);
|
|
||||||
|
|
||||||
/*Export to a Impulse Tracker IT file. Should work OK in Little-Endian & Big-Endian platforms :-) */
|
|
||||||
MODPLUG_EXPORT char ModPlug_ExportIT(ModPlugFile* file, const char* filepath);
|
|
||||||
#endif /* MODPLUG_NO_FILESAVE */
|
|
||||||
|
|
||||||
MODPLUG_EXPORT unsigned int ModPlug_NumInstruments(ModPlugFile* file);
|
|
||||||
MODPLUG_EXPORT unsigned int ModPlug_NumSamples(ModPlugFile* file);
|
|
||||||
MODPLUG_EXPORT unsigned int ModPlug_NumPatterns(ModPlugFile* file);
|
|
||||||
MODPLUG_EXPORT unsigned int ModPlug_NumChannels(ModPlugFile* file);
|
|
||||||
MODPLUG_EXPORT unsigned int ModPlug_SampleName(ModPlugFile* file, unsigned int qual, char* buff);
|
|
||||||
MODPLUG_EXPORT unsigned int ModPlug_InstrumentName(ModPlugFile* file, unsigned int qual, char* buff);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Retrieve pattern note-data
|
|
||||||
*/
|
|
||||||
MODPLUG_EXPORT 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)
|
|
||||||
*/
|
|
||||||
MODPLUG_EXPORT void ModPlug_InitMixerCallback(ModPlugFile* file,ModPlugMixerProc proc) ;
|
|
||||||
MODPLUG_EXPORT void ModPlug_UnloadMixerCallback(ModPlugFile* file) ;
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
} /* extern "C" */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,10 +0,0 @@
|
||||||
libmodplug - v0.8.8.5 release + git (2014-11-27) using sezero's fork
|
|
||||||
at https://github.com/sezero/libmodplug/
|
|
||||||
|
|
||||||
midi formats (*.abc, *.mid) and GUS patches (*.pat) loading disabled.
|
|
||||||
wav format loading disabled.
|
|
||||||
|
|
||||||
only the C-interface is exported in the dlls and the import libraries,
|
|
||||||
which is what we use. the dll is compiled using mingw (gcc-3.4.5/x86)
|
|
||||||
or mingw-w64 (gcc-4.5.4/x64), and it is statically linked to libstdc++
|
|
||||||
and libgcc, therefore no C++ dll dependencies.
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in a new issue