Updated the iOS project and added FLAC music support
authorSam Lantinga
Sat, 21 Oct 2017 11:38:48 -0700
changeset 81917ddbf810d08
parent 818 944767bb6fb8
child 820 4bf887d61097
Updated the iOS project and added FLAC music support
README.txt
Xcode-iOS/SDL_mixer.xcodeproj/project.pbxproj
external/flac-1.3.2/src/libFLAC/format.c
     1.1 --- a/README.txt	Sat Oct 21 10:23:58 2017 -0700
     1.2 +++ b/README.txt	Sat Oct 21 11:38:48 2017 -0700
     1.3 @@ -39,11 +39,16 @@
     1.4  instruments you want to use for MIDI playback.
     1.5  (On some Linux distributions you can install the fluid-soundfont-gm package)
     1.6  
     1.7 -
     1.8  To play MIDI files using Timidity, you'll need to get a complete set of
     1.9  GUS patches from:
    1.10  http://www.libsdl.org/projects/mixer/timidity/timidity.tar.gz
    1.11  and unpack them in /usr/local/lib under UNIX, and C:\ under Win32.
    1.12  
    1.13 +iOS:
    1.14 +In order to use this library on iOS, you should include the SDL.xcodeproj
    1.15 +and Xcode-iOS/SDL_mixer.xcodeproj in your application, add the SDL/include
    1.16 +and SDL_mixer directories to your "Header Search Paths" setting, then add the
    1.17 +libSDL2.a and libSDL2_mixer.a to your "Link Binary with Libraries" setting.
    1.18 +
    1.19  This library is under the zlib license, see the file "COPYING.txt" for details.
    1.20  
     2.1 --- a/Xcode-iOS/SDL_mixer.xcodeproj/project.pbxproj	Sat Oct 21 10:23:58 2017 -0700
     2.2 +++ b/Xcode-iOS/SDL_mixer.xcodeproj/project.pbxproj	Sat Oct 21 11:38:48 2017 -0700
     2.3 @@ -7,6 +7,41 @@
     2.4  	objects = {
     2.5  
     2.6  /* Begin PBXBuildFile section */
     2.7 +		AA1C71151F9BC66000A6BC31 /* effect_position.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C71131F9BC66000A6BC31 /* effect_position.c */; };
     2.8 +		AA1C71161F9BC66000A6BC31 /* effect_stereoreverse.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C71141F9BC66000A6BC31 /* effect_stereoreverse.c */; };
     2.9 +		AA1C71191F9BC67200A6BC31 /* effects_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = AA1C71171F9BC67100A6BC31 /* effects_internal.h */; };
    2.10 +		AA1C711A1F9BC67200A6BC31 /* effects_internal.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C71181F9BC67200A6BC31 /* effects_internal.c */; };
    2.11 +		AA1C711C1F9BC6AD00A6BC31 /* load_mod.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1C711B1F9BC6AD00A6BC31 /* load_mod.cpp */; };
    2.12 +		AA1C713D1F9BC92000A6BC31 /* bitreader.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C711F1F9BC91C00A6BC31 /* bitreader.c */; };
    2.13 +		AA1C713E1F9BC92000A6BC31 /* cpu.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C71201F9BC91C00A6BC31 /* cpu.c */; };
    2.14 +		AA1C713F1F9BC92000A6BC31 /* format.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C71211F9BC91C00A6BC31 /* format.c */; };
    2.15 +		AA1C71401F9BC92000A6BC31 /* lpc_intrin_sse41.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C71221F9BC91C00A6BC31 /* lpc_intrin_sse41.c */; };
    2.16 +		AA1C71411F9BC92000A6BC31 /* bitwriter.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C71231F9BC91C00A6BC31 /* bitwriter.c */; };
    2.17 +		AA1C71421F9BC92000A6BC31 /* stream_encoder_intrin_ssse3.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C71241F9BC91D00A6BC31 /* stream_encoder_intrin_ssse3.c */; };
    2.18 +		AA1C71431F9BC92000A6BC31 /* stream_encoder_framing.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C71251F9BC91D00A6BC31 /* stream_encoder_framing.c */; };
    2.19 +		AA1C71441F9BC92000A6BC31 /* bitmath.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C71261F9BC91D00A6BC31 /* bitmath.c */; };
    2.20 +		AA1C71451F9BC92000A6BC31 /* ogg_helper.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C71271F9BC91D00A6BC31 /* ogg_helper.c */; };
    2.21 +		AA1C71461F9BC92000A6BC31 /* fixed_intrin_sse2.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C71281F9BC91D00A6BC31 /* fixed_intrin_sse2.c */; };
    2.22 +		AA1C71471F9BC92000A6BC31 /* window.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C71291F9BC91D00A6BC31 /* window.c */; };
    2.23 +		AA1C71481F9BC92000A6BC31 /* crc.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C712A1F9BC91D00A6BC31 /* crc.c */; };
    2.24 +		AA1C71491F9BC92000A6BC31 /* lpc_intrin_sse.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C712B1F9BC91D00A6BC31 /* lpc_intrin_sse.c */; };
    2.25 +		AA1C714A1F9BC92000A6BC31 /* stream_decoder.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C712C1F9BC91D00A6BC31 /* stream_decoder.c */; };
    2.26 +		AA1C714B1F9BC92000A6BC31 /* fixed.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C712D1F9BC91E00A6BC31 /* fixed.c */; };
    2.27 +		AA1C714C1F9BC92000A6BC31 /* stream_encoder.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C712E1F9BC91E00A6BC31 /* stream_encoder.c */; };
    2.28 +		AA1C714D1F9BC92000A6BC31 /* lpc.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C712F1F9BC91E00A6BC31 /* lpc.c */; };
    2.29 +		AA1C714E1F9BC92000A6BC31 /* stream_encoder_intrin_sse2.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C71301F9BC91E00A6BC31 /* stream_encoder_intrin_sse2.c */; };
    2.30 +		AA1C714F1F9BC92000A6BC31 /* lpc_intrin_sse2.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C71311F9BC91E00A6BC31 /* lpc_intrin_sse2.c */; };
    2.31 +		AA1C71501F9BC92000A6BC31 /* fixed_intrin_ssse3.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C71321F9BC91E00A6BC31 /* fixed_intrin_ssse3.c */; };
    2.32 +		AA1C71511F9BC92000A6BC31 /* metadata_object.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C71331F9BC91E00A6BC31 /* metadata_object.c */; };
    2.33 +		AA1C71521F9BC92000A6BC31 /* lpc_intrin_avx2.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C71341F9BC91F00A6BC31 /* lpc_intrin_avx2.c */; };
    2.34 +		AA1C71531F9BC92000A6BC31 /* ogg_encoder_aspect.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C71351F9BC91F00A6BC31 /* ogg_encoder_aspect.c */; };
    2.35 +		AA1C71541F9BC92000A6BC31 /* stream_encoder_intrin_avx2.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C71361F9BC91F00A6BC31 /* stream_encoder_intrin_avx2.c */; };
    2.36 +		AA1C71551F9BC92000A6BC31 /* ogg_decoder_aspect.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C71371F9BC91F00A6BC31 /* ogg_decoder_aspect.c */; };
    2.37 +		AA1C71561F9BC92000A6BC31 /* float.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C71381F9BC91F00A6BC31 /* float.c */; };
    2.38 +		AA1C71571F9BC92000A6BC31 /* metadata_iterators.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C71391F9BC91F00A6BC31 /* metadata_iterators.c */; };
    2.39 +		AA1C71581F9BC92000A6BC31 /* ogg_mapping.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C713A1F9BC91F00A6BC31 /* ogg_mapping.c */; };
    2.40 +		AA1C71591F9BC92000A6BC31 /* memory.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C713B1F9BC92000A6BC31 /* memory.c */; };
    2.41 +		AA1C715A1F9BC92000A6BC31 /* md5.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1C713C1F9BC92000A6BC31 /* md5.c */; };
    2.42  		AA60217217653A9800662B9C /* fastmix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA60214D17653A9800662B9C /* fastmix.cpp */; };
    2.43  		AA60217317653A9800662B9C /* load_669.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA60214E17653A9800662B9C /* load_669.cpp */; };
    2.44  		AA60217417653A9800662B9C /* load_abc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA60214F17653A9800662B9C /* load_abc.cpp */; };
    2.45 @@ -129,6 +164,41 @@
    2.46  
    2.47  /* Begin PBXFileReference section */
    2.48  		1014BAEA010A4B677F000001 /* SDL_mixer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SDL_mixer.h; path = ../SDL_mixer.h; sourceTree = SOURCE_ROOT; };
    2.49 +		AA1C71131F9BC66000A6BC31 /* effect_position.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = effect_position.c; path = ../effect_position.c; sourceTree = "<group>"; };
    2.50 +		AA1C71141F9BC66000A6BC31 /* effect_stereoreverse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = effect_stereoreverse.c; path = ../effect_stereoreverse.c; sourceTree = "<group>"; };
    2.51 +		AA1C71171F9BC67100A6BC31 /* effects_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = effects_internal.h; path = ../effects_internal.h; sourceTree = "<group>"; };
    2.52 +		AA1C71181F9BC67200A6BC31 /* effects_internal.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = effects_internal.c; path = ../effects_internal.c; sourceTree = "<group>"; };
    2.53 +		AA1C711B1F9BC6AD00A6BC31 /* load_mod.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = load_mod.cpp; path = src/load_mod.cpp; sourceTree = "<group>"; };
    2.54 +		AA1C711F1F9BC91C00A6BC31 /* bitreader.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = src/libFLAC/bitreader.c; sourceTree = "<group>"; };
    2.55 +		AA1C71201F9BC91C00A6BC31 /* cpu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = src/libFLAC/cpu.c; sourceTree = "<group>"; };
    2.56 +		AA1C71211F9BC91C00A6BC31 /* format.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = format.c; path = src/libFLAC/format.c; sourceTree = "<group>"; };
    2.57 +		AA1C71221F9BC91C00A6BC31 /* lpc_intrin_sse41.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lpc_intrin_sse41.c; path = src/libFLAC/lpc_intrin_sse41.c; sourceTree = "<group>"; };
    2.58 +		AA1C71231F9BC91C00A6BC31 /* bitwriter.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = src/libFLAC/bitwriter.c; sourceTree = "<group>"; };
    2.59 +		AA1C71241F9BC91D00A6BC31 /* stream_encoder_intrin_ssse3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = stream_encoder_intrin_ssse3.c; path = src/libFLAC/stream_encoder_intrin_ssse3.c; sourceTree = "<group>"; };
    2.60 +		AA1C71251F9BC91D00A6BC31 /* stream_encoder_framing.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = stream_encoder_framing.c; path = src/libFLAC/stream_encoder_framing.c; sourceTree = "<group>"; };
    2.61 +		AA1C71261F9BC91D00A6BC31 /* bitmath.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = src/libFLAC/bitmath.c; sourceTree = "<group>"; };
    2.62 +		AA1C71271F9BC91D00A6BC31 /* ogg_helper.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ogg_helper.c; path = src/libFLAC/ogg_helper.c; sourceTree = "<group>"; };
    2.63 +		AA1C71281F9BC91D00A6BC31 /* fixed_intrin_sse2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = fixed_intrin_sse2.c; path = src/libFLAC/fixed_intrin_sse2.c; sourceTree = "<group>"; };
    2.64 +		AA1C71291F9BC91D00A6BC31 /* window.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = window.c; path = src/libFLAC/window.c; sourceTree = "<group>"; };
    2.65 +		AA1C712A1F9BC91D00A6BC31 /* crc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = crc.c; path = src/libFLAC/crc.c; sourceTree = "<group>"; };
    2.66 +		AA1C712B1F9BC91D00A6BC31 /* lpc_intrin_sse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lpc_intrin_sse.c; path = src/libFLAC/lpc_intrin_sse.c; sourceTree = "<group>"; };
    2.67 +		AA1C712C1F9BC91D00A6BC31 /* stream_decoder.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = stream_decoder.c; path = src/libFLAC/stream_decoder.c; sourceTree = "<group>"; };
    2.68 +		AA1C712D1F9BC91E00A6BC31 /* fixed.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = src/libFLAC/fixed.c; sourceTree = "<group>"; };
    2.69 +		AA1C712E1F9BC91E00A6BC31 /* stream_encoder.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = stream_encoder.c; path = src/libFLAC/stream_encoder.c; sourceTree = "<group>"; };
    2.70 +		AA1C712F1F9BC91E00A6BC31 /* lpc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = src/libFLAC/lpc.c; sourceTree = "<group>"; };
    2.71 +		AA1C71301F9BC91E00A6BC31 /* stream_encoder_intrin_sse2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = stream_encoder_intrin_sse2.c; path = src/libFLAC/stream_encoder_intrin_sse2.c; sourceTree = "<group>"; };
    2.72 +		AA1C71311F9BC91E00A6BC31 /* lpc_intrin_sse2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lpc_intrin_sse2.c; path = src/libFLAC/lpc_intrin_sse2.c; sourceTree = "<group>"; };
    2.73 +		AA1C71321F9BC91E00A6BC31 /* fixed_intrin_ssse3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = fixed_intrin_ssse3.c; path = src/libFLAC/fixed_intrin_ssse3.c; sourceTree = "<group>"; };
    2.74 +		AA1C71331F9BC91E00A6BC31 /* metadata_object.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = metadata_object.c; path = src/libFLAC/metadata_object.c; sourceTree = "<group>"; };
    2.75 +		AA1C71341F9BC91F00A6BC31 /* lpc_intrin_avx2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lpc_intrin_avx2.c; path = src/libFLAC/lpc_intrin_avx2.c; sourceTree = "<group>"; };
    2.76 +		AA1C71351F9BC91F00A6BC31 /* ogg_encoder_aspect.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ogg_encoder_aspect.c; path = src/libFLAC/ogg_encoder_aspect.c; sourceTree = "<group>"; };
    2.77 +		AA1C71361F9BC91F00A6BC31 /* stream_encoder_intrin_avx2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = stream_encoder_intrin_avx2.c; path = src/libFLAC/stream_encoder_intrin_avx2.c; sourceTree = "<group>"; };
    2.78 +		AA1C71371F9BC91F00A6BC31 /* ogg_decoder_aspect.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ogg_decoder_aspect.c; path = src/libFLAC/ogg_decoder_aspect.c; sourceTree = "<group>"; };
    2.79 +		AA1C71381F9BC91F00A6BC31 /* float.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = float.c; path = src/libFLAC/float.c; sourceTree = "<group>"; };
    2.80 +		AA1C71391F9BC91F00A6BC31 /* metadata_iterators.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = metadata_iterators.c; path = src/libFLAC/metadata_iterators.c; sourceTree = "<group>"; };
    2.81 +		AA1C713A1F9BC91F00A6BC31 /* ogg_mapping.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ogg_mapping.c; path = src/libFLAC/ogg_mapping.c; sourceTree = "<group>"; };
    2.82 +		AA1C713B1F9BC92000A6BC31 /* memory.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = memory.c; path = src/libFLAC/memory.c; sourceTree = "<group>"; };
    2.83 +		AA1C713C1F9BC92000A6BC31 /* md5.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = md5.c; path = src/libFLAC/md5.c; sourceTree = "<group>"; };
    2.84  		AA60214D17653A9800662B9C /* fastmix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = fastmix.cpp; path = src/fastmix.cpp; sourceTree = "<group>"; };
    2.85  		AA60214E17653A9800662B9C /* load_669.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = load_669.cpp; path = src/load_669.cpp; sourceTree = "<group>"; };
    2.86  		AA60214F17653A9800662B9C /* load_abc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = load_abc.cpp; path = src/load_abc.cpp; sourceTree = "<group>"; };
    2.87 @@ -298,9 +368,14 @@
    2.88  		08FB77ACFE841707C02AAC07 /* Library Source */ = {
    2.89  			isa = PBXGroup;
    2.90  			children = (
    2.91 +				AA1C711E1F9BC87800A6BC31 /* flac */,
    2.92  				AA60214C17653A5900662B9C /* modplug */,
    2.93  				5CC1B87F012FB8CD7F000001 /* timidity */,
    2.94  				AA644291175B0D6E00A2125A /* tremor */,
    2.95 +				AA1C71131F9BC66000A6BC31 /* effect_position.c */,
    2.96 +				AA1C71141F9BC66000A6BC31 /* effect_stereoreverse.c */,
    2.97 +				AA1C71181F9BC67200A6BC31 /* effects_internal.c */,
    2.98 +				AA1C71171F9BC67100A6BC31 /* effects_internal.h */,
    2.99  				AAE406061F9609B900EDAF53 /* load_aiff.c */,
   2.100  				AAE406181F9609BA00EDAF53 /* load_aiff.h */,
   2.101  				AAE406141F9609BA00EDAF53 /* load_voc.c */,
   2.102 @@ -364,6 +439,44 @@
   2.103  			path = ../timidity;
   2.104  			sourceTree = "<group>";
   2.105  		};
   2.106 +		AA1C711E1F9BC87800A6BC31 /* flac */ = {
   2.107 +			isa = PBXGroup;
   2.108 +			children = (
   2.109 +				AA1C71261F9BC91D00A6BC31 /* bitmath.c */,
   2.110 +				AA1C711F1F9BC91C00A6BC31 /* bitreader.c */,
   2.111 +				AA1C71231F9BC91C00A6BC31 /* bitwriter.c */,
   2.112 +				AA1C71201F9BC91C00A6BC31 /* cpu.c */,
   2.113 +				AA1C712A1F9BC91D00A6BC31 /* crc.c */,
   2.114 +				AA1C71281F9BC91D00A6BC31 /* fixed_intrin_sse2.c */,
   2.115 +				AA1C71321F9BC91E00A6BC31 /* fixed_intrin_ssse3.c */,
   2.116 +				AA1C712D1F9BC91E00A6BC31 /* fixed.c */,
   2.117 +				AA1C71381F9BC91F00A6BC31 /* float.c */,
   2.118 +				AA1C71211F9BC91C00A6BC31 /* format.c */,
   2.119 +				AA1C71341F9BC91F00A6BC31 /* lpc_intrin_avx2.c */,
   2.120 +				AA1C712B1F9BC91D00A6BC31 /* lpc_intrin_sse.c */,
   2.121 +				AA1C71311F9BC91E00A6BC31 /* lpc_intrin_sse2.c */,
   2.122 +				AA1C71221F9BC91C00A6BC31 /* lpc_intrin_sse41.c */,
   2.123 +				AA1C712F1F9BC91E00A6BC31 /* lpc.c */,
   2.124 +				AA1C713C1F9BC92000A6BC31 /* md5.c */,
   2.125 +				AA1C713B1F9BC92000A6BC31 /* memory.c */,
   2.126 +				AA1C71391F9BC91F00A6BC31 /* metadata_iterators.c */,
   2.127 +				AA1C71331F9BC91E00A6BC31 /* metadata_object.c */,
   2.128 +				AA1C71371F9BC91F00A6BC31 /* ogg_decoder_aspect.c */,
   2.129 +				AA1C71351F9BC91F00A6BC31 /* ogg_encoder_aspect.c */,
   2.130 +				AA1C71271F9BC91D00A6BC31 /* ogg_helper.c */,
   2.131 +				AA1C713A1F9BC91F00A6BC31 /* ogg_mapping.c */,
   2.132 +				AA1C712C1F9BC91D00A6BC31 /* stream_decoder.c */,
   2.133 +				AA1C71251F9BC91D00A6BC31 /* stream_encoder_framing.c */,
   2.134 +				AA1C71361F9BC91F00A6BC31 /* stream_encoder_intrin_avx2.c */,
   2.135 +				AA1C71301F9BC91E00A6BC31 /* stream_encoder_intrin_sse2.c */,
   2.136 +				AA1C71241F9BC91D00A6BC31 /* stream_encoder_intrin_ssse3.c */,
   2.137 +				AA1C712E1F9BC91E00A6BC31 /* stream_encoder.c */,
   2.138 +				AA1C71291F9BC91D00A6BC31 /* window.c */,
   2.139 +			);
   2.140 +			name = flac;
   2.141 +			path = "../external/flac-1.3.2";
   2.142 +			sourceTree = "<group>";
   2.143 +		};
   2.144  		AA60214C17653A5900662B9C /* modplug */ = {
   2.145  			isa = PBXGroup;
   2.146  			children = (
   2.147 @@ -381,6 +494,7 @@
   2.148  				AA60215817653A9800662B9C /* load_mdl.cpp */,
   2.149  				AA60215917653A9800662B9C /* load_med.cpp */,
   2.150  				AA60215A17653A9800662B9C /* load_mid.cpp */,
   2.151 +				AA1C711B1F9BC6AD00A6BC31 /* load_mod.cpp */,
   2.152  				AA60215C17653A9800662B9C /* load_mt2.cpp */,
   2.153  				AA60215D17653A9800662B9C /* load_mtm.cpp */,
   2.154  				AA60215E17653A9800662B9C /* load_okt.cpp */,
   2.155 @@ -490,6 +604,7 @@
   2.156  				AA6442C8175B0E5000A2125A /* registry.h in Headers */,
   2.157  				AAE883B61F973261007B6569 /* resample.h in Headers */,
   2.158  				AAE4062F1F9609BD00EDAF53 /* music_flac.h in Headers */,
   2.159 +				AA1C71191F9BC67200A6BC31 /* effects_internal.h in Headers */,
   2.160  				AAE883B31F973261007B6569 /* readmidi.h in Headers */,
   2.161  				AA6442CD175B0E5000A2125A /* window_lookup.h in Headers */,
   2.162  				AAE883A51F973261007B6569 /* timidity.h in Headers */,
   2.163 @@ -530,7 +645,7 @@
   2.164  		0867D690FE84028FC02AAC07 /* Project object */ = {
   2.165  			isa = PBXProject;
   2.166  			attributes = {
   2.167 -				LastUpgradeCheck = 0630;
   2.168 +				LastUpgradeCheck = 0900;
   2.169  			};
   2.170  			buildConfigurationList = 00B7E497097EC6B300826121 /* Build configuration list for PBXProject "SDL_mixer" */;
   2.171  			compatibilityVersion = "Xcode 3.2";
   2.172 @@ -568,22 +683,32 @@
   2.173  			buildActionMask = 2147483647;
   2.174  			files = (
   2.175  				AAE406321F9609BD00EDAF53 /* music_mad.c in Sources */,
   2.176 +				AA1C71451F9BC92000A6BC31 /* ogg_helper.c in Sources */,
   2.177  				AAE406351F9609BD00EDAF53 /* music.c in Sources */,
   2.178  				AAE883AB1F973261007B6569 /* timidity.c in Sources */,
   2.179 +				AA1C71431F9BC92000A6BC31 /* stream_encoder_framing.c in Sources */,
   2.180  				AAE4062C1F9609BD00EDAF53 /* music_modplug.c in Sources */,
   2.181  				AAE406421F9609BD00EDAF53 /* music_smpeg.c in Sources */,
   2.182 +				AA1C713E1F9BC92000A6BC31 /* cpu.c in Sources */,
   2.183  				AAE406261F9609BD00EDAF53 /* load_aiff.c in Sources */,
   2.184 +				AA1C71471F9BC92000A6BC31 /* window.c in Sources */,
   2.185 +				AA1C71421F9BC92000A6BC31 /* stream_encoder_intrin_ssse3.c in Sources */,
   2.186  				AA644294175B0E0600A2125A /* bitwise.c in Sources */,
   2.187  				AA644295175B0E0600A2125A /* framing.c in Sources */,
   2.188 +				AA1C714A1F9BC92000A6BC31 /* stream_decoder.c in Sources */,
   2.189 +				AA1C711C1F9BC6AD00A6BC31 /* load_mod.cpp in Sources */,
   2.190  				AAE883B71F973261007B6569 /* tables.c in Sources */,
   2.191  				AAE406431F9609BD00EDAF53 /* music_cmd.c in Sources */,
   2.192  				AA6442A0175B0E2500A2125A /* block.c in Sources */,
   2.193 +				AA1C71541F9BC92000A6BC31 /* stream_encoder_intrin_avx2.c in Sources */,
   2.194  				AAE883AD1F973261007B6569 /* common.c in Sources */,
   2.195  				AA6442A2175B0E2500A2125A /* codebook.c in Sources */,
   2.196  				AA6442BB175B0E5000A2125A /* floor0.c in Sources */,
   2.197  				AA6442BC175B0E5000A2125A /* floor1.c in Sources */,
   2.198  				AA6442BD175B0E5000A2125A /* info.c in Sources */,
   2.199 +				AA1C714D1F9BC92000A6BC31 /* lpc.c in Sources */,
   2.200  				AA6442C1175B0E5000A2125A /* mapping0.c in Sources */,
   2.201 +				AA1C71571F9BC92000A6BC31 /* metadata_iterators.c in Sources */,
   2.202  				AA6442C3175B0E5000A2125A /* mdct.c in Sources */,
   2.203  				AAE883AC1F973261007B6569 /* instrum.c in Sources */,
   2.204  				AA6442C7175B0E5000A2125A /* registry.c in Sources */,
   2.205 @@ -597,44 +722,68 @@
   2.206  				AA60217317653A9800662B9C /* load_669.cpp in Sources */,
   2.207  				AA60217417653A9800662B9C /* load_abc.cpp in Sources */,
   2.208  				AA60217517653A9800662B9C /* load_amf.cpp in Sources */,
   2.209 +				AA1C71501F9BC92000A6BC31 /* fixed_intrin_ssse3.c in Sources */,
   2.210  				AA60217617653A9800662B9C /* load_ams.cpp in Sources */,
   2.211 +				AA1C714E1F9BC92000A6BC31 /* stream_encoder_intrin_sse2.c in Sources */,
   2.212 +				AA1C71461F9BC92000A6BC31 /* fixed_intrin_sse2.c in Sources */,
   2.213 +				AA1C711A1F9BC67200A6BC31 /* effects_internal.c in Sources */,
   2.214  				AAE4063E1F9609BD00EDAF53 /* music_mikmod.c in Sources */,
   2.215  				AA60217717653A9800662B9C /* load_dbm.cpp in Sources */,
   2.216  				AAE883A71F973261007B6569 /* resample.c in Sources */,
   2.217  				AAE406311F9609BD00EDAF53 /* music_wav.c in Sources */,
   2.218  				AA60217817653A9800662B9C /* load_dmf.cpp in Sources */,
   2.219 +				AA1C71401F9BC92000A6BC31 /* lpc_intrin_sse41.c in Sources */,
   2.220 +				AA1C714F1F9BC92000A6BC31 /* lpc_intrin_sse2.c in Sources */,
   2.221  				AA60217917653A9800662B9C /* load_dsm.cpp in Sources */,
   2.222 +				AA1C71551F9BC92000A6BC31 /* ogg_decoder_aspect.c in Sources */,
   2.223  				AAE406451F9609BD00EDAF53 /* music_mpg123.c in Sources */,
   2.224  				AA60217A17653A9800662B9C /* load_far.cpp in Sources */,
   2.225  				AA60217B17653A9800662B9C /* load_it.cpp in Sources */,
   2.226  				AA60217C17653A9800662B9C /* load_j2b.cpp in Sources */,
   2.227  				AA60217D17653A9800662B9C /* load_mdl.cpp in Sources */,
   2.228 +				AA1C71411F9BC92000A6BC31 /* bitwriter.c in Sources */,
   2.229  				AA60217E17653A9800662B9C /* load_med.cpp in Sources */,
   2.230  				AAE406341F9609BD00EDAF53 /* load_voc.c in Sources */,
   2.231  				AA60217F17653A9800662B9C /* load_mid.cpp in Sources */,
   2.232  				AA60218117653A9800662B9C /* load_mt2.cpp in Sources */,
   2.233  				AA60218217653A9800662B9C /* load_mtm.cpp in Sources */,
   2.234 +				AA1C713F1F9BC92000A6BC31 /* format.c in Sources */,
   2.235  				AAE883B11F973261007B6569 /* playmidi.c in Sources */,
   2.236  				AA60218317653A9800662B9C /* load_okt.cpp in Sources */,
   2.237  				AA60218417653A9800662B9C /* load_pat.cpp in Sources */,
   2.238 +				AA1C713D1F9BC92000A6BC31 /* bitreader.c in Sources */,
   2.239  				AAE883B91F973261007B6569 /* mix.c in Sources */,
   2.240 +				AA1C714B1F9BC92000A6BC31 /* fixed.c in Sources */,
   2.241 +				AA1C71581F9BC92000A6BC31 /* ogg_mapping.c in Sources */,
   2.242 +				AA1C71521F9BC92000A6BC31 /* lpc_intrin_avx2.c in Sources */,
   2.243  				AAE883B21F973261007B6569 /* readmidi.c in Sources */,
   2.244  				AA60218617653A9800662B9C /* load_psm.cpp in Sources */,
   2.245 +				AA1C71151F9BC66000A6BC31 /* effect_position.c in Sources */,
   2.246  				AA60218717653A9800662B9C /* load_ptm.cpp in Sources */,
   2.247 +				AA1C71491F9BC92000A6BC31 /* lpc_intrin_sse.c in Sources */,
   2.248  				AAE4062E1F9609BD00EDAF53 /* music_fluidsynth.c in Sources */,
   2.249 +				AA1C714C1F9BC92000A6BC31 /* stream_encoder.c in Sources */,
   2.250 +				AA1C715A1F9BC92000A6BC31 /* md5.c in Sources */,
   2.251  				AA60218817653A9800662B9C /* load_s3m.cpp in Sources */,
   2.252  				AA60218917653A9800662B9C /* load_stm.cpp in Sources */,
   2.253  				AA60218A17653A9800662B9C /* load_ult.cpp in Sources */,
   2.254 +				AA1C71591F9BC92000A6BC31 /* memory.c in Sources */,
   2.255 +				AA1C71511F9BC92000A6BC31 /* metadata_object.c in Sources */,
   2.256  				AA60218B17653A9800662B9C /* load_umx.cpp in Sources */,
   2.257  				AAE4063F1F9609BD00EDAF53 /* music_ogg.c in Sources */,
   2.258  				AA60218C17653A9800662B9C /* load_wav.cpp in Sources */,
   2.259  				AAE883AF1F973261007B6569 /* output.c in Sources */,
   2.260 +				AA1C71441F9BC92000A6BC31 /* bitmath.c in Sources */,
   2.261  				AA60218D17653A9800662B9C /* load_xm.cpp in Sources */,
   2.262  				AAE4063D1F9609BD00EDAF53 /* music_timidity.c in Sources */,
   2.263  				AA60218E17653A9800662B9C /* mmcmp.cpp in Sources */,
   2.264  				AAE4063A1F9609BD00EDAF53 /* music_flac.c in Sources */,
   2.265  				AA60218F17653A9800662B9C /* modplug.cpp in Sources */,
   2.266 +				AA1C71161F9BC66000A6BC31 /* effect_stereoreverse.c in Sources */,
   2.267 +				AA1C71561F9BC92000A6BC31 /* float.c in Sources */,
   2.268 +				AA1C71531F9BC92000A6BC31 /* ogg_encoder_aspect.c in Sources */,
   2.269  				AA60219117653A9800662B9C /* snd_dsp.cpp in Sources */,
   2.270 +				AA1C71481F9BC92000A6BC31 /* crc.c in Sources */,
   2.271  				AA60219217653A9800662B9C /* snd_flt.cpp in Sources */,
   2.272  				AA60219317653A9800662B9C /* snd_fx.cpp in Sources */,
   2.273  				AAE406291F9609BD00EDAF53 /* mixer.c in Sources */,
   2.274 @@ -649,7 +798,7 @@
   2.275  		00B7E490097EC6B300826121 /* Release */ = {
   2.276  			isa = XCBuildConfiguration;
   2.277  			buildSettings = {
   2.278 -				IPHONEOS_DEPLOYMENT_TARGET = 5.1;
   2.279 +				IPHONEOS_DEPLOYMENT_TARGET = 6.1;
   2.280  				LIBRARY_STYLE = STATIC;
   2.281  				OTHER_CFLAGS = "";
   2.282  				PRODUCT_NAME = SDL2_mixer;
   2.283 @@ -660,7 +809,7 @@
   2.284  		00B7E491097EC6B300826121 /* Debug */ = {
   2.285  			isa = XCBuildConfiguration;
   2.286  			buildSettings = {
   2.287 -				IPHONEOS_DEPLOYMENT_TARGET = 5.1;
   2.288 +				IPHONEOS_DEPLOYMENT_TARGET = 6.1;
   2.289  				LIBRARY_STYLE = STATIC;
   2.290  				OTHER_CFLAGS = "";
   2.291  				PRODUCT_NAME = SDL2_mixer;
   2.292 @@ -671,26 +820,54 @@
   2.293  		00B7E498097EC6B300826121 /* Release */ = {
   2.294  			isa = XCBuildConfiguration;
   2.295  			buildSettings = {
   2.296 +				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
   2.297 +				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
   2.298 +				CLANG_WARN_BOOL_CONVERSION = YES;
   2.299 +				CLANG_WARN_COMMA = YES;
   2.300 +				CLANG_WARN_CONSTANT_CONVERSION = YES;
   2.301 +				CLANG_WARN_EMPTY_BODY = YES;
   2.302 +				CLANG_WARN_ENUM_CONVERSION = YES;
   2.303 +				CLANG_WARN_INFINITE_RECURSION = YES;
   2.304 +				CLANG_WARN_INT_CONVERSION = YES;
   2.305 +				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
   2.306 +				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
   2.307 +				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
   2.308 +				CLANG_WARN_STRICT_PROTOTYPES = YES;
   2.309 +				CLANG_WARN_SUSPICIOUS_MOVE = YES;
   2.310 +				CLANG_WARN_UNREACHABLE_CODE = YES;
   2.311 +				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
   2.312 +				ENABLE_STRICT_OBJC_MSGSEND = YES;
   2.313  				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
   2.314 +				GCC_NO_COMMON_BLOCKS = YES;
   2.315  				GCC_PREPROCESSOR_DEFINITIONS = (
   2.316  					MUSIC_WAV,
   2.317  					MUSIC_MOD_MODPLUG,
   2.318  					"MODPLUG_HEADER=\"<modplug.h>\"",
   2.319 -					MUSIC_MID,
   2.320 +					MUSIC_MID_TIMIDITY,
   2.321  					MUSIC_OGG,
   2.322  					OGG_USE_TREMOR,
   2.323  					"OGG_HEADER=\"<ivorbisfile.h>\"",
   2.324 +					MUSIC_FLAC,
   2.325 +					FLAC__HAS_OGG,
   2.326 +					HAVE_SYS_PARAM_H,
   2.327  					HAVE_STDINT_H,
   2.328 +					HAVE_LROUND,
   2.329  					HAVE_SETENV,
   2.330  					HAVE_SINF,
   2.331  				);
   2.332  				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
   2.333 +				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
   2.334 +				GCC_WARN_ABOUT_RETURN_TYPE = YES;
   2.335 +				GCC_WARN_UNDECLARED_SELECTOR = YES;
   2.336 +				GCC_WARN_UNINITIALIZED_AUTOS = YES;
   2.337 +				GCC_WARN_UNUSED_FUNCTION = YES;
   2.338 +				GCC_WARN_UNUSED_VARIABLE = YES;
   2.339  				HEADER_SEARCH_PATHS = (
   2.340  					"$(HEADER_SEARCH_PATHS_QUOTED_FOR_PROJECT_1)",
   2.341  					"$(HEADER_SEARCH_PATHS_QUOTED_FOR_PROJECT_2)",
   2.342  				);
   2.343  				HEADER_SEARCH_PATHS_QUOTED_FOR_PROJECT_1 = "\"$(SRCROOT)/../../SDL/include\"";
   2.344 -				HEADER_SEARCH_PATHS_QUOTED_FOR_PROJECT_2 = "\"$(SRCROOT)/../external/libmodplug-0.8.9.0/src\" \"$(SRCROOT)/../external/libmodplug-0.8.9.0/src/libmodplug\" \"$(SRCROOT)/../external/libvorbisidec-1.2.1\" \"$(SRCROOT)/../external/libogg-1.3.2/include\"";
   2.345 +				HEADER_SEARCH_PATHS_QUOTED_FOR_PROJECT_2 = "\"$(SRCROOT)/../external/libmodplug-0.8.9.0/src\" \"$(SRCROOT)/../external/libmodplug-0.8.9.0/src/libmodplug\" \"$(SRCROOT)/../external/libvorbisidec-1.2.1\" \"$(SRCROOT)/../external/libogg-1.3.2/include\" \"$(SRCROOT)/../external/flac-1.3.2/include\" \"$(SRCROOT)/../external/flac-1.3.2/src/libFLAC/include\"";
   2.346  				IPHONEOS_DEPLOYMENT_TARGET = 3.0;
   2.347  				SDKROOT = iphoneos;
   2.348  				TARGETED_DEVICE_FAMILY = "1,2";
   2.349 @@ -700,26 +877,55 @@
   2.350  		00B7E499097EC6B300826121 /* Debug */ = {
   2.351  			isa = XCBuildConfiguration;
   2.352  			buildSettings = {
   2.353 +				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
   2.354 +				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
   2.355 +				CLANG_WARN_BOOL_CONVERSION = YES;
   2.356 +				CLANG_WARN_COMMA = YES;
   2.357 +				CLANG_WARN_CONSTANT_CONVERSION = YES;
   2.358 +				CLANG_WARN_EMPTY_BODY = YES;
   2.359 +				CLANG_WARN_ENUM_CONVERSION = YES;
   2.360 +				CLANG_WARN_INFINITE_RECURSION = YES;
   2.361 +				CLANG_WARN_INT_CONVERSION = YES;
   2.362 +				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
   2.363 +				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
   2.364 +				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
   2.365 +				CLANG_WARN_STRICT_PROTOTYPES = YES;
   2.366 +				CLANG_WARN_SUSPICIOUS_MOVE = YES;
   2.367 +				CLANG_WARN_UNREACHABLE_CODE = YES;
   2.368 +				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
   2.369 +				ENABLE_STRICT_OBJC_MSGSEND = YES;
   2.370 +				ENABLE_TESTABILITY = YES;
   2.371 +				GCC_NO_COMMON_BLOCKS = YES;
   2.372  				GCC_OPTIMIZATION_LEVEL = 0;
   2.373  				GCC_PREPROCESSOR_DEFINITIONS = (
   2.374  					MUSIC_WAV,
   2.375  					MUSIC_MOD_MODPLUG,
   2.376  					"MODPLUG_HEADER=\"<modplug.h>\"",
   2.377 -					MUSIC_MID,
   2.378 +					MUSIC_MID_TIMIDITY,
   2.379  					MUSIC_OGG,
   2.380  					OGG_USE_TREMOR,
   2.381  					"OGG_HEADER=\"<ivorbisfile.h>\"",
   2.382 +					MUSIC_FLAC,
   2.383 +					FLAC__HAS_OGG,
   2.384 +					HAVE_SYS_PARAM_H,
   2.385  					HAVE_STDINT_H,
   2.386 +					HAVE_LROUND,
   2.387  					HAVE_SETENV,
   2.388  					HAVE_SINF,
   2.389  				);
   2.390  				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
   2.391 +				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
   2.392 +				GCC_WARN_ABOUT_RETURN_TYPE = YES;
   2.393 +				GCC_WARN_UNDECLARED_SELECTOR = YES;
   2.394 +				GCC_WARN_UNINITIALIZED_AUTOS = YES;
   2.395 +				GCC_WARN_UNUSED_FUNCTION = YES;
   2.396 +				GCC_WARN_UNUSED_VARIABLE = YES;
   2.397  				HEADER_SEARCH_PATHS = (
   2.398  					"$(HEADER_SEARCH_PATHS_QUOTED_FOR_PROJECT_1)",
   2.399  					"$(HEADER_SEARCH_PATHS_QUOTED_FOR_PROJECT_2)",
   2.400  				);
   2.401  				HEADER_SEARCH_PATHS_QUOTED_FOR_PROJECT_1 = "\"$(SRCROOT)/../../SDL/include\"";
   2.402 -				HEADER_SEARCH_PATHS_QUOTED_FOR_PROJECT_2 = "\"$(SRCROOT)/../external/libmodplug-0.8.9.0/src\" \"$(SRCROOT)/../external/libmodplug-0.8.9.0/src/libmodplug\" \"$(SRCROOT)/../external/libvorbisidec-1.2.1\" \"$(SRCROOT)/../external/libogg-1.3.2/include\"";
   2.403 +				HEADER_SEARCH_PATHS_QUOTED_FOR_PROJECT_2 = "\"$(SRCROOT)/../external/libmodplug-0.8.9.0/src\" \"$(SRCROOT)/../external/libmodplug-0.8.9.0/src/libmodplug\" \"$(SRCROOT)/../external/libvorbisidec-1.2.1\" \"$(SRCROOT)/../external/libogg-1.3.2/include\" \"$(SRCROOT)/../external/flac-1.3.2/include\" \"$(SRCROOT)/../external/flac-1.3.2/src/libFLAC/include\"";
   2.404  				IPHONEOS_DEPLOYMENT_TARGET = 3.0;
   2.405  				ONLY_ACTIVE_ARCH = YES;
   2.406  				SDKROOT = iphoneos;
     3.1 --- a/external/flac-1.3.2/src/libFLAC/format.c	Sat Oct 21 10:23:58 2017 -0700
     3.2 +++ b/external/flac-1.3.2/src/libFLAC/format.c	Sat Oct 21 11:38:48 2017 -0700
     3.3 @@ -45,6 +45,9 @@
     3.4  #include "private/macros.h"
     3.5  
     3.6  /* PACKAGE_VERSION should come from configure */
     3.7 +#ifndef PACKAGE_VERSION
     3.8 +#define PACKAGE_VERSION	"UNKNOWN"
     3.9 +#endif
    3.10  FLAC_API const char *FLAC__VERSION_STRING = PACKAGE_VERSION;
    3.11  
    3.12  FLAC_API const char *FLAC__VENDOR_STRING = "reference libFLAC " PACKAGE_VERSION " 20170101";