diff --git a/.gitmodules b/.gitmodules index 66d8781e1..c517ffcab 100644 --- a/.gitmodules +++ b/.gitmodules @@ -25,11 +25,11 @@ [submodule "external/mpg123"] path = external/mpg123 url = https://github.com/libsdl-org/mpg123.git - branch = v1.29.3-SDL + branch = v1.31.3-SDL [submodule "libxmp"] path = external/libxmp url = https://github.com/libsdl-org/libxmp.git - branch = 4.6.0-SDL + branch = 4.6.x-SDL [submodule "external/wavpack"] path = external/wavpack url = https://github.com/libsdl-org/wavpack.git @@ -37,3 +37,4 @@ [submodule "external/libgme"] path = external/libgme url = https://github.com/libsdl-org/game-music-emu.git + branch = v0.6.3-SDL diff --git a/CMakeLists.txt b/CMakeLists.txt index ed7232620..e964e0462 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,6 +33,10 @@ if(ANDROID) set(SDL2MIXER_SAMPLES_DEFAULT OFF) endif() +# option() honors normal variables. +cmake_policy(SET CMP0077 NEW) +set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) + if(POLICY CMP0112) # Target file component generator expressions do not add target dependencies. cmake_policy(SET CMP0112 NEW) @@ -99,7 +103,7 @@ option(SDL2MIXER_CMD "Support an external music player" ${sdl2mixer_cmd_default} option(SDL2MIXER_FLAC "Enable FLAC music" ON) -cmake_dependent_option(SDL2MIXER_FLAC_LIBFLAC "Enable FLAC music using libFLAC" ON SDL2MIXER_FLAC OFF) +cmake_dependent_option(SDL2MIXER_FLAC_LIBFLAC "Enable FLAC music using libFLAC" OFF SDL2MIXER_FLAC OFF) cmake_dependent_option(SDL2MIXER_FLAC_LIBFLAC_SHARED "Dynamically load LIBFLAC" "${SDL2MIXER_DEPS_SHARED}" SDL2MIXER_FLAC_LIBFLAC OFF) cmake_dependent_option(SDL2MIXER_FLAC_DRFLAC "Enable FLAC music using drflac" ON SDL2MIXER_FLAC OFF) @@ -356,8 +360,8 @@ if(SDL2MIXER_OGG) if(SDL2MIXER_VENDORED) message(STATUS "Using vendored libogg") set(BUILD_SHARED_LIBS ${SDL2MIXER_OGG_SHARED}) - set(INSTALL_CMAKE_PACKAGE_MODULE FALSE CACHE BOOL "Don't install cmake module for libogg") - set(BUILD_TESTING OFF CACHE BOOL "Build tests") + set(INSTALL_CMAKE_PACKAGE_MODULE FALSE) + set(BUILD_TESTING OFF) sdl_check_project_in_subfolder(external/ogg ogg SDL2MIXER_VENDORED) add_subdirectory(external/ogg EXCLUDE_FROM_ALL) if(SDL2MIXER_OGG_install) @@ -375,13 +379,13 @@ if(SDL2MIXER_OPUS) endif() message(STATUS "Using vendored opus") set(BUILD_SHARED_LIBS ${SDL2MIXER_OPUS_SHARED}) - set(BUILD_PROGRAMS OFF CACHE BOOL "Build programs") + set(BUILD_PROGRAMS OFF) sdl_check_project_in_subfolder(external/opus opus SDL2MIXER_VENDORED) add_subdirectory(external/opus EXCLUDE_FROM_ALL) - set(OP_DISABLE_DOCS TRUE CACHE BOOL "Disable opusfile documentation") - set(OP_DISABLE_EXAMPLES TRUE CACHE BOOL "Disable opusfile examples") - set(OP_DISABLE_HTTP TRUE CACHE BOOL "Disable opusfile HTTP SUPPORT") + set(OP_DISABLE_DOCS TRUE) + set(OP_DISABLE_EXAMPLES TRUE) + set(OP_DISABLE_HTTP TRUE) message(STATUS "Using vendored opusfile") set(BUILD_SHARED_LIBS ${SDL2MIXER_OPUS_SHARED}) sdl_check_project_in_subfolder(external/opusfile opusfile SDL2MIXER_VENDORED) @@ -539,13 +543,13 @@ if(SDL2MIXER_FLAC_LIBFLAC) message(FATAL_ERROR "ogg target not present") endif() set(BUILD_SHARED_LIBS "${SDL2MIXER_FLAC_LIBFLAC_SHARED}") - set(INSTALL_CMAKE_CONFIG_MODULE OFF CACHE BOOL "Disable libflac installation") - set(WITH_OGG OFF CACHE BOOL "Disable finding ogg using `find_package` (we have vendored it)") - set(BUILD_CXXLIBS OFF CACHE BOOL "Build FLAC++") - set(BUILD_EXAMPLES OFF CACHE BOOL "Build FLAC examples") - set(BUILD_PROGRAMS OFF CACHE BOOL "Build programs") - set(BUILD_TESTING OFF CACHE BOOL "Build tests") - set(INSTALL_MANPAGES OFF CACHE BOOL "Install FLAC manpages") + set(INSTALL_CMAKE_CONFIG_MODULE OFF) + set(WITH_OGG OFF) + set(BUILD_CXXLIBS OFF) + set(BUILD_EXAMPLES OFF) + set(BUILD_PROGRAMS OFF) + set(BUILD_TESTING OFF) + set(INSTALL_MANPAGES OFF) message(STATUS "Using vendored libflac") sdl_check_project_in_subfolder(external/flac libflac SDL2MIXER_VENDORED) add_subdirectory(external/flac EXCLUDE_FROM_ALL) @@ -587,9 +591,9 @@ if(SDL2MIXER_GME) target_compile_definitions(SDL2_mixer PRIVATE MUSIC_GME) if(SDL2MIXER_VENDORED) set(BUILD_SHARED_LIBS "${SDL2MIXER_GME_SHARED}") - set(ENABLE_UBSAN OFF CACHE BOOL "UB sanitizer") - set(BUILD_FRAMEWORK OFF CACHE BOOL "macos framework") - set(GME_ZLIB OFF CACHE BOOL "GME supports compressed formats") + set(ENABLE_UBSAN OFF) + set(BUILD_FRAMEWORK OFF) + set(GME_ZLIB OFF) message(STATUS "Using vendored libgme") sdl_check_project_in_subfolder(external/libgme libgme SDL2MIXER_VENDORED) add_subdirectory(external/libgme EXCLUDE_FROM_ALL) @@ -658,6 +662,8 @@ if(SDL2MIXER_MOD_XMP) if(SDL2MIXER_VENDORED) message(STATUS "Using vendored libxmp") sdl_check_project_in_subfolder(external/libxmp libxmp SDL2MIXER_VENDORED) + set(LIBXMP_DISABLE_DEPACKERS ON) + set(LIBXMP_DISABLE_PROWIZARD ON) if(SDL2MIXER_MOD_XMP_SHARED) set(BUILD_STATIC OFF) set(BUILD_SHARED ON) @@ -687,7 +693,13 @@ if(SDL2MIXER_MOD_XMP) else() message(STATUS "Using system libxmp") find_package(libxmp REQUIRED) - set(tgt_xmp libxmp::libxmp) + if(TARGET libxmp::xmp_shared AND SDL2MIXER_MOD_XMP_SHARED) + set(tgt_xmp libxmp::xmp_shared) + elseif(TARGET libxmp::xmp_static) + set(tgt_xmp libxmp::xmp_static) + else() + set(tgt_xmp libxmp::libxmp) + endif() set(xmp_name libxmp) if(NOT SDL2MIXER_MOD_XMP_SHARED) list(APPEND PC_REQUIRES libxmp) @@ -720,8 +732,8 @@ if(SDL2MIXER_MP3_MPG123) if(SDL2MIXER_VENDORED) message(STATUS "Using vendored mpg123") sdl_check_project_in_subfolder(external/mpg123/ports/cmake mpg123 SDL2MIXER_VENDORED) - set(BUILD_LIBOUT123 FALSE CACHE BOOL "Don't configure libout123") - set(BUILD_PROGRAMS OFF CACHE BOOL "Build programs") + set(BUILD_LIBOUT123 FALSE) + set(BUILD_PROGRAMS OFF) set(BUILD_SHARED_LIBS "${SDL2MIXER_MP3_MPG123_SHARED}") add_subdirectory(external/mpg123/ports/cmake EXCLUDE_FROM_ALL) if(NOT TARGET MPG123::libmpg123) @@ -827,12 +839,12 @@ endif() if(SDL2MIXER_WAVPACK) target_compile_definitions(SDL2_mixer PRIVATE MUSIC_WAVPACK) if(SDL2MIXER_VENDORED) - message(STATUS "Using vendored WevPack") + message(STATUS "Using vendored WavPack") sdl_check_project_in_subfolder(external/wavpack WavPack SDL2MIXER_VENDORED) - set(WAVPACK_BUILD_PROGRAMS FALSE CACHE BOOL "Don't build WavPack programs") - set(WAVPACK_BUILD_COOLEDIT_PLUGIN OFF CACHE BOOL "Don't build WavPack CoolEdit plugin") - set(WAVPACK_BUILD_WINAMP_PLUGIN OFF CACHE BOOL "Don't build WavPack WinAMP plugin") - set(WAVPACK_BUILD_DOCS OFF CACHE BOOL "Don't build WavPack documentation") + set(WAVPACK_BUILD_PROGRAMS FALSE) + set(WAVPACK_BUILD_COOLEDIT_PLUGIN OFF) + set(WAVPACK_BUILD_WINAMP_PLUGIN OFF) + set(WAVPACK_BUILD_DOCS OFF) set(BUILD_SHARED_LIBS "${SDL2MIXER_WAVPACK_SHARED}") add_subdirectory(external/wavpack EXCLUDE_FROM_ALL) if(SDL2MIXER_WAVPACK_SHARED OR NOT SDL2MIXER_BUILD_SHARED_LIBS) diff --git a/VisualC/SDL_mixer.vcxproj b/VisualC/SDL_mixer.vcxproj index 7a2d4e4b5..7b2e6e98b 100644 --- a/VisualC/SDL_mixer.vcxproj +++ b/VisualC/SDL_mixer.vcxproj @@ -109,7 +109,7 @@ /D OGG_DYNAMIC=\"libvorbisfile-3.dll\" %(AdditionalOptions) Disabled ..\include;..\src;..\src\codecs;..\src\codecs\timidity;..\src\codecs\native_midi;external\include;%(AdditionalIncludeDirectories) - DLL_EXPORT;_DEBUG;WIN32;_WINDOWS;MUSIC_WAV;MUSIC_FLAC_DRFLAC;MUSIC_MOD_XMP;XMP_DYNAMIC="libxmp-lite.dll";MUSIC_MP3_DRMP3;MUSIC_OGG;OGG_USE_STB;MUSIC_OPUS;OPUS_DYNAMIC="libopusfile-0.dll";MUSIC_MID_TIMIDITY;MUSIC_MID_NATIVE + DLL_EXPORT;_DEBUG;WIN32;_WINDOWS;MUSIC_WAV;MUSIC_FLAC_DRFLAC;MUSIC_MOD_XMP;XMP_DYNAMIC="libxmp.dll";MUSIC_MP3_DRMP3;MUSIC_OGG;OGG_USE_STB;MUSIC_OPUS;OPUS_DYNAMIC="libopusfile-0.dll";MUSIC_MID_TIMIDITY;MUSIC_MID_NATIVE MultiThreadedDLL Level3 OldStyle @@ -139,7 +139,7 @@ /D OGG_DYNAMIC=\"libvorbisfile-3.dll\" %(AdditionalOptions) Disabled ..\include;..\src;..\src\codecs;..\src\codecs\timidity;..\src\codecs\native_midi;external\include;%(AdditionalIncludeDirectories) - DLL_EXPORT;_DEBUG;WIN32;_WINDOWS;MUSIC_WAV;MUSIC_FLAC_DRFLAC;MUSIC_MOD_XMP;XMP_DYNAMIC="libxmp-lite.dll";MUSIC_MP3_DRMP3;MUSIC_OGG;OGG_USE_STB;MUSIC_OPUS;OPUS_DYNAMIC="libopusfile-0.dll";MUSIC_MID_TIMIDITY;MUSIC_MID_NATIVE + DLL_EXPORT;_DEBUG;WIN32;_WINDOWS;MUSIC_WAV;MUSIC_FLAC_DRFLAC;MUSIC_MOD_XMP;XMP_DYNAMIC="libxmp.dll";MUSIC_MP3_DRMP3;MUSIC_OGG;OGG_USE_STB;MUSIC_OPUS;OPUS_DYNAMIC="libopusfile-0.dll";MUSIC_MID_TIMIDITY;MUSIC_MID_NATIVE MultiThreadedDLL Level3 OldStyle @@ -168,7 +168,7 @@ /D OGG_DYNAMIC=\"libvorbisfile-3.dll\" %(AdditionalOptions) ..\include;..\src;..\src\codecs;..\src\codecs\timidity;..\src\codecs\native_midi;external\include;%(AdditionalIncludeDirectories) - DLL_EXPORT;NDEBUG;WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;MUSIC_WAV;MUSIC_FLAC_DRFLAC;MUSIC_MOD_XMP;XMP_DYNAMIC="libxmp-lite.dll";MUSIC_MP3_DRMP3;MUSIC_OGG;OGG_USE_STB;MUSIC_OPUS;OPUS_DYNAMIC="libopusfile-0.dll";MUSIC_MID_TIMIDITY;MUSIC_MID_NATIVE;%(PreprocessorDefinitions) + DLL_EXPORT;NDEBUG;WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;MUSIC_WAV;MUSIC_FLAC_DRFLAC;MUSIC_MOD_XMP;XMP_DYNAMIC="libxmp.dll";MUSIC_MP3_DRMP3;MUSIC_OGG;OGG_USE_STB;MUSIC_OPUS;OPUS_DYNAMIC="libopusfile-0.dll";MUSIC_MID_TIMIDITY;MUSIC_MID_NATIVE;%(PreprocessorDefinitions) MultiThreadedDLL Level3 StreamingSIMDExtensions @@ -195,7 +195,7 @@ /D OGG_DYNAMIC=\"libvorbisfile-3.dll\" %(AdditionalOptions) ..\include;..\src;..\src\codecs;..\src\codecs\timidity;..\src\codecs\native_midi;external\include;%(AdditionalIncludeDirectories) - DLL_EXPORT;NDEBUG;WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;MUSIC_WAV;MUSIC_FLAC_DRFLAC;MUSIC_MOD_XMP;XMP_DYNAMIC="libxmp-lite.dll";MUSIC_MP3_DRMP3;MUSIC_OGG;OGG_USE_STB;MUSIC_OPUS;OPUS_DYNAMIC="libopusfile-0.dll";MUSIC_MID_TIMIDITY;MUSIC_MID_NATIVE;%(PreprocessorDefinitions) + DLL_EXPORT;NDEBUG;WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;MUSIC_WAV;MUSIC_FLAC_DRFLAC;MUSIC_MOD_XMP;XMP_DYNAMIC="libxmp.dll";MUSIC_MP3_DRMP3;MUSIC_OGG;OGG_USE_STB;MUSIC_OPUS;OPUS_DYNAMIC="libopusfile-0.dll";MUSIC_MID_TIMIDITY;MUSIC_MID_NATIVE;%(PreprocessorDefinitions) MultiThreadedDLL Level3 StreamingSIMDExtensions @@ -259,7 +259,7 @@ - + Document copy %(FullPath) $(SolutionDir)\$(Platform)\$(Configuration)\ Copying %(Filename)%(Extension) @@ -295,7 +295,7 @@ Copying %(Filename)%(Extension) $(SolutionDir)\$(Platform)\$(Configuration)\%(Filename)%(Extension) - + copy %(FullPath) $(SolutionDir)\$(Platform)\$(Configuration)\ Copying %(Filename)%(Extension) $(SolutionDir)\$(Platform)\$(Configuration)\%(Filename)%(Extension) @@ -327,7 +327,7 @@ Copying %(Filename)%(Extension) $(SolutionDir)\$(Platform)\$(Configuration)\%(Filename)%(Extension) - + Document copy %(FullPath) $(SolutionDir)\$(Platform)\$(Configuration)\ Copying %(Filename)%(Extension) @@ -363,7 +363,7 @@ Copying %(Filename)%(Extension) $(SolutionDir)\$(Platform)\$(Configuration)\%(Filename)%(Extension) - + copy %(FullPath) $(SolutionDir)\$(Platform)\$(Configuration)\ Copying %(Filename)%(Extension) $(SolutionDir)\$(Platform)\$(Configuration)\%(Filename)%(Extension) diff --git a/VisualC/external/include/xmp.h b/VisualC/external/include/xmp.h index 2d725411b..22db2a3da 100644 --- a/VisualC/external/include/xmp.h +++ b/VisualC/external/include/xmp.h @@ -1,39 +1,56 @@ #ifndef XMP_H #define XMP_H +#if defined(EMSCRIPTEN) +# include +#endif + #ifdef __cplusplus extern "C" { #endif -#define XMP_VERSION "4.5.0" -#define XMP_VERCODE 0x040500 +#define XMP_VERSION "4.6.0" +#define XMP_VERCODE 0x040600 #define XMP_VER_MAJOR 4 -#define XMP_VER_MINOR 5 +#define XMP_VER_MINOR 6 #define XMP_VER_RELEASE 0 #if defined(_WIN32) && !defined(__CYGWIN__) -# if defined(BUILDING_STATIC) +# if defined(LIBXMP_STATIC) # define LIBXMP_EXPORT # elif defined(BUILDING_DLL) # define LIBXMP_EXPORT __declspec(dllexport) # else # define LIBXMP_EXPORT __declspec(dllimport) # endif -#elif defined(__OS2__) && defined(__WATCOMC__) && defined(__SW_BD) +#elif defined(__OS2__) && defined(__WATCOMC__) +# if defined(LIBXMP_STATIC) +# define LIBXMP_EXPORT +# elif defined(BUILDING_DLL) # define LIBXMP_EXPORT __declspec(dllexport) +# else +# define LIBXMP_EXPORT +# endif #elif (defined(__GNUC__) || defined(__clang__) || defined(__HP_cc)) && defined(XMP_SYM_VISIBILITY) -# define LIBXMP_EXPORT __attribute__((visibility ("default"))) +# if defined(LIBXMP_STATIC) +# define LIBXMP_EXPORT +# else +# define LIBXMP_EXPORT __attribute__((visibility("default"))) +# endif #elif defined(__SUNPRO_C) && defined(XMP_LDSCOPE_GLOBAL) -# define LIBXMP_EXPORT __global +# if defined(LIBXMP_STATIC) +# define LIBXMP_EXPORT +# else +# define LIBXMP_EXPORT __global +# endif #elif defined(EMSCRIPTEN) -# include # define LIBXMP_EXPORT EMSCRIPTEN_KEEPALIVE # define LIBXMP_EXPORT_VAR #else # define LIBXMP_EXPORT #endif -#if !defined (LIBXMP_EXPORT_VAR) +#if !defined(LIBXMP_EXPORT_VAR) # define LIBXMP_EXPORT_VAR LIBXMP_EXPORT #endif @@ -238,6 +255,7 @@ struct xmp_sample { #define XMP_SAMPLE_LOOP_FULL (1 << 4) /* Play full sample before looping */ #define XMP_SAMPLE_SLOOP (1 << 5) /* Sample has sustain loop */ #define XMP_SAMPLE_SLOOP_BIDIR (1 << 6) /* Bidirectional sustain loop */ +#define XMP_SAMPLE_STEREO (1 << 7) /* Interlaced stereo sample */ #define XMP_SAMPLE_SYNTH (1 << 15) /* Data contains synth patch */ int flg; /* Flags */ unsigned char *data; /* Sample data */ diff --git a/VisualC/external/optional/x64/LICENSE.xmp-lite.txt b/VisualC/external/optional/x64/LICENSE.xmp.txt similarity index 52% rename from VisualC/external/optional/x64/LICENSE.xmp-lite.txt rename to VisualC/external/optional/x64/LICENSE.xmp.txt index b47bcdbe9..b3bae0d38 100644 --- a/VisualC/external/optional/x64/LICENSE.xmp-lite.txt +++ b/VisualC/external/optional/x64/LICENSE.xmp.txt @@ -1,26 +1,5 @@ - __ _ __ ___ __ - / / (_) / __ __ __ _ ___ ____/ (_) /____ - / /__/ / _ \\ \ // ' \/ _ \/___/ / / __/ -_) -/____/_/_.__/_\_\/_/_/_/ .__/ /_/_/\__/\__/ - /_/ - -Libxmp-lite is a lean and lightweight subset of Libxmp that plays MOD, S3M, -XM, and IT modules and retains full compatibility with the original API. -It's intended for games and small or embedded applications where module -format diversity and file depacking are not required. - -Library size can be further reduced by disabling Impulse Tracker format -support (configure with --disable-it). This option will also disable IT -effects and lowpass filtering. - -Please refer to http://xmp.sf.net/libxmp.html for details on the current -Libxmp API. - - -LICENSE - -Extended Module Player Lite -Copyright (C) 1996-2021 Claudio Matsuoka and Hipolito Carraro Jr +Extended Module Player +Copyright (C) 1996-2023 Claudio Matsuoka and Hipolito Carraro Jr Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), @@ -39,4 +18,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/VisualC/external/optional/x64/libxmp-lite.dll b/VisualC/external/optional/x64/libxmp-lite.dll deleted file mode 100644 index d509c6bd0..000000000 Binary files a/VisualC/external/optional/x64/libxmp-lite.dll and /dev/null differ diff --git a/VisualC/external/optional/x64/libxmp.dll b/VisualC/external/optional/x64/libxmp.dll new file mode 100644 index 000000000..4c9c04fd9 Binary files /dev/null and b/VisualC/external/optional/x64/libxmp.dll differ diff --git a/VisualC/external/optional/x86/LICENSE.xmp-lite.txt b/VisualC/external/optional/x86/LICENSE.xmp.txt similarity index 52% rename from VisualC/external/optional/x86/LICENSE.xmp-lite.txt rename to VisualC/external/optional/x86/LICENSE.xmp.txt index b47bcdbe9..b3bae0d38 100644 --- a/VisualC/external/optional/x86/LICENSE.xmp-lite.txt +++ b/VisualC/external/optional/x86/LICENSE.xmp.txt @@ -1,26 +1,5 @@ - __ _ __ ___ __ - / / (_) / __ __ __ _ ___ ____/ (_) /____ - / /__/ / _ \\ \ // ' \/ _ \/___/ / / __/ -_) -/____/_/_.__/_\_\/_/_/_/ .__/ /_/_/\__/\__/ - /_/ - -Libxmp-lite is a lean and lightweight subset of Libxmp that plays MOD, S3M, -XM, and IT modules and retains full compatibility with the original API. -It's intended for games and small or embedded applications where module -format diversity and file depacking are not required. - -Library size can be further reduced by disabling Impulse Tracker format -support (configure with --disable-it). This option will also disable IT -effects and lowpass filtering. - -Please refer to http://xmp.sf.net/libxmp.html for details on the current -Libxmp API. - - -LICENSE - -Extended Module Player Lite -Copyright (C) 1996-2021 Claudio Matsuoka and Hipolito Carraro Jr +Extended Module Player +Copyright (C) 1996-2023 Claudio Matsuoka and Hipolito Carraro Jr Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), @@ -39,4 +18,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/VisualC/external/optional/x86/libxmp-lite.dll b/VisualC/external/optional/x86/libxmp-lite.dll deleted file mode 100644 index 9f46678e7..000000000 Binary files a/VisualC/external/optional/x86/libxmp-lite.dll and /dev/null differ diff --git a/VisualC/external/optional/x86/libxmp.dll b/VisualC/external/optional/x86/libxmp.dll new file mode 100644 index 000000000..b67906da0 Binary files /dev/null and b/VisualC/external/optional/x86/libxmp.dll differ diff --git a/Xcode/SDL_mixer.xcodeproj/project.pbxproj b/Xcode/SDL_mixer.xcodeproj/project.pbxproj index 62e050fb3..d48064920 100644 --- a/Xcode/SDL_mixer.xcodeproj/project.pbxproj +++ b/Xcode/SDL_mixer.xcodeproj/project.pbxproj @@ -122,7 +122,7 @@ }; F3E29D062882107B0006D108 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = F3E29D022882107B0006D108 /* xmp-lite.xcodeproj */; + containerPortal = F3E29D022882107B0006D108 /* xmp.xcodeproj */; proxyType = 2; remoteGlobalIDString = F3968D85281FBB1900661875; remoteInfo = xmp; @@ -186,7 +186,7 @@ F3D87C0A281DFAD4005DA540 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; }; F3D87C0C281DFADB005DA540 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = System/Library/Frameworks/CoreServices.framework; sourceTree = SDKROOT; }; F3D87C0E281DFB02005DA540 /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2.framework; path = macOS/SDL2.framework; sourceTree = ""; }; - F3E29D022882107B0006D108 /* xmp-lite.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "xmp-lite.xcodeproj"; path = "xmp-lite/xmp-lite.xcodeproj"; sourceTree = ""; }; + F3E29D022882107B0006D108 /* xmp.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "xmp.xcodeproj"; path = "xmp/xmp.xcodeproj"; sourceTree = ""; }; F51BFB0101F724BE01D3D55B /* native_midi.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = native_midi.h; sourceTree = ""; }; F59C710300D5CB5801000001 /* ReadMe.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ReadMe.txt; sourceTree = ""; }; F59C710400D5CB5801000001 /* Welcome.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Welcome.txt; sourceTree = ""; }; @@ -240,7 +240,7 @@ children = ( F3968D71281FB5E100661875 /* config.xcconfig */, F3968B90281F817E00661875 /* opus.xcodeproj */, - F3E29D022882107B0006D108 /* xmp-lite.xcodeproj */, + F3E29D022882107B0006D108 /* xmp.xcodeproj */, F59C70FC00D5CB5801000001 /* pkg-support */, 0153844A006D81B07F000001 /* Public Headers */, 08FB77ACFE841707C02AAC07 /* Library Source */, @@ -349,7 +349,7 @@ F3E29D032882107B0006D108 /* Products */ = { isa = PBXGroup; children = ( - F3E29D072882107B0006D108 /* xmp_lite.framework */, + F3E29D072882107B0006D108 /* xmp.framework */, ); name = Products; sourceTree = ""; @@ -530,7 +530,7 @@ }, { ProductGroup = F3E29D032882107B0006D108 /* Products */; - ProjectRef = F3E29D022882107B0006D108 /* xmp-lite.xcodeproj */; + ProjectRef = F3E29D022882107B0006D108 /* xmp.xcodeproj */; }, ); projectRoot = ""; @@ -550,10 +550,10 @@ remoteRef = F3968B96281F817E00661875 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - F3E29D072882107B0006D108 /* xmp_lite.framework */ = { + F3E29D072882107B0006D108 /* xmp.framework */ = { isa = PBXReferenceProxy; fileType = wrapper.framework; - path = xmp_lite.framework; + path = xmp.framework; remoteRef = F3E29D062882107B0006D108 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -609,7 +609,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "PRODUCT_NAME=SDL2_mixer\nOPTIONAL_FRAMEWORKS=\"ogg opus xmp_lite\"\n\n# Sign framework\nif [ \"$SDL_CODESIGN_IDENTITY\" != \"\" ]; then\n codesign --force --deep --sign \"$SDL_CODESIGN_IDENTITY\" --preserve-metadata\\=identifier,entitlements,flags --generate-entitlement-der $TARGET_BUILD_DIR/$PRODUCT_NAME.framework/Versions/A || exit $?\nfi\n\n# clean up the framework, remove headers, extra files\nmkdir -p build/dmg-tmp\ncp -a $TARGET_BUILD_DIR/$PRODUCT_NAME.framework build/dmg-tmp/\ncp pkg-support/resources/ReadMe.txt build/dmg-tmp\nfor i in $OPTIONAL_FRAMEWORKS; do\n if [ -d $TARGET_BUILD_DIR/$i.framework ]; then\n if [ \"$SDL_CODESIGN_IDENTITY\" != \"\" ]; then\n codesign --force --deep --sign \"$SDL_CODESIGN_IDENTITY\" --preserve-metadata\\=identifier,entitlements,flags --generate-entitlement-der $TARGET_BUILD_DIR/$i.framework/Versions/A\n fi\n mkdir -p build/dmg-tmp/optional\n cp -a $TARGET_BUILD_DIR/$i.framework build/dmg-tmp/optional/\n fi\ndone\n\n# remove the .DS_Store files if any (we may want to provide one in the future for fancy .dmgs)\nrm -rf build/dmg-tmp/.DS_Store\n\n# create the dmg\nhdiutil create -ov -fs HFS+ -volname $PRODUCT_NAME -srcfolder build/dmg-tmp build/$PRODUCT_NAME.dmg\n\n# clean up\nrm -rf build/dmg-tmp\n"; + shellScript = "PRODUCT_NAME=SDL2_mixer\nOPTIONAL_FRAMEWORKS=\"ogg opus xmp\"\n\n# Sign framework\nif [ \"$SDL_CODESIGN_IDENTITY\" != \"\" ]; then\n codesign --force --deep --sign \"$SDL_CODESIGN_IDENTITY\" --preserve-metadata\\=identifier,entitlements,flags --generate-entitlement-der $TARGET_BUILD_DIR/$PRODUCT_NAME.framework/Versions/A || exit $?\nfi\n\n# clean up the framework, remove headers, extra files\nmkdir -p build/dmg-tmp\ncp -a $TARGET_BUILD_DIR/$PRODUCT_NAME.framework build/dmg-tmp/\ncp pkg-support/resources/ReadMe.txt build/dmg-tmp\nfor i in $OPTIONAL_FRAMEWORKS; do\n if [ -d $TARGET_BUILD_DIR/$i.framework ]; then\n if [ \"$SDL_CODESIGN_IDENTITY\" != \"\" ]; then\n codesign --force --deep --sign \"$SDL_CODESIGN_IDENTITY\" --preserve-metadata\\=identifier,entitlements,flags --generate-entitlement-der $TARGET_BUILD_DIR/$i.framework/Versions/A\n fi\n mkdir -p build/dmg-tmp/optional\n cp -a $TARGET_BUILD_DIR/$i.framework build/dmg-tmp/optional/\n fi\ndone\n\n# remove the .DS_Store files if any (we may want to provide one in the future for fancy .dmgs)\nrm -rf build/dmg-tmp/.DS_Store\n\n# create the dmg\nhdiutil create -ov -fs HFS+ -volname $PRODUCT_NAME -srcfolder build/dmg-tmp build/$PRODUCT_NAME.dmg\n\n# clean up\nrm -rf build/dmg-tmp\n"; }; /* End PBXShellScriptBuildPhase section */ diff --git a/Xcode/config.xcconfig b/Xcode/config.xcconfig index 946d0bce6..2edf556c1 100644 --- a/Xcode/config.xcconfig +++ b/Xcode/config.xcconfig @@ -15,7 +15,7 @@ // Uncomment these lines to enable MOD support // If you do this, you should run external/download.sh to download the decode libraries and add xmp.framework to your application bundle. //CONFIG_PREPROCESSOR_DEFINITIONS = $(inherited) MUSIC_MOD_XMP LIBXMP_HEADER=\"../external/libxmp/include/xmp.h\" -//CONFIG_FRAMEWORK_LDFLAGS = $(inherited) -weak_framework xmp_lite +//CONFIG_FRAMEWORK_LDFLAGS = $(inherited) -weak_framework xmp // Uncomment these lines to enable Opus support // If you do this, you should run external/download.sh to download the decode libraries and add opus.framework to your application bundle. diff --git a/Xcode/playmus/playmus.xcodeproj/project.pbxproj b/Xcode/playmus/playmus.xcodeproj/project.pbxproj index 8f2c2ae5a..5fda8b9cc 100644 --- a/Xcode/playmus/playmus.xcodeproj/project.pbxproj +++ b/Xcode/playmus/playmus.xcodeproj/project.pbxproj @@ -21,9 +21,9 @@ F3968F122820428F00661875 /* opus.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = F3968EAA282038E000661875 /* opus.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; F3968F142820428F00661875 /* SDL2.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = F3968EC2282039BC00661875 /* SDL2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; F39CD44B281DC6C8006CF638 /* SDL2_mixer.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = F3ED80D4281D9ED600C33C5B /* SDL2_mixer.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - F3E29D36288212480006D108 /* xmp_lite.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = F3E29D2D2882122B0006D108 /* xmp_lite.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - F3E29D3C2882124D0006D108 /* xmp_lite.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = F3E29D2D2882122B0006D108 /* xmp_lite.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - F3E29D3D288212520006D108 /* xmp_lite.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = F3E29D2D2882122B0006D108 /* xmp_lite.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + F3E29D36288212480006D108 /* xmp.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = F3E29D2D2882122B0006D108 /* xmp.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + F3E29D3C2882124D0006D108 /* xmp.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = F3E29D2D2882122B0006D108 /* xmp.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + F3E29D3D288212520006D108 /* xmp.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = F3E29D2D2882122B0006D108 /* xmp.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; F3ED80CB281D9ECB00C33C5B /* playmus.c in Sources */ = {isa = PBXBuildFile; fileRef = F3ED80CA281D9ECB00C33C5B /* playmus.c */; }; F3ED80CC281D9ECB00C33C5B /* playmus.c in Sources */ = {isa = PBXBuildFile; fileRef = F3ED80CA281D9ECB00C33C5B /* playmus.c */; }; F3ED80DB281D9F2100C33C5B /* playmus.c in Sources */ = {isa = PBXBuildFile; fileRef = F3ED80CA281D9ECB00C33C5B /* playmus.c */; }; @@ -52,10 +52,10 @@ }; F3E29D2C2882122B0006D108 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = F3E29D282882122B0006D108 /* xmp-lite.xcodeproj */; + containerPortal = F3E29D282882122B0006D108 /* xmp.xcodeproj */; proxyType = 2; remoteGlobalIDString = F3968D85281FBB1900661875; - remoteInfo = "xmp-lite"; + remoteInfo = "xmp"; }; F3ED80D3281D9ED600C33C5B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; @@ -91,7 +91,7 @@ F39CD44B281DC6C8006CF638 /* SDL2_mixer.framework in Copy Frameworks */, F3968F112820428F00661875 /* ogg.framework in Copy Frameworks */, F3968F122820428F00661875 /* opus.framework in Copy Frameworks */, - F3E29D3D288212520006D108 /* xmp_lite.framework in Copy Frameworks */, + F3E29D3D288212520006D108 /* xmp.framework in Copy Frameworks */, ); name = "Copy Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -106,7 +106,7 @@ F3968ECF28203F3100661875 /* SDL2_mixer.framework in Copy Frameworks */, F3968ED328203F5800661875 /* ogg.framework in Copy Frameworks */, F3968ED428203F5800661875 /* opus.framework in Copy Frameworks */, - F3E29D3C2882124D0006D108 /* xmp_lite.framework in Copy Frameworks */, + F3E29D3C2882124D0006D108 /* xmp.framework in Copy Frameworks */, ); name = "Copy Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -121,7 +121,7 @@ F3ED80FF281DA63000C33C5B /* SDL2_mixer.framework in Copy Frameworks */, F3968EF3282040B300661875 /* ogg.framework in Copy Frameworks */, F3968EF4282040B300661875 /* opus.framework in Copy Frameworks */, - F3E29D36288212480006D108 /* xmp_lite.framework in Copy Frameworks */, + F3E29D36288212480006D108 /* xmp.framework in Copy Frameworks */, ); name = "Copy Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -134,7 +134,7 @@ F3968EBE2820392700661875 /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2.framework; path = ../macOS/SDL2.framework; sourceTree = ""; }; F3968EC0282039AC00661875 /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2.framework; path = ../iOS/SDL2.framework; sourceTree = ""; }; F3968EC2282039BC00661875 /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2.framework; path = ../tvOS/SDL2.framework; sourceTree = ""; }; - F3E29D282882122B0006D108 /* xmp-lite.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "xmp-lite.xcodeproj"; path = "../xmp-lite/xmp-lite.xcodeproj"; sourceTree = ""; }; + F3E29D282882122B0006D108 /* xmp.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "xmp.xcodeproj"; path = "../xmp/xmp.xcodeproj"; sourceTree = ""; }; F3ED80B3281D9E8900C33C5B /* playmus.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = playmus.app; sourceTree = BUILT_PRODUCTS_DIR; }; F3ED80B9281D9E8900C33C5B /* playmus.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = playmus.app; sourceTree = BUILT_PRODUCTS_DIR; }; F3ED80BB281D9E8900C33C5B /* macOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = macOS.entitlements; sourceTree = ""; }; @@ -228,7 +228,7 @@ F3E29D292882122B0006D108 /* Products */ = { isa = PBXGroup; children = ( - F3E29D2D2882122B0006D108 /* xmp_lite.framework */, + F3E29D2D2882122B0006D108 /* xmp.framework */, ); name = Products; sourceTree = ""; @@ -238,7 +238,7 @@ children = ( F3968EB72820390500661875 /* ogg.xcodeproj */, F3968EA5282038E000661875 /* opus.xcodeproj */, - F3E29D282882122B0006D108 /* xmp-lite.xcodeproj */, + F3E29D282882122B0006D108 /* xmp.xcodeproj */, F3ED80CD281D9ED600C33C5B /* SDL_mixer.xcodeproj */, F3ED80AB281D9E8800C33C5B /* Shared */, F3ED80BA281D9E8900C33C5B /* macOS */, @@ -385,7 +385,7 @@ }, { ProductGroup = F3E29D292882122B0006D108 /* Products */; - ProjectRef = F3E29D282882122B0006D108 /* xmp-lite.xcodeproj */; + ProjectRef = F3E29D282882122B0006D108 /* xmp.xcodeproj */; }, ); projectRoot = ""; @@ -412,10 +412,10 @@ remoteRef = F3968EBB2820390500661875 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - F3E29D2D2882122B0006D108 /* xmp_lite.framework */ = { + F3E29D2D2882122B0006D108 /* xmp.framework */ = { isa = PBXReferenceProxy; fileType = wrapper.framework; - path = xmp_lite.framework; + path = xmp.framework; remoteRef = F3E29D2C2882122B0006D108 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; diff --git a/Xcode/playwave/playwave.xcodeproj/project.pbxproj b/Xcode/playwave/playwave.xcodeproj/project.pbxproj index 37296b0e2..f79ac1af2 100644 --- a/Xcode/playwave/playwave.xcodeproj/project.pbxproj +++ b/Xcode/playwave/playwave.xcodeproj/project.pbxproj @@ -21,9 +21,9 @@ F3968F122820428F00661875 /* opus.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = F3968EAA282038E000661875 /* opus.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; F3968F142820428F00661875 /* SDL2.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = F3968EC2282039BC00661875 /* SDL2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; F39CD44B281DC6C8006CF638 /* SDL2_mixer.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = F3ED80D4281D9ED600C33C5B /* SDL2_mixer.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - F3E29D1C288211B90006D108 /* xmp_lite.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = F3E29D1B288211A60006D108 /* xmp_lite.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - F3E29D1D288211CA0006D108 /* xmp_lite.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = F3E29D1B288211A60006D108 /* xmp_lite.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - F3E29D1E288211CF0006D108 /* xmp_lite.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = F3E29D1B288211A60006D108 /* xmp_lite.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + F3E29D1C288211B90006D108 /* xmp.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = F3E29D1B288211A60006D108 /* xmp.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + F3E29D1D288211CA0006D108 /* xmp.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = F3E29D1B288211A60006D108 /* xmp.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + F3E29D1E288211CF0006D108 /* xmp.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = F3E29D1B288211A60006D108 /* xmp.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; F3ED80CB281D9ECB00C33C5B /* playwave.c in Sources */ = {isa = PBXBuildFile; fileRef = F3ED80CA281D9ECB00C33C5B /* playwave.c */; }; F3ED80CC281D9ECB00C33C5B /* playwave.c in Sources */ = {isa = PBXBuildFile; fileRef = F3ED80CA281D9ECB00C33C5B /* playwave.c */; }; F3ED80DB281D9F2100C33C5B /* playwave.c in Sources */ = {isa = PBXBuildFile; fileRef = F3ED80CA281D9ECB00C33C5B /* playwave.c */; }; @@ -52,10 +52,10 @@ }; F3E29D1A288211A60006D108 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = F3E29D11288211A60006D108 /* xmp-lite.xcodeproj */; + containerPortal = F3E29D11288211A60006D108 /* xmp.xcodeproj */; proxyType = 2; remoteGlobalIDString = F3968D85281FBB1900661875; - remoteInfo = "xmp-lite"; + remoteInfo = "xmp"; }; F3ED80D3281D9ED600C33C5B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; @@ -91,7 +91,7 @@ F39CD44B281DC6C8006CF638 /* SDL2_mixer.framework in Copy Frameworks */, F3968F112820428F00661875 /* ogg.framework in Copy Frameworks */, F3968F122820428F00661875 /* opus.framework in Copy Frameworks */, - F3E29D1E288211CF0006D108 /* xmp_lite.framework in Copy Frameworks */, + F3E29D1E288211CF0006D108 /* xmp.framework in Copy Frameworks */, ); name = "Copy Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -106,7 +106,7 @@ F3968ECF28203F3100661875 /* SDL2_mixer.framework in Copy Frameworks */, F3968ED328203F5800661875 /* ogg.framework in Copy Frameworks */, F3968ED428203F5800661875 /* opus.framework in Copy Frameworks */, - F3E29D1C288211B90006D108 /* xmp_lite.framework in Copy Frameworks */, + F3E29D1C288211B90006D108 /* xmp.framework in Copy Frameworks */, ); name = "Copy Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -121,7 +121,7 @@ F3ED80FF281DA63000C33C5B /* SDL2_mixer.framework in Copy Frameworks */, F3968EF3282040B300661875 /* ogg.framework in Copy Frameworks */, F3968EF4282040B300661875 /* opus.framework in Copy Frameworks */, - F3E29D1D288211CA0006D108 /* xmp_lite.framework in Copy Frameworks */, + F3E29D1D288211CA0006D108 /* xmp.framework in Copy Frameworks */, ); name = "Copy Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -134,7 +134,7 @@ F3968EBE2820392700661875 /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2.framework; path = ../macOS/SDL2.framework; sourceTree = ""; }; F3968EC0282039AC00661875 /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2.framework; path = ../iOS/SDL2.framework; sourceTree = ""; }; F3968EC2282039BC00661875 /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2.framework; path = ../tvOS/SDL2.framework; sourceTree = ""; }; - F3E29D11288211A60006D108 /* xmp-lite.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "xmp-lite.xcodeproj"; path = "../xmp-lite/xmp-lite.xcodeproj"; sourceTree = ""; }; + F3E29D11288211A60006D108 /* xmp.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "xmp.xcodeproj"; path = "../xmp/xmp.xcodeproj"; sourceTree = ""; }; F3ED80B3281D9E8900C33C5B /* playwave.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = playwave.app; sourceTree = BUILT_PRODUCTS_DIR; }; F3ED80B9281D9E8900C33C5B /* playwave.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = playwave.app; sourceTree = BUILT_PRODUCTS_DIR; }; F3ED80BB281D9E8900C33C5B /* macOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = macOS.entitlements; sourceTree = ""; }; @@ -228,7 +228,7 @@ F3E29D12288211A60006D108 /* Products */ = { isa = PBXGroup; children = ( - F3E29D1B288211A60006D108 /* xmp_lite.framework */, + F3E29D1B288211A60006D108 /* xmp.framework */, ); name = Products; sourceTree = ""; @@ -238,7 +238,7 @@ children = ( F3968EB72820390500661875 /* ogg.xcodeproj */, F3968EA5282038E000661875 /* opus.xcodeproj */, - F3E29D11288211A60006D108 /* xmp-lite.xcodeproj */, + F3E29D11288211A60006D108 /* xmp.xcodeproj */, F3ED80CD281D9ED600C33C5B /* SDL_mixer.xcodeproj */, F3ED80AB281D9E8800C33C5B /* Shared */, F3ED80BA281D9E8900C33C5B /* macOS */, @@ -385,7 +385,7 @@ }, { ProductGroup = F3E29D12288211A60006D108 /* Products */; - ProjectRef = F3E29D11288211A60006D108 /* xmp-lite.xcodeproj */; + ProjectRef = F3E29D11288211A60006D108 /* xmp.xcodeproj */; }, ); projectRoot = ""; @@ -412,10 +412,10 @@ remoteRef = F3968EBB2820390500661875 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - F3E29D1B288211A60006D108 /* xmp_lite.framework */ = { + F3E29D1B288211A60006D108 /* xmp.framework */ = { isa = PBXReferenceProxy; fileType = wrapper.framework; - path = xmp_lite.framework; + path = xmp.framework; remoteRef = F3E29D1A288211A60006D108 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; diff --git a/Xcode/xmp-lite/xmp-lite.xcodeproj/project.pbxproj b/Xcode/xmp-lite/xmp-lite.xcodeproj/project.pbxproj deleted file mode 100644 index d084e45b8..000000000 --- a/Xcode/xmp-lite/xmp-lite.xcodeproj/project.pbxproj +++ /dev/null @@ -1,477 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 55; - objects = { - -/* Begin PBXBuildFile section */ - F3023FB22881D74E002F32D6 /* xmp.h in Headers */ = {isa = PBXBuildFile; fileRef = F3023FB12881D74E002F32D6 /* xmp.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F3023FCE2881DB7C002F32D6 /* effects.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FB42881DB7C002F32D6 /* effects.c */; }; - F3023FD02881DB7C002F32D6 /* smix.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FB62881DB7C002F32D6 /* smix.c */; }; - F3023FD12881DB7C002F32D6 /* misc.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FB72881DB7C002F32D6 /* misc.c */; }; - F3023FD32881DB7C002F32D6 /* scan.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FB92881DB7C002F32D6 /* scan.c */; }; - F3023FD42881DB7C002F32D6 /* virtual.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FBA2881DB7C002F32D6 /* virtual.c */; }; - F3023FD52881DB7C002F32D6 /* lfo.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FBB2881DB7C002F32D6 /* lfo.c */; }; - F3023FD62881DB7C002F32D6 /* filter.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FBC2881DB7C002F32D6 /* filter.c */; }; - F3023FD72881DB7C002F32D6 /* control.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FBD2881DB7C002F32D6 /* control.c */; }; - F3023FD82881DB7C002F32D6 /* period.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FBE2881DB7C002F32D6 /* period.c */; }; - F3023FDC2881DB7C002F32D6 /* hio.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FC22881DB7C002F32D6 /* hio.c */; }; - F3023FDE2881DB7C002F32D6 /* read_event.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FC42881DB7C002F32D6 /* read_event.c */; }; - F3023FDF2881DB7C002F32D6 /* mix_all.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FC52881DB7C002F32D6 /* mix_all.c */; }; - F3023FE02881DB7C002F32D6 /* memio.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FC62881DB7C002F32D6 /* memio.c */; }; - F3023FE12881DB7C002F32D6 /* player.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FC72881DB7C002F32D6 /* player.c */; }; - F3023FE22881DB7C002F32D6 /* dataio.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FC82881DB7C002F32D6 /* dataio.c */; }; - F3023FE32881DB7C002F32D6 /* mixer.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FC92881DB7C002F32D6 /* mixer.c */; }; - F3023FE42881DB7C002F32D6 /* load.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FCA2881DB7C002F32D6 /* load.c */; }; - F3023FE62881DB7C002F32D6 /* load_helpers.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FCC2881DB7C002F32D6 /* load_helpers.c */; }; - F33AA3312881F70D00F836D8 /* it_load.c in Sources */ = {isa = PBXBuildFile; fileRef = F33AA32D2881F70D00F836D8 /* it_load.c */; }; - F33AA3322881F70D00F836D8 /* xm_load.c in Sources */ = {isa = PBXBuildFile; fileRef = F33AA32E2881F70D00F836D8 /* xm_load.c */; }; - F33AA3342881F70D00F836D8 /* s3m_load.c in Sources */ = {isa = PBXBuildFile; fileRef = F33AA3302881F70D00F836D8 /* s3m_load.c */; }; - F3E29CE62881FB380006D108 /* README in Resources */ = {isa = PBXBuildFile; fileRef = F3E29CE52881FB370006D108 /* README */; }; - F3E29CE82881FB610006D108 /* format.c in Sources */ = {isa = PBXBuildFile; fileRef = F3E29CE72881FB610006D108 /* format.c */; }; - F3E29CEA2881FB840006D108 /* mod_load.c in Sources */ = {isa = PBXBuildFile; fileRef = F3E29CE92881FB840006D108 /* mod_load.c */; }; - F3E29CEE2881FC900006D108 /* common.c in Sources */ = {isa = PBXBuildFile; fileRef = F3E29CEB2881FC900006D108 /* common.c */; }; - F3E29CEF2881FC900006D108 /* sample.c in Sources */ = {isa = PBXBuildFile; fileRef = F3E29CEC2881FC900006D108 /* sample.c */; }; - F3E29CF02881FC900006D108 /* itsex.c in Sources */ = {isa = PBXBuildFile; fileRef = F3E29CED2881FC900006D108 /* itsex.c */; }; - F3E29D6F288237030006D108 /* filetype.c in Sources */ = {isa = PBXBuildFile; fileRef = F3E29D6E288237030006D108 /* filetype.c */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - F3023FB12881D74E002F32D6 /* xmp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = xmp.h; path = ../../external/libxmp/include/xmp.h; sourceTree = ""; }; - F3023FB42881DB7C002F32D6 /* effects.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = effects.c; path = ../../external/libxmp/src/effects.c; sourceTree = ""; }; - F3023FB62881DB7C002F32D6 /* smix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = smix.c; path = ../../external/libxmp/src/smix.c; sourceTree = ""; }; - F3023FB72881DB7C002F32D6 /* misc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = misc.c; path = ../../external/libxmp/src/misc.c; sourceTree = ""; }; - F3023FB92881DB7C002F32D6 /* scan.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = scan.c; path = ../../external/libxmp/src/scan.c; sourceTree = ""; }; - F3023FBA2881DB7C002F32D6 /* virtual.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = virtual.c; path = ../../external/libxmp/src/virtual.c; sourceTree = ""; }; - F3023FBB2881DB7C002F32D6 /* lfo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lfo.c; path = ../../external/libxmp/src/lfo.c; sourceTree = ""; }; - F3023FBC2881DB7C002F32D6 /* filter.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = filter.c; path = ../../external/libxmp/src/filter.c; sourceTree = ""; }; - F3023FBD2881DB7C002F32D6 /* control.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = control.c; path = ../../external/libxmp/src/control.c; sourceTree = ""; }; - F3023FBE2881DB7C002F32D6 /* period.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = period.c; path = ../../external/libxmp/src/period.c; sourceTree = ""; }; - F3023FC22881DB7C002F32D6 /* hio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = hio.c; path = ../../external/libxmp/src/hio.c; sourceTree = ""; }; - F3023FC42881DB7C002F32D6 /* read_event.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = read_event.c; path = ../../external/libxmp/src/read_event.c; sourceTree = ""; }; - F3023FC52881DB7C002F32D6 /* mix_all.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mix_all.c; path = ../../external/libxmp/src/mix_all.c; sourceTree = ""; }; - F3023FC62881DB7C002F32D6 /* memio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = memio.c; path = ../../external/libxmp/src/memio.c; sourceTree = ""; }; - F3023FC72881DB7C002F32D6 /* player.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = player.c; path = ../../external/libxmp/src/player.c; sourceTree = ""; }; - F3023FC82881DB7C002F32D6 /* dataio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = dataio.c; path = ../../external/libxmp/src/dataio.c; sourceTree = ""; }; - F3023FC92881DB7C002F32D6 /* mixer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mixer.c; path = ../../external/libxmp/src/mixer.c; sourceTree = ""; }; - F3023FCA2881DB7C002F32D6 /* load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = load.c; path = ../../external/libxmp/src/load.c; sourceTree = ""; }; - F3023FCC2881DB7C002F32D6 /* load_helpers.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = load_helpers.c; path = ../../external/libxmp/src/load_helpers.c; sourceTree = ""; }; - F33AA32D2881F70D00F836D8 /* it_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = it_load.c; path = ../../external/libxmp/src/loaders/it_load.c; sourceTree = ""; }; - F33AA32E2881F70D00F836D8 /* xm_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = xm_load.c; path = ../../external/libxmp/src/loaders/xm_load.c; sourceTree = ""; }; - F33AA3302881F70D00F836D8 /* s3m_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = s3m_load.c; path = ../../external/libxmp/src/loaders/s3m_load.c; sourceTree = ""; }; - F3968D85281FBB1900661875 /* xmp_lite.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = xmp_lite.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - F3E29CE52881FB370006D108 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = README; path = ../../external/libxmp/lite/README; sourceTree = ""; }; - F3E29CE72881FB610006D108 /* format.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = format.c; path = ../../external/libxmp/src/format.c; sourceTree = ""; }; - F3E29CE92881FB840006D108 /* mod_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mod_load.c; path = ../../external/libxmp/src/loaders/mod_load.c; sourceTree = ""; }; - F3E29CEB2881FC900006D108 /* common.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = common.c; path = ../../external/libxmp/src/loaders/common.c; sourceTree = ""; }; - F3E29CEC2881FC900006D108 /* sample.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sample.c; path = ../../external/libxmp/src/loaders/sample.c; sourceTree = ""; }; - F3E29CED2881FC900006D108 /* itsex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = itsex.c; path = ../../external/libxmp/src/loaders/itsex.c; sourceTree = ""; }; - F3E29D6E288237030006D108 /* filetype.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = filetype.c; path = ../../external/libxmp/src/filetype.c; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - F3968D82281FBB1900661875 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - F3023FE72881DBC6002F32D6 /* loaders */ = { - isa = PBXGroup; - children = ( - F3E29CEB2881FC900006D108 /* common.c */, - F33AA32D2881F70D00F836D8 /* it_load.c */, - F3E29CED2881FC900006D108 /* itsex.c */, - F3E29CE92881FB840006D108 /* mod_load.c */, - F33AA3302881F70D00F836D8 /* s3m_load.c */, - F3E29CEC2881FC900006D108 /* sample.c */, - F33AA32E2881F70D00F836D8 /* xm_load.c */, - ); - name = loaders; - sourceTree = ""; - }; - F3968D7B281FBB1900661875 = { - isa = PBXGroup; - children = ( - F3968D86281FBB1900661875 /* Products */, - F3968D91281FBC7F00661875 /* Resources */, - F3968D90281FBC7400661875 /* Headers */, - F3968D8F281FBC6C00661875 /* Source */, - ); - sourceTree = ""; - }; - F3968D86281FBB1900661875 /* Products */ = { - isa = PBXGroup; - children = ( - F3968D85281FBB1900661875 /* xmp_lite.framework */, - ); - name = Products; - sourceTree = ""; - }; - F3968D8F281FBC6C00661875 /* Source */ = { - isa = PBXGroup; - children = ( - F3023FE72881DBC6002F32D6 /* loaders */, - F3023FBD2881DB7C002F32D6 /* control.c */, - F3023FC82881DB7C002F32D6 /* dataio.c */, - F3023FB42881DB7C002F32D6 /* effects.c */, - F3E29D6E288237030006D108 /* filetype.c */, - F3023FBC2881DB7C002F32D6 /* filter.c */, - F3E29CE72881FB610006D108 /* format.c */, - F3023FC22881DB7C002F32D6 /* hio.c */, - F3023FBB2881DB7C002F32D6 /* lfo.c */, - F3023FCC2881DB7C002F32D6 /* load_helpers.c */, - F3023FCA2881DB7C002F32D6 /* load.c */, - F3023FC62881DB7C002F32D6 /* memio.c */, - F3023FB72881DB7C002F32D6 /* misc.c */, - F3023FC52881DB7C002F32D6 /* mix_all.c */, - F3023FC92881DB7C002F32D6 /* mixer.c */, - F3023FBE2881DB7C002F32D6 /* period.c */, - F3023FC72881DB7C002F32D6 /* player.c */, - F3023FC42881DB7C002F32D6 /* read_event.c */, - F3023FB92881DB7C002F32D6 /* scan.c */, - F3023FB62881DB7C002F32D6 /* smix.c */, - F3023FBA2881DB7C002F32D6 /* virtual.c */, - ); - name = Source; - sourceTree = ""; - }; - F3968D90281FBC7400661875 /* Headers */ = { - isa = PBXGroup; - children = ( - F3023FB12881D74E002F32D6 /* xmp.h */, - ); - name = Headers; - sourceTree = ""; - }; - F3968D91281FBC7F00661875 /* Resources */ = { - isa = PBXGroup; - children = ( - F3E29CE52881FB370006D108 /* README */, - ); - name = Resources; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - F3968D80281FBB1900661875 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - F3023FB22881D74E002F32D6 /* xmp.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - F3968D84281FBB1900661875 /* xmp-lite */ = { - isa = PBXNativeTarget; - buildConfigurationList = F3968D8C281FBB1900661875 /* Build configuration list for PBXNativeTarget "xmp-lite" */; - buildPhases = ( - F3968D80281FBB1900661875 /* Headers */, - F3968D81281FBB1900661875 /* Sources */, - F3968D82281FBB1900661875 /* Frameworks */, - F3968D83281FBB1900661875 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "xmp-lite"; - productName = libmodplug; - productReference = F3968D85281FBB1900661875 /* xmp_lite.framework */; - productType = "com.apple.product-type.framework"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - F3968D7C281FBB1900661875 /* Project object */ = { - isa = PBXProject; - attributes = { - BuildIndependentTargetsInParallel = 1; - LastUpgradeCheck = 1330; - TargetAttributes = { - F3968D84281FBB1900661875 = { - CreatedOnToolsVersion = 13.3.1; - }; - }; - }; - buildConfigurationList = F3968D7F281FBB1900661875 /* Build configuration list for PBXProject "xmp-lite" */; - compatibilityVersion = "Xcode 13.0"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = F3968D7B281FBB1900661875; - productRefGroup = F3968D86281FBB1900661875 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - F3968D84281FBB1900661875 /* xmp-lite */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - F3968D83281FBB1900661875 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - F3E29CE62881FB380006D108 /* README in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - F3968D81281FBB1900661875 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - F3023FE62881DB7C002F32D6 /* load_helpers.c in Sources */, - F3023FD42881DB7C002F32D6 /* virtual.c in Sources */, - F3E29CE82881FB610006D108 /* format.c in Sources */, - F33AA3342881F70D00F836D8 /* s3m_load.c in Sources */, - F3023FD12881DB7C002F32D6 /* misc.c in Sources */, - F3023FE02881DB7C002F32D6 /* memio.c in Sources */, - F3023FDF2881DB7C002F32D6 /* mix_all.c in Sources */, - F3023FD62881DB7C002F32D6 /* filter.c in Sources */, - F3E29D6F288237030006D108 /* filetype.c in Sources */, - F3023FE42881DB7C002F32D6 /* load.c in Sources */, - F3023FE12881DB7C002F32D6 /* player.c in Sources */, - F3023FD82881DB7C002F32D6 /* period.c in Sources */, - F3023FDE2881DB7C002F32D6 /* read_event.c in Sources */, - F3023FDC2881DB7C002F32D6 /* hio.c in Sources */, - F3023FD52881DB7C002F32D6 /* lfo.c in Sources */, - F3023FD02881DB7C002F32D6 /* smix.c in Sources */, - F3E29CF02881FC900006D108 /* itsex.c in Sources */, - F3023FD32881DB7C002F32D6 /* scan.c in Sources */, - F3023FE32881DB7C002F32D6 /* mixer.c in Sources */, - F3023FCE2881DB7C002F32D6 /* effects.c in Sources */, - F3E29CEE2881FC900006D108 /* common.c in Sources */, - F33AA3322881F70D00F836D8 /* xm_load.c in Sources */, - F3023FD72881DB7C002F32D6 /* control.c in Sources */, - F3E29CEF2881FC900006D108 /* sample.c in Sources */, - F3E29CEA2881FB840006D108 /* mod_load.c in Sources */, - F33AA3312881F70D00F836D8 /* it_load.c in Sources */, - F3023FE22881DB7C002F32D6 /* dataio.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - F3968D8A281FBB1900661875 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - LIBXMP_CORE_PLAYER, - XMP_SYM_VISIBILITY, - ); - GCC_SYMBOLS_PRIVATE_EXTERN = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos driverkit appletvsimulator appletvos"; - SUPPORTS_MACCATALYST = YES; - TVOS_DEPLOYMENT_TARGET = 9.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - F3968D8B281FBB1900661875 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - LIBXMP_CORE_PLAYER, - XMP_SYM_VISIBILITY, - ); - GCC_SYMBOLS_PRIVATE_EXTERN = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos driverkit appletvsimulator appletvos"; - SUPPORTS_MACCATALYST = YES; - TVOS_DEPLOYMENT_TARGET = 9.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - F3968D8D281FBB1900661875 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 4.5.0; - PRODUCT_BUNDLE_IDENTIFIER = "org.libxmp.xmp-lite"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SWIFT_EMIT_LOC_STRINGS = YES; - }; - name = Debug; - }; - F3968D8E281FBB1900661875 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 4.5.0; - PRODUCT_BUNDLE_IDENTIFIER = "org.libxmp.xmp-lite"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SWIFT_EMIT_LOC_STRINGS = YES; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - F3968D7F281FBB1900661875 /* Build configuration list for PBXProject "xmp-lite" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - F3968D8A281FBB1900661875 /* Debug */, - F3968D8B281FBB1900661875 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - F3968D8C281FBB1900661875 /* Build configuration list for PBXNativeTarget "xmp-lite" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - F3968D8D281FBB1900661875 /* Debug */, - F3968D8E281FBB1900661875 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = F3968D7C281FBB1900661875 /* Project object */; -} diff --git a/Xcode/xmp/xmp.xcodeproj/project.pbxproj b/Xcode/xmp/xmp.xcodeproj/project.pbxproj new file mode 100644 index 000000000..77ea16099 --- /dev/null +++ b/Xcode/xmp/xmp.xcodeproj/project.pbxproj @@ -0,0 +1,727 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 55; + objects = { + +/* Begin PBXBuildFile section */ + 631064392A98AF290082F715 /* extras.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064382A98AF290082F715 /* extras.c */; }; + 631064402A98AF6F0082F715 /* far_extras.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310643A2A98AF6F0082F715 /* far_extras.c */; }; + 631064412A98AF6F0082F715 /* hmn_extras.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310643B2A98AF6F0082F715 /* hmn_extras.c */; }; + 631064422A98AF6F0082F715 /* md5.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310643C2A98AF6F0082F715 /* md5.c */; }; + 631064432A98AF6F0082F715 /* med_extras.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310643D2A98AF6F0082F715 /* med_extras.c */; }; + 631064442A98AF6F0082F715 /* miniz_tinfl.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310643E2A98AF6F0082F715 /* miniz_tinfl.c */; }; + 631064452A98AF6F0082F715 /* mix_paula.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310643F2A98AF6F0082F715 /* mix_paula.c */; }; + 631064622A98AFEE0082F715 /* gal4_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064462A98AFEE0082F715 /* gal4_load.c */; }; + 631064632A98AFEE0082F715 /* gal5_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064472A98AFEE0082F715 /* gal5_load.c */; }; + 631064642A98AFEE0082F715 /* gdm_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064482A98AFEE0082F715 /* gdm_load.c */; }; + 631064652A98AFEE0082F715 /* hmn_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064492A98AFEE0082F715 /* hmn_load.c */; }; + 631064662A98AFEE0082F715 /* ice_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310644A2A98AFEE0082F715 /* ice_load.c */; }; + 631064672A98AFEE0082F715 /* iff.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310644B2A98AFEE0082F715 /* iff.c */; }; + 631064682A98AFEE0082F715 /* imf_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310644C2A98AFEE0082F715 /* imf_load.c */; }; + 631064692A98AFEE0082F715 /* ims_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310644D2A98AFEE0082F715 /* ims_load.c */; }; + 6310646A2A98AFEE0082F715 /* liq_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310644E2A98AFEE0082F715 /* liq_load.c */; }; + 6310646B2A98AFEE0082F715 /* lzw.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310644F2A98AFEE0082F715 /* lzw.c */; }; + 6310646C2A98AFEE0082F715 /* masi_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064502A98AFEE0082F715 /* masi_load.c */; }; + 6310646D2A98AFEE0082F715 /* masi16_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064512A98AFEE0082F715 /* masi16_load.c */; }; + 6310646E2A98AFEE0082F715 /* mdl_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064522A98AFEE0082F715 /* mdl_load.c */; }; + 6310646F2A98AFEE0082F715 /* med2_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064532A98AFEE0082F715 /* med2_load.c */; }; + 631064702A98AFEE0082F715 /* med3_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064542A98AFEE0082F715 /* med3_load.c */; }; + 631064712A98AFEE0082F715 /* med4_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064552A98AFEE0082F715 /* med4_load.c */; }; + 631064722A98AFEE0082F715 /* mfp_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064562A98AFEE0082F715 /* mfp_load.c */; }; + 631064732A98AFEE0082F715 /* mgt_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064572A98AFEE0082F715 /* mgt_load.c */; }; + 631064742A98AFEE0082F715 /* mmd_common.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064582A98AFEE0082F715 /* mmd_common.c */; }; + 631064752A98AFEE0082F715 /* mmd1_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064592A98AFEE0082F715 /* mmd1_load.c */; }; + 631064762A98AFEE0082F715 /* mmd3_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310645A2A98AFEE0082F715 /* mmd3_load.c */; }; + 631064772A98AFEE0082F715 /* mtm_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310645B2A98AFEE0082F715 /* mtm_load.c */; }; + 631064782A98AFEE0082F715 /* muse_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310645C2A98AFEE0082F715 /* muse_load.c */; }; + 631064792A98AFEE0082F715 /* no_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310645D2A98AFEE0082F715 /* no_load.c */; }; + 6310647A2A98AFEE0082F715 /* okt_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310645E2A98AFEE0082F715 /* okt_load.c */; }; + 6310647B2A98AFEE0082F715 /* pt3_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310645F2A98AFEE0082F715 /* pt3_load.c */; }; + 6310647C2A98AFEE0082F715 /* ptm_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064602A98AFEE0082F715 /* ptm_load.c */; }; + 6310647D2A98AFEE0082F715 /* rtm_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064612A98AFEE0082F715 /* rtm_load.c */; }; + 6310648C2A98B06B0082F715 /* 669_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310647E2A98B06B0082F715 /* 669_load.c */; }; + 6310648D2A98B06B0082F715 /* abk_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310647F2A98B06B0082F715 /* abk_load.c */; }; + 6310648E2A98B06B0082F715 /* amf_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064802A98B06B0082F715 /* amf_load.c */; }; + 6310648F2A98B06B0082F715 /* arch_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064812A98B06B0082F715 /* arch_load.c */; }; + 631064902A98B06B0082F715 /* asylum_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064822A98B06B0082F715 /* asylum_load.c */; }; + 631064912A98B06B0082F715 /* chip_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064832A98B06B0082F715 /* chip_load.c */; }; + 631064922A98B06B0082F715 /* coco_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064842A98B06B0082F715 /* coco_load.c */; }; + 631064932A98B06B0082F715 /* dbm_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064852A98B06B0082F715 /* dbm_load.c */; }; + 631064942A98B06B0082F715 /* digi_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064862A98B06B0082F715 /* digi_load.c */; }; + 631064952A98B06B0082F715 /* dt_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064872A98B06B0082F715 /* dt_load.c */; }; + 631064962A98B06B0082F715 /* emod_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064882A98B06B0082F715 /* emod_load.c */; }; + 631064972A98B06B0082F715 /* far_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064892A98B06B0082F715 /* far_load.c */; }; + 631064982A98B06B0082F715 /* flt_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310648A2A98B06B0082F715 /* flt_load.c */; }; + 631064992A98B06B0082F715 /* fnk_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310648B2A98B06B0082F715 /* fnk_load.c */; }; + 631064A62A98B0A00082F715 /* pw_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310649A2A98B0A00082F715 /* pw_load.c */; }; + 631064A72A98B0A00082F715 /* sfx_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310649B2A98B0A00082F715 /* sfx_load.c */; }; + 631064A82A98B0A00082F715 /* st_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310649C2A98B0A00082F715 /* st_load.c */; }; + 631064A92A98B0A00082F715 /* stim_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310649D2A98B0A00082F715 /* stim_load.c */; }; + 631064AA2A98B0A00082F715 /* stm_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310649E2A98B0A00082F715 /* stm_load.c */; }; + 631064AB2A98B0A00082F715 /* stx_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 6310649F2A98B0A00082F715 /* stx_load.c */; }; + 631064AC2A98B0A00082F715 /* sym_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064A02A98B0A00082F715 /* sym_load.c */; }; + 631064AD2A98B0A00082F715 /* ult_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064A12A98B0A00082F715 /* ult_load.c */; }; + 631064AE2A98B0A00082F715 /* umx_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064A22A98B0A00082F715 /* umx_load.c */; }; + 631064AF2A98B0A00082F715 /* voltable.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064A32A98B0A00082F715 /* voltable.c */; }; + 631064B02A98B0A00082F715 /* vorbis.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064A42A98B0A00082F715 /* vorbis.c */; }; + 631064B12A98B0A00082F715 /* xmf_load.c in Sources */ = {isa = PBXBuildFile; fileRef = 631064A52A98B0A00082F715 /* xmf_load.c */; }; + F3023FB22881D74E002F32D6 /* xmp.h in Headers */ = {isa = PBXBuildFile; fileRef = F3023FB12881D74E002F32D6 /* xmp.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F3023FCE2881DB7C002F32D6 /* effects.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FB42881DB7C002F32D6 /* effects.c */; }; + F3023FD02881DB7C002F32D6 /* smix.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FB62881DB7C002F32D6 /* smix.c */; }; + F3023FD12881DB7C002F32D6 /* misc.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FB72881DB7C002F32D6 /* misc.c */; }; + F3023FD32881DB7C002F32D6 /* scan.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FB92881DB7C002F32D6 /* scan.c */; }; + F3023FD42881DB7C002F32D6 /* virtual.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FBA2881DB7C002F32D6 /* virtual.c */; }; + F3023FD52881DB7C002F32D6 /* lfo.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FBB2881DB7C002F32D6 /* lfo.c */; }; + F3023FD62881DB7C002F32D6 /* filter.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FBC2881DB7C002F32D6 /* filter.c */; }; + F3023FD72881DB7C002F32D6 /* control.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FBD2881DB7C002F32D6 /* control.c */; }; + F3023FD82881DB7C002F32D6 /* period.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FBE2881DB7C002F32D6 /* period.c */; }; + F3023FDC2881DB7C002F32D6 /* hio.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FC22881DB7C002F32D6 /* hio.c */; }; + F3023FDE2881DB7C002F32D6 /* read_event.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FC42881DB7C002F32D6 /* read_event.c */; }; + F3023FDF2881DB7C002F32D6 /* mix_all.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FC52881DB7C002F32D6 /* mix_all.c */; }; + F3023FE02881DB7C002F32D6 /* memio.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FC62881DB7C002F32D6 /* memio.c */; }; + F3023FE12881DB7C002F32D6 /* player.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FC72881DB7C002F32D6 /* player.c */; }; + F3023FE22881DB7C002F32D6 /* dataio.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FC82881DB7C002F32D6 /* dataio.c */; }; + F3023FE32881DB7C002F32D6 /* mixer.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FC92881DB7C002F32D6 /* mixer.c */; }; + F3023FE42881DB7C002F32D6 /* load.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FCA2881DB7C002F32D6 /* load.c */; }; + F3023FE62881DB7C002F32D6 /* load_helpers.c in Sources */ = {isa = PBXBuildFile; fileRef = F3023FCC2881DB7C002F32D6 /* load_helpers.c */; }; + F33AA3312881F70D00F836D8 /* it_load.c in Sources */ = {isa = PBXBuildFile; fileRef = F33AA32D2881F70D00F836D8 /* it_load.c */; }; + F33AA3322881F70D00F836D8 /* xm_load.c in Sources */ = {isa = PBXBuildFile; fileRef = F33AA32E2881F70D00F836D8 /* xm_load.c */; }; + F33AA3342881F70D00F836D8 /* s3m_load.c in Sources */ = {isa = PBXBuildFile; fileRef = F33AA3302881F70D00F836D8 /* s3m_load.c */; }; + F3E29CE62881FB380006D108 /* README in Resources */ = {isa = PBXBuildFile; fileRef = F3E29CE52881FB370006D108 /* README */; }; + F3E29CE82881FB610006D108 /* format.c in Sources */ = {isa = PBXBuildFile; fileRef = F3E29CE72881FB610006D108 /* format.c */; }; + F3E29CEA2881FB840006D108 /* mod_load.c in Sources */ = {isa = PBXBuildFile; fileRef = F3E29CE92881FB840006D108 /* mod_load.c */; }; + F3E29CEE2881FC900006D108 /* common.c in Sources */ = {isa = PBXBuildFile; fileRef = F3E29CEB2881FC900006D108 /* common.c */; }; + F3E29CEF2881FC900006D108 /* sample.c in Sources */ = {isa = PBXBuildFile; fileRef = F3E29CEC2881FC900006D108 /* sample.c */; }; + F3E29CF02881FC900006D108 /* itsex.c in Sources */ = {isa = PBXBuildFile; fileRef = F3E29CED2881FC900006D108 /* itsex.c */; }; + F3E29D6F288237030006D108 /* filetype.c in Sources */ = {isa = PBXBuildFile; fileRef = F3E29D6E288237030006D108 /* filetype.c */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 631064382A98AF290082F715 /* extras.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = extras.c; path = ../../external/libxmp/src/extras.c; sourceTree = SOURCE_ROOT; }; + 6310643A2A98AF6F0082F715 /* far_extras.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = far_extras.c; path = ../../external/libxmp/src/far_extras.c; sourceTree = SOURCE_ROOT; }; + 6310643B2A98AF6F0082F715 /* hmn_extras.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = hmn_extras.c; path = ../../external/libxmp/src/hmn_extras.c; sourceTree = SOURCE_ROOT; }; + 6310643C2A98AF6F0082F715 /* md5.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = md5.c; path = ../../external/libxmp/src/md5.c; sourceTree = SOURCE_ROOT; }; + 6310643D2A98AF6F0082F715 /* med_extras.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = med_extras.c; path = ../../external/libxmp/src/med_extras.c; sourceTree = SOURCE_ROOT; }; + 6310643E2A98AF6F0082F715 /* miniz_tinfl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = miniz_tinfl.c; path = ../../external/libxmp/src/miniz_tinfl.c; sourceTree = SOURCE_ROOT; }; + 6310643F2A98AF6F0082F715 /* mix_paula.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mix_paula.c; path = ../../external/libxmp/src/mix_paula.c; sourceTree = SOURCE_ROOT; }; + 631064462A98AFEE0082F715 /* gal4_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = gal4_load.c; path = ../../external/libxmp/src/loaders/gal4_load.c; sourceTree = SOURCE_ROOT; }; + 631064472A98AFEE0082F715 /* gal5_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = gal5_load.c; path = ../../external/libxmp/src/loaders/gal5_load.c; sourceTree = SOURCE_ROOT; }; + 631064482A98AFEE0082F715 /* gdm_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = gdm_load.c; path = ../../external/libxmp/src/loaders/gdm_load.c; sourceTree = SOURCE_ROOT; }; + 631064492A98AFEE0082F715 /* hmn_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = hmn_load.c; path = ../../external/libxmp/src/loaders/hmn_load.c; sourceTree = SOURCE_ROOT; }; + 6310644A2A98AFEE0082F715 /* ice_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ice_load.c; path = ../../external/libxmp/src/loaders/ice_load.c; sourceTree = SOURCE_ROOT; }; + 6310644B2A98AFEE0082F715 /* iff.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = iff.c; path = ../../external/libxmp/src/loaders/iff.c; sourceTree = SOURCE_ROOT; }; + 6310644C2A98AFEE0082F715 /* imf_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = imf_load.c; path = ../../external/libxmp/src/loaders/imf_load.c; sourceTree = SOURCE_ROOT; }; + 6310644D2A98AFEE0082F715 /* ims_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ims_load.c; path = ../../external/libxmp/src/loaders/ims_load.c; sourceTree = SOURCE_ROOT; }; + 6310644E2A98AFEE0082F715 /* liq_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = liq_load.c; path = ../../external/libxmp/src/loaders/liq_load.c; sourceTree = SOURCE_ROOT; }; + 6310644F2A98AFEE0082F715 /* lzw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lzw.c; path = ../../external/libxmp/src/loaders/lzw.c; sourceTree = SOURCE_ROOT; }; + 631064502A98AFEE0082F715 /* masi_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = masi_load.c; path = ../../external/libxmp/src/loaders/masi_load.c; sourceTree = SOURCE_ROOT; }; + 631064512A98AFEE0082F715 /* masi16_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = masi16_load.c; path = ../../external/libxmp/src/loaders/masi16_load.c; sourceTree = SOURCE_ROOT; }; + 631064522A98AFEE0082F715 /* mdl_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mdl_load.c; path = ../../external/libxmp/src/loaders/mdl_load.c; sourceTree = SOURCE_ROOT; }; + 631064532A98AFEE0082F715 /* med2_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = med2_load.c; path = ../../external/libxmp/src/loaders/med2_load.c; sourceTree = SOURCE_ROOT; }; + 631064542A98AFEE0082F715 /* med3_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = med3_load.c; path = ../../external/libxmp/src/loaders/med3_load.c; sourceTree = SOURCE_ROOT; }; + 631064552A98AFEE0082F715 /* med4_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = med4_load.c; path = ../../external/libxmp/src/loaders/med4_load.c; sourceTree = SOURCE_ROOT; }; + 631064562A98AFEE0082F715 /* mfp_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mfp_load.c; path = ../../external/libxmp/src/loaders/mfp_load.c; sourceTree = SOURCE_ROOT; }; + 631064572A98AFEE0082F715 /* mgt_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mgt_load.c; path = ../../external/libxmp/src/loaders/mgt_load.c; sourceTree = SOURCE_ROOT; }; + 631064582A98AFEE0082F715 /* mmd_common.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mmd_common.c; path = ../../external/libxmp/src/loaders/mmd_common.c; sourceTree = SOURCE_ROOT; }; + 631064592A98AFEE0082F715 /* mmd1_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mmd1_load.c; path = ../../external/libxmp/src/loaders/mmd1_load.c; sourceTree = SOURCE_ROOT; }; + 6310645A2A98AFEE0082F715 /* mmd3_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mmd3_load.c; path = ../../external/libxmp/src/loaders/mmd3_load.c; sourceTree = SOURCE_ROOT; }; + 6310645B2A98AFEE0082F715 /* mtm_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mtm_load.c; path = ../../external/libxmp/src/loaders/mtm_load.c; sourceTree = SOURCE_ROOT; }; + 6310645C2A98AFEE0082F715 /* muse_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = muse_load.c; path = ../../external/libxmp/src/loaders/muse_load.c; sourceTree = SOURCE_ROOT; }; + 6310645D2A98AFEE0082F715 /* no_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = no_load.c; path = ../../external/libxmp/src/loaders/no_load.c; sourceTree = SOURCE_ROOT; }; + 6310645E2A98AFEE0082F715 /* okt_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = okt_load.c; path = ../../external/libxmp/src/loaders/okt_load.c; sourceTree = SOURCE_ROOT; }; + 6310645F2A98AFEE0082F715 /* pt3_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pt3_load.c; path = ../../external/libxmp/src/loaders/pt3_load.c; sourceTree = SOURCE_ROOT; }; + 631064602A98AFEE0082F715 /* ptm_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ptm_load.c; path = ../../external/libxmp/src/loaders/ptm_load.c; sourceTree = SOURCE_ROOT; }; + 631064612A98AFEE0082F715 /* rtm_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = rtm_load.c; path = ../../external/libxmp/src/loaders/rtm_load.c; sourceTree = SOURCE_ROOT; }; + 6310647E2A98B06B0082F715 /* 669_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = 669_load.c; path = ../../external/libxmp/src/loaders/669_load.c; sourceTree = SOURCE_ROOT; }; + 6310647F2A98B06B0082F715 /* abk_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = abk_load.c; path = ../../external/libxmp/src/loaders/abk_load.c; sourceTree = SOURCE_ROOT; }; + 631064802A98B06B0082F715 /* amf_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = amf_load.c; path = ../../external/libxmp/src/loaders/amf_load.c; sourceTree = SOURCE_ROOT; }; + 631064812A98B06B0082F715 /* arch_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = arch_load.c; path = ../../external/libxmp/src/loaders/arch_load.c; sourceTree = SOURCE_ROOT; }; + 631064822A98B06B0082F715 /* asylum_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = asylum_load.c; path = ../../external/libxmp/src/loaders/asylum_load.c; sourceTree = SOURCE_ROOT; }; + 631064832A98B06B0082F715 /* chip_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = chip_load.c; path = ../../external/libxmp/src/loaders/chip_load.c; sourceTree = SOURCE_ROOT; }; + 631064842A98B06B0082F715 /* coco_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = coco_load.c; path = ../../external/libxmp/src/loaders/coco_load.c; sourceTree = SOURCE_ROOT; }; + 631064852A98B06B0082F715 /* dbm_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = dbm_load.c; path = ../../external/libxmp/src/loaders/dbm_load.c; sourceTree = SOURCE_ROOT; }; + 631064862A98B06B0082F715 /* digi_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = digi_load.c; path = ../../external/libxmp/src/loaders/digi_load.c; sourceTree = SOURCE_ROOT; }; + 631064872A98B06B0082F715 /* dt_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = dt_load.c; path = ../../external/libxmp/src/loaders/dt_load.c; sourceTree = SOURCE_ROOT; }; + 631064882A98B06B0082F715 /* emod_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = emod_load.c; path = ../../external/libxmp/src/loaders/emod_load.c; sourceTree = SOURCE_ROOT; }; + 631064892A98B06B0082F715 /* far_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = far_load.c; path = ../../external/libxmp/src/loaders/far_load.c; sourceTree = SOURCE_ROOT; }; + 6310648A2A98B06B0082F715 /* flt_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = flt_load.c; path = ../../external/libxmp/src/loaders/flt_load.c; sourceTree = SOURCE_ROOT; }; + 6310648B2A98B06B0082F715 /* fnk_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = fnk_load.c; path = ../../external/libxmp/src/loaders/fnk_load.c; sourceTree = SOURCE_ROOT; }; + 6310649A2A98B0A00082F715 /* pw_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pw_load.c; path = ../../external/libxmp/src/loaders/pw_load.c; sourceTree = SOURCE_ROOT; }; + 6310649B2A98B0A00082F715 /* sfx_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sfx_load.c; path = ../../external/libxmp/src/loaders/sfx_load.c; sourceTree = SOURCE_ROOT; }; + 6310649C2A98B0A00082F715 /* st_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = st_load.c; path = ../../external/libxmp/src/loaders/st_load.c; sourceTree = SOURCE_ROOT; }; + 6310649D2A98B0A00082F715 /* stim_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = stim_load.c; path = ../../external/libxmp/src/loaders/stim_load.c; sourceTree = SOURCE_ROOT; }; + 6310649E2A98B0A00082F715 /* stm_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = stm_load.c; path = ../../external/libxmp/src/loaders/stm_load.c; sourceTree = SOURCE_ROOT; }; + 6310649F2A98B0A00082F715 /* stx_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = stx_load.c; path = ../../external/libxmp/src/loaders/stx_load.c; sourceTree = SOURCE_ROOT; }; + 631064A02A98B0A00082F715 /* sym_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sym_load.c; path = ../../external/libxmp/src/loaders/sym_load.c; sourceTree = SOURCE_ROOT; }; + 631064A12A98B0A00082F715 /* ult_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ult_load.c; path = ../../external/libxmp/src/loaders/ult_load.c; sourceTree = SOURCE_ROOT; }; + 631064A22A98B0A00082F715 /* umx_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = umx_load.c; path = ../../external/libxmp/src/loaders/umx_load.c; sourceTree = SOURCE_ROOT; }; + 631064A32A98B0A00082F715 /* voltable.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = voltable.c; path = ../../external/libxmp/src/loaders/voltable.c; sourceTree = SOURCE_ROOT; }; + 631064A42A98B0A00082F715 /* vorbis.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = vorbis.c; path = ../../external/libxmp/src/loaders/vorbis.c; sourceTree = SOURCE_ROOT; }; + 631064A52A98B0A00082F715 /* xmf_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = xmf_load.c; path = ../../external/libxmp/src/loaders/xmf_load.c; sourceTree = SOURCE_ROOT; }; + F3023FB12881D74E002F32D6 /* xmp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = xmp.h; path = ../../external/libxmp/include/xmp.h; sourceTree = ""; }; + F3023FB42881DB7C002F32D6 /* effects.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = effects.c; path = ../../external/libxmp/src/effects.c; sourceTree = ""; }; + F3023FB62881DB7C002F32D6 /* smix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = smix.c; path = ../../external/libxmp/src/smix.c; sourceTree = ""; }; + F3023FB72881DB7C002F32D6 /* misc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = misc.c; path = ../../external/libxmp/src/misc.c; sourceTree = ""; }; + F3023FB92881DB7C002F32D6 /* scan.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = scan.c; path = ../../external/libxmp/src/scan.c; sourceTree = ""; }; + F3023FBA2881DB7C002F32D6 /* virtual.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = virtual.c; path = ../../external/libxmp/src/virtual.c; sourceTree = ""; }; + F3023FBB2881DB7C002F32D6 /* lfo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lfo.c; path = ../../external/libxmp/src/lfo.c; sourceTree = ""; }; + F3023FBC2881DB7C002F32D6 /* filter.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = filter.c; path = ../../external/libxmp/src/filter.c; sourceTree = ""; }; + F3023FBD2881DB7C002F32D6 /* control.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = control.c; path = ../../external/libxmp/src/control.c; sourceTree = ""; }; + F3023FBE2881DB7C002F32D6 /* period.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = period.c; path = ../../external/libxmp/src/period.c; sourceTree = ""; }; + F3023FC22881DB7C002F32D6 /* hio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = hio.c; path = ../../external/libxmp/src/hio.c; sourceTree = ""; }; + F3023FC42881DB7C002F32D6 /* read_event.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = read_event.c; path = ../../external/libxmp/src/read_event.c; sourceTree = ""; }; + F3023FC52881DB7C002F32D6 /* mix_all.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mix_all.c; path = ../../external/libxmp/src/mix_all.c; sourceTree = ""; }; + F3023FC62881DB7C002F32D6 /* memio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = memio.c; path = ../../external/libxmp/src/memio.c; sourceTree = ""; }; + F3023FC72881DB7C002F32D6 /* player.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = player.c; path = ../../external/libxmp/src/player.c; sourceTree = ""; }; + F3023FC82881DB7C002F32D6 /* dataio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = dataio.c; path = ../../external/libxmp/src/dataio.c; sourceTree = ""; }; + F3023FC92881DB7C002F32D6 /* mixer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mixer.c; path = ../../external/libxmp/src/mixer.c; sourceTree = ""; }; + F3023FCA2881DB7C002F32D6 /* load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = load.c; path = ../../external/libxmp/src/load.c; sourceTree = ""; }; + F3023FCC2881DB7C002F32D6 /* load_helpers.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = load_helpers.c; path = ../../external/libxmp/src/load_helpers.c; sourceTree = ""; }; + F33AA32D2881F70D00F836D8 /* it_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = it_load.c; path = ../../external/libxmp/src/loaders/it_load.c; sourceTree = ""; }; + F33AA32E2881F70D00F836D8 /* xm_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = xm_load.c; path = ../../external/libxmp/src/loaders/xm_load.c; sourceTree = ""; }; + F33AA3302881F70D00F836D8 /* s3m_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = s3m_load.c; path = ../../external/libxmp/src/loaders/s3m_load.c; sourceTree = ""; }; + F3968D85281FBB1900661875 /* xmp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = xmp.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F3E29CE52881FB370006D108 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = README; path = ../../external/libxmp/README; sourceTree = ""; }; + F3E29CE72881FB610006D108 /* format.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = format.c; path = ../../external/libxmp/src/format.c; sourceTree = ""; }; + F3E29CE92881FB840006D108 /* mod_load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mod_load.c; path = ../../external/libxmp/src/loaders/mod_load.c; sourceTree = ""; }; + F3E29CEB2881FC900006D108 /* common.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = common.c; path = ../../external/libxmp/src/loaders/common.c; sourceTree = ""; }; + F3E29CEC2881FC900006D108 /* sample.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sample.c; path = ../../external/libxmp/src/loaders/sample.c; sourceTree = ""; }; + F3E29CED2881FC900006D108 /* itsex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = itsex.c; path = ../../external/libxmp/src/loaders/itsex.c; sourceTree = ""; }; + F3E29D6E288237030006D108 /* filetype.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = filetype.c; path = ../../external/libxmp/src/filetype.c; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + F3968D82281FBB1900661875 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + F3023FE72881DBC6002F32D6 /* loaders */ = { + isa = PBXGroup; + children = ( + F3E29CEB2881FC900006D108 /* common.c */, + F33AA32D2881F70D00F836D8 /* it_load.c */, + F3E29CED2881FC900006D108 /* itsex.c */, + F3E29CE92881FB840006D108 /* mod_load.c */, + F33AA3302881F70D00F836D8 /* s3m_load.c */, + F3E29CEC2881FC900006D108 /* sample.c */, + F33AA32E2881F70D00F836D8 /* xm_load.c */, + 631064A32A98B0A00082F715 /* voltable.c */, + 6310647E2A98B06B0082F715 /* 669_load.c */, + 6310647F2A98B06B0082F715 /* abk_load.c */, + 631064802A98B06B0082F715 /* amf_load.c */, + 631064812A98B06B0082F715 /* arch_load.c */, + 631064822A98B06B0082F715 /* asylum_load.c */, + 631064832A98B06B0082F715 /* chip_load.c */, + 631064842A98B06B0082F715 /* coco_load.c */, + 631064852A98B06B0082F715 /* dbm_load.c */, + 631064862A98B06B0082F715 /* digi_load.c */, + 6310644F2A98AFEE0082F715 /* lzw.c */, + 631064872A98B06B0082F715 /* dt_load.c */, + 631064882A98B06B0082F715 /* emod_load.c */, + 631064892A98B06B0082F715 /* far_load.c */, + 6310648A2A98B06B0082F715 /* flt_load.c */, + 6310648B2A98B06B0082F715 /* fnk_load.c */, + 631064462A98AFEE0082F715 /* gal4_load.c */, + 631064472A98AFEE0082F715 /* gal5_load.c */, + 631064482A98AFEE0082F715 /* gdm_load.c */, + 631064492A98AFEE0082F715 /* hmn_load.c */, + 6310644A2A98AFEE0082F715 /* ice_load.c */, + 6310644B2A98AFEE0082F715 /* iff.c */, + 6310644C2A98AFEE0082F715 /* imf_load.c */, + 6310644D2A98AFEE0082F715 /* ims_load.c */, + 6310644E2A98AFEE0082F715 /* liq_load.c */, + 631064502A98AFEE0082F715 /* masi_load.c */, + 631064512A98AFEE0082F715 /* masi16_load.c */, + 631064522A98AFEE0082F715 /* mdl_load.c */, + 631064532A98AFEE0082F715 /* med2_load.c */, + 631064542A98AFEE0082F715 /* med3_load.c */, + 631064552A98AFEE0082F715 /* med4_load.c */, + 631064562A98AFEE0082F715 /* mfp_load.c */, + 631064572A98AFEE0082F715 /* mgt_load.c */, + 631064582A98AFEE0082F715 /* mmd_common.c */, + 631064592A98AFEE0082F715 /* mmd1_load.c */, + 6310645A2A98AFEE0082F715 /* mmd3_load.c */, + 6310645B2A98AFEE0082F715 /* mtm_load.c */, + 6310645C2A98AFEE0082F715 /* muse_load.c */, + 6310645D2A98AFEE0082F715 /* no_load.c */, + 6310645E2A98AFEE0082F715 /* okt_load.c */, + 6310645F2A98AFEE0082F715 /* pt3_load.c */, + 631064602A98AFEE0082F715 /* ptm_load.c */, + 631064612A98AFEE0082F715 /* rtm_load.c */, + 6310649A2A98B0A00082F715 /* pw_load.c */, + 6310649B2A98B0A00082F715 /* sfx_load.c */, + 6310649C2A98B0A00082F715 /* st_load.c */, + 6310649D2A98B0A00082F715 /* stim_load.c */, + 6310649E2A98B0A00082F715 /* stm_load.c */, + 6310649F2A98B0A00082F715 /* stx_load.c */, + 631064A02A98B0A00082F715 /* sym_load.c */, + 631064A12A98B0A00082F715 /* ult_load.c */, + 631064A22A98B0A00082F715 /* umx_load.c */, + 631064A52A98B0A00082F715 /* xmf_load.c */, + 631064A42A98B0A00082F715 /* vorbis.c */, + ); + name = loaders; + sourceTree = ""; + }; + F3968D7B281FBB1900661875 = { + isa = PBXGroup; + children = ( + F3968D86281FBB1900661875 /* Products */, + F3968D91281FBC7F00661875 /* Resources */, + F3968D90281FBC7400661875 /* Headers */, + F3968D8F281FBC6C00661875 /* Source */, + ); + sourceTree = ""; + }; + F3968D86281FBB1900661875 /* Products */ = { + isa = PBXGroup; + children = ( + F3968D85281FBB1900661875 /* xmp.framework */, + ); + name = Products; + sourceTree = ""; + }; + F3968D8F281FBC6C00661875 /* Source */ = { + isa = PBXGroup; + children = ( + F3023FE72881DBC6002F32D6 /* loaders */, + F3023FBD2881DB7C002F32D6 /* control.c */, + F3023FC82881DB7C002F32D6 /* dataio.c */, + F3023FB42881DB7C002F32D6 /* effects.c */, + F3E29D6E288237030006D108 /* filetype.c */, + F3023FBC2881DB7C002F32D6 /* filter.c */, + F3E29CE72881FB610006D108 /* format.c */, + F3023FC22881DB7C002F32D6 /* hio.c */, + F3023FBB2881DB7C002F32D6 /* lfo.c */, + F3023FCC2881DB7C002F32D6 /* load_helpers.c */, + F3023FCA2881DB7C002F32D6 /* load.c */, + F3023FC62881DB7C002F32D6 /* memio.c */, + F3023FB72881DB7C002F32D6 /* misc.c */, + F3023FC52881DB7C002F32D6 /* mix_all.c */, + F3023FC92881DB7C002F32D6 /* mixer.c */, + F3023FBE2881DB7C002F32D6 /* period.c */, + F3023FC72881DB7C002F32D6 /* player.c */, + F3023FC42881DB7C002F32D6 /* read_event.c */, + F3023FB92881DB7C002F32D6 /* scan.c */, + F3023FB62881DB7C002F32D6 /* smix.c */, + F3023FBA2881DB7C002F32D6 /* virtual.c */, + 631064382A98AF290082F715 /* extras.c */, + 6310643A2A98AF6F0082F715 /* far_extras.c */, + 6310643B2A98AF6F0082F715 /* hmn_extras.c */, + 6310643C2A98AF6F0082F715 /* md5.c */, + 6310643D2A98AF6F0082F715 /* med_extras.c */, + 6310643F2A98AF6F0082F715 /* mix_paula.c */, + 6310643E2A98AF6F0082F715 /* miniz_tinfl.c */, + ); + name = Source; + sourceTree = ""; + }; + F3968D90281FBC7400661875 /* Headers */ = { + isa = PBXGroup; + children = ( + F3023FB12881D74E002F32D6 /* xmp.h */, + ); + name = Headers; + sourceTree = ""; + }; + F3968D91281FBC7F00661875 /* Resources */ = { + isa = PBXGroup; + children = ( + F3E29CE52881FB370006D108 /* README */, + ); + name = Resources; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + F3968D80281FBB1900661875 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F3023FB22881D74E002F32D6 /* xmp.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + F3968D84281FBB1900661875 /* xmp */ = { + isa = PBXNativeTarget; + buildConfigurationList = F3968D8C281FBB1900661875 /* Build configuration list for PBXNativeTarget "xmp" */; + buildPhases = ( + F3968D80281FBB1900661875 /* Headers */, + F3968D81281FBB1900661875 /* Sources */, + F3968D82281FBB1900661875 /* Frameworks */, + F3968D83281FBB1900661875 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = xmp; + productName = libmodplug; + productReference = F3968D85281FBB1900661875 /* xmp.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + F3968D7C281FBB1900661875 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastUpgradeCheck = 1330; + TargetAttributes = { + F3968D84281FBB1900661875 = { + CreatedOnToolsVersion = 13.3.1; + }; + }; + }; + buildConfigurationList = F3968D7F281FBB1900661875 /* Build configuration list for PBXProject "xmp" */; + compatibilityVersion = "Xcode 13.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = F3968D7B281FBB1900661875; + productRefGroup = F3968D86281FBB1900661875 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + F3968D84281FBB1900661875 /* xmp */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + F3968D83281FBB1900661875 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F3E29CE62881FB380006D108 /* README in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + F3968D81281FBB1900661875 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F3023FE62881DB7C002F32D6 /* load_helpers.c in Sources */, + F3023FD42881DB7C002F32D6 /* virtual.c in Sources */, + F3E29CE82881FB610006D108 /* format.c in Sources */, + F33AA3342881F70D00F836D8 /* s3m_load.c in Sources */, + F3023FD12881DB7C002F32D6 /* misc.c in Sources */, + F3023FE02881DB7C002F32D6 /* memio.c in Sources */, + F3023FDF2881DB7C002F32D6 /* mix_all.c in Sources */, + F3023FD62881DB7C002F32D6 /* filter.c in Sources */, + F3E29D6F288237030006D108 /* filetype.c in Sources */, + F3023FE42881DB7C002F32D6 /* load.c in Sources */, + F3023FE12881DB7C002F32D6 /* player.c in Sources */, + F3023FD82881DB7C002F32D6 /* period.c in Sources */, + F3023FDE2881DB7C002F32D6 /* read_event.c in Sources */, + F3023FDC2881DB7C002F32D6 /* hio.c in Sources */, + F3023FD52881DB7C002F32D6 /* lfo.c in Sources */, + F3023FD02881DB7C002F32D6 /* smix.c in Sources */, + F3E29CF02881FC900006D108 /* itsex.c in Sources */, + F3023FD32881DB7C002F32D6 /* scan.c in Sources */, + F3023FE32881DB7C002F32D6 /* mixer.c in Sources */, + F3023FCE2881DB7C002F32D6 /* effects.c in Sources */, + F3E29CEE2881FC900006D108 /* common.c in Sources */, + F33AA3322881F70D00F836D8 /* xm_load.c in Sources */, + F3023FD72881DB7C002F32D6 /* control.c in Sources */, + F3E29CEF2881FC900006D108 /* sample.c in Sources */, + F3E29CEA2881FB840006D108 /* mod_load.c in Sources */, + F33AA3312881F70D00F836D8 /* it_load.c in Sources */, + F3023FE22881DB7C002F32D6 /* dataio.c in Sources */, + 631064392A98AF290082F715 /* extras.c in Sources */, + 631064402A98AF6F0082F715 /* far_extras.c in Sources */, + 631064412A98AF6F0082F715 /* hmn_extras.c in Sources */, + 631064422A98AF6F0082F715 /* md5.c in Sources */, + 631064432A98AF6F0082F715 /* med_extras.c in Sources */, + 631064442A98AF6F0082F715 /* miniz_tinfl.c in Sources */, + 631064452A98AF6F0082F715 /* mix_paula.c in Sources */, + 631064622A98AFEE0082F715 /* gal4_load.c in Sources */, + 631064632A98AFEE0082F715 /* gal5_load.c in Sources */, + 631064642A98AFEE0082F715 /* gdm_load.c in Sources */, + 631064652A98AFEE0082F715 /* hmn_load.c in Sources */, + 631064662A98AFEE0082F715 /* ice_load.c in Sources */, + 631064672A98AFEE0082F715 /* iff.c in Sources */, + 631064682A98AFEE0082F715 /* imf_load.c in Sources */, + 631064692A98AFEE0082F715 /* ims_load.c in Sources */, + 6310646A2A98AFEE0082F715 /* liq_load.c in Sources */, + 6310646B2A98AFEE0082F715 /* lzw.c in Sources */, + 6310646C2A98AFEE0082F715 /* masi_load.c in Sources */, + 6310646D2A98AFEE0082F715 /* masi16_load.c in Sources */, + 6310646E2A98AFEE0082F715 /* mdl_load.c in Sources */, + 6310646F2A98AFEE0082F715 /* med2_load.c in Sources */, + 631064702A98AFEE0082F715 /* med3_load.c in Sources */, + 631064712A98AFEE0082F715 /* med4_load.c in Sources */, + 631064722A98AFEE0082F715 /* mfp_load.c in Sources */, + 631064732A98AFEE0082F715 /* mgt_load.c in Sources */, + 631064742A98AFEE0082F715 /* mmd_common.c in Sources */, + 631064752A98AFEE0082F715 /* mmd1_load.c in Sources */, + 631064762A98AFEE0082F715 /* mmd3_load.c in Sources */, + 631064772A98AFEE0082F715 /* mtm_load.c in Sources */, + 631064782A98AFEE0082F715 /* muse_load.c in Sources */, + 631064792A98AFEE0082F715 /* no_load.c in Sources */, + 6310647A2A98AFEE0082F715 /* okt_load.c in Sources */, + 6310647B2A98AFEE0082F715 /* pt3_load.c in Sources */, + 6310647C2A98AFEE0082F715 /* ptm_load.c in Sources */, + 6310647D2A98AFEE0082F715 /* rtm_load.c in Sources */, + 6310648C2A98B06B0082F715 /* 669_load.c in Sources */, + 6310648D2A98B06B0082F715 /* abk_load.c in Sources */, + 6310648E2A98B06B0082F715 /* amf_load.c in Sources */, + 6310648F2A98B06B0082F715 /* arch_load.c in Sources */, + 631064902A98B06B0082F715 /* asylum_load.c in Sources */, + 631064912A98B06B0082F715 /* chip_load.c in Sources */, + 631064922A98B06B0082F715 /* coco_load.c in Sources */, + 631064932A98B06B0082F715 /* dbm_load.c in Sources */, + 631064942A98B06B0082F715 /* digi_load.c in Sources */, + 631064952A98B06B0082F715 /* dt_load.c in Sources */, + 631064962A98B06B0082F715 /* emod_load.c in Sources */, + 631064972A98B06B0082F715 /* far_load.c in Sources */, + 631064982A98B06B0082F715 /* flt_load.c in Sources */, + 631064992A98B06B0082F715 /* fnk_load.c in Sources */, + 631064A62A98B0A00082F715 /* pw_load.c in Sources */, + 631064A72A98B0A00082F715 /* sfx_load.c in Sources */, + 631064A82A98B0A00082F715 /* st_load.c in Sources */, + 631064A92A98B0A00082F715 /* stim_load.c in Sources */, + 631064AA2A98B0A00082F715 /* stm_load.c in Sources */, + 631064AB2A98B0A00082F715 /* stx_load.c in Sources */, + 631064AC2A98B0A00082F715 /* sym_load.c in Sources */, + 631064AD2A98B0A00082F715 /* ult_load.c in Sources */, + 631064AE2A98B0A00082F715 /* umx_load.c in Sources */, + 631064AF2A98B0A00082F715 /* voltable.c in Sources */, + 631064B02A98B0A00082F715 /* vorbis.c in Sources */, + 631064B12A98B0A00082F715 /* xmf_load.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + F3968D8A281FBB1900661875 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + HAVE_DIRENT, + HAVE_POWF, + LIBXMP_NO_DEPACKERS, + LIBXMP_NO_PROWIZARD, + XMP_SYM_VISIBILITY, + ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos driverkit appletvsimulator appletvos"; + SUPPORTS_MACCATALYST = YES; + TVOS_DEPLOYMENT_TARGET = 9.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + F3968D8B281FBB1900661875 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + HAVE_DIRENT, + HAVE_POWF, + LIBXMP_NO_DEPACKERS, + LIBXMP_NO_PROWIZARD, + XMP_SYM_VISIBILITY, + ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos driverkit appletvsimulator appletvos"; + SUPPORTS_MACCATALYST = YES; + TVOS_DEPLOYMENT_TARGET = 9.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + F3968D8D281FBB1900661875 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 4.5.0; + PRODUCT_BUNDLE_IDENTIFIER = org.libxmp.xmp; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + }; + name = Debug; + }; + F3968D8E281FBB1900661875 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 4.5.0; + PRODUCT_BUNDLE_IDENTIFIER = org.libxmp.xmp; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + F3968D7F281FBB1900661875 /* Build configuration list for PBXProject "xmp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F3968D8A281FBB1900661875 /* Debug */, + F3968D8B281FBB1900661875 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + F3968D8C281FBB1900661875 /* Build configuration list for PBXNativeTarget "xmp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F3968D8D281FBB1900661875 /* Debug */, + F3968D8E281FBB1900661875 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = F3968D7C281FBB1900661875 /* Project object */; +} diff --git a/build-scripts/config.guess b/build-scripts/config.guess index 1817bdce9..cdfc43920 100755 --- a/build-scripts/config.guess +++ b/build-scripts/config.guess @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2022 Free Software Foundation, Inc. +# Copyright 1992-2023 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2022-05-25' +timestamp='2023-08-22' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -47,7 +47,7 @@ me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] -Output the configuration name of the system \`$me' is run on. +Output the configuration name of the system '$me' is run on. Options: -h, --help print this help, then exit @@ -60,13 +60,13 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2022 Free Software Foundation, Inc. +Copyright 1992-2023 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" -Try \`$me --help' for more information." +Try '$me --help' for more information." # Parse command line while test $# -gt 0 ; do @@ -102,8 +102,8 @@ GUESS= # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. +# Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still +# use 'HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. @@ -155,6 +155,9 @@ Linux|GNU|GNU/*) set_cc_for_build cat <<-EOF > "$dummy.c" + #if defined(__ANDROID__) + LIBC=android + #else #include #if defined(__UCLIBC__) LIBC=uclibc @@ -169,6 +172,7 @@ Linux|GNU|GNU/*) LIBC=musl #endif #endif + #endif EOF cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` eval "$cc_set_libc" @@ -459,7 +463,7 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in UNAME_RELEASE=`uname -v` ;; esac - # Japanese Language versions have a version number like `4.1.3-JL'. + # Japanese Language versions have a version number like '4.1.3-JL'. SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` GUESS=sparc-sun-sunos$SUN_REL ;; @@ -904,7 +908,7 @@ EOF fi ;; *:FreeBSD:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` + UNAME_PROCESSOR=`uname -p` case $UNAME_PROCESSOR in amd64) UNAME_PROCESSOR=x86_64 ;; @@ -966,11 +970,37 @@ EOF GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC ;; + x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*) + GUESS="$UNAME_MACHINE-pc-managarm-mlibc" + ;; + *:[Mm]anagarm:*:*) + GUESS="$UNAME_MACHINE-unknown-managarm-mlibc" + ;; *:Minix:*:*) GUESS=$UNAME_MACHINE-unknown-minix ;; aarch64:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + set_cc_for_build + CPU=$UNAME_MACHINE + LIBCABI=$LIBC + if test "$CC_FOR_BUILD" != no_compiler_found; then + ABI=64 + sed 's/^ //' << EOF > "$dummy.c" + #ifdef __ARM_EABI__ + #ifdef __ARM_PCS_VFP + ABI=eabihf + #else + ABI=eabi + #endif + #endif +EOF + cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` + eval "$cc_set_abi" + case $ABI in + eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;; + esac + fi + GUESS=$CPU-unknown-linux-$LIBCABI ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be @@ -1036,7 +1066,16 @@ EOF k1om:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; - loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) + kvx:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + kvx:cos:*:*) + GUESS=$UNAME_MACHINE-unknown-cos + ;; + kvx:mbr:*:*) + GUESS=$UNAME_MACHINE-unknown-mbr + ;; + loongarch32:Linux:*:* | loongarch64:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; m32r*:Linux:*:*) @@ -1191,7 +1230,7 @@ EOF GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION ;; i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility + # If we were able to find 'uname', then EMX Unix compatibility # is probably installed. GUESS=$UNAME_MACHINE-pc-os2-emx ;; @@ -1332,7 +1371,7 @@ EOF GUESS=ns32k-sni-sysv fi ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + PENTIUM:*:4.0*:*) # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort # says GUESS=i586-unisys-sysv4 ;; diff --git a/build-scripts/config.sub b/build-scripts/config.sub index 312ad817c..defe52c0c 100755 --- a/build-scripts/config.sub +++ b/build-scripts/config.sub @@ -1,10 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2022 Free Software Foundation, Inc. +# Copyright 1992-2023 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2022-01-03' +timestamp='2023-09-19' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -76,13 +76,13 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright 1992-2022 Free Software Foundation, Inc. +Copyright 1992-2023 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" -Try \`$me --help' for more information." +Try '$me --help' for more information." # Parse command line while test $# -gt 0 ; do @@ -130,7 +130,7 @@ IFS=$saved_IFS # Separate into logical components for further validation case $1 in *-*-*-*-*) - echo Invalid configuration \`"$1"\': more than four components >&2 + echo "Invalid configuration '$1': more than four components" >&2 exit 1 ;; *-*-*-*) @@ -145,7 +145,8 @@ case $1 in nto-qnx* | linux-* | uclinux-uclibc* \ | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ - | storm-chaos* | os2-emx* | rtmk-nova*) + | storm-chaos* | os2-emx* | rtmk-nova* | managarm-* \ + | windows-* ) basic_machine=$field1 basic_os=$maybe_os ;; @@ -943,7 +944,7 @@ $basic_machine EOF IFS=$saved_IFS ;; - # We use `pc' rather than `unknown' + # We use 'pc' rather than 'unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) @@ -1180,7 +1181,7 @@ case $cpu-$vendor in case $cpu in 1750a | 580 \ | a29k \ - | aarch64 | aarch64_be \ + | aarch64 | aarch64_be | aarch64c | arm64ec \ | abacus \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ @@ -1199,45 +1200,23 @@ case $cpu-$vendor in | d10v | d30v | dlx | dsp16xx \ | e2k | elxsi | epiphany \ | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \ + | javascript \ | h8300 | h8500 \ | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ | i370 | i*86 | i860 | i960 | ia16 | ia64 \ | ip2k | iq2000 \ | k1om \ + | kvx \ | le32 | le64 \ | lm32 \ - | loongarch32 | loongarch64 | loongarchx32 \ + | loongarch32 | loongarch64 \ | m32c | m32r | m32rle \ | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \ | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ | m88110 | m88k | maxq | mb | mcore | mep | metag \ | microblaze | microblazeel \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64eb | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r3 | mipsisa32r3el \ - | mipsisa32r5 | mipsisa32r5el \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r3 | mipsisa64r3el \ - | mipsisa64r5 | mipsisa64r5el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ + | mips* \ | mmix \ | mn10200 | mn10300 \ | moxie \ @@ -1285,7 +1264,7 @@ case $cpu-$vendor in ;; *) - echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2 + echo "Invalid configuration '$1': machine '$cpu-$vendor' not recognized" 1>&2 exit 1 ;; esac @@ -1306,11 +1285,12 @@ esac # Decode manufacturer-specific aliases for certain operating systems. -if test x$basic_os != x +if test x"$basic_os" != x then # First recognize some ad-hoc cases, or perhaps split kernel-os, or else just # set os. +obj= case $basic_os in gnu/linux*) kernel=linux @@ -1341,6 +1321,10 @@ EOF kernel=linux os=`echo "$basic_os" | sed -e 's|linux|gnu|'` ;; + managarm*) + kernel=managarm + os=`echo "$basic_os" | sed -e 's|managarm|mlibc|'` + ;; *) kernel= os=$basic_os @@ -1506,10 +1490,16 @@ case $os in os=eabi ;; *) - os=elf + os= + obj=elf ;; esac ;; + aout* | coff* | elf* | pe*) + # These are machine code file formats, not OSes + obj=$os + os= + ;; *) # No normalization, but not necessarily accepted, that comes below. ;; @@ -1528,12 +1518,15 @@ else # system, and we'll never get to this point. kernel= +obj= case $cpu-$vendor in score-*) - os=elf + os= + obj=elf ;; spu-*) - os=elf + os= + obj=elf ;; *-acorn) os=riscix1.2 @@ -1543,28 +1536,35 @@ case $cpu-$vendor in os=gnu ;; arm*-semi) - os=aout + os= + obj=aout ;; c4x-* | tic4x-*) - os=coff + os= + obj=coff ;; c8051-*) - os=elf + os= + obj=elf ;; clipper-intergraph) os=clix ;; hexagon-*) - os=elf + os= + obj=elf ;; tic54x-*) - os=coff + os= + obj=coff ;; tic55x-*) - os=coff + os= + obj=coff ;; tic6x-*) - os=coff + os= + obj=coff ;; # This must come before the *-dec entry. pdp10-*) @@ -1586,19 +1586,24 @@ case $cpu-$vendor in os=sunos3 ;; m68*-cisco) - os=aout + os= + obj=aout ;; mep-*) - os=elf + os= + obj=elf ;; mips*-cisco) - os=elf + os= + obj=elf ;; mips*-*) - os=elf + os= + obj=elf ;; or32-*) - os=coff + os= + obj=coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=sysv3 @@ -1607,7 +1612,8 @@ case $cpu-$vendor in os=sunos4.1.1 ;; pru-*) - os=elf + os= + obj=elf ;; *-be) os=beos @@ -1688,10 +1694,12 @@ case $cpu-$vendor in os=uxpv ;; *-rom68k) - os=coff + os= + obj=coff ;; *-*bug) - os=coff + os= + obj=coff ;; *-apple) os=macos @@ -1709,7 +1717,8 @@ esac fi -# Now, validate our (potentially fixed-up) OS. +# Now, validate our (potentially fixed-up) individual pieces (OS, OBJ). + case $os in # Sometimes we do "kernel-libc", so those need to count as OSes. musl* | newlib* | relibc* | uclibc*) @@ -1720,6 +1729,9 @@ case $os in # VxWorks passes extra cpu info in the 4th filed. simlinux | simwindows | spe) ;; + # See `case $cpu-$os` validation below + ghcjs) + ;; # Now accept the basic system types. # The portable systems comes first. # Each alternative MUST end in a * to match a version number. @@ -1728,7 +1740,7 @@ case $os in | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \ | hiux* | abug | nacl* | netware* | windows* \ - | os9* | macos* | osx* | ios* \ + | os9* | macos* | osx* | ios* | tvos* | watchos* \ | mpw* | magic* | mmixware* | mon960* | lnews* \ | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ | aos* | aros* | cloudabi* | sortix* | twizzler* \ @@ -1737,11 +1749,11 @@ case $os in | mirbsd* | netbsd* | dicos* | openedition* | ose* \ | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \ | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \ - | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ - | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ + | bosx* | nextstep* | cxux* | oabi* \ + | ptx* | ecoff* | winnt* | domain* | vsta* \ | udi* | lites* | ieee* | go32* | aux* | hcos* \ | chorusrdb* | cegcc* | glidix* | serenity* \ - | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ + | cygwin* | msys* | moss* | proelf* | rtems* \ | midipix* | mingw32* | mingw64* | mint* \ | uxpv* | beos* | mpeix* | udk* | moxiebox* \ | interix* | uwin* | mks* | rhapsody* | darwin* \ @@ -1754,7 +1766,7 @@ case $os in | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ - | fiwix* ) + | fiwix* | mlibc* | cos* | mbr* ) ;; # This one is extra strict with allowed versions sco3.2v2 | sco3.2v[4-9]* | sco5v6*) @@ -1762,41 +1774,99 @@ case $os in ;; none) ;; + kernel* | msvc* ) + # Restricted further below + ;; + '') + if test x"$obj" = x + then + echo "Invalid configuration '$1': Blank OS only allowed with explicit machine code file format" 1>&2 + fi + ;; + *) + echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2 + exit 1 + ;; +esac + +case $obj in + aout* | coff* | elf* | pe*) + ;; + '') + # empty is fine + ;; *) - echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2 + echo "Invalid configuration '$1': Machine code format '$obj' not recognized" 1>&2 + exit 1 + ;; +esac + +# Here we handle the constraint that a (synthetic) cpu and os are +# valid only in combination with each other and nowhere else. +case $cpu-$os in + # The "javascript-unknown-ghcjs" triple is used by GHC; we + # accept it here in order to tolerate that, but reject any + # variations. + javascript-ghcjs) + ;; + javascript-* | *-ghcjs) + echo "Invalid configuration '$1': cpu '$cpu' is not valid with os '$os$obj'" 1>&2 exit 1 ;; esac # As a final step for OS-related things, validate the OS-kernel combination # (given a valid OS), if there is a kernel. -case $kernel-$os in - linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ - | linux-musl* | linux-relibc* | linux-uclibc* ) +case $kernel-$os-$obj in + linux-gnu*- | linux-dietlibc*- | linux-android*- | linux-newlib*- \ + | linux-musl*- | linux-relibc*- | linux-uclibc*- | linux-mlibc*- ) + ;; + uclinux-uclibc*- ) ;; - uclinux-uclibc* ) + managarm-mlibc*- | managarm-kernel*- ) ;; - -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) + windows*-msvc*-) + ;; + -dietlibc*- | -newlib*- | -musl*- | -relibc*- | -uclibc*- | -mlibc*- ) # These are just libc implementations, not actual OSes, and thus # require a kernel. - echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 + echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2 exit 1 ;; - kfreebsd*-gnu* | kopensolaris*-gnu*) + -kernel*- ) + echo "Invalid configuration '$1': '$os' needs explicit kernel." 1>&2 + exit 1 ;; - vxworks-simlinux | vxworks-simwindows | vxworks-spe) + *-kernel*- ) + echo "Invalid configuration '$1': '$kernel' does not support '$os'." 1>&2 + exit 1 ;; - nto-qnx*) + *-msvc*- ) + echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2 + exit 1 ;; - os2-emx) + kfreebsd*-gnu*- | kopensolaris*-gnu*-) ;; - *-eabi* | *-gnueabi*) + vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-) ;; - -*) + nto-qnx*-) + ;; + os2-emx-) + ;; + *-eabi*- | *-gnueabi*-) + ;; + none--*) + # None (no kernel, i.e. freestanding / bare metal), + # can be paired with an machine code file format + ;; + -*-) # Blank kernel with real OS is always fine. ;; - *-*) - echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 + --*) + # Blank kernel and OS with real machine code file format is always fine. + ;; + *-*-*) + echo "Invalid configuration '$1': Kernel '$kernel' not known to work with OS '$os'." 1>&2 exit 1 ;; esac @@ -1879,7 +1949,7 @@ case $vendor in ;; esac -echo "$cpu-$vendor-${kernel:+$kernel-}$os" +echo "$cpu-$vendor${kernel:+-$kernel}${os:+-$os}${obj:+-$obj}" exit # Local variables: diff --git a/cmake/PrivateSdlFunctions.cmake b/cmake/PrivateSdlFunctions.cmake index 91a87e9ea..b30f380ae 100644 --- a/cmake/PrivateSdlFunctions.cmake +++ b/cmake/PrivateSdlFunctions.cmake @@ -1,7 +1,7 @@ -# This file is shared amongst SDL_image/SDL_mixer/SDL_net/SDL_ttf +# This file is shared amongst SDL_image/SDL_mixer/SDL_ttf macro(sdl_calculate_derived_version_variables) - if (NOT DEFINED MAJOR_VERSION OR NOT DEFINED MINOR_VERSION OR NOT DEFINED MICRO_VERSION) + if(NOT DEFINED MAJOR_VERSION OR NOT DEFINED MINOR_VERSION OR NOT DEFINED MICRO_VERSION) message(FATAL_ERROR "MAJOR_VERSION, MINOR_VERSION and MICRO_VERSION need to be defined") endif() @@ -10,7 +10,7 @@ macro(sdl_calculate_derived_version_variables) # Calculate a libtool-like version number math(EXPR BINARY_AGE "${MINOR_VERSION} * 100 + ${MICRO_VERSION}") math(EXPR IS_DEVELOPMENT "${MINOR_VERSION} % 2") - if (IS_DEVELOPMENT) + if(IS_DEVELOPMENT) # Development branch, 2.5.1 -> libSDL2_XXXXX-2.0.so.0.501.0 set(INTERFACE_AGE 0) else() @@ -58,9 +58,9 @@ macro(sdl_find_sdl2 TARGET VERSION) # Use Private FindSDL2.cmake module to find SDL2 for installations where no SDL2Config.cmake is available, # or for those installations where no target is generated. - if (NOT TARGET ${TARGET}) + if(NOT TARGET ${TARGET}) message(STATUS "Using private SDL2 find module") - find_package(PrivateSDL2 ${VERSION} REQUIRED MODULE) + find_package(PrivateSDL2 ${VERSION} REQUIRED) add_library(${TARGET} INTERFACE IMPORTED) set_target_properties(${TARGET} PROPERTIES INTERFACE_LINK_LIBRARIES "PrivateSDL2::PrivateSDL2" @@ -70,23 +70,24 @@ endmacro() function(read_absolute_symlink DEST PATH) file(READ_SYMLINK "${PATH}" p) - if (NOT IS_ABSOLUTE p) + if(NOT IS_ABSOLUTE "${p}") get_filename_component(pdir "${PATH}" DIRECTORY) set(p "${pdir}/${p}") endif() + get_filename_component(p "${p}" ABSOLUTE) set("${DEST}" "${p}" PARENT_SCOPE) endfunction() function(win32_implib_identify_dll DEST IMPLIB) cmake_parse_arguments(ARGS "NOTFATAL" "" "" ${ARGN}) - if (CMAKE_DLLTOOL) + if(CMAKE_DLLTOOL) execute_process( COMMAND "${CMAKE_DLLTOOL}" --identify "${IMPLIB}" RESULT_VARIABLE retcode OUTPUT_VARIABLE stdout ERROR_VARIABLE stderr) - if (NOT retcode EQUAL 0) - if (NOT ARGS_NOTFATAL) + if(NOT retcode EQUAL 0) + if(NOT ARGS_NOTFATAL) message(FATAL_ERROR "${CMAKE_DLLTOOL} failed.") else() set("${DEST}" "${DEST}-NOTFOUND" PARENT_SCOPE) @@ -95,17 +96,17 @@ function(win32_implib_identify_dll DEST IMPLIB) endif() string(STRIP "${stdout}" result) set(${DEST} "${result}" PARENT_SCOPE) - elseif (MSVC) + elseif(MSVC) get_filename_component(CMAKE_C_COMPILER_DIRECTORY "${CMAKE_C_COMPILER}" DIRECTORY CACHE) find_program(CMAKE_DUMPBIN NAMES dumpbin PATHS "${CMAKE_C_COMPILER_DIRECTORY}") - if (CMAKE_DUMPBIN) + if(CMAKE_DUMPBIN) execute_process( COMMAND "${CMAKE_DUMPBIN}" "-headers" "${IMPLIB}" RESULT_VARIABLE retcode OUTPUT_VARIABLE stdout ERROR_VARIABLE stderr) - if (NOT retcode EQUAL 0) - if (NOT ARGS_NOTFATAL) + if(NOT retcode EQUAL 0) + if(NOT ARGS_NOTFATAL) message(FATAL_ERROR "dumpbin failed.") else() set(${DEST} "${DEST}-NOTFOUND" PARENT_SCOPE) @@ -113,8 +114,8 @@ function(win32_implib_identify_dll DEST IMPLIB) endif() endif() string(REGEX MATCH "DLL name[ ]+:[ ]+([^\n]+)\n" match "${stdout}") - if (NOT match) - if (NOT ARGS_NOTFATAL) + if(NOT match) + if(NOT ARGS_NOTFATAL) message(FATAL_ERROR "dumpbin did not find any associated dll for ${IMPLIB}.") else() set(${DEST} "${DEST}-NOTFOUND" PARENT_SCOPE) @@ -127,7 +128,7 @@ function(win32_implib_identify_dll DEST IMPLIB) message(FATAL_ERROR "Cannot find dumpbin, please set CMAKE_DUMPBIN cmake variable") endif() else() - if (NOT ARGS_NOTFATAL) + if(NOT ARGS_NOTFATAL) message(FATAL_ERROR "Don't know how to identify dll from import library. Set CMAKE_DLLTOOL (for mingw) or CMAKE_DUMPBIN (for MSVC)") else() set(${DEST} "${DEST}-NOTFOUND") @@ -149,14 +150,14 @@ endfunction() function(target_get_dynamic_library DEST TARGET) set(result) get_actual_target(TARGET) - if (WIN32) + if(WIN32) # Use the target dll of the import library set(props_to_check IMPORTED_IMPLIB) - if (CMAKE_BUILD_TYPE) + if(CMAKE_BUILD_TYPE) list(APPEND props_to_check IMPORTED_IMPLIB_${CMAKE_BUILD_TYPE}) endif() list(APPEND props_to_check IMPORTED_LOCATION) - if (CMAKE_BUILD_TYPE) + if(CMAKE_BUILD_TYPE) list(APPEND props_to_check IMPORTED_LOCATION_${CMAKE_BUILD_TYPE}) endif() foreach (config_type ${CMAKE_CONFIGURATION_TYPES} RELEASE DEBUG RELWITHDEBINFO MINSIZEREL) @@ -165,9 +166,9 @@ function(target_get_dynamic_library DEST TARGET) endforeach() foreach(prop_to_check ${props_to_check}) - if (NOT result) + if(NOT result) get_target_property(propvalue "${TARGET}" ${prop_to_check}) - if (propvalue AND EXISTS "${propvalue}") + if(propvalue AND EXISTS "${propvalue}") win32_implib_identify_dll(result "${propvalue}" NOTFATAL) endif() endif() @@ -175,18 +176,24 @@ function(target_get_dynamic_library DEST TARGET) else() # 1. find the target library a file might be symbolic linking to # 2. find all other files in the same folder that symolic link to it - # 3. sort all these files, and select the 2nd item + # 3. sort all these files, and select the 1st item on Linux, and last on Macos set(location_properties IMPORTED_LOCATION) - if (CMAKE_BUILD_TYPE) + if(CMAKE_BUILD_TYPE) list(APPEND location_properties IMPORTED_LOCATION_${CMAKE_BUILD_TYPE}) endif() foreach (config_type ${CMAKE_CONFIGURATION_TYPES} RELEASE DEBUG RELWITHDEBINFO MINSIZEREL) list(APPEND location_properties IMPORTED_LOCATION_${config_type}) endforeach() + if(APPLE) + set(valid_shared_library_regex "\\.[0-9]+\\.dylib$") + else() + set(valid_shared_library_regex "\\.so\\.([0-9.]+)?[0-9]") + endif() foreach(location_property ${location_properties}) - if (NOT result) + if(NOT result) get_target_property(library_path "${TARGET}" ${location_property}) - if (EXISTS "${library_path}") + if(EXISTS "${library_path}") + get_filename_component(library_path "${library_path}" ABSOLUTE) while (IS_SYMLINK "${library_path}") read_absolute_symlink(library_path "${library_path}") endwhile() @@ -194,19 +201,24 @@ function(target_get_dynamic_library DEST TARGET) file(GLOB subfiles "${libdir}/*") set(similar_files "${library_path}") foreach(subfile ${subfiles}) - if (IS_SYMLINK "${subfile}") + if(IS_SYMLINK "${subfile}") read_absolute_symlink(subfile_target "${subfile}") while (IS_SYMLINK "${subfile_target}") read_absolute_symlink(subfile_target "${subfile_target}") endwhile() - if (subfile_target STREQUAL library_path AND NOT "${subfile}" MATCHES ".*(dylib|so)$") + get_filename_component(subfile_target "${subfile_target}" ABSOLUTE) + if(subfile_target STREQUAL library_path AND subfile MATCHES "${valid_shared_library_regex}") list(APPEND similar_files "${subfile}") endif() endif() endforeach() list(SORT similar_files) - list(LENGTH similar_files eq_length) - list(GET similar_files 0 item) + set(index 0) + if(APPLE) + list(LENGTH similar_files len) + math(EXPR index "${len}-1") + endif() + list(GET similar_files ${index} item) get_filename_component(result "${item}" NAME) endif() endif() @@ -236,7 +248,12 @@ function(target_get_dynamic_library DEST TARGET) else() message(WARNING "Unable to extract dynamic library from target=${TARGET}, type=${target_type}.") endif() - set (result "$") + # TARGET_SONAME_FILE is not allowed for DLL target platforms. + if(WIN32) + set(result "$") + else() + set(result "$") + endif() endif() set(${DEST} ${result} PARENT_SCOPE) endfunction() @@ -253,7 +270,7 @@ macro(sdl_check_linker_flag flag var) include(CMakePushCheckState) include(CheckCSourceCompiles) cmake_push_check_state(RESET) - set(CMAKE_REQUIRED_LINK_OPTIONS "-Wl,--no-undefined") + set(CMAKE_REQUIRED_LINK_OPTIONS "${flag}") check_c_source_compiles("int main() { return 0; }" ${var}) cmake_pop_check_state() endmacro() diff --git a/external/libgme b/external/libgme index d5ae85559..3dba465b5 160000 --- a/external/libgme +++ b/external/libgme @@ -1 +1 @@ -Subproject commit d5ae855592c01ee2e253073c0afc2d89361e50bf +Subproject commit 3dba465b5d84be5caebb0b65445b7252ade7c51b diff --git a/external/libxmp b/external/libxmp index 85ee78575..7110b3bc5 160000 --- a/external/libxmp +++ b/external/libxmp @@ -1 +1 @@ -Subproject commit 85ee78575223009ecc51cd6961687b9e98d2a1e0 +Subproject commit 7110b3bc5fd645551c3778f13bf45e4b90445aba diff --git a/external/mpg123 b/external/mpg123 index 214717818..fcb6775ca 160000 --- a/external/mpg123 +++ b/external/mpg123 @@ -1 +1 @@ -Subproject commit 21471781893f9a615b1d6ffeab435955a51214c6 +Subproject commit fcb6775ca019a80289d1b60b968b33784c8b8f16 diff --git a/external/ogg b/external/ogg index 9f21b822d..6f0988a9e 160000 --- a/external/ogg +++ b/external/ogg @@ -1 +1 @@ -Subproject commit 9f21b822d1345316d3a92f7925f7f7078a2fef34 +Subproject commit 6f0988a9e4917dedd04c926c72f7da80a2e9f288 diff --git a/external/opus b/external/opus index 940c94b1a..d639dbbaa 160000 --- a/external/opus +++ b/external/opus @@ -1 +1 @@ -Subproject commit 940c94b1ab2d9a953cb76f6cede7a279b48b656d +Subproject commit d639dbbaa388ebdc792326f78fce780e250b4a70 diff --git a/external/vorbis b/external/vorbis index 06d6b6ee8..09cd4e775 160000 --- a/external/vorbis +++ b/external/vorbis @@ -1 +1 @@ -Subproject commit 06d6b6ee8aeb956a9b08dc82e53c074067e9913c +Subproject commit 09cd4e7757155d92d4bec81107137f772aff5162 diff --git a/external/wavpack b/external/wavpack index b91f7b2cd..7578f99b4 160000 --- a/external/wavpack +++ b/external/wavpack @@ -1 +1 @@ -Subproject commit b91f7b2cd25c4d9cf2cdd37ff2164556257e1285 +Subproject commit 7578f99b405a74bfc3f4cdd904e22139520b7f12 diff --git a/include/SDL_mixer.h b/include/SDL_mixer.h index 5a0405059..4b3dcd869 100644 --- a/include/SDL_mixer.h +++ b/include/SDL_mixer.h @@ -220,11 +220,7 @@ extern DECLSPEC void SDLCALL Mix_Quit(void); /* Good default values for a PC soundcard */ #define MIX_DEFAULT_FREQUENCY 44100 -#if SDL_BYTEORDER == SDL_LIL_ENDIAN -#define MIX_DEFAULT_FORMAT AUDIO_S16LSB -#else -#define MIX_DEFAULT_FORMAT AUDIO_S16MSB -#endif +#define MIX_DEFAULT_FORMAT AUDIO_S16SYS #define MIX_DEFAULT_CHANNELS 2 #define MIX_MAX_VOLUME SDL_MIX_MAXVOLUME /* Volume of a chunk */ @@ -929,7 +925,7 @@ extern DECLSPEC SDL_bool SDLCALL Mix_HasChunkDecoder(const char *name); * These return values are static, read-only data; do not modify or free it. * The pointers remain valid until you call Mix_CloseAudio(). * - * \returns number of chunk decoders available. + * \returns number of music decoders available. * * \since This function is available since SDL_mixer 2.0.0. * @@ -2027,8 +2023,7 @@ extern DECLSPEC int SDLCALL Mix_Volume(int channel, int volume); * * The default volume for a chunk is MIX_MAX_VOLUME (no attenuation). * - * \param channel the channel on set/query the volume on, or -1 for all - * channels. + * \param chunk the chunk whose volume to adjust. * \param volume the new volume, between 0 and MIX_MAX_VOLUME, or -1 to query. * \returns the previous volume. If the specified volume is -1, this returns * the current volume. If `chunk` is NULL, this returns -1. @@ -2799,6 +2794,7 @@ extern DECLSPEC void SDLCALL Mix_CloseAudio(void); #ifdef __cplusplus } #endif + #include "close_code.h" #endif /* SDL_MIXER_H_ */ diff --git a/sdl2_mixer-config.cmake.in b/sdl2_mixer-config.cmake.in index a2eaf7e58..5dae59e3c 100644 --- a/sdl2_mixer-config.cmake.in +++ b/sdl2_mixer-config.cmake.in @@ -70,6 +70,7 @@ set(SDL2MIXER_WAVPACK @SDL2MIXER_WAVPACK@) set(SDL2MIXER_SDL2_REQUIRED_VERSION @SDL_VERSION@) +get_filename_component(CMAKE_CURRENT_LIST_DIR ${CMAKE_CURRENT_LIST_DIR} REALPATH) get_filename_component(prefix "${CMAKE_CURRENT_LIST_DIR}/@cmake_prefix_relpath@" ABSOLUTE) set(exec_prefix "@exec_prefix@") set(bindir "@bindir@") diff --git a/src/codecs/dr_libs/dr_flac.h b/src/codecs/dr_libs/dr_flac.h index 0c43eed7f..1ede99ff6 100644 --- a/src/codecs/dr_libs/dr_flac.h +++ b/src/codecs/dr_libs/dr_flac.h @@ -1,6 +1,6 @@ /* FLAC audio decoder. Choice of public domain or MIT-0. See license statements at the end of this file. -dr_flac - v0.12.39 - 2022-09-17 +dr_flac - v0.12.41 - 2023-06-17 David Reid - mackron@gmail.com @@ -235,12 +235,12 @@ extern "C" { #define DRFLAC_VERSION_MAJOR 0 #define DRFLAC_VERSION_MINOR 12 -#define DRFLAC_VERSION_REVISION 39 +#define DRFLAC_VERSION_REVISION 41 #define DRFLAC_VERSION_STRING DRFLAC_XSTRINGIFY(DRFLAC_VERSION_MAJOR) "." DRFLAC_XSTRINGIFY(DRFLAC_VERSION_MINOR) "." DRFLAC_XSTRINGIFY(DRFLAC_VERSION_REVISION) #include /* For size_t. */ -/* Sized types. */ +/* Sized Types */ typedef signed char drflac_int8; typedef unsigned char drflac_uint8; typedef signed short drflac_int16; @@ -273,7 +273,9 @@ typedef drflac_uint8 drflac_bool8; typedef drflac_uint32 drflac_bool32; #define DRFLAC_TRUE 1 #define DRFLAC_FALSE 0 +/* End Sized Types */ +/* Decorations */ #if !defined(DRFLAC_API) #if defined(DRFLAC_DLL) #if defined(_WIN32) @@ -303,6 +305,7 @@ typedef drflac_uint32 drflac_bool32; #define DRFLAC_PRIVATE static #endif #endif +/* End Decorations */ #if defined(_MSC_VER) && _MSC_VER >= 1700 /* Visual Studio 2012 */ #define DRFLAC_DEPRECATED __declspec(deprecated) @@ -321,6 +324,16 @@ typedef drflac_uint32 drflac_bool32; DRFLAC_API void drflac_version(drflac_uint32* pMajor, drflac_uint32* pMinor, drflac_uint32* pRevision); DRFLAC_API const char* drflac_version_string(void); +/* Allocation Callbacks */ +typedef struct +{ + void* pUserData; + void* (* onMalloc)(size_t sz, void* pUserData); + void* (* onRealloc)(void* p, size_t sz, void* pUserData); + void (* onFree)(void* p, void* pUserData); +} drflac_allocation_callbacks; +/* End Allocation Callbacks */ + /* As data is read from the client it is placed into an internal buffer for fast access. This controls the size of that buffer. Larger values means more speed, but also more memory. In my testing there is diminishing returns after about 4KB, but you can fiddle with this to suit your own needs. Must be a multiple of 8. @@ -329,11 +342,22 @@ but also more memory. In my testing there is diminishing returns after about 4KB #define DR_FLAC_BUFFER_SIZE 4096 #endif -/* Check if we can enable 64-bit optimizations. */ + +/* Architecture Detection */ #if defined(_WIN64) || defined(_LP64) || defined(__LP64__) #define DRFLAC_64BIT #endif +#if defined(__x86_64__) || defined(_M_X64) + #define DRFLAC_X64 +#elif defined(__i386) || defined(_M_IX86) + #define DRFLAC_X86 +#elif defined(__arm__) || defined(_M_ARM) || defined(__arm64) || defined(__arm64__) || defined(__aarch64__) || defined(_M_ARM64) + #define DRFLAC_ARM +#endif +/* End Architecture Detection */ + + #ifdef DRFLAC_64BIT typedef drflac_uint64 drflac_cache_t; #else @@ -562,14 +586,6 @@ will be set to one of the DRFLAC_METADATA_BLOCK_TYPE_* tokens. typedef void (* drflac_meta_proc)(void* pUserData, drflac_metadata* pMetadata); -typedef struct -{ - void* pUserData; - void* (* onMalloc)(size_t sz, void* pUserData); - void* (* onRealloc)(void* p, size_t sz, void* pUserData); - void (* onFree)(void* p, void* pUserData); -} drflac_allocation_callbacks; - /* Structure for internal use. Only used for decoders opened with drflac_open_memory. */ typedef struct { @@ -1351,6 +1367,7 @@ DRFLAC_API drflac_bool32 drflac_next_cuesheet_track(drflac_cuesheet_track_iterat #include #include +/* Inline */ #ifdef _MSC_VER #define DRFLAC_INLINE __forceinline #elif defined(__GNUC__) @@ -1377,15 +1394,7 @@ DRFLAC_API drflac_bool32 drflac_next_cuesheet_track(drflac_cuesheet_track_iterat #else #define DRFLAC_INLINE #endif - -/* CPU architecture. */ -#if defined(__x86_64__) || defined(_M_X64) - #define DRFLAC_X64 -#elif defined(__i386) || defined(_M_IX86) - #define DRFLAC_X86 -#elif defined(__arm__) || defined(_M_ARM) || defined(__arm64) || defined(__arm64__) || defined(__aarch64__) || defined(_M_ARM64) - #define DRFLAC_ARM -#endif +/* End Inline */ /* Intrinsics Support @@ -1623,6 +1632,7 @@ static DRFLAC_INLINE drflac_bool32 drflac_has_sse41(void) #define DRFLAC_MAX_SIMD_VECTOR_SIZE 64 /* 64 for AVX-512 in the future. */ +/* Result Codes */ typedef drflac_int32 drflac_result; #define DRFLAC_SUCCESS 0 #define DRFLAC_ERROR -1 /* A generic error. */ @@ -1678,7 +1688,10 @@ typedef drflac_int32 drflac_result; #define DRFLAC_CANCELLED -51 #define DRFLAC_MEMORY_ALREADY_MAPPED -52 #define DRFLAC_AT_END -53 -#define DRFLAC_CRC_MISMATCH -128 + +#define DRFLAC_CRC_MISMATCH -100 +/* End Result Codes */ + #define DRFLAC_SUBFRAME_CONSTANT 0 #define DRFLAC_SUBFRAME_VERBATIM 1 @@ -8141,6 +8154,7 @@ static drflac* drflac_open_with_metadata_private(drflac_read_proc onRead, drflac #include /* For wcslen(), wcsrtombs() */ #endif +/* Errno */ /* drflac_result_from_errno() is only used for fopen() and wfopen() so putting it inside DR_WAV_NO_STDIO for now. If something else needs this later we can move it out. */ #include static drflac_result drflac_result_from_errno(int e) @@ -8544,7 +8558,9 @@ static drflac_result drflac_result_from_errno(int e) default: return DRFLAC_ERROR; } } +/* End Errno */ +/* fopen */ static drflac_result drflac_fopen(FILE** ppFile, const char* pFilePath, const char* pOpenMode) { #if defined(_MSC_VER) && _MSC_VER >= 1400 @@ -8702,6 +8718,7 @@ static drflac_result drflac_wfopen(FILE** ppFile, const wchar_t* pFilePath, cons return DRFLAC_SUCCESS; } #endif +/* End fopen */ static size_t drflac__on_read_stdio(void* pUserData, void* bufferOut, size_t bytesToRead) { @@ -11666,6 +11683,7 @@ DRFLAC_API drflac_bool32 drflac_seek_to_pcm_frame(drflac* pFlac, drflac_uint64 p /* High Level APIs */ +/* SIZE_MAX */ #if defined(SIZE_MAX) #define DRFLAC_SIZE_MAX SIZE_MAX #else @@ -11675,6 +11693,7 @@ DRFLAC_API drflac_bool32 drflac_seek_to_pcm_frame(drflac* pFlac, drflac_uint64 p #define DRFLAC_SIZE_MAX 0xFFFFFFFF #endif #endif +/* End SIZE_MAX */ /* Using a macro as the definition of the drflac__full_decode_and_close_*() API family. Sue me. */ @@ -12058,6 +12077,12 @@ DRFLAC_API drflac_bool32 drflac_next_cuesheet_track(drflac_cuesheet_track_iterat /* REVISION HISTORY ================ +v0.12.41 - 2023-06-17 + - Fix an incorrect date in revision history. No functional change. + +v0.12.40 - 2023-05-22 + - Minor code restructure. No functional change. + v0.12.39 - 2022-09-17 - Fix compilation with DJGPP. - Fix compilation error with Visual Studio 2019 and the ARM build. @@ -12488,7 +12513,7 @@ For more information, please refer to =============================================================================== ALTERNATIVE 2 - MIT No Attribution =============================================================================== -Copyright 2020 David Reid +Copyright 2023 David Reid Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in diff --git a/src/codecs/dr_libs/dr_mp3.h b/src/codecs/dr_libs/dr_mp3.h index 59876c877..2e8218964 100644 --- a/src/codecs/dr_libs/dr_mp3.h +++ b/src/codecs/dr_libs/dr_mp3.h @@ -1,6 +1,6 @@ /* MP3 audio decoder. Choice of public domain or MIT-0. See license statements at the end of this file. -dr_mp3 - v0.6.34 - 2022-09-17 +dr_mp3 - v0.6.36 - 2023-06-17 David Reid - mackron@gmail.com @@ -95,12 +95,12 @@ extern "C" { #define DRMP3_VERSION_MAJOR 0 #define DRMP3_VERSION_MINOR 6 -#define DRMP3_VERSION_REVISION 34 +#define DRMP3_VERSION_REVISION 36 #define DRMP3_VERSION_STRING DRMP3_XSTRINGIFY(DRMP3_VERSION_MAJOR) "." DRMP3_XSTRINGIFY(DRMP3_VERSION_MINOR) "." DRMP3_XSTRINGIFY(DRMP3_VERSION_REVISION) #include /* For size_t. */ -/* Sized types. */ +/* Sized Types */ typedef signed char drmp3_int8; typedef unsigned char drmp3_uint8; typedef signed short drmp3_int16; @@ -133,7 +133,9 @@ typedef drmp3_uint8 drmp3_bool8; typedef drmp3_uint32 drmp3_bool32; #define DRMP3_TRUE 1 #define DRMP3_FALSE 0 +/* End Sized Types */ +/* Decorations */ #if !defined(DRMP3_API) #if defined(DRMP3_DLL) #if defined(_WIN32) @@ -163,7 +165,9 @@ typedef drmp3_uint32 drmp3_bool32; #define DRMP3_PRIVATE static #endif #endif +/* End Decorations */ +/* Result Codes */ typedef drmp3_int32 drmp3_result; #define DRMP3_SUCCESS 0 #define DRMP3_ERROR -1 /* A generic error. */ @@ -219,11 +223,12 @@ typedef drmp3_int32 drmp3_result; #define DRMP3_CANCELLED -51 #define DRMP3_MEMORY_ALREADY_MAPPED -52 #define DRMP3_AT_END -53 - +/* End Result Codes */ #define DRMP3_MAX_PCM_FRAMES_PER_MP3_FRAME 1152 #define DRMP3_MAX_SAMPLES_PER_FRAME (DRMP3_MAX_PCM_FRAMES_PER_MP3_FRAME*2) +/* Inline */ #ifdef _MSC_VER #define DRMP3_INLINE __forceinline #elif defined(__GNUC__) @@ -250,12 +255,24 @@ typedef drmp3_int32 drmp3_result; #else #define DRMP3_INLINE #endif +/* End Inline */ DRMP3_API void drmp3_version(drmp3_uint32* pMajor, drmp3_uint32* pMinor, drmp3_uint32* pRevision); DRMP3_API const char* drmp3_version_string(void); +/* Allocation Callbacks */ +typedef struct +{ + void* pUserData; + void* (* onMalloc)(size_t sz, void* pUserData); + void* (* onRealloc)(void* p, size_t sz, void* pUserData); + void (* onFree)(void* p, void* pUserData); +} drmp3_allocation_callbacks; +/* End Allocation Callbacks */ + + /* Low Level Push API ================== @@ -329,14 +346,6 @@ will be either drmp3_seek_origin_start or drmp3_seek_origin_current. */ typedef drmp3_bool32 (* drmp3_seek_proc)(void* pUserData, int offset, drmp3_seek_origin origin); -typedef struct -{ - void* pUserData; - void* (* onMalloc)(size_t sz, void* pUserData); - void* (* onRealloc)(void* p, size_t sz, void* pUserData); - void (* onFree)(void* p, void* pUserData); -} drmp3_allocation_callbacks; - typedef struct { drmp3_uint32 channels; @@ -2415,6 +2424,7 @@ DRMP3_API void drmp3dec_f32_to_s16(const float *in, drmp3_int16 *out, size_t num Main Public API ************************************************************************************************************************************************************/ +/* SIZE_MAX */ #if defined(SIZE_MAX) #define DRMP3_SIZE_MAX SIZE_MAX #else @@ -2424,6 +2434,7 @@ DRMP3_API void drmp3dec_f32_to_s16(const float *in, drmp3_int16 *out, size_t num #define DRMP3_SIZE_MAX 0xFFFFFFFF #endif #endif +/* End SIZE_MAX */ /* Options. */ #ifndef DRMP3_SEEK_LEADING_MP3_FRAMES @@ -2931,6 +2942,7 @@ DRMP3_API drmp3_bool32 drmp3_init_memory(drmp3* pMP3, const void* pData, size_t #include #include /* For wcslen(), wcsrtombs() */ +/* Errno */ /* drmp3_result_from_errno() is only used inside DR_MP3_NO_STDIO for now. Move this out if it's ever used elsewhere. */ #include static drmp3_result drmp3_result_from_errno(int e) @@ -3334,7 +3346,9 @@ static drmp3_result drmp3_result_from_errno(int e) default: return DRMP3_ERROR; } } +/* End Errno */ +/* fopen */ static drmp3_result drmp3_fopen(FILE** ppFile, const char* pFilePath, const char* pOpenMode) { #if defined(_MSC_VER) && _MSC_VER >= 1400 @@ -3490,7 +3504,7 @@ static drmp3_result drmp3_wfopen(FILE** ppFile, const wchar_t* pFilePath, const return DRMP3_SUCCESS; } - +/* End fopen */ static size_t drmp3__on_read_stdio(void* pUserData, void* pBufferOut, size_t bytesToRead) @@ -4476,6 +4490,12 @@ counts rather than sample counts. /* REVISION HISTORY ================ +v0.6.36 - 2023-06-17 + - Fix an incorrect date in revision history. No functional change. + +v0.6.35 - 2023-05-22 + - Minor code restructure. No functional change. + v0.6.34 - 2022-09-17 - Fix compilation with DJGPP. - Fix compilation when compiling with x86 with no SSE2. @@ -4777,7 +4797,7 @@ For more information, please refer to =============================================================================== ALTERNATIVE 2 - MIT No Attribution =============================================================================== -Copyright 2020 David Reid +Copyright 2023 David Reid Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in diff --git a/src/codecs/mp3utils.c b/src/codecs/mp3utils.c index 382e4ac4f..20e7ac9a6 100644 --- a/src/codecs/mp3utils.c +++ b/src/codecs/mp3utils.c @@ -1155,6 +1155,7 @@ int read_id3v2_from_mem(Mix_MusicMetaTags *out_tags, Uint8 *data, size_t length) fil.src = src; fil.start = 0; fil.length = (Sint64)length; + fil.pos = 0; if (!is_id3v2(data, length)) { SDL_RWclose(src); diff --git a/src/codecs/music_gme.c b/src/codecs/music_gme.c index 5232f4c5f..e5637a0ac 100644 --- a/src/codecs/music_gme.c +++ b/src/codecs/music_gme.c @@ -38,11 +38,7 @@ typedef struct { void (*gme_set_tempo)(Music_Emu*, double tempo); int (*gme_voice_count)(Music_Emu const*); void (*gme_mute_voice)(Music_Emu*, int index, int mute); -#if GME_VERSION >= 0x000700 - void (*gme_set_fade)(Music_Emu*, int start_msec, int fade_msec); -#else void (*gme_set_fade)(Music_Emu*, int start_msec); -#endif void (*gme_set_autoload_playback_limit)(Music_Emu*, int do_autoload_limit); gme_err_t (*gme_track_info)(Music_Emu const*, gme_info_t** out, int track); void (*gme_free_info)(gme_info_t*); @@ -80,11 +76,7 @@ static int GME_Load(void) FUNCTION_LOADER(gme_set_tempo, void (*)(Music_Emu*,double)) FUNCTION_LOADER(gme_voice_count, int (*)(Music_Emu const*)) FUNCTION_LOADER(gme_mute_voice, void (*)(Music_Emu*,int,int)) -#if GME_VERSION >= 0x000700 - FUNCTION_LOADER(gme_set_fade, void (*)(Music_Emu*,int,int)) -#else FUNCTION_LOADER(gme_set_fade, void (*)(Music_Emu*,int)) -#endif FUNCTION_LOADER(gme_track_info, gme_err_t (*)(Music_Emu const*, gme_info_t**, int)) FUNCTION_LOADER(gme_free_info, void (*)(gme_info_t*)) FUNCTION_LOADER(gme_seek, gme_err_t (*)(Music_Emu*,int)) @@ -288,11 +280,10 @@ static int GME_Play(void *music_p, int play_count) SDL_AudioStreamClear(music->stream); music->play_count = play_count; fade_start = play_count > 0 ? music->intro_length + (music->loop_length * play_count) : -1; -#if GME_VERSION >= 0x000700 - gme.gme_set_fade(music->game_emu, fade_start, 8000); -#else + /* libgme >= 0.6.4 has gme_set_fade_msecs(), + * but gme_set_fade() sets msecs to 8000 by + * default and we are OK with that. */ gme.gme_set_fade(music->game_emu, fade_start); -#endif gme.gme_seek(music->game_emu, 0); } return 0; diff --git a/src/codecs/music_wav.c b/src/codecs/music_wav.c index 654e821b5..35c499661 100644 --- a/src/codecs/music_wav.c +++ b/src/codecs/music_wav.c @@ -344,7 +344,7 @@ static int fetch_float64be(void *context, int length) if (length % music->samplesize != 0) { length -= length % music->samplesize; } - for (i = 0, o = 0; i <= length; i += 8, o += 4) { + for (i = 0, o = 0; i < length; i += 8, o += 4) { union { float f; @@ -367,7 +367,7 @@ static int fetch_float64le(void *context, int length) if (length % music->samplesize != 0) { length -= length % music->samplesize; } - for (i = 0, o = 0; i <= length; i += 8, o += 4) { + for (i = 0, o = 0; i < length; i += 8, o += 4) { union { float f; @@ -959,6 +959,12 @@ static SDL_bool LoadWAVMusic(WAV_Music *wave) return SDL_FALSE; break; } + + /* RIFF chunks have a 2-byte alignment. Skip padding byte. */ + if (chunk_length & 1) { + if (SDL_RWseek(src, 1, RW_SEEK_CUR) < 0) + return SDL_FALSE; + } } if (!found_FMT) { diff --git a/src/codecs/music_xmp.c b/src/codecs/music_xmp.c index 7f52d2868..ec5f92a42 100644 --- a/src/codecs/music_xmp.c +++ b/src/codecs/music_xmp.c @@ -73,7 +73,7 @@ static xmp_loader libxmp; #else #define FUNCTION_LOADER(FUNC, SIG) \ libxmp.FUNC = FUNC; \ - if (libxmp.FUNC == NULL) { Mix_SetError("Missing xmp_lite.framework"); return -1; } + if (libxmp.FUNC == NULL) { Mix_SetError("Missing xmp.framework"); return -1; } #endif static int XMP_Load(void) diff --git a/src/mixer.c b/src/mixer.c index 65856f321..b72ca8775 100644 --- a/src/mixer.c +++ b/src/mixer.c @@ -423,6 +423,8 @@ mix_channels(void *udata, Uint8 *stream, int len) /* rcg06072001 Alert app if channel is done playing. */ if (!mix_channel[i].playing && !mix_channel[i].looping) { + mix_channel[i].fading = MIX_NO_FADING; + mix_channel[i].expire = 0; _Mix_channel_done_playing(i); /* Update the volume after the application callback */