upgrade libmodplug dlls to latest 0.8.8.5 release.

git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@896 af15c1b1-3010-417e-b628-4374ebc0bcbd
This commit is contained in:
sezero 2014-03-11 12:00:12 +00:00
parent 339cd00fb7
commit 98caa07fc1
4 changed files with 42 additions and 40 deletions

View file

@ -13,17 +13,17 @@ extern "C" {
#if defined(_WIN32) || defined(__CYGWIN__) #if defined(_WIN32) || defined(__CYGWIN__)
# if defined(MODPLUG_BUILD) && defined(DLL_EXPORT) /* building libmodplug as a dll for windows */ # if defined(MODPLUG_BUILD) && defined(DLL_EXPORT) /* building libmodplug as a dll for windows */
# define MODPLUGEXPORT __declspec(dllexport) # define MODPLUG_EXPORT __declspec(dllexport)
# elif defined(MODPLUG_BUILD) || defined(MODPLUG_STATIC) /* building or using static libmodplug for windows */ # elif defined(MODPLUG_BUILD) || defined(MODPLUG_STATIC) /* building or using static libmodplug for windows */
# define MODPLUGEXPORT # define MODPLUG_EXPORT
# else # else
# define MODPLUGEXPORT __declspec(dllimport) /* using libmodplug dll for windows */ # define MODPLUG_EXPORT __declspec(dllimport) /* using libmodplug dll for windows */
# endif # endif
/* FIXME: USE VISIBILITY ATTRIBUTES HERE */ /* FIXME: USE VISIBILITY ATTRIBUTES HERE */
#elif defined(MODPLUG_BUILD) #elif defined(MODPLUG_BUILD)
#define MODPLUGEXPORT #define MODPLUG_EXPORT
#else #else
#define MODPLUGEXPORT #define MODPLUG_EXPORT
#endif #endif
struct _ModPlugFile; struct _ModPlugFile;
@ -44,21 +44,21 @@ typedef void (*ModPlugMixerProc)(int*, unsigned long, unsigned long);
/* Load a mod file. [data] should point to a block of memory containing the complete /* 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. * file, and [size] should be the size of that block.
* Return the loaded mod file on success, or NULL on failure. */ * Return the loaded mod file on success, or NULL on failure. */
MODPLUGEXPORT ModPlugFile* ModPlug_Load(const void* data, int size); MODPLUG_EXPORT ModPlugFile* ModPlug_Load(const void* data, int size);
/* Unload a mod file. */ /* Unload a mod file. */
MODPLUGEXPORT void ModPlug_Unload(ModPlugFile* file); MODPLUG_EXPORT void ModPlug_Unload(ModPlugFile* file);
/* Read sample data into the buffer. Returns the number of bytes read. If the end /* Read sample data into the buffer. Returns the number of bytes read. If the end
* of the mod has been reached, zero is returned. */ * of the mod has been reached, zero is returned. */
MODPLUGEXPORT int ModPlug_Read(ModPlugFile* file, void* buffer, int size); 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 /* Get the name of the mod. The returned buffer is stored within the ModPlugFile
* structure and will remain valid until you unload the file. */ * structure and will remain valid until you unload the file. */
MODPLUGEXPORT const char* ModPlug_GetName(ModPlugFile* file); MODPLUG_EXPORT const char* ModPlug_GetName(ModPlugFile* file);
/* Get the length of the mod, in milliseconds. Note that this result is not always /* Get the length of the mod, in milliseconds. Note that this result is not always
* accurate, especially in the case of mods with loops. */ * accurate, especially in the case of mods with loops. */
MODPLUGEXPORT int ModPlug_GetLength(ModPlugFile* file); MODPLUG_EXPORT int ModPlug_GetLength(ModPlugFile* file);
/* Seek to a particular position in the song. Note that seeking and MODs don't mix very /* 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 * well. Some mods will be missing instruments for a short time after a seek, as ModPlug
@ -66,7 +66,7 @@ MODPLUGEXPORT int ModPlug_GetLength(ModPlugFile* file);
* playing at that time. (Doing so would be difficult and not very reliable.) Also, * 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 * note that seeking is not very exact in some mods -- especially those for which
* ModPlug_GetLength() does not report the full length. */ * ModPlug_GetLength() does not report the full length. */
MODPLUGEXPORT void ModPlug_Seek(ModPlugFile* file, int millisecond); MODPLUG_EXPORT void ModPlug_Seek(ModPlugFile* file, int millisecond);
enum _ModPlug_Flags enum _ModPlug_Flags
{ {
@ -112,24 +112,24 @@ typedef struct _ModPlug_Settings
/* Get and set the mod decoder settings. All options, except for channels, bits-per-sample, /* 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 * 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. */ * take effect immediately will take effect the next time you load a mod. */
MODPLUGEXPORT void ModPlug_GetSettings(ModPlug_Settings* settings); MODPLUG_EXPORT void ModPlug_GetSettings(ModPlug_Settings* settings);
MODPLUGEXPORT void ModPlug_SetSettings(const ModPlug_Settings* settings); MODPLUG_EXPORT void ModPlug_SetSettings(const ModPlug_Settings* settings);
/* New ModPlug API Functions */ /* New ModPlug API Functions */
/* NOTE: Master Volume (1-512) */ /* NOTE: Master Volume (1-512) */
MODPLUGEXPORT unsigned int ModPlug_GetMasterVolume(ModPlugFile* file) ; MODPLUG_EXPORT unsigned int ModPlug_GetMasterVolume(ModPlugFile* file) ;
MODPLUGEXPORT void ModPlug_SetMasterVolume(ModPlugFile* file,unsigned int cvol) ; MODPLUG_EXPORT void ModPlug_SetMasterVolume(ModPlugFile* file,unsigned int cvol) ;
MODPLUGEXPORT int ModPlug_GetCurrentSpeed(ModPlugFile* file); MODPLUG_EXPORT int ModPlug_GetCurrentSpeed(ModPlugFile* file);
MODPLUGEXPORT int ModPlug_GetCurrentTempo(ModPlugFile* file); MODPLUG_EXPORT int ModPlug_GetCurrentTempo(ModPlugFile* file);
MODPLUGEXPORT int ModPlug_GetCurrentOrder(ModPlugFile* file); MODPLUG_EXPORT int ModPlug_GetCurrentOrder(ModPlugFile* file);
MODPLUGEXPORT int ModPlug_GetCurrentPattern(ModPlugFile* file); MODPLUG_EXPORT int ModPlug_GetCurrentPattern(ModPlugFile* file);
MODPLUGEXPORT int ModPlug_GetCurrentRow(ModPlugFile* file); MODPLUG_EXPORT int ModPlug_GetCurrentRow(ModPlugFile* file);
MODPLUGEXPORT int ModPlug_GetPlayingChannels(ModPlugFile* file); MODPLUG_EXPORT int ModPlug_GetPlayingChannels(ModPlugFile* file);
MODPLUGEXPORT void ModPlug_SeekOrder(ModPlugFile* file,int order); MODPLUG_EXPORT void ModPlug_SeekOrder(ModPlugFile* file,int order);
MODPLUGEXPORT int ModPlug_GetModuleType(ModPlugFile* file); MODPLUG_EXPORT int ModPlug_GetModuleType(ModPlugFile* file);
MODPLUGEXPORT char* ModPlug_GetMessage(ModPlugFile* file); MODPLUG_EXPORT char* ModPlug_GetMessage(ModPlugFile* file);
#ifndef MODPLUG_NO_FILESAVE #ifndef MODPLUG_NO_FILESAVE
@ -137,29 +137,29 @@ MODPLUGEXPORT char* ModPlug_GetMessage(ModPlugFile* file);
* EXPERIMENTAL Export Functions * EXPERIMENTAL Export Functions
*/ */
/*Export to a Scream Tracker 3 S3M module. EXPERIMENTAL (only works on Little-Endian platforms)*/ /*Export to a Scream Tracker 3 S3M module. EXPERIMENTAL (only works on Little-Endian platforms)*/
MODPLUGEXPORT char ModPlug_ExportS3M(ModPlugFile* file, const char* filepath); MODPLUG_EXPORT char ModPlug_ExportS3M(ModPlugFile* file, const char* filepath);
/*Export to a Extended Module (XM). EXPERIMENTAL (only works on Little-Endian platforms)*/ /*Export to a Extended Module (XM). EXPERIMENTAL (only works on Little-Endian platforms)*/
MODPLUGEXPORT char ModPlug_ExportXM(ModPlugFile* file, const char* filepath); MODPLUG_EXPORT char ModPlug_ExportXM(ModPlugFile* file, const char* filepath);
/*Export to a Amiga MOD file. EXPERIMENTAL.*/ /*Export to a Amiga MOD file. EXPERIMENTAL.*/
MODPLUGEXPORT char ModPlug_ExportMOD(ModPlugFile* file, const char* filepath); 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 :-) */ /*Export to a Impulse Tracker IT file. Should work OK in Little-Endian & Big-Endian platforms :-) */
MODPLUGEXPORT char ModPlug_ExportIT(ModPlugFile* file, const char* filepath); MODPLUG_EXPORT char ModPlug_ExportIT(ModPlugFile* file, const char* filepath);
#endif // MODPLUG_NO_FILESAVE #endif // MODPLUG_NO_FILESAVE
MODPLUGEXPORT unsigned int ModPlug_NumInstruments(ModPlugFile* file); MODPLUG_EXPORT unsigned int ModPlug_NumInstruments(ModPlugFile* file);
MODPLUGEXPORT unsigned int ModPlug_NumSamples(ModPlugFile* file); MODPLUG_EXPORT unsigned int ModPlug_NumSamples(ModPlugFile* file);
MODPLUGEXPORT unsigned int ModPlug_NumPatterns(ModPlugFile* file); MODPLUG_EXPORT unsigned int ModPlug_NumPatterns(ModPlugFile* file);
MODPLUGEXPORT unsigned int ModPlug_NumChannels(ModPlugFile* file); MODPLUG_EXPORT unsigned int ModPlug_NumChannels(ModPlugFile* file);
MODPLUGEXPORT unsigned int ModPlug_SampleName(ModPlugFile* file, unsigned int qual, char* buff); MODPLUG_EXPORT unsigned int ModPlug_SampleName(ModPlugFile* file, unsigned int qual, char* buff);
MODPLUGEXPORT unsigned int ModPlug_InstrumentName(ModPlugFile* file, unsigned int qual, char* buff); MODPLUG_EXPORT unsigned int ModPlug_InstrumentName(ModPlugFile* file, unsigned int qual, char* buff);
/* /*
* Retrieve pattern note-data * Retrieve pattern note-data
*/ */
MODPLUGEXPORT ModPlugNote* ModPlug_GetPattern(ModPlugFile* file, int pattern, unsigned int* numrows); MODPLUG_EXPORT ModPlugNote* ModPlug_GetPattern(ModPlugFile* file, int pattern, unsigned int* numrows);
/* /*
* ================= * =================
@ -176,8 +176,8 @@ MODPLUGEXPORT ModPlugNote* ModPlug_GetPattern(ModPlugFile* file, int pattern, un
* *
* (Samples are signed 32-bit integers) * (Samples are signed 32-bit integers)
*/ */
MODPLUGEXPORT void ModPlug_InitMixerCallback(ModPlugFile* file,ModPlugMixerProc proc) ; MODPLUG_EXPORT void ModPlug_InitMixerCallback(ModPlugFile* file,ModPlugMixerProc proc) ;
MODPLUGEXPORT void ModPlug_UnloadMixerCallback(ModPlugFile* file) ; MODPLUG_EXPORT void ModPlug_UnloadMixerCallback(ModPlugFile* file) ;
#ifdef __cplusplus #ifdef __cplusplus
} /* extern "C" */ } /* extern "C" */

View file

@ -1,4 +1,6 @@
libmodplug-0.8.8.x from modplug-xmms mercurial repository / 2013-08-28. libmodplug - version 0.8.8.5 (release 2014-03-10.)
only the C-interface is exported in the dlls and the import libraries, only the C-interface is exported in the dlls and the import libraries,
which is what we use. the dll is compiled using mingw[-w64] and it is which is what we use. the dll is compiled using mingw (gcc-3.4.5/x86)
statically linked to libstdc++ and libgcc, so no C++ dependencies exist. or mingw-w64 (gcc-4.5.4/x64), and it is statically linked to libstdc++
and libgcc, therefore no C++ dll dependencies.