Fixed bug 2136 and 2624, include directives are wrong for tremor and modplug on Debian
authorSam Lantinga <slouken@libsdl.org>
Sat, 16 Aug 2014 22:46:16 -0700
changeset 6956a5e6d8d6a35
parent 694 59ef72d7586d
child 696 9599bb0ff844
Fixed bug 2136 and 2624, include directives are wrong for tremor and modplug on Debian
Android.mk
VisualC/external/include/libmodplug/modplug.h
VisualC/external/include/modplug.h
Xcode-iOS/SDL_mixer.xcodeproj/project.pbxproj
Xcode/SDL_mixer.xcodeproj/project.pbxproj
configure
configure.in
dynamic_modplug.h
dynamic_ogg.h
music_modplug.h
music_ogg.h
     1.1 --- a/Android.mk	Mon Aug 04 11:17:32 2014 -0400
     1.2 +++ b/Android.mk	Sat Aug 16 22:46:16 2014 -0700
     1.3 @@ -47,7 +47,7 @@
     1.4  
     1.5  ifeq ($(SUPPORT_MOD_MODPLUG),true)
     1.6      LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(MODPLUG_LIBRARY_PATH)/src $(LOCAL_PATH)/$(MODPLUG_LIBRARY_PATH)/src/libmodplug
     1.7 -    LOCAL_CFLAGS += -DMODPLUG_MUSIC -DHAVE_SETENV -DHAVE_SINF
     1.8 +    LOCAL_CFLAGS += -DMODPLUG_MUSIC -DMODPLUG_HEADER="<modplug.h>" -DHAVE_SETENV -DHAVE_SINF
     1.9      LOCAL_SRC_FILES += \
    1.10          $(MODPLUG_LIBRARY_PATH)/src/fastmix.cpp \
    1.11          $(MODPLUG_LIBRARY_PATH)/src/load_669.cpp \
    1.12 @@ -99,7 +99,7 @@
    1.13  
    1.14  ifeq ($(SUPPORT_OGG),true)
    1.15      LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(OGG_LIBRARY_PATH)/include $(LOCAL_PATH)/$(VORBIS_LIBRARY_PATH)
    1.16 -    LOCAL_CFLAGS += -DOGG_MUSIC -DOGG_USE_TREMOR
    1.17 +    LOCAL_CFLAGS += -DOGG_MUSIC -DOGG_USE_TREMOR -DOGG_HEADER="<ivorbisfile.h>"
    1.18      ifeq ($(TARGET_ARCH_ABI),armeabi)
    1.19  	LOCAL_CFLAGS += -D_ARM_ASSEM_
    1.20      endif
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/VisualC/external/include/libmodplug/modplug.h	Sat Aug 16 22:46:16 2014 -0700
     2.3 @@ -0,0 +1,171 @@
     2.4 +/*
     2.5 + * This source code is public domain.
     2.6 + *
     2.7 + * Authors: Kenton Varda <temporal@gauge3d.org> (C interface wrapper)
     2.8 + */
     2.9 +
    2.10 +#ifndef MODPLUG_H__INCLUDED
    2.11 +#define MODPLUG_H__INCLUDED
    2.12 +
    2.13 +#ifdef __cplusplus
    2.14 +extern "C" {
    2.15 +#endif
    2.16 +
    2.17 +struct _ModPlugFile;
    2.18 +typedef struct _ModPlugFile ModPlugFile;
    2.19 +
    2.20 +struct _ModPlugNote {
    2.21 +	unsigned char Note;
    2.22 +	unsigned char Instrument;
    2.23 +	unsigned char VolumeEffect;
    2.24 +	unsigned char Effect;
    2.25 +	unsigned char Volume;
    2.26 +	unsigned char Parameter;
    2.27 +};
    2.28 +typedef struct _ModPlugNote ModPlugNote;
    2.29 +
    2.30 +typedef void (*ModPlugMixerProc)(int*, unsigned long, unsigned long);
    2.31 +
    2.32 +/* Load a mod file.  [data] should point to a block of memory containing the complete
    2.33 + * file, and [size] should be the size of that block.
    2.34 + * Return the loaded mod file on success, or NULL on failure. */
    2.35 +ModPlugFile* ModPlug_Load(const void* data, int size);
    2.36 +/* Unload a mod file. */
    2.37 +void ModPlug_Unload(ModPlugFile* file);
    2.38 +
    2.39 +/* Read sample data into the buffer.  Returns the number of bytes read.  If the end
    2.40 + * of the mod has been reached, zero is returned. */
    2.41 +int  ModPlug_Read(ModPlugFile* file, void* buffer, int size);
    2.42 +
    2.43 +/* Get the name of the mod.  The returned buffer is stored within the ModPlugFile
    2.44 + * structure and will remain valid until you unload the file. */
    2.45 +const char* ModPlug_GetName(ModPlugFile* file);
    2.46 +
    2.47 +/* Get the length of the mod, in milliseconds.  Note that this result is not always
    2.48 + * accurate, especially in the case of mods with loops. */
    2.49 +int ModPlug_GetLength(ModPlugFile* file);
    2.50 +
    2.51 +/* Seek to a particular position in the song.  Note that seeking and MODs don't mix very
    2.52 + * well.  Some mods will be missing instruments for a short time after a seek, as ModPlug
    2.53 + * does not scan the sequence backwards to find out which instruments were supposed to be
    2.54 + * playing at that time.  (Doing so would be difficult and not very reliable.)  Also,
    2.55 + * note that seeking is not very exact in some mods -- especially those for which
    2.56 + * ModPlug_GetLength() does not report the full length. */
    2.57 +void ModPlug_Seek(ModPlugFile* file, int millisecond);
    2.58 +
    2.59 +enum _ModPlug_Flags
    2.60 +{
    2.61 +	MODPLUG_ENABLE_OVERSAMPLING     = 1 << 0,  /* Enable oversampling (*highly* recommended) */
    2.62 +	MODPLUG_ENABLE_NOISE_REDUCTION  = 1 << 1,  /* Enable noise reduction */
    2.63 +	MODPLUG_ENABLE_REVERB           = 1 << 2,  /* Enable reverb */
    2.64 +	MODPLUG_ENABLE_MEGABASS         = 1 << 3,  /* Enable megabass */
    2.65 +	MODPLUG_ENABLE_SURROUND         = 1 << 4   /* Enable surround sound. */
    2.66 +};
    2.67 +
    2.68 +enum _ModPlug_ResamplingMode
    2.69 +{
    2.70 +	MODPLUG_RESAMPLE_NEAREST = 0,  /* No interpolation (very fast, extremely bad sound quality) */
    2.71 +	MODPLUG_RESAMPLE_LINEAR  = 1,  /* Linear interpolation (fast, good quality) */
    2.72 +	MODPLUG_RESAMPLE_SPLINE  = 2,  /* Cubic spline interpolation (high quality) */
    2.73 +	MODPLUG_RESAMPLE_FIR     = 3   /* 8-tap fir filter (extremely high quality) */
    2.74 +};
    2.75 +
    2.76 +typedef struct _ModPlug_Settings
    2.77 +{
    2.78 +	int mFlags;  /* One or more of the MODPLUG_ENABLE_* flags above, bitwise-OR'ed */
    2.79 +	
    2.80 +	/* Note that ModPlug always decodes sound at 44100kHz, 32 bit, stereo and then
    2.81 +	 * down-mixes to the settings you choose. */
    2.82 +	int mChannels;       /* Number of channels - 1 for mono or 2 for stereo */
    2.83 +	int mBits;           /* Bits per sample - 8, 16, or 32 */
    2.84 +	int mFrequency;      /* Sampling rate - 11025, 22050, or 44100 */
    2.85 +	int mResamplingMode; /* One of MODPLUG_RESAMPLE_*, above */
    2.86 +
    2.87 +	int mStereoSeparation; /* Stereo separation, 1 - 256 */
    2.88 +	int mMaxMixChannels; /* Maximum number of mixing channels (polyphony), 32 - 256 */
    2.89 +	
    2.90 +	int mReverbDepth;    /* Reverb level 0(quiet)-100(loud)      */
    2.91 +	int mReverbDelay;    /* Reverb delay in ms, usually 40-200ms */
    2.92 +	int mBassAmount;     /* XBass level 0(quiet)-100(loud)       */
    2.93 +	int mBassRange;      /* XBass cutoff in Hz 10-100            */
    2.94 +	int mSurroundDepth;  /* Surround level 0(quiet)-100(heavy)   */
    2.95 +	int mSurroundDelay;  /* Surround delay in ms, usually 5-40ms */
    2.96 +	int mLoopCount;      /* Number of times to loop.  Zero prevents looping.
    2.97 +	                        -1 loops forever. */
    2.98 +} ModPlug_Settings;
    2.99 +
   2.100 +/* Get and set the mod decoder settings.  All options, except for channels, bits-per-sample,
   2.101 + * sampling rate, and loop count, will take effect immediately.  Those options which don't
   2.102 + * take effect immediately will take effect the next time you load a mod. */
   2.103 +void ModPlug_GetSettings(ModPlug_Settings* settings);
   2.104 +void ModPlug_SetSettings(const ModPlug_Settings* settings);
   2.105 +
   2.106 +/* New ModPlug API Functions */
   2.107 +/* NOTE: Master Volume (1-512) */
   2.108 +unsigned int ModPlug_GetMasterVolume(ModPlugFile* file) ;
   2.109 +void ModPlug_SetMasterVolume(ModPlugFile* file,unsigned int cvol) ;
   2.110 +
   2.111 +int ModPlug_GetCurrentSpeed(ModPlugFile* file);
   2.112 +int ModPlug_GetCurrentTempo(ModPlugFile* file);
   2.113 +int ModPlug_GetCurrentOrder(ModPlugFile* file);
   2.114 +int ModPlug_GetCurrentPattern(ModPlugFile* file);
   2.115 +int ModPlug_GetCurrentRow(ModPlugFile* file);
   2.116 +int ModPlug_GetPlayingChannels(ModPlugFile* file);
   2.117 +
   2.118 +void ModPlug_SeekOrder(ModPlugFile* file,int order);
   2.119 +int ModPlug_GetModuleType(ModPlugFile* file);
   2.120 +char* ModPlug_GetMessage(ModPlugFile* file);
   2.121 +
   2.122 +
   2.123 +#ifndef MODPLUG_NO_FILESAVE
   2.124 +/*
   2.125 + * EXPERIMENTAL Export Functions
   2.126 + */
   2.127 +/*Export to a Scream Tracker 3 S3M module. EXPERIMENTAL (only works on Little-Endian platforms)*/
   2.128 +char ModPlug_ExportS3M(ModPlugFile* file, const char* filepath);
   2.129 +
   2.130 +/*Export to a Extended Module (XM). EXPERIMENTAL (only works on Little-Endian platforms)*/
   2.131 +char ModPlug_ExportXM(ModPlugFile* file, const char* filepath);
   2.132 +
   2.133 +/*Export to a Amiga MOD file. EXPERIMENTAL.*/
   2.134 +char ModPlug_ExportMOD(ModPlugFile* file, const char* filepath);
   2.135 +
   2.136 +/*Export to a Impulse Tracker IT file. Should work OK in Little-Endian & Big-Endian platforms :-) */
   2.137 +char ModPlug_ExportIT(ModPlugFile* file, const char* filepath);
   2.138 +#endif // MODPLUG_NO_FILESAVE
   2.139 +
   2.140 +unsigned int ModPlug_NumInstruments(ModPlugFile* file);
   2.141 +unsigned int ModPlug_NumSamples(ModPlugFile* file);
   2.142 +unsigned int ModPlug_NumPatterns(ModPlugFile* file);
   2.143 +unsigned int ModPlug_NumChannels(ModPlugFile* file);
   2.144 +unsigned int ModPlug_SampleName(ModPlugFile* file, unsigned int qual, char* buff);
   2.145 +unsigned int ModPlug_InstrumentName(ModPlugFile* file, unsigned int qual, char* buff);
   2.146 +
   2.147 +/*
   2.148 + * Retrieve pattern note-data
   2.149 + */
   2.150 +ModPlugNote* ModPlug_GetPattern(ModPlugFile* file, int pattern, unsigned int* numrows);
   2.151 +
   2.152 +/*
   2.153 + * =================
   2.154 + * Mixer callback
   2.155 + * =================
   2.156 + *
   2.157 + * Use this callback if you want to 'modify' the mixed data of LibModPlug.
   2.158 + * 
   2.159 + * void proc(int* buffer,unsigned long channels,unsigned long nsamples) ;
   2.160 + *
   2.161 + * 'buffer': A buffer of mixed samples
   2.162 + * 'channels': N. of channels in the buffer
   2.163 + * 'nsamples': N. of samples in the buffeer (without taking care of n.channels)
   2.164 + *
   2.165 + * (Samples are signed 32-bit integers)
   2.166 + */
   2.167 +void ModPlug_InitMixerCallback(ModPlugFile* file,ModPlugMixerProc proc) ;
   2.168 +void ModPlug_UnloadMixerCallback(ModPlugFile* file) ;
   2.169 +
   2.170 +#ifdef __cplusplus
   2.171 +} /* extern "C" */
   2.172 +#endif
   2.173 +
   2.174 +#endif
     3.1 --- a/VisualC/external/include/modplug.h	Mon Aug 04 11:17:32 2014 -0400
     3.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.3 @@ -1,171 +0,0 @@
     3.4 -/*
     3.5 - * This source code is public domain.
     3.6 - *
     3.7 - * Authors: Kenton Varda <temporal@gauge3d.org> (C interface wrapper)
     3.8 - */
     3.9 -
    3.10 -#ifndef MODPLUG_H__INCLUDED
    3.11 -#define MODPLUG_H__INCLUDED
    3.12 -
    3.13 -#ifdef __cplusplus
    3.14 -extern "C" {
    3.15 -#endif
    3.16 -
    3.17 -struct _ModPlugFile;
    3.18 -typedef struct _ModPlugFile ModPlugFile;
    3.19 -
    3.20 -struct _ModPlugNote {
    3.21 -	unsigned char Note;
    3.22 -	unsigned char Instrument;
    3.23 -	unsigned char VolumeEffect;
    3.24 -	unsigned char Effect;
    3.25 -	unsigned char Volume;
    3.26 -	unsigned char Parameter;
    3.27 -};
    3.28 -typedef struct _ModPlugNote ModPlugNote;
    3.29 -
    3.30 -typedef void (*ModPlugMixerProc)(int*, unsigned long, unsigned long);
    3.31 -
    3.32 -/* Load a mod file.  [data] should point to a block of memory containing the complete
    3.33 - * file, and [size] should be the size of that block.
    3.34 - * Return the loaded mod file on success, or NULL on failure. */
    3.35 -ModPlugFile* ModPlug_Load(const void* data, int size);
    3.36 -/* Unload a mod file. */
    3.37 -void ModPlug_Unload(ModPlugFile* file);
    3.38 -
    3.39 -/* Read sample data into the buffer.  Returns the number of bytes read.  If the end
    3.40 - * of the mod has been reached, zero is returned. */
    3.41 -int  ModPlug_Read(ModPlugFile* file, void* buffer, int size);
    3.42 -
    3.43 -/* Get the name of the mod.  The returned buffer is stored within the ModPlugFile
    3.44 - * structure and will remain valid until you unload the file. */
    3.45 -const char* ModPlug_GetName(ModPlugFile* file);
    3.46 -
    3.47 -/* Get the length of the mod, in milliseconds.  Note that this result is not always
    3.48 - * accurate, especially in the case of mods with loops. */
    3.49 -int ModPlug_GetLength(ModPlugFile* file);
    3.50 -
    3.51 -/* Seek to a particular position in the song.  Note that seeking and MODs don't mix very
    3.52 - * well.  Some mods will be missing instruments for a short time after a seek, as ModPlug
    3.53 - * does not scan the sequence backwards to find out which instruments were supposed to be
    3.54 - * playing at that time.  (Doing so would be difficult and not very reliable.)  Also,
    3.55 - * note that seeking is not very exact in some mods -- especially those for which
    3.56 - * ModPlug_GetLength() does not report the full length. */
    3.57 -void ModPlug_Seek(ModPlugFile* file, int millisecond);
    3.58 -
    3.59 -enum _ModPlug_Flags
    3.60 -{
    3.61 -	MODPLUG_ENABLE_OVERSAMPLING     = 1 << 0,  /* Enable oversampling (*highly* recommended) */
    3.62 -	MODPLUG_ENABLE_NOISE_REDUCTION  = 1 << 1,  /* Enable noise reduction */
    3.63 -	MODPLUG_ENABLE_REVERB           = 1 << 2,  /* Enable reverb */
    3.64 -	MODPLUG_ENABLE_MEGABASS         = 1 << 3,  /* Enable megabass */
    3.65 -	MODPLUG_ENABLE_SURROUND         = 1 << 4   /* Enable surround sound. */
    3.66 -};
    3.67 -
    3.68 -enum _ModPlug_ResamplingMode
    3.69 -{
    3.70 -	MODPLUG_RESAMPLE_NEAREST = 0,  /* No interpolation (very fast, extremely bad sound quality) */
    3.71 -	MODPLUG_RESAMPLE_LINEAR  = 1,  /* Linear interpolation (fast, good quality) */
    3.72 -	MODPLUG_RESAMPLE_SPLINE  = 2,  /* Cubic spline interpolation (high quality) */
    3.73 -	MODPLUG_RESAMPLE_FIR     = 3   /* 8-tap fir filter (extremely high quality) */
    3.74 -};
    3.75 -
    3.76 -typedef struct _ModPlug_Settings
    3.77 -{
    3.78 -	int mFlags;  /* One or more of the MODPLUG_ENABLE_* flags above, bitwise-OR'ed */
    3.79 -	
    3.80 -	/* Note that ModPlug always decodes sound at 44100kHz, 32 bit, stereo and then
    3.81 -	 * down-mixes to the settings you choose. */
    3.82 -	int mChannels;       /* Number of channels - 1 for mono or 2 for stereo */
    3.83 -	int mBits;           /* Bits per sample - 8, 16, or 32 */
    3.84 -	int mFrequency;      /* Sampling rate - 11025, 22050, or 44100 */
    3.85 -	int mResamplingMode; /* One of MODPLUG_RESAMPLE_*, above */
    3.86 -
    3.87 -	int mStereoSeparation; /* Stereo separation, 1 - 256 */
    3.88 -	int mMaxMixChannels; /* Maximum number of mixing channels (polyphony), 32 - 256 */
    3.89 -	
    3.90 -	int mReverbDepth;    /* Reverb level 0(quiet)-100(loud)      */
    3.91 -	int mReverbDelay;    /* Reverb delay in ms, usually 40-200ms */
    3.92 -	int mBassAmount;     /* XBass level 0(quiet)-100(loud)       */
    3.93 -	int mBassRange;      /* XBass cutoff in Hz 10-100            */
    3.94 -	int mSurroundDepth;  /* Surround level 0(quiet)-100(heavy)   */
    3.95 -	int mSurroundDelay;  /* Surround delay in ms, usually 5-40ms */
    3.96 -	int mLoopCount;      /* Number of times to loop.  Zero prevents looping.
    3.97 -	                        -1 loops forever. */
    3.98 -} ModPlug_Settings;
    3.99 -
   3.100 -/* Get and set the mod decoder settings.  All options, except for channels, bits-per-sample,
   3.101 - * sampling rate, and loop count, will take effect immediately.  Those options which don't
   3.102 - * take effect immediately will take effect the next time you load a mod. */
   3.103 -void ModPlug_GetSettings(ModPlug_Settings* settings);
   3.104 -void ModPlug_SetSettings(const ModPlug_Settings* settings);
   3.105 -
   3.106 -/* New ModPlug API Functions */
   3.107 -/* NOTE: Master Volume (1-512) */
   3.108 -unsigned int ModPlug_GetMasterVolume(ModPlugFile* file) ;
   3.109 -void ModPlug_SetMasterVolume(ModPlugFile* file,unsigned int cvol) ;
   3.110 -
   3.111 -int ModPlug_GetCurrentSpeed(ModPlugFile* file);
   3.112 -int ModPlug_GetCurrentTempo(ModPlugFile* file);
   3.113 -int ModPlug_GetCurrentOrder(ModPlugFile* file);
   3.114 -int ModPlug_GetCurrentPattern(ModPlugFile* file);
   3.115 -int ModPlug_GetCurrentRow(ModPlugFile* file);
   3.116 -int ModPlug_GetPlayingChannels(ModPlugFile* file);
   3.117 -
   3.118 -void ModPlug_SeekOrder(ModPlugFile* file,int order);
   3.119 -int ModPlug_GetModuleType(ModPlugFile* file);
   3.120 -char* ModPlug_GetMessage(ModPlugFile* file);
   3.121 -
   3.122 -
   3.123 -#ifndef MODPLUG_NO_FILESAVE
   3.124 -/*
   3.125 - * EXPERIMENTAL Export Functions
   3.126 - */
   3.127 -/*Export to a Scream Tracker 3 S3M module. EXPERIMENTAL (only works on Little-Endian platforms)*/
   3.128 -char ModPlug_ExportS3M(ModPlugFile* file, const char* filepath);
   3.129 -
   3.130 -/*Export to a Extended Module (XM). EXPERIMENTAL (only works on Little-Endian platforms)*/
   3.131 -char ModPlug_ExportXM(ModPlugFile* file, const char* filepath);
   3.132 -
   3.133 -/*Export to a Amiga MOD file. EXPERIMENTAL.*/
   3.134 -char ModPlug_ExportMOD(ModPlugFile* file, const char* filepath);
   3.135 -
   3.136 -/*Export to a Impulse Tracker IT file. Should work OK in Little-Endian & Big-Endian platforms :-) */
   3.137 -char ModPlug_ExportIT(ModPlugFile* file, const char* filepath);
   3.138 -#endif // MODPLUG_NO_FILESAVE
   3.139 -
   3.140 -unsigned int ModPlug_NumInstruments(ModPlugFile* file);
   3.141 -unsigned int ModPlug_NumSamples(ModPlugFile* file);
   3.142 -unsigned int ModPlug_NumPatterns(ModPlugFile* file);
   3.143 -unsigned int ModPlug_NumChannels(ModPlugFile* file);
   3.144 -unsigned int ModPlug_SampleName(ModPlugFile* file, unsigned int qual, char* buff);
   3.145 -unsigned int ModPlug_InstrumentName(ModPlugFile* file, unsigned int qual, char* buff);
   3.146 -
   3.147 -/*
   3.148 - * Retrieve pattern note-data
   3.149 - */
   3.150 -ModPlugNote* ModPlug_GetPattern(ModPlugFile* file, int pattern, unsigned int* numrows);
   3.151 -
   3.152 -/*
   3.153 - * =================
   3.154 - * Mixer callback
   3.155 - * =================
   3.156 - *
   3.157 - * Use this callback if you want to 'modify' the mixed data of LibModPlug.
   3.158 - * 
   3.159 - * void proc(int* buffer,unsigned long channels,unsigned long nsamples) ;
   3.160 - *
   3.161 - * 'buffer': A buffer of mixed samples
   3.162 - * 'channels': N. of channels in the buffer
   3.163 - * 'nsamples': N. of samples in the buffeer (without taking care of n.channels)
   3.164 - *
   3.165 - * (Samples are signed 32-bit integers)
   3.166 - */
   3.167 -void ModPlug_InitMixerCallback(ModPlugFile* file,ModPlugMixerProc proc) ;
   3.168 -void ModPlug_UnloadMixerCallback(ModPlugFile* file) ;
   3.169 -
   3.170 -#ifdef __cplusplus
   3.171 -} /* extern "C" */
   3.172 -#endif
   3.173 -
   3.174 -#endif
     4.1 --- a/Xcode-iOS/SDL_mixer.xcodeproj/project.pbxproj	Mon Aug 04 11:17:32 2014 -0400
     4.2 +++ b/Xcode-iOS/SDL_mixer.xcodeproj/project.pbxproj	Sat Aug 16 22:46:16 2014 -0700
     4.3 @@ -740,9 +740,11 @@
     4.4  				GCC_PREPROCESSOR_DEFINITIONS = (
     4.5  					WAV_MUSIC,
     4.6  					MODPLUG_MUSIC,
     4.7 +					"MODPLUG_HEADER=\"<modplug.h>\"",
     4.8  					MID_MUSIC,
     4.9  					OGG_MUSIC,
    4.10  					OGG_USE_TREMOR,
    4.11 +					"OGG_HEADER=\"<ivorbisfile.h>\"",
    4.12  					HAVE_STDINT_H,
    4.13  					HAVE_SETENV,
    4.14  					HAVE_SINF,
    4.15 @@ -768,9 +770,11 @@
    4.16  				GCC_PREPROCESSOR_DEFINITIONS = (
    4.17  					WAV_MUSIC,
    4.18  					MODPLUG_MUSIC,
    4.19 +					"MODPLUG_HEADER=\"<modplug.h>\"",
    4.20  					MID_MUSIC,
    4.21  					OGG_MUSIC,
    4.22  					OGG_USE_TREMOR,
    4.23 +					"OGG_HEADER=\"<ivorbisfile.h>\"",
    4.24  					HAVE_STDINT_H,
    4.25  					HAVE_SETENV,
    4.26  					HAVE_SINF,
     5.1 --- a/Xcode/SDL_mixer.xcodeproj/project.pbxproj	Mon Aug 04 11:17:32 2014 -0400
     5.2 +++ b/Xcode/SDL_mixer.xcodeproj/project.pbxproj	Sat Aug 16 22:46:16 2014 -0700
     5.3 @@ -830,6 +830,7 @@
     5.4  					CMD_MUSIC,
     5.5  					WAV_MUSIC,
     5.6  					MODPLUG_MUSIC,
     5.7 +					"MODPLUG_HEADER=\"<modplug.h>\"",
     5.8  					MP3_MUSIC,
     5.9  					MID_MUSIC,
    5.10  					USE_NATIVE_MIDI,
    5.11 @@ -866,6 +867,7 @@
    5.12  					CMD_MUSIC,
    5.13  					WAV_MUSIC,
    5.14  					MODPLUG_MUSIC,
    5.15 +					"MODPLUG_HEADER=\"<modplug.h>\"",
    5.16  					MP3_MUSIC,
    5.17  					MID_MUSIC,
    5.18  					USE_NATIVE_MIDI,
     6.1 --- a/configure	Mon Aug 04 11:17:32 2014 -0400
     6.2 +++ b/configure	Sat Aug 16 22:46:16 2014 -0700
     6.3 @@ -11817,8 +11817,8 @@
     6.4  
     6.5  	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     6.6  $as_echo "no" >&6; }
     6.7 -                            ac_fn_c_check_header_mongrel "$LINENO" "modplug.h" "ac_cv_header_modplug_h" "$ac_includes_default"
     6.8 -if test "x$ac_cv_header_modplug_h" = xyes; then :
     6.9 +                            ac_fn_c_check_header_mongrel "$LINENO" "libmodplug/modplug.h" "ac_cv_header_libmodplug_modplug_h" "$ac_includes_default"
    6.10 +if test "x$ac_cv_header_libmodplug_modplug_h" = xyes; then :
    6.11    have_libmodplug_hdr=yes
    6.12  fi
    6.13  
    6.14 @@ -11870,8 +11870,8 @@
    6.15  
    6.16  
    6.17  elif test $pkg_failed = untried; then
    6.18 -	            ac_fn_c_check_header_mongrel "$LINENO" "modplug.h" "ac_cv_header_modplug_h" "$ac_includes_default"
    6.19 -if test "x$ac_cv_header_modplug_h" = xyes; then :
    6.20 +	            ac_fn_c_check_header_mongrel "$LINENO" "libmodplug/modplug.h" "ac_cv_header_libmodplug_modplug_h" "$ac_includes_default"
    6.21 +if test "x$ac_cv_header_libmodplug_modplug_h" = xyes; then :
    6.22    have_libmodplug_hdr=yes
    6.23  fi
    6.24  
     7.1 --- a/configure.in	Mon Aug 04 11:17:32 2014 -0400
     7.2 +++ b/configure.in	Sat Aug 16 22:46:16 2014 -0700
     7.3 @@ -257,7 +257,7 @@
     7.4              have_libmodplug_hdr=yes
     7.5              have_libmodplug_lib=yes
     7.6          ], [dnl
     7.7 -            AC_CHECK_HEADER([modplug.h], [have_libmodplug_hdr=yes])
     7.8 +            AC_CHECK_HEADER([libmodplug/modplug.h], [have_libmodplug_hdr=yes])
     7.9              AC_CHECK_LIB([modplug], [have_libmodplug_lib=yes])
    7.10          ])
    7.11  
     8.1 --- a/dynamic_modplug.h	Mon Aug 04 11:17:32 2014 -0400
     8.2 +++ b/dynamic_modplug.h	Sat Aug 16 22:46:16 2014 -0700
     8.3 @@ -21,7 +21,11 @@
     8.4  
     8.5  #ifdef MODPLUG_MUSIC
     8.6  
     8.7 -#include "modplug.h"
     8.8 +#ifdef MODPLUG_HEADER
     8.9 +#include MODPLUG_HEADER
    8.10 +#else
    8.11 +#include <libmodplug/modplug.h>
    8.12 +#endif
    8.13  
    8.14  typedef struct {
    8.15      int loaded;
     9.1 --- a/dynamic_ogg.h	Mon Aug 04 11:17:32 2014 -0400
     9.2 +++ b/dynamic_ogg.h	Sat Aug 16 22:46:16 2014 -0700
     9.3 @@ -20,8 +20,10 @@
     9.4  */
     9.5  
     9.6  #ifdef OGG_MUSIC
     9.7 -#ifdef OGG_USE_TREMOR
     9.8 -#include <ivorbisfile.h>
     9.9 +#if defined(OGG_HEADER)
    9.10 +#include OGG_HEADER
    9.11 +#elif defined(OGG_USE_TREMOR)
    9.12 +#include <tremor/ivorbisfile.h>
    9.13  #else
    9.14  #include <vorbis/vorbisfile.h>
    9.15  #endif
    10.1 --- a/music_modplug.h	Mon Aug 04 11:17:32 2014 -0400
    10.2 +++ b/music_modplug.h	Sat Aug 16 22:46:16 2014 -0700
    10.3 @@ -21,7 +21,11 @@
    10.4  
    10.5  #ifdef MODPLUG_MUSIC
    10.6  
    10.7 -#include "modplug.h"
    10.8 +#ifdef MODPLUG_HEADER
    10.9 +#include MODPLUG_HEADER
   10.10 +#else
   10.11 +#include <libmodplug/modplug.h>
   10.12 +#endif
   10.13  #include "SDL_rwops.h"
   10.14  #include "SDL_audio.h"
   10.15  #include "SDL_mixer.h"
    11.1 --- a/music_ogg.h	Mon Aug 04 11:17:32 2014 -0400
    11.2 +++ b/music_ogg.h	Sat Aug 16 22:46:16 2014 -0700
    11.3 @@ -25,8 +25,10 @@
    11.4  
    11.5  /* This file supports Ogg Vorbis music streams */
    11.6  
    11.7 -#ifdef OGG_USE_TREMOR
    11.8 -#include <ivorbisfile.h>
    11.9 +#if defined(OGG_HEADER)
   11.10 +#include OGG_HEADER
   11.11 +#elif defined(OGG_USE_TREMOR)
   11.12 +#include <tremor/ivorbisfile.h>
   11.13  #else
   11.14  #include <vorbis/vorbisfile.h>
   11.15  #endif