diff --git a/deps/modplug/include/libmodplug/modplug.h b/deps/modplug/include/libmodplug/modplug.h index 9b57ec73..3ffbf9d9 100644 --- a/deps/modplug/include/libmodplug/modplug.h +++ b/deps/modplug/include/libmodplug/modplug.h @@ -19,9 +19,8 @@ extern "C" { # else # define MODPLUG_EXPORT __declspec(dllimport) /* using libmodplug dll for windows */ # endif -/* FIXME: USE VISIBILITY ATTRIBUTES HERE */ -#elif defined(MODPLUG_BUILD) -#define MODPLUG_EXPORT +#elif defined(MODPLUG_BUILD) && defined(SYM_VISIBILITY) +# define MODPLUG_EXPORT __attribute__((visibility("default"))) #else #define MODPLUG_EXPORT #endif @@ -88,7 +87,7 @@ enum _ModPlug_ResamplingMode 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 */ @@ -98,7 +97,7 @@ typedef struct _ModPlug_Settings 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) */ @@ -106,7 +105,7 @@ typedef struct _ModPlug_Settings 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. */ + * -1 loops forever. */ } ModPlug_Settings; /* Get and set the mod decoder settings. All options, except for channels, bits-per-sample, @@ -131,7 +130,7 @@ 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 @@ -147,7 +146,7 @@ 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 +#endif /* MODPLUG_NO_FILESAVE */ MODPLUG_EXPORT unsigned int ModPlug_NumInstruments(ModPlugFile* file); MODPLUG_EXPORT unsigned int ModPlug_NumSamples(ModPlugFile* file); diff --git a/deps/modplug/include/libmodplug/sndfile.h b/deps/modplug/include/libmodplug/sndfile.h index a4d0232c..c0092650 100644 --- a/deps/modplug/include/libmodplug/sndfile.h +++ b/deps/modplug/include/libmodplug/sndfile.h @@ -459,7 +459,7 @@ typedef struct _MODCOMMAND class MODPLUG_EXPORT IMixPlugin { public: - virtual ~IMixPlugin(); + virtual ~IMixPlugin() {}; virtual int AddRef() = 0; virtual int Release() = 0; virtual void SaveAllParameters() = 0; @@ -539,14 +539,25 @@ class MODPLUG_EXPORT 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_nXBassDepth; + static UINT m_nXBassRange; + static UINT m_nReverbDepth; + static UINT m_nReverbDelay; + static UINT gnReverbType; + static UINT m_nProLogicDepth; + static UINT 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 DWORD gdwSysInfo; + static DWORD gdwSoundSetup; + static DWORD gdwMixingFreq; + static DWORD gnBitsPerSample; + static DWORD gnChannels; + static UINT gnAGC; + static UINT gnVolumeRampSamples; + static UINT gnVUMeter; + static UINT gnCPUUsage; static LPSNDMIXHOOKPROC gpSndMixHook; static PMIXPLUGINCREATEPROC gpMixPluginCreateProc; @@ -567,7 +578,7 @@ public: // for Editing 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_nNextRow, m_nRow, m_nNextStartRow; UINT m_nPattern,m_nCurrentPattern,m_nNextPattern,m_nRestartPos; UINT m_nMasterVolume, m_nGlobalVolume, m_nSongPreAmp; UINT m_nFreqFactor, m_nTempoFactor, m_nOldGlbVolSlide; diff --git a/deps/modplug/include/libmodplug/stdafx.h b/deps/modplug/include/libmodplug/stdafx.h index 3eacf1da..d45d9494 100644 --- a/deps/modplug/include/libmodplug/stdafx.h +++ b/deps/modplug/include/libmodplug/stdafx.h @@ -21,6 +21,9 @@ # include #endif +/* disable AGC and FILESAVE for all targets for uniformity. */ +#define NO_AGC +#define MODPLUG_NO_FILESAVE #ifdef _WIN32 @@ -43,9 +46,11 @@ 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) +#undef strcasecmp +#undef strncasecmp +#define strcasecmp(a,b) _stricmp(a,b) +#define strncasecmp(a,b,c) _strnicmp(a,b,c) + #define HAVE_SINF 1 #ifndef isblank @@ -85,21 +90,20 @@ typedef void VOID; inline LONG MulDiv (long a, long b, long c) { - // if (!c) return 0; +/*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 wsprintf sprintf + #define WAVE_FORMAT_PCM 1 -//#define ENABLE_EQ #define GHND 0 - +#define GlobalFreePtr(p) free((void *)(p)) inline int8_t * GlobalAllocPtr(unsigned int, size_t size) { int8_t * p = (int8_t *) malloc(size); @@ -110,11 +114,6 @@ inline int8_t * GlobalAllocPtr(unsigned int, size_t size) 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 @@ -123,7 +122,7 @@ inline void ProcessPlugins(int n) {} #define TRUE true #endif -#endif // _WIN32 +#endif /* _WIN32 */ #if defined(_WIN32) || defined(__CYGWIN__) # if defined(MODPLUG_BUILD) && defined(DLL_EXPORT) /* building libmodplug as a dll for windows */ @@ -133,14 +132,10 @@ inline void ProcessPlugins(int n) {} # else # define MODPLUG_EXPORT __declspec(dllimport) /* using libmodplug dll for windows */ # endif -/* FIXME: USE VISIBILITY ATTRIBUTES HERE */ -#elif defined(MODPLUG_BUILD) -#define MODPLUG_EXPORT +#elif defined(MODPLUG_BUILD) && defined(SYM_VISIBILITY) +# define MODPLUG_EXPORT __attribute__((visibility("default"))) #else #define MODPLUG_EXPORT #endif #endif - - - diff --git a/deps/modplug/lib/libmodplug.a b/deps/modplug/lib/libmodplug.a index 5d1bfdbe..d3c41fee 100644 Binary files a/deps/modplug/lib/libmodplug.a and b/deps/modplug/lib/libmodplug.a differ