Compare commits
4 commits
1a0ea3b5d3
...
fabaa3f561
Author | SHA1 | Date | |
---|---|---|---|
|
fabaa3f561 | ||
|
7fe95980d7 | ||
|
bc8538cdd4 | ||
|
dd55d4a9e1 |
404 changed files with 21589 additions and 11589 deletions
|
@ -6,8 +6,8 @@
|
|||
"kind" : "remoteSourceControl",
|
||||
"location" : "https://github.com/getsentry/sentry-cocoa.git",
|
||||
"state" : {
|
||||
"revision" : "6c81e671154e63464dd6749b7ba3279dd390a146",
|
||||
"version" : "8.50.1"
|
||||
"revision" : "930b78a63f47549c81e6e63c9172584f7d3dfdd6",
|
||||
"version" : "8.52.1"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -7,40 +7,40 @@ include $(CLEAR_VARS)
|
|||
LOCAL_MODULE := openmpt
|
||||
|
||||
ifeq ($(NDK_MAJOR),)
|
||||
LOCAL_CFLAGS += -std=c17
|
||||
LOCAL_CFLAGS += -std=c18
|
||||
LOCAL_CPPFLAGS += -std=c++17
|
||||
else
|
||||
ifeq ($(NDK_MAJOR),21)
|
||||
# clang 9
|
||||
LOCAL_CFLAGS += -std=c17
|
||||
LOCAL_CFLAGS += -std=c18
|
||||
LOCAL_CPPFLAGS += -std=c++17
|
||||
else ifeq ($(NDK_MAJOR),22)
|
||||
# clang 11
|
||||
LOCAL_CFLAGS += -std=c17
|
||||
LOCAL_CFLAGS += -std=c18
|
||||
LOCAL_CPPFLAGS += -std=c++20
|
||||
else ifeq ($(NDK_MAJOR),23)
|
||||
# clang 12
|
||||
LOCAL_CFLAGS += -std=c17
|
||||
LOCAL_CFLAGS += -std=c18
|
||||
LOCAL_CPPFLAGS += -std=c++20
|
||||
else ifeq ($(NDK_MAJOR),24)
|
||||
# clang 14
|
||||
LOCAL_CFLAGS += -std=c17
|
||||
LOCAL_CFLAGS += -std=c18
|
||||
LOCAL_CPPFLAGS += -std=c++20
|
||||
else ifeq ($(NDK_MAJOR),25)
|
||||
# clang 14
|
||||
LOCAL_CFLAGS += -std=c17
|
||||
LOCAL_CFLAGS += -std=c18
|
||||
LOCAL_CPPFLAGS += -std=c++20
|
||||
else ifeq ($(NDK_MAJOR),26)
|
||||
# clang 17
|
||||
LOCAL_CFLAGS += -std=c17
|
||||
LOCAL_CFLAGS += -std=c18
|
||||
LOCAL_CPPFLAGS += -std=c++20
|
||||
else ifeq ($(NDK_MAJOR),27)
|
||||
# clang 18
|
||||
LOCAL_CFLAGS += -std=c17
|
||||
LOCAL_CPPFLAGS += -std=c++20
|
||||
LOCAL_CFLAGS += -std=c23
|
||||
LOCAL_CPPFLAGS += -std=c++23
|
||||
else
|
||||
LOCAL_CFLAGS += -std=c17
|
||||
LOCAL_CPPFLAGS += -std=c++20
|
||||
LOCAL_CFLAGS += -std=c23
|
||||
LOCAL_CPPFLAGS += -std=c++23
|
||||
endif
|
||||
endif
|
||||
|
||||
|
@ -124,8 +124,6 @@ endif
|
|||
LOCAL_SRC_FILES += \
|
||||
common/ComponentManager.cpp \
|
||||
common/Logging.cpp \
|
||||
common/mptFileIO.cpp \
|
||||
common/mptFileTemporary.cpp \
|
||||
common/mptFileType.cpp \
|
||||
common/mptPathString.cpp \
|
||||
common/mptRandom.cpp \
|
||||
|
@ -146,6 +144,7 @@ LOCAL_SRC_FILES += \
|
|||
soundlib/Dlsbank.cpp \
|
||||
soundlib/Fastmix.cpp \
|
||||
soundlib/InstrumentExtensions.cpp \
|
||||
soundlib/InstrumentSynth.cpp \
|
||||
soundlib/ITCompression.cpp \
|
||||
soundlib/ITTools.cpp \
|
||||
soundlib/Load_667.cpp \
|
||||
|
@ -153,20 +152,28 @@ LOCAL_SRC_FILES += \
|
|||
soundlib/Load_amf.cpp \
|
||||
soundlib/Load_ams.cpp \
|
||||
soundlib/Load_c67.cpp \
|
||||
soundlib/Load_cba.cpp \
|
||||
soundlib/Load_dbm.cpp \
|
||||
soundlib/Load_digi.cpp \
|
||||
soundlib/Load_dmf.cpp \
|
||||
soundlib/Load_dsm.cpp \
|
||||
soundlib/Load_dsym.cpp \
|
||||
soundlib/Load_dtm.cpp \
|
||||
soundlib/Load_etx.cpp \
|
||||
soundlib/Load_far.cpp \
|
||||
soundlib/Load_fc.cpp \
|
||||
soundlib/Load_fmt.cpp \
|
||||
soundlib/Load_ftm.cpp \
|
||||
soundlib/Load_gdm.cpp \
|
||||
soundlib/Load_gmc.cpp \
|
||||
soundlib/Load_gt2.cpp \
|
||||
soundlib/Load_ice.cpp \
|
||||
soundlib/Load_imf.cpp \
|
||||
soundlib/Load_ims.cpp \
|
||||
soundlib/Load_it.cpp \
|
||||
soundlib/Load_itp.cpp \
|
||||
soundlib/load_j2b.cpp \
|
||||
soundlib/Load_kris.cpp \
|
||||
soundlib/Load_mdl.cpp \
|
||||
soundlib/Load_med.cpp \
|
||||
soundlib/Load_mid.cpp \
|
||||
|
@ -178,19 +185,26 @@ LOCAL_SRC_FILES += \
|
|||
soundlib/Load_okt.cpp \
|
||||
soundlib/Load_plm.cpp \
|
||||
soundlib/Load_psm.cpp \
|
||||
soundlib/Load_pt36.cpp \
|
||||
soundlib/Load_ptm.cpp \
|
||||
soundlib/Load_puma.cpp \
|
||||
soundlib/Load_rtm.cpp \
|
||||
soundlib/Load_s3m.cpp \
|
||||
soundlib/Load_sfx.cpp \
|
||||
soundlib/Load_stk.cpp \
|
||||
soundlib/Load_stm.cpp \
|
||||
soundlib/Load_stp.cpp \
|
||||
soundlib/Load_symmod.cpp \
|
||||
soundlib/Load_ult.cpp \
|
||||
soundlib/Load_tcb.cpp \
|
||||
soundlib/Load_uax.cpp \
|
||||
soundlib/Load_ult.cpp \
|
||||
soundlib/Load_unic.cpp \
|
||||
soundlib/Load_wav.cpp \
|
||||
soundlib/Load_xm.cpp \
|
||||
soundlib/Load_xmf.cpp \
|
||||
soundlib/Message.cpp \
|
||||
soundlib/MIDIEvents.cpp \
|
||||
soundlib/MIDIMacroParser.cpp \
|
||||
soundlib/MIDIMacros.cpp \
|
||||
soundlib/MixerLoops.cpp \
|
||||
soundlib/MixerSettings.cpp \
|
||||
|
@ -202,12 +216,15 @@ LOCAL_SRC_FILES += \
|
|||
soundlib/ModSequence.cpp \
|
||||
soundlib/modsmp_ctrl.cpp \
|
||||
soundlib/mod_specifications.cpp \
|
||||
soundlib/MODTools.cpp \
|
||||
soundlib/MPEGFrame.cpp \
|
||||
soundlib/OggStream.cpp \
|
||||
soundlib/OPL.cpp \
|
||||
soundlib/Paula.cpp \
|
||||
soundlib/patternContainer.cpp \
|
||||
soundlib/pattern.cpp \
|
||||
soundlib/PlaybackTest.cpp \
|
||||
soundlib/PlayState.cpp \
|
||||
soundlib/RowVisitor.cpp \
|
||||
soundlib/S3MTools.cpp \
|
||||
soundlib/SampleFormats.cpp \
|
||||
|
|
|
@ -1,39 +1,39 @@
|
|||
|
||||
ifeq ($(NDK_MAJOR),)
|
||||
APP_CFLAGS := -std=c17
|
||||
APP_CFLAGS := -std=c18
|
||||
APP_CPPFLAGS := -std=c++17 -fexceptions -frtti
|
||||
else
|
||||
ifeq ($(NDK_MAJOR),21)
|
||||
# clang 9
|
||||
APP_CFLAGS := -std=c17
|
||||
APP_CFLAGS := -std=c18
|
||||
APP_CPPFLAGS := -std=c++17 -fexceptions -frtti
|
||||
else ifeq ($(NDK_MAJOR),22)
|
||||
# clang 11
|
||||
APP_CFLAGS := -std=c17
|
||||
APP_CFLAGS := -std=c18
|
||||
APP_CPPFLAGS := -std=c++20 -fexceptions -frtti
|
||||
else ifeq ($(NDK_MAJOR),23)
|
||||
# clang 12
|
||||
APP_CFLAGS := -std=c17
|
||||
APP_CFLAGS := -std=c18
|
||||
APP_CPPFLAGS := -std=c++20 -fexceptions -frtti
|
||||
else ifeq ($(NDK_MAJOR),24)
|
||||
# clang 14
|
||||
APP_CFLAGS := -std=c17
|
||||
APP_CFLAGS := -std=c18
|
||||
APP_CPPFLAGS := -std=c++20 -fexceptions -frtti
|
||||
else ifeq ($(NDK_MAJOR),25)
|
||||
# clang 14
|
||||
APP_CFLAGS := -std=c17
|
||||
APP_CFLAGS := -std=c18
|
||||
APP_CPPFLAGS := -std=c++20 -fexceptions -frtti
|
||||
else ifeq ($(NDK_MAJOR),26)
|
||||
# clang 17
|
||||
APP_CFLAGS := -std=c17
|
||||
APP_CFLAGS := -std=c18
|
||||
APP_CPPFLAGS := -std=c++20 -fexceptions -frtti
|
||||
else ifeq ($(NDK_MAJOR),27)
|
||||
# clang 18
|
||||
APP_CFLAGS := -std=c17
|
||||
APP_CPPFLAGS := -std=c++20 -fexceptions -frtti
|
||||
APP_CFLAGS := -std=c23
|
||||
APP_CPPFLAGS := -std=c++23 -fexceptions -frtti
|
||||
else
|
||||
APP_CFLAGS := -std=c17
|
||||
APP_CPPFLAGS := -std=c++20 -fexceptions -frtti
|
||||
APP_CFLAGS := -std=c23
|
||||
APP_CPPFLAGS := -std=c++23 -fexceptions -frtti
|
||||
endif
|
||||
endif
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
|
||||
MPT_SVNVERSION=22826
|
||||
MPT_SVNURL=https://source.openmpt.org/svn/openmpt/tags/libopenmpt-0.7.13
|
||||
MPT_SVNDATE=2025-01-06T13:49:43.586768Z
|
||||
MPT_SVNVERSION=23245
|
||||
MPT_SVNURL=https://source.openmpt.org/svn/openmpt/tags/libopenmpt-0.8.0
|
||||
MPT_SVNDATE=2025-05-31T13:56:14.548439Z
|
||||
|
|
2
Frameworks/OpenMPT/OpenMPT/build/djgpp/bin/dxe3gen
Normal file
2
Frameworks/OpenMPT/OpenMPT/build/djgpp/bin/dxe3gen
Normal file
|
@ -0,0 +1,2 @@
|
|||
#!/usr/bin/env bash
|
||||
exec i386-pc-msdosdjgpp-dxe3gen "$@"
|
3
Frameworks/OpenMPT/OpenMPT/build/djgpp/bin/dxe3gen.sh
Normal file
3
Frameworks/OpenMPT/OpenMPT/build/djgpp/bin/dxe3gen.sh
Normal file
|
@ -0,0 +1,3 @@
|
|||
#!/usr/bin/env bash
|
||||
echo "$@"
|
||||
exec i386-pc-msdosdjgpp-dxe3gen "$@"
|
2
Frameworks/OpenMPT/OpenMPT/build/djgpp/bin/dxe3res
Normal file
2
Frameworks/OpenMPT/OpenMPT/build/djgpp/bin/dxe3res
Normal file
|
@ -0,0 +1,2 @@
|
|||
#!/usr/bin/env bash
|
||||
exec i386-pc-msdosdjgpp-dxe3res "$@"
|
2
Frameworks/OpenMPT/OpenMPT/build/djgpp/bin/dxe3res.sh
Normal file
2
Frameworks/OpenMPT/OpenMPT/build/djgpp/bin/dxe3res.sh
Normal file
|
@ -0,0 +1,2 @@
|
|||
#!/usr/bin/env bash
|
||||
exec i386-pc-msdosdjgpp-dxe3res "$@"
|
|
@ -12,7 +12,9 @@ function download () {
|
|||
MPT_GET_FILE_NAME="$1"
|
||||
MPT_GET_FILE_SIZE="$2"
|
||||
MPT_GET_FILE_CHECKSUM="$3"
|
||||
MPT_GET_URLS="$4"
|
||||
shift
|
||||
shift
|
||||
shift
|
||||
echo "Checking '$MPT_GET_FILE_NAME' ..."
|
||||
if [ -f "$MPT_GET_FILE_NAME" ]; then
|
||||
FILE_SIZE=$(find "$MPT_GET_FILE_NAME" -printf '%s')
|
||||
|
@ -28,10 +30,15 @@ function download () {
|
|||
rm -f "$MPT_GET_FILE_NAME"
|
||||
fi
|
||||
fi
|
||||
for URL in $MPT_GET_URLS; do
|
||||
while (( "$#" )); do
|
||||
URL="$(echo ""$1"" | sed 's/ /%20/g')"
|
||||
if [ ! -f "$MPT_GET_FILE_NAME" ]; then
|
||||
echo "Downloading '$MPT_GET_FILE_NAME' from '$URL' ..."
|
||||
curl -o "$MPT_GET_FILE_NAME" "$URL"
|
||||
if command -v curl &> /dev/null ; then
|
||||
curl --location -o "$MPT_GET_FILE_NAME" "$URL" || true
|
||||
elif command -v wget &> /dev/null ; then
|
||||
wget -O "$MPT_GET_FILE_NAME" "$URL" || true
|
||||
fi
|
||||
echo "Verifying '$URL' ..."
|
||||
if [ -f "$MPT_GET_FILE_NAME" ]; then
|
||||
FILE_SIZE=$(find "$MPT_GET_FILE_NAME" -printf '%s')
|
||||
|
@ -48,6 +55,7 @@ function download () {
|
|||
fi
|
||||
fi
|
||||
fi
|
||||
shift
|
||||
done
|
||||
if [ ! -f "$MPT_GET_FILE_NAME" ]; then
|
||||
echo "Failed to download '$MPT_GET_FILE_NAME'."
|
||||
|
@ -95,11 +103,12 @@ if [ ! -d "build/tools" ]; then
|
|||
mkdir build/tools
|
||||
fi
|
||||
|
||||
download "build/externals/allegro-4.2.3.1-hg.8+r8500.zip" 3872466 46cd8d4d7138b795dbc66994e953d0abc578c6d3c00615e3580237458529d33d7ad9d269a9778918d4b3719d75750d5cca74ff6bf38ad357a766472799ee9e7b "https://lib.openmpt.org/files/libopenmpt/contrib/allegro/allegro-4.2.3.1-hg.8+r8500.zip"
|
||||
download "build/externals/csdpmi7b.zip" 71339 58c24691d27cead1cec92d334af551f37a3ba31de25a687d99399c28d822ec9f6ffccc9332bfce35e65dae4dd1210b54e54b223a4de17f5adcb11e2da004b834 "https://lib.openmpt.org/files/libopenmpt/contrib/djgpp/cwsdpmi/csdpmi7b.zip https://djgpp.mirror.garr.it/current/v2misc/csdpmi7b.zip"
|
||||
download "build/externals/csdpmi7s.zip" 89872 ea5652d31850d8eb0d15a919de0b51849f58efea0d16ad2aa4687fac4abd223d0ca34a2d1b616b02fafe84651dbef3e506df9262cfb399eb6d9909bffc89bfd3 "https://lib.openmpt.org/files/libopenmpt/contrib/djgpp/cwsdpmi/csdpmi7s.zip https://djgpp.mirror.garr.it/current/v2misc/csdpmi7s.zip"
|
||||
download "build/externals/WA5.55_SDK.exe" 336166 394375db8a16bf155b5de9376f6290488ab339e503dbdfdc4e2f5bede967799e625c559cca363bc988324f1a8e86e5fd28a9f697422abd7bb3dcde4a766607b5 "http://download.nullsoft.com/winamp/plugin-dev/WA5.55_SDK.exe https://web.archive.org/web/20131217072017id_/http://download.nullsoft.com/winamp/plugin-dev/WA5.55_SDK.exe"
|
||||
download "build/externals/xmp-sdk.zip" 322903 67b96c6e6aa794e9de4f446d23f969e3591457196fd100c5475f5df52308de861a0c411db54fcb2bf46a12e9136ddda9d2974a5167432a979a701ef2c4679ef9 "https://www.un4seen.com/files/xmp-sdk.zip"
|
||||
# download
|
||||
cat build/download_externals.txt | (
|
||||
while IFS=$'\n' read -r URL; do
|
||||
eval download $URL
|
||||
done
|
||||
)
|
||||
|
||||
unpack "include/allegro42" "build/externals/allegro-4.2.3.1-hg.8+r8500.zip" "."
|
||||
unpack "include/cwsdpmi" "build/externals/csdpmi7b.zip" "."
|
||||
|
@ -108,3 +117,6 @@ unpack "include/xmplay" "build/externals/xmp-sdk.zip" "."
|
|||
|
||||
ln -s OUT.H include/winamp/Winamp/out.h
|
||||
|
||||
mkdir -p build/tools/svn_apply_autoprops
|
||||
cp "build/externals/svn_apply_autoprops.py" "build/tools/svn_apply_autoprops/"
|
||||
chmod u+x "build/tools/svn_apply_autoprops/svn_apply_autoprops.py"
|
||||
|
|
|
@ -14,9 +14,12 @@ endif
|
|||
|
||||
ifneq ($(STDCXX),)
|
||||
CXXFLAGS_STDCXX = -std=$(STDCXX) -fexceptions -frtti -pthread
|
||||
# We do not enable C++20 for fuzzer builds, because it prevents detecting
|
||||
# shifting of signed values which changed from undefined to defined behaviour
|
||||
# in C++20. As we still support C+ü+17, we need to catch these problem cases.
|
||||
# We do not enable C++20 or C++23 for fuzzer builds, because it prevents
|
||||
# detecting shifting of signed values which changed from undefined to defined
|
||||
# behaviour in C++20 and C++23. As we still support C++17, we need to catch
|
||||
# these problem cases.
|
||||
#else ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=c++23 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++23' ; fi ), c++23)
|
||||
#CXXFLAGS_STDCXX = -std=c++23 -fexceptions -frtti -pthread
|
||||
#else ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=c++20 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++20' ; fi ), c++20)
|
||||
#CXXFLAGS_STDCXX = -std=c++20 -fexceptions -frtti -pthread
|
||||
else
|
||||
|
@ -24,6 +27,10 @@ CXXFLAGS_STDCXX = -std=c++17 -fexceptions -frtti -pthread
|
|||
endif
|
||||
ifneq ($(STDC),)
|
||||
CFLAGS_STDC = -std=$(STDC) -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c23 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c23' ; fi ), c23)
|
||||
CFLAGS_STDC = -std=c23 -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c18 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c18' ; fi ), c18)
|
||||
CFLAGS_STDC = -std=c18 -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c17 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c17' ; fi ), c17)
|
||||
CFLAGS_STDC = -std=c17 -pthread
|
||||
else
|
||||
|
|
|
@ -12,8 +12,12 @@ ifeq ($(origin AR),default)
|
|||
AR = $(TOOLCHAIN_PREFIX)ar$(TOOLCHAIN_SUFFIX)
|
||||
endif
|
||||
|
||||
STDCXX?=c++20
|
||||
|
||||
ifneq ($(STDCXX),)
|
||||
CXXFLAGS_STDCXX = -std=$(STDCXX) -fexceptions -frtti -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=c++23 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++23' ; fi ), c++23)
|
||||
CXXFLAGS_STDCXX = -std=c++23 -fexceptions -frtti -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=c++20 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++20' ; fi ), c++20)
|
||||
CXXFLAGS_STDCXX = -std=c++20 -fexceptions -frtti -pthread
|
||||
else
|
||||
|
@ -21,6 +25,10 @@ CXXFLAGS_STDCXX = -std=c++17 -fexceptions -frtti -pthread
|
|||
endif
|
||||
ifneq ($(STDC),)
|
||||
CFLAGS_STDC = -std=$(STDC) -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c23 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c23' ; fi ), c23)
|
||||
CFLAGS_STDC = -std=c23 -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c18 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c18' ; fi ), c18)
|
||||
CFLAGS_STDC = -std=c18 -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c17 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c17' ; fi ), c17)
|
||||
CFLAGS_STDC = -std=c17 -pthread
|
||||
else
|
||||
|
|
|
@ -14,6 +14,8 @@ endif
|
|||
|
||||
ifneq ($(STDCXX),)
|
||||
CXXFLAGS_STDCXX = -std=$(STDCXX) -fexceptions -frtti -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=c++23 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++23' ; fi ), c++23)
|
||||
CXXFLAGS_STDCXX = -std=c++23 -fexceptions -frtti -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=c++20 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++20' ; fi ), c++20)
|
||||
CXXFLAGS_STDCXX = -std=c++20 -fexceptions -frtti -pthread
|
||||
else
|
||||
|
@ -21,6 +23,10 @@ CXXFLAGS_STDCXX = -std=c++17 -fexceptions -frtti -pthread
|
|||
endif
|
||||
ifneq ($(STDC),)
|
||||
CFLAGS_STDC = -std=$(STDC) -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c23 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c23' ; fi ), c23)
|
||||
CFLAGS_STDC = -std=c23 -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c18 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c18' ; fi ), c18)
|
||||
CFLAGS_STDC = -std=c18 -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c17 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c17' ; fi ), c17)
|
||||
CFLAGS_STDC = -std=c17 -pthread
|
||||
else
|
||||
|
@ -55,11 +61,13 @@ endif
|
|||
ifeq ($(CHECKED_ADDRESS),1)
|
||||
CXXFLAGS += -fsanitize=address
|
||||
CFLAGS += -fsanitize=address
|
||||
NO_NO_UNDEFINED_LINKER_FLAG=1
|
||||
endif
|
||||
|
||||
ifeq ($(CHECKED_UNDEFINED),1)
|
||||
CXXFLAGS += -fsanitize=undefined
|
||||
CFLAGS += -fsanitize=undefined
|
||||
NO_NO_UNDEFINED_LINKER_FLAG=1
|
||||
endif
|
||||
|
||||
include build/make/warnings-clang.mk
|
||||
|
|
|
@ -14,6 +14,8 @@ endif
|
|||
|
||||
ifneq ($(STDCXX),)
|
||||
CXXFLAGS_STDCXX = -std=$(STDCXX) -fexceptions -frtti -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=c++23 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++23' ; fi ), c++23)
|
||||
CXXFLAGS_STDCXX = -std=c++23 -fexceptions -frtti -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=c++20 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++20' ; fi ), c++20)
|
||||
CXXFLAGS_STDCXX = -std=c++20 -fexceptions -frtti -pthread
|
||||
else
|
||||
|
@ -21,6 +23,8 @@ CXXFLAGS_STDCXX = -std=c++17 -fexceptions -frtti -pthread
|
|||
endif
|
||||
ifneq ($(STDC),)
|
||||
CFLAGS_STDC = -std=$(STDC) -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c23 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c23' ; fi ), c23)
|
||||
CFLAGS_STDC = -std=c23 -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c18 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c18' ; fi ), c18)
|
||||
CFLAGS_STDC = -std=c18 -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c17 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c17' ; fi ), c17)
|
||||
|
|
|
@ -49,6 +49,7 @@ else ifeq ($(HOST_FLAVOUR),OPENBSD)
|
|||
|
||||
NO_PORTAUDIOCPP?=1
|
||||
NO_PULSEAUDIO?=1
|
||||
LDLIBS_PLATFORM=-lc++ -lc
|
||||
include build/make/config-clang.mk
|
||||
MPT_COMPILER_NOALLOCAH=1
|
||||
|
||||
|
|
|
@ -12,10 +12,15 @@ ifeq ($(origin AR),default)
|
|||
AR = i386-pc-msdosdjgpp-ar
|
||||
endif
|
||||
|
||||
DXE3GEN = i386-pc-msdosdjgpp-dxe3gen
|
||||
DXE3RES = i386-pc-msdosdjgpp-dxe3res
|
||||
|
||||
# Note that we are using GNU extensions instead of 100% standards-compliant
|
||||
# mode, because otherwise DJGPP-specific headers/functions are unavailable.
|
||||
ifneq ($(STDCXX),)
|
||||
CXXFLAGS_STDCXX = -std=$(STDCXX) -fexceptions -frtti -fpermissive
|
||||
else ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=gnu++23 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++23' ; fi ), c++23)
|
||||
CXXFLAGS_STDCXX = -std=gnu++23 -fexceptions -frtti -fpermissive
|
||||
else ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=gnu++20 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++20' ; fi ), c++20)
|
||||
CXXFLAGS_STDCXX = -std=gnu++20 -fexceptions -frtti -fpermissive
|
||||
else
|
||||
|
@ -23,15 +28,21 @@ CXXFLAGS_STDCXX = -std=gnu++17 -fexceptions -frtti -fpermissive
|
|||
endif
|
||||
ifneq ($(STDC),)
|
||||
CFLAGS_STDC = -std=$(STDC)
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=gnu23 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c23' ; fi ), c23)
|
||||
CFLAGS_STDC = -std=gnu23
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=gnu20 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c20' ; fi ), c20)
|
||||
CFLAGS_STDC = -std=gnu20
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=gnu17 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c17' ; fi ), c17)
|
||||
CFLAGS_STDC = -std=gnu17
|
||||
else
|
||||
CFLAGS_STDC = -std=gnu11
|
||||
endif
|
||||
CXXFLAGS += $(CXXFLAGS_STDCXX) -fallow-store-data-races -fno-threadsafe-statics
|
||||
CFLAGS += $(CFLAGS_STDC) -fallow-store-data-races
|
||||
CXXFLAGS += $(CXXFLAGS_STDCXX)
|
||||
CFLAGS += $(CFLAGS_STDC)
|
||||
OVERWRITE_CXXFLAGS += -fallow-store-data-races -fno-threadsafe-statics
|
||||
OVERWRITE_CFLAGS += -fallow-store-data-races
|
||||
|
||||
CPU?=generic/common
|
||||
CPU?=generic/compatible
|
||||
|
||||
# Enable 128bit SSE registers.
|
||||
# This requires pure DOS with only CWSDPMI as DOS extender.
|
||||
|
@ -46,7 +57,10 @@ ifneq ($(SSE),0)
|
|||
FPU_MMX := -m80387 -mmmx -mfpmath=387
|
||||
FPU_3DNOW := -m80387 -mmmx -m3dnow -mfpmath=387
|
||||
FPU_3DNOWA := -m80387 -mmmx -m3dnow -m3dnowa -mfpmath=387
|
||||
FPU_3DASSE := -m80387 -mmmx -m3dnow -m3dnowa -mfxsr -msse -mfpmath=sse,387
|
||||
FPU_3DSSE := -m80387 -mmmx -m3dnow -m3dnowa -mfxsr -msse -mfpmath=sse,387
|
||||
FPU_3DSSE2 := -m80387 -mmmx -m3dnow -m3dnowa -mfxsr -msse -msse2 -mfpmath=sse
|
||||
FPU_3DSSE3 := -m80387 -mmmx -m3dnow -m3dnowa -mfxsr -msse -msse2 -msse3 -mfpmath=sse
|
||||
FPU_3DSSE4 := -m80387 -mmmx -m3dnow -m3dnowa -mfxsr -msse -msse2 -msse3 -msse4a -mfpmath=sse
|
||||
FPU_SSE := -m80387 -mmmx -mfxsr -msse -mfpmath=sse,387
|
||||
FPU_SSE2 := -m80387 -mmmx -mfxsr -msse -msse2 -mfpmath=sse
|
||||
FPU_SSE3 := -m80387 -mmmx -mfxsr -msse -msse2 -msse3 -mfpmath=sse
|
||||
|
@ -62,7 +76,10 @@ else
|
|||
FPU_MMX := -m80387 -mmmx -mfpmath=387
|
||||
FPU_3DNOW := -m80387 -mmmx -m3dnow -mfpmath=387
|
||||
FPU_3DNOWA := -m80387 -mmmx -m3dnow -m3dnowa -mfpmath=387
|
||||
FPU_3DASSE := -mno-sse -mno-fxsr -m80387 -mmmx -m3dnow -m3dnowa -mfpmath=387
|
||||
FPU_3DSSE := -mno-sse -mno-fxsr -m80387 -mmmx -m3dnow -m3dnowa -mfpmath=387
|
||||
FPU_3DSSE2 := -mno-sse2 -mno-sse -mno-fxsr -m80387 -mmmx -m3dnow -m3dnowa -mfpmath=387
|
||||
FPU_3DSSE3 := -mno-sse3 -mno-sse2 -mno-sse -mno-fxsr -m80387 -mmmx -m3dnow -m3dnowa -mfpmath=387
|
||||
FPU_3DSSE4 := -mno-sse4a -mno-sse3 -mno-sse2 -mno-sse -mno-fxsr -m80387 -mmmx -m3dnow -m3dnowa -mfpmath=387
|
||||
FPU_SSE := -mno-sse -mno-fxsr -m80387 -mmmx -mfpmath=387
|
||||
FPU_SSE2 := -mno-sse2 -mno-sse -mno-fxsr -m80387 -mmmx -mfpmath=387
|
||||
FPU_SSE3 := -mno-sse3 -mno-sse2 -mno-sse -mno-fxsr -m80387 -mmmx -mfpmath=387
|
||||
|
@ -73,12 +90,56 @@ else
|
|||
FPU_SSSE4A := -mno-sse4a -mno-ssse3 -mno-sse3 -mno-sse2 -mno-sse -mno-fxsr -m80387 -mmmx -mfpmath=387
|
||||
endif
|
||||
|
||||
OPT_DEF := -Os
|
||||
OPT_SIMD := -O3
|
||||
|
||||
|
||||
ifeq ($(OPTIMIZE),default)
|
||||
|
||||
OPT_UARCH_EMUL := -Os # interpreter
|
||||
OPT_UARCH_CISC := -Os # non-pipelined, scalar, in-order, optimize for size i386 am386
|
||||
OPT_UARCH_PIPE := -Os # pipelined, scalar, in-order, optimize for size i486 am486 cx486slc
|
||||
OPT_UARCH_SCAL := -O2 # pipelined, super-scalar, in-order, optimize for speed pentium cx5x86
|
||||
OPT_UARCH_OOOE := -O2 # pipelined, super-scalar, out-of-order, optimize for speed pentiumpro k5 cx6x86
|
||||
OPT_UARCH_COMP := -O2 # recompiler
|
||||
|
||||
# vectorize for MMX/3DNOW (64bit wide) (unsupported by GCC)
|
||||
OPT_UARCH_EMUL_64 := -Os # interpreter
|
||||
OPT_UARCH_CISC_64 := -Os # non-pipelined, scalar, in-order, optimize for size
|
||||
OPT_UARCH_PIPE_64 := -Os # pipelined, scalar, in-order, optimize for size
|
||||
OPT_UARCH_SCAL_64 := -O2 # pipelined, super-scalar, in-order, optimize for speed pentium-mmx
|
||||
OPT_UARCH_OOOE_64 := -O2 # pipelined, super-scalar, out-of-order, optimize for speed pentium2 k6 m2
|
||||
OPT_UARCH_COMP_64 := -O2 # recompiler
|
||||
|
||||
# vectorize for SSE (128bit wide)
|
||||
ifeq ($(SSE),0)
|
||||
OPT_UARCH_EMUL_128 := -Os # interpreter
|
||||
OPT_UARCH_CISC_128 := -Os # non-pipelined, scalar, in-order, optimize for size
|
||||
OPT_UARCH_PIPE_128 := -Os # pipelined, scalar, in-order, optimize for size
|
||||
OPT_UARCH_SCAL_128 := -O2 # pipelined, super-scalar, in-order, optimize for speed
|
||||
OPT_UARCH_OOOE_128 := -O2 # pipelined, super-scalar, out-of-order, optimize for speed
|
||||
OPT_UARCH_COMP_128 := -O2 # recompiler
|
||||
else
|
||||
OPT_UARCH_EMUL_128 := -O3 # interpreter
|
||||
OPT_UARCH_CISC_128 := -O3 # non-pipelined, scalar, in-order, optimize for size
|
||||
OPT_UARCH_PIPE_128 := -O3 # pipelined, scalar, in-order, optimize for size
|
||||
OPT_UARCH_SCAL_128 := -O3 # pipelined, super-scalar, in-order, optimize for speed
|
||||
OPT_UARCH_OOOE_128 := -O3 # pipelined, super-scalar, out-of-order, optimize for speed
|
||||
OPT_UARCH_COMP_128 := -O3 # recompiler
|
||||
endif
|
||||
|
||||
else
|
||||
|
||||
OPT_UARCH_EMUL :=
|
||||
OPT_UARCH_CISC :=
|
||||
OPT_UARCH_PIPE :=
|
||||
OPT_UARCH_SCAL :=
|
||||
OPT_UARCH_OOOE :=
|
||||
OPT_UARCH_COMP :=
|
||||
|
||||
endif
|
||||
|
||||
|
||||
|
||||
CACHE_386 :=64 # 0/64/128
|
||||
CACHE_386 :=64 # 0/32/64/128
|
||||
CACHE_486 :=128 # 0/64/128/256
|
||||
CACHE_S7 :=256 # 128/256/512
|
||||
CACHE_SS7 :=512 # 256/512/1024
|
||||
|
@ -97,7 +158,6 @@ CACHE_PENTIUMM :=1024 # 1024/2048
|
|||
CACHE_ATOM :=512 # 512
|
||||
|
||||
|
||||
CACHE_K63 :=256 # 128/256
|
||||
CACHE_ATHLON :=512 # 512
|
||||
CACHE_ATHLONXP :=256 # 256/512
|
||||
CACHE_ATHLON64 :=512 # 256/512/1024
|
||||
|
@ -110,187 +170,234 @@ CACHE_SEMPRON64 :=128 # 128/256/512
|
|||
|
||||
TUNE_586 :=-mtune=pentium
|
||||
TUNE_586MMX :=-mtune=pentium-mmx
|
||||
TUNE_5863DN :=-mtune=k6-2
|
||||
TUNE_686 :=-mtune=pentiumpro
|
||||
TUNE_686MMX :=-mtune=pentium2
|
||||
TUNE_6863DN :=-mtune=athlon
|
||||
TUNE_686SSE :=-mtune=pentium3
|
||||
TUNE_686SSE2:=-mtune=pentium-m
|
||||
TUNE_686SSE3:=-mtune=pentium-m
|
||||
|
||||
|
||||
|
||||
generic/early := $(XXX) -march=i386 $(FPU_NONE) -mtune=i386 $(OPT_DEF)
|
||||
generic/early := $(XXX) -march=i386 $(FPU_NONE) -mtune=i386 $(OPT_UARCH_CISC)
|
||||
|
||||
generic/common := $(XXX) -march=i386 $(FPU_387) -mtune=pentium $(OPT_DEF)
|
||||
generic/late := $(XXX) -march=i686 $(FPU_SSSE3) -mtune=generic $(OPT_SIMD)
|
||||
generic/compatible := $(XXX) -march=i386 $(FPU_387) -mtune=pentium $(OPT_UARCH_CISC)
|
||||
generic/common := $(XXX) -march=i486 $(FPU_387) -mtune=pentium $(OPT_UARCH_CISC)
|
||||
|
||||
generic/late := $(XXX) -march=i686 $(FPU_SSE2) -mtune=generic $(OPT_UARCH_OOOE_128)
|
||||
|
||||
|
||||
|
||||
generic/nofpu := $(X__) -march=i386 $(FPU_NONE) -mtune=i386 $(OPT_DEF) # 386SX, 386DX, 486SX, Cyrix Cx486SLC..Cx486S, NexGen Nx586
|
||||
virtual/ibmulator := $(___) -march=i386 $(FPU_NONE) -mtune=i386 $(OPT_UARCH_EMUL)
|
||||
|
||||
generic/386 := $(X__) -march=i386 $(FPU_387) -mtune=i386 $(OPT_DEF) # 386+387
|
||||
virtual/ao486 := $(___) -march=i486 $(FPU_NONE) -mtune=i486 $(OPT_UARCH_PIPE)
|
||||
|
||||
generic/486 := $(XX_) -march=i486 $(FPU_387) -mtune=i486 $(OPT_DEF) # 486DX, AMD Am5x86, Cyrix Cx4x86DX..6x86L, NexGen Nx586-PF
|
||||
generic/486-mmx := $(___) -march=i486 $(FPU_MMX) -mtune=winchip-c6 $(OPT_SIMD) # IDT WinChip-C6, Rise mP6
|
||||
generic/486-3dnow := $(___) -march=i486 $(FPU_3DNOW) -mtune=winchip2 $(OPT_SIMD) # IDT WinChip-2
|
||||
virtual/bochs := $(___) -march=i686 $(FPU_387) -mtune=generic $(OPT_UARCH_EMUL)
|
||||
|
||||
generic/586 := $(XX_) -march=i586 $(FPU_387) -mtune=pentium $(OPT_DEF) # Intel Pentium, AMD K5
|
||||
generic/586-mmx := $(XX_) -march=pentium-mmx $(FPU_MMX) -mtune=pentium-mmx $(OPT_SIMD) # Intel Pentium-MMX, AMD K6
|
||||
generic/586-3dnow := $(XX_) -march=k6-2 $(FPU_3DNOW) -mtune=k6-2 $(OPT_SIMD) # AMD K6-2..K6-3
|
||||
virtual/qemu := $(___) -march=i686 $(FPU_SSE2) -mtune=generic $(OPT_UARCH_COMP_128)
|
||||
|
||||
generic/686 := $(___) -march=pentiumpro $(FPU_387) -mtune=pentiumpro $(OPT_DEF) # Intel Pentium-Pro
|
||||
generic/686-mmx := $(XXX) -march=i686 $(FPU_MMX) -mtune=pentium2 $(OPT_SIMD) # Intel Pentium-2.., AMD Bulldozer.., VIA C3-Nehemiah.., Cyrix 6x86MX.., Transmeta Crusoe.., NSC Geode-GX1..
|
||||
generic/686-3dnow := $(___) -march=i686 $(FPU_3DNOW) -mtune=c3 $(OPT_SIMD) # VIA Cyrix-3..C3-Ezra
|
||||
generic/686-3dnowa:= $(XX_) -march=athlon $(FPU_3DNOWA) -mtune=athlon $(OPT_SIMD) # AMD Athlon..K10
|
||||
virtual/varcem := $(___) -march=i686 $(FPU_387) -mtune=generic $(OPT_UARCH_COMP)
|
||||
virtual/pcem := $(___) -march=i686 $(FPU_3DNOW) -mtune=generic $(OPT_UARCH_COMP_64)
|
||||
virtual/86box := $(___) -march=i686 $(FPU_3DNOW) -mtune=generic $(OPT_UARCH_COMP_64)
|
||||
virtual/pcbox := $(___) -march=i686 $(FPU_SSE2) -mtune=generic $(OPT_UARCH_COMP_128)
|
||||
|
||||
virtual/unipcemu := $(___) -march=i386 $(FPU_NONE) -mtune=i386 $(OPT_UARCH_EMUL)
|
||||
|
||||
generic/sse := $(X__) -march=i686 $(FPU_SSE) -mtune=pentium3 $(OPT_SIMD) # Intel Pentium-3.., AMD Athlon-XP.., VIA C3-Nehemiah.., Transmeta Efficeon.., DM&P Vortex86DX3..
|
||||
generic/sse2 := $(XX_) -march=i686 $(FPU_SSE2) -mtune=generic $(OPT_SIMD) # Intel Pentium-4.., AMD Athlon-64.., VIA C7-Esther.., Transmeta Efficeon..
|
||||
generic/sse3 := $(___) -march=i686 $(FPU_SSE3) -mtune=generic $(OPT_SIMD) # Intel Core.., AMD Athlon-64-X2.., VIA C7-Esther.., Transmeta Efficeon-88xx..
|
||||
generic/ssse3 := $(___) -march=i686 $(FPU_SSSE3) -mtune=generic $(OPT_SIMD) # Intel Core-2.., AMD Bobcat.., Via Nano-1000..
|
||||
generic/sse4_1 := $(___) -march=i686 $(FPU_SSE4_1) -mtune=generic $(OPT_SIMD) # Intel Core-1st, AMD Bulldozer.., Via Nano-3000..
|
||||
generic/sse4_2 := $(___) -march=i686 $(FPU_SSE4_2) -mtune=generic $(OPT_SIMD) # Intel Core-1st, AMD Bulldozer.., Via Nano-C..
|
||||
virtual/dosbox := $(___) -march=i486 $(FPU_387) -mtune=i386 $(OPT_UARCH_EMUL)
|
||||
virtual/dosbox-svn := $(___) -march=i486 $(FPU_387) -mtune=i386 $(OPT_UARCH_EMUL)
|
||||
virtual/dosbox-ece := $(___) -march=i486 $(FPU_387) -mtune=i386 $(OPT_UARCH_EMUL)
|
||||
virtual/dosbox-sta := $(___) -march=i486 $(FPU_387) -mtune=i386 $(OPT_UARCH_COMP)
|
||||
virtual/dosbox-x := $(___) -march=i686 $(FPU_SSE) -mtune=generic $(OPT_UARCH_EMUL_128)
|
||||
|
||||
|
||||
|
||||
intel/i386 := $(XX_) -march=i386 $(FPU_NONE) -mtune=i386 $(OPT_DEF) --param l1-cache-size=0 --param l2-cache-size=$(CACHE_386)
|
||||
intel/i486sx := $(___) -march=i486 $(FPU_NONE) -mtune=i486 $(OPT_DEF) --param l1-cache-size=6 --param l2-cache-size=$(CACHE_486)
|
||||
intel/i386+80287 := $(___) -march=i386 $(FPU_287) -mtune=i386 $(OPT_DEF) --param l1-cache-size=0 --param l2-cache-size=$(CACHE_386)
|
||||
generic/nofpu := $(X__) -march=i386 $(FPU_NONE) -mtune=i386 $(OPT_UARCH_CISC) # 386SX, 386DX, 486SX, Cyrix Cx486SLC..Cx486S, NexGen Nx586
|
||||
|
||||
intel/i386+80387 := $(XX_) -march=i386 $(FPU_387) -mtune=i386 $(OPT_DEF) --param l1-cache-size=0 --param l2-cache-size=$(CACHE_386)
|
||||
intel/i486dx := $(XXX) -march=i486 $(FPU_387) -mtune=i486 $(OPT_DEF) --param l1-cache-size=6 --param l2-cache-size=$(CACHE_486)
|
||||
intel/pentium := $(XXX) -march=pentium $(FPU_387) -mtune=pentium $(OPT_DEF) --param l1-cache-size=8 --param l2-cache-size=$(CACHE_S7)
|
||||
intel/pentium-mmx := $(XXX) -march=pentium-mmx $(FPU_MMX) -mtune=pentium-mmx $(OPT_SIMD) --param l1-cache-size=16 --param l2-cache-size=$(CACHE_S7)
|
||||
intel/pentium-pro := $(___) -march=pentiumpro $(FPU_387) -mtune=pentiumpro $(OPT_DEF) --param l1-cache-size=8 --param l2-cache-size=$(CACHE_PENTIUMPRO)
|
||||
intel/pentium2 := $(___) -march=pentium2 $(FPU_MMX) -mtune=pentium2 $(OPT_SIMD) --param l1-cache-size=16 --param l2-cache-size=$(CACHE_PENTIUM2)
|
||||
intel/pentium3 := $(___) -march=pentium3 $(FPU_SSE) -mtune=pentium3 $(OPT_SIMD) --param l1-cache-size=16 --param l2-cache-size=$(CACHE_PENTIUM3)
|
||||
intel/pentium4 := $(___) -march=pentium4 $(FPU_SSE2) -mtune=pentium4 $(OPT_SIMD) --param l1-cache-size=8 --param l2-cache-size=$(CACHE_PENTIUM4)
|
||||
intel/pentium4.1 := $(___) -march=prescott $(FPU_SSE3) -mtune=prescott $(OPT_SIMD) --param l1-cache-size=8 --param l2-cache-size=$(CACHE_PENTIUM41)
|
||||
intel/core2 := $(___) -march=core2 $(FPU_SSSE3) -mtune=core2 $(OPT_SIMD) --param l1-cache-size=32 --param l2-cache-size=$(CACHE_CORE2)
|
||||
generic/386 := $(X__) -march=i386 $(FPU_387) -mtune=i386 $(OPT_UARCH_CISC) # 386+387
|
||||
|
||||
intel/celeron := $(___) -march=pentium2 $(FPU_MMX) -mtune=pentium2 $(OPT_SIMD) --param l1-cache-size=16 --param l2-cache-size=$(CACHE_CELERON)
|
||||
intel/pentium-m := $(___) -march=pentium-m $(FPU_SSE2) -mtune=pentium-m $(OPT_SIMD) --param l1-cache-size=16 --param l2-cache-size=$(CACHE_PENTIUMM)
|
||||
intel/core := $(___) -march=pentium-m $(FPU_SSE3) -mtune=core2 $(OPT_SIMD) --param l1-cache-size=32 --param l2-cache-size=$(CACHE_CORE)
|
||||
intel/atom := $(___) -march=bonnell $(FPU_SSSE3) -mtune=bonnell $(OPT_SIMD) --param l1-cache-size=24 --param l2-cache-size=$(CACHE_ATOM)
|
||||
generic/486 := $(XX_) -march=i486 $(FPU_387) -mtune=i486 $(OPT_UARCH_PIPE) # 486DX, AMD Am5x86, Cyrix Cx4x86DX..6x86L, NexGen Nx586-PF
|
||||
|
||||
intel/late := $(XX_) -march=i686 $(FPU_SSSE3) -mtune=intel $(OPT_SIMD)
|
||||
generic/586 := $(XXX) -march=i586 $(FPU_387) -mtune=pentium $(OPT_UARCH_SCAL) # Intel Pentium, AMD K5
|
||||
generic/586-mmx := $(XX_) -march=pentium-mmx $(FPU_MMX) -mtune=pentium-mmx $(OPT_UARCH_SCAL_64) # Intel Pentium-MMX, AMD K6, IDT WinChip-C6, Rise mP6
|
||||
generic/586-3dnow := $(XX_) -march=k6-2 $(FPU_3DNOW) -mtune=k6-2 $(OPT_UARCH_SCAL_64) # AMD K6-2..K6-3+, IDT WinChip-2, VIA-C3-Samuel..VIA C3-Ezra
|
||||
|
||||
generic/686 := $(___) -march=pentiumpro $(FPU_387) -mtune=pentiumpro $(OPT_UARCH_OOOE) # Intel Pentium-Pro
|
||||
generic/686-mmx := $(XX_) -march=i686 $(FPU_MMX) -mtune=pentium2 $(OPT_UARCH_OOOE_64) # Intel Pentium-2.., AMD Bulldozer.., VIA C3-Nehemiah.., Cyrix 6x86MX.., Transmeta Crusoe.., NSC Geode-GX1..
|
||||
generic/686-3dnow := $(___) -march=i686 $(FPU_3DNOW) -mtune=athlon $(OPT_UARCH_OOOE_64) # VIA Cyrix-3-Joshua
|
||||
generic/686-3dnowa := $(XX_) -march=athlon $(FPU_3DNOWA) -mtune=athlon $(OPT_UARCH_OOOE_64) # AMD Athlon..K10
|
||||
|
||||
generic/sse := $(___) -march=i686 $(FPU_SSE) -mtune=pentium3 $(OPT_UARCH_OOOE_128) # Intel Pentium-3, AMD Athlon-XP, VIA C3-Nehemiah, DM&P Vortex86DX3..
|
||||
|
||||
generic/sse2 := $(X__) -march=i686 $(FPU_SSE2) -mtune=generic $(OPT_UARCH_OOOE_128) # Intel Pentium-4.., AMD Athlon-64.., VIA C7-Esther.., Transmeta Efficeon..
|
||||
generic/sse3 := $(___) -march=i686 $(FPU_SSE3) -mtune=generic $(OPT_UARCH_OOOE_128) # Intel Core.., AMD Athlon-64-X2.., VIA C7-Esther.., Transmeta Efficeon-88xx..
|
||||
generic/ssse3 := $(___) -march=i686 $(FPU_SSSE3) -mtune=generic $(OPT_UARCH_OOOE_128) # Intel Core-2.., AMD Bobcat.., Via Nano-1000..
|
||||
generic/sse4_1 := $(___) -march=i686 $(FPU_SSE4_1) -mtune=generic $(OPT_UARCH_OOOE_128) # Intel Core-1st, AMD Bulldozer.., Via Nano-3000..
|
||||
generic/sse4_2 := $(___) -march=i686 $(FPU_SSE4_2) -mtune=generic $(OPT_UARCH_OOOE_128) # Intel Core-1st, AMD Bulldozer.., Via Nano-C..
|
||||
|
||||
|
||||
|
||||
amd/am386 := $(___) -march=i386 $(FPU_NONE) -mtune=i386 $(OPT_DEF) --param l1-cache-size=0 --param l2-cache-size=$(CACHE_386)
|
||||
amd/am486sx := $(___) -march=i486 $(FPU_NONE) -mtune=i486 $(OPT_DEF) --param l1-cache-size=6 --param l2-cache-size=$(CACHE_486)
|
||||
intel/i386 := $(X__) -march=i386 $(FPU_NONE) -mtune=i386 $(OPT_UARCH_CISC) --param l1-cache-size=0 --param l2-cache-size=$(CACHE_386)
|
||||
intel/i486sx := $(___) -march=i486 $(FPU_NONE) -mtune=i486 $(OPT_UARCH_PIPE) --param l1-cache-size=6 --param l2-cache-size=$(CACHE_486)
|
||||
intel/i386+80287 := $(___) -march=i386 $(FPU_287) -mtune=i386 $(OPT_UARCH_CISC) --param l1-cache-size=0 --param l2-cache-size=$(CACHE_386)
|
||||
|
||||
amd/am386+80387 := $(___) -march=i386 $(FPU_387) -mtune=i386 $(OPT_DEF) --param l1-cache-size=0 --param l2-cache-size=$(CACHE_386)
|
||||
amd/am486dx := $(___) -march=i486 $(FPU_387) -mtune=i486 $(OPT_DEF) --param l1-cache-size=6 --param l2-cache-size=$(CACHE_486)
|
||||
amd/am486dxe := $(___) -march=i486 $(FPU_387) -mtune=i486 $(OPT_DEF) --param l1-cache-size=12 --param l2-cache-size=$(CACHE_486)
|
||||
amd/am5x86 := $(___) -march=i486 $(FPU_387) -mtune=i486 $(OPT_DEF) --param l1-cache-size=12 --param l2-cache-size=$(CACHE_486)
|
||||
amd/k5 := $(XXX) -march=i586 $(FPU_387) -mtune=i586 $(OPT_DEF) --param l1-cache-size=8 --param l2-cache-size=$(CACHE_S7)
|
||||
amd/k5-pentium := $(XXX) -march=i586 $(FPU_387) -mtune=pentium $(OPT_DEF) --param l1-cache-size=8 --param l2-cache-size=$(CACHE_S7)
|
||||
amd/k5-pentiumpro := $(XXX) -march=i586 $(FPU_387) -mtune=pentiumpro $(OPT_DEF) --param l1-cache-size=8 --param l2-cache-size=$(CACHE_S7)
|
||||
amd/k5-pentium2 := $(XXX) -march=i586 $(FPU_387) -mtune=pentium2 $(OPT_DEF) --param l1-cache-size=8 --param l2-cache-size=$(CACHE_S7)
|
||||
amd/k5-k6 := $(XXX) -march=i586 $(FPU_387) -mtune=k6 $(OPT_DEF) --param l1-cache-size=8 --param l2-cache-size=$(CACHE_S7)
|
||||
amd/k6 := $(XXX) -march=k6 $(FPU_MMX) -mtune=k6 $(OPT_SIMD) --param l1-cache-size=32 --param l2-cache-size=$(CACHE_S7)
|
||||
amd/k6-2 := $(XXX) -march=k6-2 $(FPU_3DNOW) -mtune=k6-2 $(OPT_SIMD) --param l1-cache-size=32 --param l2-cache-size=$(CACHE_SS7)
|
||||
amd/k6-3 := $(___) -march=k6-3 $(FPU_3DNOW) -mtune=k6-3 $(OPT_SIMD) --param l1-cache-size=32 --param l2-cache-size=$(CACHE_K63)
|
||||
amd/athlon := $(XX_) -march=athlon $(FPU_3DNOWA) -mtune=athlon $(OPT_SIMD) --param l1-cache-size=64 --param l2-cache-size=$(CACHE_ATHLON)
|
||||
amd/athlon-xp := $(XX_) -march=athlon-xp $(FPU_3DASSE) -mtune=athlon-xp $(OPT_SIMD) --param l1-cache-size=64 --param l2-cache-size=$(CACHE_ATHLONXP)
|
||||
amd/athlon64 := $(X__) -march=k8 $(FPU_SSE2) -mtune=k8 $(OPT_SIMD) --param l1-cache-size=64 --param l2-cache-size=$(CACHE_ATHLON64)
|
||||
amd/athlon64-sse3 := $(___) -march=k8-sse3 $(FPU_SSE3) -mtune=k8-sse3 $(OPT_SIMD) --param l1-cache-size=64 --param l2-cache-size=$(CACHE_ATHLON64)
|
||||
amd/k10 := $(___) -march=amdfam10 $(FPU_SSE4A) -mtune=amdfam10 $(OPT_SIMD) --param l1-cache-size=64 --param l2-cache-size=512
|
||||
intel/i386+80387 := $(X__) -march=i386 $(FPU_387) -mtune=i386 $(OPT_UARCH_CISC) --param l1-cache-size=0 --param l2-cache-size=$(CACHE_386)
|
||||
intel/i486sx+i487sx := $(___) -march=i486 $(FPU_387) -mtune=i486 $(OPT_UARCH_PIPE) --param l1-cache-size=6 --param l2-cache-size=$(CACHE_486)
|
||||
intel/i486dx := $(XXX) -march=i486 $(FPU_387) -mtune=i486 $(OPT_UARCH_PIPE) --param l1-cache-size=6 --param l2-cache-size=$(CACHE_486)
|
||||
intel/pentium := $(XXX) -march=pentium $(FPU_387) -mtune=pentium $(OPT_UARCH_SCAL) --param l1-cache-size=8 --param l2-cache-size=$(CACHE_S7)
|
||||
intel/pentium-mmx := $(XXX) -march=pentium-mmx $(FPU_MMX) -mtune=pentium-mmx $(OPT_UARCH_SCAL_64) --param l1-cache-size=16 --param l2-cache-size=$(CACHE_S7)
|
||||
intel/pentium-pro := $(___) -march=pentiumpro $(FPU_387) -mtune=pentiumpro $(OPT_UARCH_OOOE) --param l1-cache-size=8 --param l2-cache-size=$(CACHE_PENTIUMPRO)
|
||||
intel/pentium2 := $(XX_) -march=pentium2 $(FPU_MMX) -mtune=pentium2 $(OPT_UARCH_OOOE_64) --param l1-cache-size=16 --param l2-cache-size=$(CACHE_PENTIUM2)
|
||||
intel/pentium3 := $(X__) -march=pentium3 $(FPU_SSE) -mtune=pentium3 $(OPT_UARCH_OOOE_128) --param l1-cache-size=16 --param l2-cache-size=$(CACHE_PENTIUM3)
|
||||
intel/pentium4 := $(XX_) -march=pentium4 $(FPU_SSE2) -mtune=pentium4 $(OPT_UARCH_OOOE_128) --param l1-cache-size=8 --param l2-cache-size=$(CACHE_PENTIUM4)
|
||||
intel/pentium4.1 := $(___) -march=prescott $(FPU_SSE3) -mtune=prescott $(OPT_UARCH_OOOE_128) --param l1-cache-size=8 --param l2-cache-size=$(CACHE_PENTIUM41)
|
||||
intel/core2 := $(___) -march=core2 $(FPU_SSSE3) -mtune=core2 $(OPT_UARCH_OOOE_128) --param l1-cache-size=32 --param l2-cache-size=$(CACHE_CORE2)
|
||||
|
||||
amd/duron := $(XX_) -march=athlon $(FPU_3DNOWA) -mtune=athlon $(OPT_SIMD) --param l1-cache-size=64 --param l2-cache-size=$(CACHE_DURON)
|
||||
amd/duron-xp := $(___) -march=athlon-xp $(FPU_3DASSE) -mtune=athlon-xp $(OPT_SIMD) --param l1-cache-size=64 --param l2-cache-size=$(CACHE_DURONXP)
|
||||
amd/sempron64 := $(___) -march=k8 $(FPU_SSE2) -mtune=k8 $(OPT_SIMD) --param l1-cache-size=64 --param l2-cache-size=$(CACHE_SEMPRON64)
|
||||
intel/celeron := $(___) -march=pentium2 $(FPU_MMX) -mtune=pentium2 $(OPT_UARCH_OOOE_64) --param l1-cache-size=16 --param l2-cache-size=$(CACHE_CELERON)
|
||||
intel/pentium-m := $(___) -march=pentium-m $(FPU_SSE2) -mtune=pentium-m $(OPT_UARCH_OOOE_128) --param l1-cache-size=16 --param l2-cache-size=$(CACHE_PENTIUMM)
|
||||
intel/core := $(___) -march=pentium-m $(FPU_SSE3) -mtune=core2 $(OPT_UARCH_OOOE_128) --param l1-cache-size=32 --param l2-cache-size=$(CACHE_CORE)
|
||||
intel/atom := $(___) -march=bonnell $(FPU_SSSE3) -mtune=bonnell $(OPT_UARCH_SCAL_128) --param l1-cache-size=24 --param l2-cache-size=$(CACHE_ATOM)
|
||||
|
||||
amd/geode-gx := $(___) -march=geode $(FPU_3DNOW) -mtune=geode $(OPT_SIMD) --param l1-cache-size=16 --param l2-cache-size=0
|
||||
amd/geode-lx := $(___) -march=geode $(FPU_3DNOW) -mtune=geode $(OPT_SIMD) --param l1-cache-size=64 --param l2-cache-size=128
|
||||
amd/geode-nx := $(___) -march=athlon-xp $(FPU_3DASSE) -mtune=athlon-xp $(OPT_SIMD) --param l1-cache-size=64 --param l2-cache-size=256
|
||||
amd/bobcat := $(___) -march=btver1 $(FPU_SSSE4A) -mtune=btver1 $(OPT_SIMD) --param l1-cache-size=32 --param l2-cache-size=512
|
||||
amd/jaguar := $(___) -march=btver2 $(FPU_SSSE4A) -mtune=btver2 $(OPT_SIMD) --param l1-cache-size=32 --param l2-cache-size=1024
|
||||
|
||||
amd/late-3dnow := $(XX_) -march=athlon-xp $(FPU_3DASSE) -mtune=athlon-xp $(OPT_SIMD) --param l1-cache-size=64 --param l2-cache-size=512
|
||||
amd/late := $(XX_) -march=i686 $(FPU_SSSE4A) -mtune=generic $(OPT_SIMD)
|
||||
intel/late := $(XX_) -march=i686 $(FPU_SSSE3) -mtune=intel $(OPT_UARCH_OOOE_128)
|
||||
|
||||
|
||||
|
||||
nexgen/nx586 := $(___) -march=i486 $(FPU_NONE) $(TUNE_586) $(OPT_DEF) --param l1-cache-size=16 --param l2-cache-size=$(CACHE_486)
|
||||
amd/am386 := $(___) -march=i386 $(FPU_NONE) -mtune=i386 $(OPT_UARCH_CISC) --param l1-cache-size=0 --param l2-cache-size=$(CACHE_386)
|
||||
amd/am486sx := $(___) -march=i486 $(FPU_NONE) -mtune=i486 $(OPT_UARCH_PIPE) --param l1-cache-size=6 --param l2-cache-size=$(CACHE_486)
|
||||
|
||||
nexgen/nx586pf := $(___) -march=i486 $(FPU_387) $(TUNE_586) $(OPT_DEF) --param l1-cache-size=16 --param l2-cache-size=$(CACHE_486)
|
||||
amd/am386+80387 := $(___) -march=i386 $(FPU_387) -mtune=i386 $(OPT_UARCH_CISC) --param l1-cache-size=0 --param l2-cache-size=$(CACHE_386)
|
||||
amd/am486sx+am487sx := $(___) -march=i486 $(FPU_387) -mtune=i486 $(OPT_UARCH_PIPE) --param l1-cache-size=6 --param l2-cache-size=$(CACHE_486)
|
||||
amd/am486dx := $(XX_) -march=i486 $(FPU_387) -mtune=i486 $(OPT_UARCH_PIPE) --param l1-cache-size=6 --param l2-cache-size=$(CACHE_486)
|
||||
amd/am486dxe := $(XX_) -march=i486 $(FPU_387) -mtune=i486 $(OPT_UARCH_PIPE) --param l1-cache-size=12 --param l2-cache-size=$(CACHE_486)
|
||||
amd/am5x86 := $(___) -march=i486 $(FPU_387) -mtune=i486 $(OPT_UARCH_PIPE) --param l1-cache-size=12 --param l2-cache-size=$(CACHE_486)
|
||||
amd/k5 := $(X__) -march=i586 $(FPU_387) -mtune=i586 $(OPT_UARCH_OOOE) --param l1-cache-size=8 --param l2-cache-size=$(CACHE_S7)
|
||||
amd/k6 := $(XX_) -march=k6 $(FPU_MMX) -mtune=k6 $(OPT_UARCH_OOOE_64) --param l1-cache-size=32 --param l2-cache-size=$(CACHE_S7)
|
||||
amd/k6-2 := $(XXX) -march=k6-2 $(FPU_3DNOW) -mtune=k6-2 $(OPT_UARCH_OOOE_64) --param l1-cache-size=32 --param l2-cache-size=$(CACHE_SS7)
|
||||
amd/k6-3 := $(___) -march=k6-3 $(FPU_3DNOW) -mtune=k6-3 $(OPT_UARCH_OOOE_64) --param l1-cache-size=32 --param l2-cache-size=256
|
||||
amd/k6-2+ := $(___) -march=k6-3 $(FPU_3DNOW) -mtune=k6-3 $(OPT_UARCH_OOOE_64) --param l1-cache-size=32 --param l2-cache-size=128
|
||||
amd/k6-3+ := $(___) -march=k6-3 $(FPU_3DNOW) -mtune=k6-3 $(OPT_UARCH_OOOE_64) --param l1-cache-size=32 --param l2-cache-size=256
|
||||
amd/athlon := $(XX_) -march=athlon $(FPU_3DNOWA) -mtune=athlon $(OPT_UARCH_OOOE_64) --param l1-cache-size=64 --param l2-cache-size=$(CACHE_ATHLON)
|
||||
amd/athlon-xp := $(XXX) -march=athlon-xp $(FPU_3DSSE) -mtune=athlon-xp $(OPT_UARCH_OOOE_128) --param l1-cache-size=64 --param l2-cache-size=$(CACHE_ATHLONXP)
|
||||
amd/athlon64 := $(X__) -march=k8 $(FPU_3DSSE2) -mtune=k8 $(OPT_UARCH_OOOE_128) --param l1-cache-size=64 --param l2-cache-size=$(CACHE_ATHLON64)
|
||||
amd/athlon64-sse3 := $(___) -march=k8-sse3 $(FPU_3DSSE3) -mtune=k8-sse3 $(OPT_UARCH_OOOE_128) --param l1-cache-size=64 --param l2-cache-size=$(CACHE_ATHLON64)
|
||||
amd/k10 := $(___) -march=amdfam10 $(FPU_3DSSE4) -mtune=amdfam10 $(OPT_UARCH_OOOE_128) --param l1-cache-size=64 --param l2-cache-size=512
|
||||
|
||||
amd/duron := $(X__) -march=athlon $(FPU_3DNOWA) -mtune=athlon $(OPT_UARCH_OOOE_64) --param l1-cache-size=64 --param l2-cache-size=$(CACHE_DURON)
|
||||
amd/duron-xp := $(___) -march=athlon-xp $(FPU_3DSSE) -mtune=athlon-xp $(OPT_UARCH_OOOE_128) --param l1-cache-size=64 --param l2-cache-size=$(CACHE_DURONXP)
|
||||
amd/sempron64 := $(___) -march=k8 $(FPU_3DSSE2) -mtune=k8 $(OPT_UARCH_OOOE_128) --param l1-cache-size=64 --param l2-cache-size=$(CACHE_SEMPRON64)
|
||||
|
||||
amd/geode-gx := $(___) -march=geode $(FPU_3DNOWA) -mtune=geode $(OPT_UARCH_OOOE_64) --param l1-cache-size=16 --param l2-cache-size=0
|
||||
amd/geode-lx := $(___) -march=geode $(FPU_3DNOWA) -mtune=geode $(OPT_UARCH_OOOE_64) --param l1-cache-size=64 --param l2-cache-size=128
|
||||
amd/geode-nx := $(___) -march=athlon-xp $(FPU_3DSSE) -mtune=athlon-xp $(OPT_UARCH_OOOE_128) --param l1-cache-size=64 --param l2-cache-size=256
|
||||
amd/bobcat := $(X__) -march=btver1 $(FPU_SSSE4A) -mtune=btver1 $(OPT_UARCH_OOOE_128) --param l1-cache-size=32 --param l2-cache-size=512
|
||||
amd/jaguar := $(___) -march=btver2 $(FPU_SSSE4A) -mtune=btver2 $(OPT_UARCH_OOOE_128) --param l1-cache-size=32 --param l2-cache-size=1024
|
||||
|
||||
amd/late := $(XX_) -march=i686 $(FPU_SSSE4A) -mtune=generic $(OPT_UARCH_OOOE_128)
|
||||
|
||||
|
||||
|
||||
ibm/386slc := $(___) -march=i386 $(FPU_NONE) -mtune=i386 $(OPT_DEF) --param l1-cache-size=6 --param l2-cache-size=$(CACHE_386)
|
||||
ibm/486slc := $(___) -march=i486 $(FPU_NONE) -mtune=i386 $(OPT_DEF) --param l1-cache-size=12 --param l2-cache-size=$(CACHE_386)
|
||||
ibm/486bl := $(___) -march=i486 $(FPU_NONE) -mtune=i386 $(OPT_DEF) --param l1-cache-size=12 --param l2-cache-size=$(CACHE_486)
|
||||
ct/38600 := $(___) -march=i386 $(FPU_NONE) -mtune=i486 $(OPT_UARCH_PIPE) --param l1-cache-size=0 --param l2-cache-size=$(CACHE_386)
|
||||
ct/38605 := $(___) -march=i386 $(FPU_NONE) -mtune=i486 $(OPT_UARCH_PIPE) --param l1-cache-size=1 --param l2-cache-size=$(CACHE_386)
|
||||
|
||||
|
||||
|
||||
cyrix/cx486slc := $(___) -march=i486 $(FPU_NONE) -mtune=i486 $(OPT_DEF) --param l1-cache-size=1 --param l2-cache-size=$(CACHE_386)
|
||||
cyrix/cx486dlc := $(___) -march=i486 $(FPU_NONE) -mtune=i486 $(OPT_DEF) --param l1-cache-size=1 --param l2-cache-size=$(CACHE_386)
|
||||
cyrix/cx4x86s := $(___) -march=i486 $(FPU_NONE) -mtune=i486 $(OPT_DEF) --param l1-cache-size=2 --param l2-cache-size=$(CACHE_486)
|
||||
nexgen/nx586 := $(___) -march=i486 $(FPU_NONE) $(TUNE_586) $(OPT_UARCH_OOOE) --param l1-cache-size=16 --param l2-cache-size=$(CACHE_486)
|
||||
|
||||
cyrix/cx4x86dx := $(___) -march=i486 $(FPU_387) -mtune=i486 $(OPT_DEF) --param l1-cache-size=6 --param l2-cache-size=$(CACHE_486)
|
||||
cyrix/cx5x86 := $(___) -march=i486 $(FPU_387) -mtune=i486 $(OPT_DEF) --param l1-cache-size=12 --param l2-cache-size=$(CACHE_486)
|
||||
cyrix/6x86 := $(XXX) -march=i486 $(FPU_387) $(TUNE_586) $(OPT_DEF) --param l1-cache-size=12 --param l2-cache-size=$(CACHE_S7)
|
||||
cyrix/6x86l := $(___) -march=i486 $(FPU_387) $(TUNE_586) $(OPT_DEF) --param l1-cache-size=12 --param l2-cache-size=$(CACHE_S7)
|
||||
cyrix/6x86mx := $(___) -march=i686 $(FPU_MMX) $(TUNE_686MMX) $(OPT_SIMD) --param l1-cache-size=48 --param l2-cache-size=$(CACHE_SS7)
|
||||
|
||||
cyrix/mediagx-gx := $(___) -march=i486 $(FPU_387) -mtune=i486 $(OPT_DEF) --param l1-cache-size=9 --param l2-cache-size=0
|
||||
cyrix/mediagx-gxm := $(___) -march=i686 $(FPU_MMX) $(TUNE_686MMX) $(OPT_SIMD) --param l1-cache-size=9 --param l2-cache-size=0
|
||||
nexgen/nx586pf := $(___) -march=i486 $(FPU_387) $(TUNE_586) $(OPT_UARCH_OOOE) --param l1-cache-size=16 --param l2-cache-size=$(CACHE_486)
|
||||
|
||||
|
||||
|
||||
nsc/geode-gx1 := $(___) -march=i686 $(FPU_MMX) $(TUNE_686MMX) $(OPT_SIMD) --param l1-cache-size=9 --param l2-cache-size=0
|
||||
nsc/geode-gx2 := $(___) -march=geode $(FPU_3DNOW) -mtune=geode $(OPT_SIMD) --param l1-cache-size=16 --param l2-cache-size=0
|
||||
ibm/386slc := $(___) -march=i386 $(FPU_NONE) -mtune=i386 $(OPT_UARCH_CISC) --param l1-cache-size=6 --param l2-cache-size=$(CACHE_386)
|
||||
ibm/486slc := $(___) -march=i486 $(FPU_NONE) -mtune=i386 $(OPT_UARCH_CISC) --param l1-cache-size=12 --param l2-cache-size=$(CACHE_386)
|
||||
ibm/486bl := $(___) -march=i486 $(FPU_NONE) -mtune=i386 $(OPT_UARCH_CISC) --param l1-cache-size=12 --param l2-cache-size=$(CACHE_486)
|
||||
|
||||
ibm/386slc+fasmath := $(___) -march=i386 $(FPU_387) -mtune=i386 $(OPT_UARCH_CISC) --param l1-cache-size=6 --param l2-cache-size=$(CACHE_386)
|
||||
ibm/486slc+fasmath := $(___) -march=i486 $(FPU_387) -mtune=i386 $(OPT_UARCH_CISC) --param l1-cache-size=12 --param l2-cache-size=$(CACHE_386)
|
||||
ibm/486bl+fasmath := $(___) -march=i486 $(FPU_387) -mtune=i386 $(OPT_UARCH_CISC) --param l1-cache-size=12 --param l2-cache-size=$(CACHE_486)
|
||||
|
||||
|
||||
|
||||
idt/winchip-c6 := $(XX_) -march=winchip-c6 $(FPU_MMX) -mtune=winchip-c6 $(OPT_SIMD) --param l1-cache-size=32 --param l2-cache-size=$(CACHE_S7)
|
||||
idt/winchip2 := $(XX_) -march=winchip2 $(FPU_3DNOW) -mtune=winchip2 $(OPT_SIMD) --param l1-cache-size=32 --param l2-cache-size=$(CACHE_SS7)
|
||||
cyrix/cx486slc := $(___) -march=i486 $(FPU_NONE) -mtune=i486 $(OPT_UARCH_PIPE) --param l1-cache-size=1 --param l2-cache-size=$(CACHE_386)
|
||||
cyrix/cx486dlc := $(___) -march=i486 $(FPU_NONE) -mtune=i486 $(OPT_UARCH_PIPE) --param l1-cache-size=1 --param l2-cache-size=$(CACHE_386)
|
||||
cyrix/cx4x86s := $(___) -march=i486 $(FPU_NONE) -mtune=i486 $(OPT_UARCH_PIPE) --param l1-cache-size=2 --param l2-cache-size=$(CACHE_486)
|
||||
|
||||
cyrix/cx486slc+80387 := $(___) -march=i486 $(FPU_387) -mtune=i486 $(OPT_UARCH_PIPE) --param l1-cache-size=1 --param l2-cache-size=$(CACHE_386)
|
||||
cyrix/cx486dlc+80387 := $(___) -march=i486 $(FPU_387) -mtune=i486 $(OPT_UARCH_PIPE) --param l1-cache-size=1 --param l2-cache-size=$(CACHE_386)
|
||||
cyrix/cx4x86s+cx487s := $(___) -march=i486 $(FPU_387) -mtune=i486 $(OPT_UARCH_PIPE) --param l1-cache-size=2 --param l2-cache-size=$(CACHE_486)
|
||||
cyrix/cx4x86dx := $(___) -march=i486 $(FPU_387) -mtune=i486 $(OPT_UARCH_PIPE) --param l1-cache-size=6 --param l2-cache-size=$(CACHE_486)
|
||||
cyrix/cx5x86 := $(___) -march=i486 $(FPU_387) -mtune=i486 $(OPT_UARCH_SCAL) --param l1-cache-size=12 --param l2-cache-size=$(CACHE_486)
|
||||
cyrix/6x86 := $(XXX) -march=i486 $(FPU_387) $(TUNE_586) $(OPT_UARCH_OOOE) --param l1-cache-size=12 --param l2-cache-size=$(CACHE_S7)
|
||||
cyrix/6x86l := $(___) -march=i486 $(FPU_387) $(TUNE_586) $(OPT_UARCH_OOOE) --param l1-cache-size=12 --param l2-cache-size=$(CACHE_S7)
|
||||
cyrix/6x86mx := $(XX_) -march=i686 $(FPU_MMX) $(TUNE_686MMX) $(OPT_UARCH_OOOE_64) --param l1-cache-size=48 --param l2-cache-size=$(CACHE_SS7)
|
||||
|
||||
cyrix/mediagx-gx := $(___) -march=i486 $(FPU_387) -mtune=i486 $(OPT_UARCH_SCAL) --param l1-cache-size=9 --param l2-cache-size=0
|
||||
cyrix/mediagx-gxm := $(___) -march=i686 $(FPU_MMX) $(TUNE_686MMX) $(OPT_UARCH_SCAL_64) --param l1-cache-size=9 --param l2-cache-size=0
|
||||
|
||||
|
||||
|
||||
via/cyrix3-joshua := $(XX_) -march=i686 $(FPU_3DNOW) $(TUNE_686MMX) $(OPT_SIMD) --param l1-cache-size=48 --param l2-cache-size=256
|
||||
via/cyrix3-samuel := $(___) -march=c3 $(FPU_3DNOW) -mtune=c3 $(OPT_SIMD) --param l1-cache-size=64 --param l2-cache-size=0
|
||||
via/c3-samuel2 := $(___) -march=samuel-2 $(FPU_3DNOW) -mtune=samuel-2 $(OPT_SIMD) --param l1-cache-size=64 --param l2-cache-size=64
|
||||
via/c3-ezra := $(___) -march=samuel-2 $(FPU_3DNOW) -mtune=samuel-2 $(OPT_SIMD) --param l1-cache-size=64 --param l2-cache-size=64
|
||||
via/c3-nehemiah := $(XX_) -march=nehemiah $(FPU_SSE) -mtune=nehemiah $(OPT_SIMD) --param l1-cache-size=64 --param l2-cache-size=64
|
||||
via/c7-esther := $(XX_) -march=esther $(FPU_SSE3) -mtune=esther $(OPT_SIMD) --param l1-cache-size=64 --param l2-cache-size=128
|
||||
|
||||
via/late := $(XX_) -march=i686 $(FPU_SSE3) -mtune=esther $(OPT_SIMD)
|
||||
nsc/geode-gx1 := $(___) -march=i686 $(FPU_MMX) $(TUNE_686MMX) $(OPT_UARCH_SCAL_64) --param l1-cache-size=9 --param l2-cache-size=0
|
||||
nsc/geode-gx2 := $(___) -march=geode $(FPU_3DNOWA) -mtune=geode $(OPT_UARCH_OOOE_64) --param l1-cache-size=16 --param l2-cache-size=0
|
||||
|
||||
|
||||
|
||||
umc/u5s := $(___) -march=i486 $(FPU_NONE) -mtune=i486 $(OPT_DEF) --param l1-cache-size=6 --param l2-cache-size=$(CACHE_486)
|
||||
umc/u5d := $(___) -march=i486 $(FPU_387) -mtune=i486 $(OPT_DEF) --param l1-cache-size=6 --param l2-cache-size=$(CACHE_486)
|
||||
idt/winchip-c6 := $(X__) -march=i586 $(FPU_MMX) -mtune=winchip-c6 $(OPT_UARCH_PIPE_64) --param l1-cache-size=32 --param l2-cache-size=$(CACHE_S7)
|
||||
idt/winchip2 := $(X__) -march=i586 $(FPU_3DNOW) -mtune=winchip2 $(OPT_UARCH_SCAL_64) --param l1-cache-size=32 --param l2-cache-size=$(CACHE_SS7)
|
||||
|
||||
|
||||
|
||||
transmeta/crusoe := $(___) -march=i686 $(FPU_MMX) $(TUNE_686MMX) $(OPT_SIMD) --param l1-cache-size=64 --param l2-cache-size=256
|
||||
transmeta/efficeon:= $(___) -march=i686 $(FPU_SSE2) $(TUNE_686SSE2) $(OPT_SIMD) --param l1-cache-size=64 --param l2-cache-size=1024
|
||||
transmeta/tm8800 := $(___) -march=i686 $(FPU_SSE3) $(TUNE_686SSE3) $(OPT_SIMD) --param l1-cache-size=64 --param l2-cache-size=1024
|
||||
via/cyrix3-joshua := $(___) -march=i686 $(FPU_3DNOW) $(TUNE_6863DN) $(OPT_UARCH_OOOE_64) --param l1-cache-size=48 --param l2-cache-size=256
|
||||
via/c3-samuel := $(___) -march=c3 $(FPU_3DNOW) -mtune=c3 $(OPT_UARCH_SCAL_64) --param l1-cache-size=64 --param l2-cache-size=0
|
||||
via/c3-samuel2 := $(___) -march=samuel-2 $(FPU_3DNOW) -mtune=samuel-2 $(OPT_UARCH_SCAL_64) --param l1-cache-size=64 --param l2-cache-size=64
|
||||
via/c3-ezra := $(___) -march=samuel-2 $(FPU_3DNOW) -mtune=samuel-2 $(OPT_UARCH_SCAL_64) --param l1-cache-size=64 --param l2-cache-size=64
|
||||
via/c3-nehemiah := $(___) -march=nehemiah $(FPU_SSE) -mtune=nehemiah $(OPT_UARCH_SCAL_128) --param l1-cache-size=64 --param l2-cache-size=64
|
||||
via/c7-esther := $(XX_) -march=esther $(FPU_SSE3) -mtune=esther $(OPT_UARCH_SCAL_128) --param l1-cache-size=64 --param l2-cache-size=128
|
||||
via/eden-x2 := $(___) -march=eden-x2 $(FPU_SSE3) -mtune=eden-x2 $(OPT_UARCH_SCAL_128) --param l1-cache-size=64 --param l2-cache-size=64
|
||||
via/nano := $(___) -march=nano $(FPU_SSSE3) -mtune=nano $(OPT_UARCH_SCAL_128) --param l1-cache-size=64 --param l2-cache-size=1024
|
||||
via/nano-1000 := $(___) -march=nano-1000 $(FPU_SSSE3) -mtune=nano-1000 $(OPT_UARCH_SCAL_128) --param l1-cache-size=64 --param l2-cache-size=1024
|
||||
via/nano-2000 := $(___) -march=nano-2000 $(FPU_SSSE3) -mtune=nano-2000 $(OPT_UARCH_SCAL_128) --param l1-cache-size=64 --param l2-cache-size=1024
|
||||
via/nano-3000 := $(___) -march=nano-3000 $(FPU_SSE4_1) -mtune=nano-3000 $(OPT_UARCH_SCAL_128) --param l1-cache-size=64 --param l2-cache-size=1024
|
||||
via/nano-4000 := $(___) -march=nano-4000 $(FPU_SSE4_1) -mtune=nano-4000 $(OPT_UARCH_SCAL_128) --param l1-cache-size=64 --param l2-cache-size=1024
|
||||
via/nano-x2 := $(___) -march=nano-x2 $(FPU_SSE4_1) -mtune=nano-x2 $(OPT_UARCH_SCAL_128) --param l1-cache-size=64 --param l2-cache-size=1024
|
||||
via/nano-x4 := $(___) -march=nano-x4 $(FPU_SSE4_1) -mtune=nano-x4 $(OPT_UARCH_SCAL_128) --param l1-cache-size=64 --param l2-cache-size=1024
|
||||
via/eden-x4 := $(___) -march=eden-x4 $(FPU_SSE4_2) -mtune=eden-x4 $(OPT_UARCH_SCAL_128) --param l1-cache-size=64 --param l2-cache-size=2048
|
||||
|
||||
via/late := $(XX_) -march=eden-x4 $(FPU_SSE4_2) -mtune=eden-x4 $(OPT_UARCH_SCAL_128)
|
||||
|
||||
|
||||
|
||||
uli/m6117c := $(___) -march=i386 $(FPU_NONE) -mtune=i386 $(OPT_DEF) --param l1-cache-size=0 --param l2-cache-size=$(CACHE_386)
|
||||
umc/u5s := $(___) -march=i486 $(FPU_NONE) -mtune=i486 $(OPT_UARCH_PIPE) --param l1-cache-size=6 --param l2-cache-size=$(CACHE_486)
|
||||
umc/u5d := $(___) -march=i486 $(FPU_387) -mtune=i486 $(OPT_UARCH_PIPE) --param l1-cache-size=6 --param l2-cache-size=$(CACHE_486)
|
||||
|
||||
|
||||
|
||||
rise/mp6 := $(XX_) -march=i586 $(FPU_MMX) $(TUNE_586MMX) $(OPT_SIMD) --param l1-cache-size=8 --param l2-cache-size=$(CACHE_SS7)
|
||||
transmeta/crusoe := $(X__) -march=i686 $(FPU_MMX) $(TUNE_686MMX) $(OPT_UARCH_COMP) --param l1-cache-size=64 --param l2-cache-size=256
|
||||
transmeta/efficeon := $(___) -march=i686 $(FPU_SSE2) $(TUNE_686SSE2) $(OPT_UARCH_COMP) --param l1-cache-size=64 --param l2-cache-size=1024
|
||||
transmeta/tm8800 := $(___) -march=i686 $(FPU_SSE3) $(TUNE_686SSE3) $(OPT_UARCH_COMP) --param l1-cache-size=64 --param l2-cache-size=1024
|
||||
|
||||
|
||||
|
||||
sis/55x := $(___) -march=i586 $(FPU_MMX) $(TUNE_586MMX) $(OPT_SIMD) --param l1-cache-size=8 --param l2-cache-size=0
|
||||
uli/m6117c := $(___) -march=i386 $(FPU_NONE) -mtune=i386 $(OPT_UARCH_CISC) --param l1-cache-size=0 --param l2-cache-size=$(CACHE_386)
|
||||
|
||||
|
||||
|
||||
dmnp/m6117d := $(___) -march=i386 $(FPU_NONE) -mtune=i386 $(OPT_DEF) --param l1-cache-size=0 --param l2-cache-size=$(CACHE_386)
|
||||
dmnp/vortex86sx := $(___) -march=i386 $(FPU_NONE) -mtune=i386 $(OPT_DEF) --param l1-cache-size=16 --param l2-cache-size=0
|
||||
rise/mp6 := $(X__) -march=i586 $(FPU_MMX) $(TUNE_586MMX) $(OPT_UARCH_SCAL_64) --param l1-cache-size=8 --param l2-cache-size=$(CACHE_SS7)
|
||||
|
||||
dmnp/vortex86dx := $(___) -march=i486 $(FPU_387) -mtune=i486 $(OPT_DEF) --param l1-cache-size=16 --param l2-cache-size=256
|
||||
dmnp/vortex86mx := $(___) -march=i486 $(FPU_387) -mtune=i486 $(OPT_DEF) --param l1-cache-size=16 --param l2-cache-size=256
|
||||
dmnp/vortex86 := $(___) -march=i586 $(FPU_MMX) $(TUNE_586MMX) $(OPT_SIMD) --param l1-cache-size=8 --param l2-cache-size=0
|
||||
dmnp/vortex86dx2 := $(___) -march=i586 $(FPU_MMX) $(TUNE_586MMX) $(OPT_SIMD) --param l1-cache-size=16 --param l2-cache-size=256
|
||||
dmnp/vortex86dx3 := $(___) -march=i686 $(FPU_SSE) $(TUNE_686SSE) $(OPT_SIMD) --param l1-cache-size=32 --param l2-cache-size=512
|
||||
|
||||
|
||||
sis/55x := $(___) -march=i586 $(FPU_MMX) $(TUNE_586MMX) $(OPT_UARCH_SCAL_64) --param l1-cache-size=8 --param l2-cache-size=0
|
||||
|
||||
|
||||
|
||||
dmnp/m6117d := $(___) -march=i386 $(FPU_NONE) -mtune=i386 $(OPT_UARCH_CISC) --param l1-cache-size=0 --param l2-cache-size=$(CACHE_386)
|
||||
dmnp/vortex86 := $(___) -march=i586 $(FPU_MMX) $(TUNE_586MMX) $(OPT_UARCH_SCAL_64) --param l1-cache-size=8 --param l2-cache-size=0
|
||||
dmnp/vortex86sx := $(___) -march=i586 $(FPU_NONE) $(TUNE_586) $(OPT_UARCH_SCAL) --param l1-cache-size=16 --param l2-cache-size=0
|
||||
dmnp/vortex86dx := $(___) -march=i586 $(FPU_387) $(TUNE_586) $(OPT_UARCH_SCAL) --param l1-cache-size=16 --param l2-cache-size=256
|
||||
dmnp/vortex86mx := $(___) -march=i586 $(FPU_387) $(TUNE_586) $(OPT_UARCH_SCAL) --param l1-cache-size=16 --param l2-cache-size=256
|
||||
dmnp/vortex86mxp := $(___) -march=i586 $(FPU_387) $(TUNE_586) $(OPT_UARCH_SCAL) --param l1-cache-size=16 --param l2-cache-size=256
|
||||
dmnp/vortex86dx2 := $(___) -march=i586 $(FPU_387) $(TUNE_586) $(OPT_UARCH_SCAL) --param l1-cache-size=16 --param l2-cache-size=256
|
||||
dmnp/vortex86ex := $(___) -march=i586 $(FPU_387) $(TUNE_586) $(OPT_UARCH_SCAL) --param l1-cache-size=16 --param l2-cache-size=128
|
||||
dmnp/vortex86dx3 := $(___) -march=i686 $(FPU_SSE) $(TUNE_686SSE) $(OPT_UARCH_SCAL_128) --param l1-cache-size=32 --param l2-cache-size=256
|
||||
dmnp/vortex86ex2 := $(___) -march=i686 $(FPU_SSE) $(TUNE_686SSE) $(OPT_UARCH_SCAL_128) --param l1-cache-size=32 --param l2-cache-size=128
|
||||
|
||||
|
||||
|
||||
|
@ -301,12 +408,25 @@ CPUFLAGS := $($(CPU))
|
|||
|
||||
# parse CPU optimization options
|
||||
ifeq ($(findstring -O3,$(CPUFLAGS)),-O3)
|
||||
OPTIMIZE=vectorize
|
||||
CPUFLAGS := $(filter-out -O3,$(CPUFLAGS))
|
||||
MPT_COMPILER_NO_O=1
|
||||
endif
|
||||
ifeq ($(findstring -O2,$(CPUFLAGS)),-O2)
|
||||
MPT_COMPILER_NO_O=1
|
||||
endif
|
||||
ifeq ($(findstring -Os,$(CPUFLAGS)),-Os)
|
||||
OPTIMIZE=size
|
||||
CPUFLAGS := $(filter-out -Os,$(CPUFLAGS))
|
||||
MPT_COMPILER_NO_O=1
|
||||
endif
|
||||
ifeq ($(findstring -Oz,$(CPUFLAGS)),-Oz)
|
||||
MPT_COMPILER_NO_O=1
|
||||
endif
|
||||
ifeq ($(findstring -O1,$(CPUFLAGS)),-O1)
|
||||
MPT_COMPILER_NO_O=1
|
||||
endif
|
||||
ifeq ($(findstring -O0,$(CPUFLAGS)),-O0)
|
||||
MPT_COMPILER_NO_O=1
|
||||
endif
|
||||
ifeq ($(findstring -Og,$(CPUFLAGS)),-Og)
|
||||
MPT_COMPILER_NO_O=1
|
||||
endif
|
||||
|
||||
# Handle the no-FPU case by linking DJGPP's own emulator.
|
||||
|
@ -328,6 +448,7 @@ endif
|
|||
ifeq ($(FLAVOURED_DIR),1)
|
||||
|
||||
EXESUFFIX=.exe
|
||||
SOSUFFIX=.dxe
|
||||
ifeq ($(findstring -msse,$(CPUFLAGS)),-msse)
|
||||
FLAVOUR_DIR=$(CPU)-sse/
|
||||
FLAVOUR_O=.$(subst /,-,$(CPU)-sse)
|
||||
|
@ -341,19 +462,32 @@ else ifeq ($(FLAVOURED_EXE),1)
|
|||
|
||||
ifeq ($(CPU),generic/common)
|
||||
EXESUFFIX=.exe
|
||||
SOSUFFIX=.dxe
|
||||
else
|
||||
EXESUFFIX:=.exe
|
||||
SOSUFFIX=.dxe
|
||||
ifeq ($(findstring -msse,$(CPUFLAGS)),-msse)
|
||||
EXESUFFIX:=-SSE$(EXESUFFIX)
|
||||
SOSUFFIX:=-SSE$(SOSUFFIX)
|
||||
endif
|
||||
ifeq ($(OPTIMIZE),size)
|
||||
ifeq ($(OPTIMIZE),some)
|
||||
EXESUFFIX:=-O1$(EXESUFFIX)
|
||||
SOSUFFIX:=-O1$(SOSUFFIX)
|
||||
else ifeq ($(OPTIMIZE),extrasize)
|
||||
EXESUFFIX:=-Oz$(EXESUFFIX)
|
||||
SOSUFFIX:=-Oz$(SOSUFFIX)
|
||||
else ifeq ($(OPTIMIZE),size)
|
||||
EXESUFFIX:=-Os$(EXESUFFIX)
|
||||
SOSUFFIX:=-Os$(SOSUFFIX)
|
||||
else ifeq ($(OPTIMIZE),speed)
|
||||
EXESUFFIX:=-O2$(EXESUFFIX)
|
||||
SOSUFFIX:=-O2$(SOSUFFIX)
|
||||
else ifeq ($(OPTIMIZE),vectorize)
|
||||
EXESUFFIX:=-O3$(EXESUFFIX)
|
||||
SOSUFFIX:=-O3$(SOSUFFIX)
|
||||
endif
|
||||
EXESUFFIX:=-$(subst /,-,$(CPU))$(EXESUFFIX)
|
||||
SOSUFFIX:=-$(subst /,-,$(CPU))$(SOSUFFIX)
|
||||
endif
|
||||
ifeq ($(findstring -msse,$(CPUFLAGS)),-msse)
|
||||
FLAVOUR_O=.$(subst /,-,$(CPU)-sse)
|
||||
|
@ -364,12 +498,13 @@ endif
|
|||
else
|
||||
|
||||
EXESUFFIX=.exe
|
||||
SOSUFFIX=.dxe
|
||||
FLAVOUR_DIR=
|
||||
FLAVOUR_O=
|
||||
|
||||
endif
|
||||
|
||||
CPPFLAGS +=
|
||||
CPPFLAGS +=
|
||||
CXXFLAGS += $(CPU_CFLAGS)
|
||||
CFLAGS += $(CPU_CFLAGS)
|
||||
LDFLAGS += $(CPU_LDFLAGS)
|
||||
|
@ -383,6 +518,7 @@ MPT_COMPILER_NOIPARA=1
|
|||
|
||||
include build/make/warnings-gcc.mk
|
||||
|
||||
ALLOW_LGPL=1
|
||||
DYNLINK=0
|
||||
SHARED_LIB=0
|
||||
STATIC_LIB=1
|
||||
|
@ -396,10 +532,15 @@ IS_CROSS=1
|
|||
MPT_COMPILER_NOVISIBILITY=1
|
||||
|
||||
# causes crashes on process shutdown with liballegro
|
||||
MPT_COMPILER_NOSECTIONS=1
|
||||
MPT_COMPILER_NOGCSECTIONS=1
|
||||
|
||||
MPT_COMPILER_NOALLOCAH=1
|
||||
|
||||
NO_SHARED_LINKER_FLAG=1
|
||||
|
||||
ENABLE_DXE=1
|
||||
|
||||
ifeq ($(OPTIMIZE_LTO),1)
|
||||
CXXFLAGS += -flto=auto -Wno-attributes
|
||||
CFLAGS += -flto=auto -Wno-attributes
|
||||
|
|
|
@ -19,6 +19,8 @@ EMSCRIPTEN_PORTS?=0
|
|||
|
||||
ifneq ($(STDCXX),)
|
||||
CXXFLAGS_STDCXX = -std=$(STDCXX)
|
||||
else ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=c++23 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++23' ; fi ), c++23)
|
||||
CXXFLAGS_STDCXX = -std=c++23
|
||||
else ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=c++20 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++20' ; fi ), c++20)
|
||||
CXXFLAGS_STDCXX = -std=c++20
|
||||
else
|
||||
|
@ -26,6 +28,10 @@ CXXFLAGS_STDCXX = -std=c++17
|
|||
endif
|
||||
ifneq ($(STDC),)
|
||||
CFLAGS_STDC = -std=$(STDC)
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c23 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c23' ; fi ), c23)
|
||||
CFLAGS_STDC = -std=c23
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c18 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c18' ; fi ), c18)
|
||||
CFLAGS_STDC = -std=c18
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c17 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c17' ; fi ), c17)
|
||||
CFLAGS_STDC = -std=c17
|
||||
else
|
||||
|
@ -48,9 +54,15 @@ LDFLAGS += -pthread
|
|||
endif
|
||||
|
||||
ifeq ($(EMSCRIPTEN_PORTS),1)
|
||||
ifeq ($(ANCIENT),1)
|
||||
CXXFLAGS += -s USE_ZLIB=1 -sUSE_MPG123=1 -sUSE_OGG=1 -sUSE_VORBIS=1 -DMPT_WITH_ZLIB -DMPT_WITH_MPG123 -DMPT_WITH_VORBIS -DMPT_WITH_VORBISFILE -DMPT_WITH_OGG
|
||||
CFLAGS += -s USE_ZLIB=1 -sUSE_MPG123=1 -sUSE_OGG=1 -sUSE_VORBIS=1 -DMPT_WITH_ZLIB -DMPT_WITH_MPG123 -DMPT_WITH_VORBIS -DMPT_WITH_VORBISFILE -DMPT_WITH_OGG
|
||||
LDFLAGS += -s USE_ZLIB=1 -sUSE_MPG123=1 -sUSE_OGG=1 -sUSE_VORBIS=1
|
||||
else
|
||||
CXXFLAGS += --use-port=zlib --use-port=mpg123 --use-port=vorbis --use-port=ogg -DMPT_WITH_ZLIB -DMPT_WITH_MPG123 -DMPT_WITH_VORBIS -DMPT_WITH_VORBISFILE -DMPT_WITH_OGG
|
||||
CFLAGS += --use-port=zlib --use-port=mpg123 --use-port=vorbis --use-port=ogg -DMPT_WITH_ZLIB -DMPT_WITH_MPG123 -DMPT_WITH_VORBIS -DMPT_WITH_VORBISFILE -DMPT_WITH_OGG
|
||||
LDFLAGS += --use-port=zlib --use-port=mpg123 --use-port=vorbis --use-port=ogg
|
||||
endif
|
||||
NO_MINIZ=1
|
||||
NO_MINIMP3=1
|
||||
NO_STBVORBIS=1
|
||||
|
@ -70,15 +82,9 @@ CXXFLAGS += -flto
|
|||
CFLAGS += -flto
|
||||
LDFLAGS += -flto
|
||||
|
||||
# Work-around <https://github.com/emscripten-core/emscripten/issues/20810>.
|
||||
# The warning with emscripten 3.1.50 sounds very dangerous,
|
||||
# and since it is apparently caused by removing whitespace,
|
||||
# additional whitespace is a small price to pay for correctness.
|
||||
LDFLAGS += -g1
|
||||
|
||||
ifeq ($(EMSCRIPTEN_TARGET),default)
|
||||
# emits whatever is emscripten's default, currently (1.38.8) this is the same as "wasm" below.
|
||||
CPPFLAGS += -DMPT_BUILD_WASM
|
||||
# emits whatever is emscripten's default, currently (13.1.51) this is the same as "wasm" below.
|
||||
CPPFLAGS +=
|
||||
CXXFLAGS +=
|
||||
CFLAGS +=
|
||||
LDFLAGS +=
|
||||
|
@ -87,10 +93,10 @@ LDFLAGS += -s ALLOW_MEMORY_GROWTH=1
|
|||
|
||||
else ifeq ($(EMSCRIPTEN_TARGET),all)
|
||||
# emits native wasm AND javascript with full wasm optimizations.
|
||||
CPPFLAGS += -DMPT_BUILD_WASM
|
||||
CPPFLAGS +=
|
||||
CXXFLAGS +=
|
||||
CFLAGS +=
|
||||
LDFLAGS += -s WASM=2 -s LEGACY_VM_SUPPORT=1 -Wno-transpile
|
||||
LDFLAGS += -s WASM=2 -s LEGACY_VM_SUPPORT=1
|
||||
|
||||
# work-around <https://github.com/emscripten-core/emscripten/issues/17897>.
|
||||
CXXFLAGS += -fno-inline-functions
|
||||
|
@ -101,7 +107,7 @@ LDFLAGS += -s ALLOW_MEMORY_GROWTH=1
|
|||
|
||||
else ifeq ($(EMSCRIPTEN_TARGET),audioworkletprocessor)
|
||||
# emits an es6 module in a single file suitable for use in an AudioWorkletProcessor
|
||||
CPPFLAGS += -DMPT_BUILD_WASM -DMPT_BUILD_AUDIOWORKLETPROCESSOR
|
||||
CPPFLAGS += -DMPT_BUILD_AUDIOWORKLETPROCESSOR
|
||||
CXXFLAGS +=
|
||||
CFLAGS +=
|
||||
LDFLAGS += -s WASM=1 -s WASM_ASYNC_COMPILATION=0 -s MODULARIZE=1 -s EXPORT_ES6=1 -s SINGLE_FILE=1
|
||||
|
@ -110,7 +116,7 @@ LDFLAGS += -s ALLOW_MEMORY_GROWTH=1
|
|||
|
||||
else ifeq ($(EMSCRIPTEN_TARGET),wasm)
|
||||
# emits native wasm.
|
||||
CPPFLAGS += -DMPT_BUILD_WASM
|
||||
CPPFLAGS +=
|
||||
CXXFLAGS +=
|
||||
CFLAGS +=
|
||||
LDFLAGS += -s WASM=1
|
||||
|
@ -119,10 +125,10 @@ LDFLAGS += -s ALLOW_MEMORY_GROWTH=1
|
|||
|
||||
else ifeq ($(EMSCRIPTEN_TARGET),js)
|
||||
# emits only plain javascript with plain javascript focused optimizations.
|
||||
CPPFLAGS += -DMPT_BUILD_ASMJS
|
||||
CPPFLAGS +=
|
||||
CXXFLAGS +=
|
||||
CFLAGS +=
|
||||
LDFLAGS += -s WASM=0 -s LEGACY_VM_SUPPORT=1 -Wno-transpile
|
||||
LDFLAGS += -s WASM=0 -s LEGACY_VM_SUPPORT=1
|
||||
|
||||
# work-around <https://github.com/emscripten-core/emscripten/issues/17897>.
|
||||
CXXFLAGS += -fno-inline-functions
|
||||
|
@ -138,6 +144,8 @@ CFLAGS += -s DISABLE_EXCEPTION_CATCHING=0 -fno-strict-aliasing
|
|||
LDFLAGS += -s DISABLE_EXCEPTION_CATCHING=0 -s ERROR_ON_UNDEFINED_SYMBOLS=1 -s ERROR_ON_MISSING_LIBRARIES=1 -s EXPORT_NAME="'libopenmpt'"
|
||||
SO_LDFLAGS += -s EXPORTED_FUNCTIONS="['_malloc','_free']"
|
||||
|
||||
NO_NO_UNDEFINED_LINKER_FLAG=1
|
||||
|
||||
include build/make/warnings-clang.mk
|
||||
|
||||
REQUIRES_RUNPREFIX=1
|
||||
|
@ -145,7 +153,7 @@ REQUIRES_RUNPREFIX=1
|
|||
EXESUFFIX=.js
|
||||
SOSUFFIX=.js
|
||||
RUNPREFIX=node
|
||||
TEST_LDFLAGS= --pre-js build/make/test-pre.js -lnodefs.js
|
||||
TEST_LDFLAGS= -lnodefs.js
|
||||
|
||||
ifeq ($(EMSCRIPTEN_THREADS),1)
|
||||
RUNPREFIX+=--experimental-wasm-threads --experimental-wasm-bulk-memory
|
||||
|
|
|
@ -14,6 +14,8 @@ endif
|
|||
|
||||
ifneq ($(STDCXX),)
|
||||
CXXFLAGS_STDCXX = -std=$(STDCXX) -fexceptions -frtti -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=c++23 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++23' ; fi ), c++23)
|
||||
CXXFLAGS_STDCXX = -std=c++23 -fexceptions -frtti -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=c++20 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++20' ; fi ), c++20)
|
||||
CXXFLAGS_STDCXX = -std=c++20 -fexceptions -frtti -pthread
|
||||
else
|
||||
|
@ -21,6 +23,10 @@ CXXFLAGS_STDCXX = -std=c++17 -fexceptions -frtti -pthread
|
|||
endif
|
||||
ifneq ($(STDC),)
|
||||
CFLAGS_STDC = -std=$(STDC) -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c23 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c23' ; fi ), c23)
|
||||
CFLAGS_STDC = -std=c23 -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c18 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c18' ; fi ), c18)
|
||||
CFLAGS_STDC = -std=c18 -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c17 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c17' ; fi ), c17)
|
||||
CFLAGS_STDC = -std=c17 -pthread
|
||||
else
|
||||
|
|
|
@ -14,6 +14,8 @@ endif
|
|||
|
||||
ifneq ($(STDCXX),)
|
||||
CXXFLAGS_STDCXX = -std=$(STDCXX) -fexceptions -frtti -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=c++23 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++23' ; fi ), c++23)
|
||||
CXXFLAGS_STDCXX = -std=c++23 -fexceptions -frtti -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=c++20 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++20' ; fi ), c++20)
|
||||
CXXFLAGS_STDCXX = -std=c++20 -fexceptions -frtti -pthread
|
||||
else
|
||||
|
@ -21,6 +23,10 @@ CXXFLAGS_STDCXX = -std=c++17 -fexceptions -frtti -pthread
|
|||
endif
|
||||
ifneq ($(STDC),)
|
||||
CFLAGS_STDC = -std=$(STDC) -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c23 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c23' ; fi ), c23)
|
||||
CFLAGS_STDC = -std=c23 -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c18 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c18' ; fi ), c18)
|
||||
CFLAGS_STDC = -std=c18 -pthread
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c17 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c17' ; fi ), c17)
|
||||
CFLAGS_STDC = -std=c17 -pthread
|
||||
else
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
|
||||
NO_NO_UNDEFINED_LINKER_FLAG=1
|
||||
NO_PULSEAUDIO?=1
|
||||
include build/make/config-clang.mk
|
||||
# Mac OS X overrides
|
||||
|
|
|
@ -38,6 +38,8 @@ endif
|
|||
|
||||
ifneq ($(STDCXX),)
|
||||
CXXFLAGS_STDCXX = -std=$(STDCXX) -fexceptions -frtti
|
||||
else ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=c++23 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++23' ; fi ), c++23)
|
||||
CXXFLAGS_STDCXX = -std=c++23 -fexceptions -frtti
|
||||
else ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=c++20 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++20' ; fi ), c++20)
|
||||
CXXFLAGS_STDCXX = -std=c++20 -fexceptions -frtti
|
||||
else
|
||||
|
@ -45,6 +47,10 @@ CXXFLAGS_STDCXX = -std=c++17 -fexceptions -frtti
|
|||
endif
|
||||
ifneq ($(STDC),)
|
||||
CFLAGS_STDC = -std=$(STDC)
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c23 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c23' ; fi ), c23)
|
||||
CFLAGS_STDC = -std=c23
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c18 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c18' ; fi ), c18)
|
||||
CFLAGS_STDC = -std=c18
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=c17 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c17' ; fi ), c17)
|
||||
CFLAGS_STDC = -std=c17
|
||||
else
|
||||
|
@ -119,6 +125,8 @@ else
|
|||
$(error unknown WINDOWS_VERSION)
|
||||
endif
|
||||
|
||||
MPT_COMPILER_NOALLOCAH=1
|
||||
|
||||
ifneq ($(MINGW_COMPILER),clang)
|
||||
# See <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115049>.
|
||||
MPT_COMPILER_NOIPARA=1
|
||||
|
@ -134,22 +142,34 @@ EXESUFFIX=.exe
|
|||
SOSUFFIX=.dll
|
||||
SOSUFFIXWINDOWS=1
|
||||
|
||||
ALLOW_LGPL=0
|
||||
|
||||
DYNLINK=0
|
||||
SHARED_LIB=1
|
||||
STATIC_LIB=0
|
||||
SHARED_SONAME=0
|
||||
|
||||
ENABLE_DLL=1
|
||||
|
||||
ifeq ($(HOST_FLAVOUR),MSYS2)
|
||||
|
||||
else
|
||||
|
||||
IS_CROSS=1
|
||||
|
||||
ifeq ($(ALLOW_LGPL),1)
|
||||
LOCAL_ZLIB=1
|
||||
LOCAL_MPG123=1
|
||||
LOCAL_OGG=1
|
||||
LOCAL_VORBIS=1
|
||||
else
|
||||
NO_ZLIB=1
|
||||
NO_MPG123=1
|
||||
NO_OGG=1
|
||||
NO_VORBIS=1
|
||||
NO_VORBISFILE=1
|
||||
endif
|
||||
|
||||
NO_PORTAUDIO=1
|
||||
NO_PORTAUDIOCPP=1
|
||||
NO_PULSEAUDIO=1
|
||||
|
|
|
@ -14,6 +14,8 @@ endif
|
|||
|
||||
ifneq ($(STDCXX),)
|
||||
CXXFLAGS_STDCXX = -std=$(STDCXX) -fexceptions -frtti
|
||||
else ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=gnu++23 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++23' ; fi ), c++23)
|
||||
CXXFLAGS_STDCXX = -std=gnu++23 -fexceptions -frtti
|
||||
else ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=gnu++20 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++20' ; fi ), c++20)
|
||||
CXXFLAGS_STDCXX = -std=gnu++20 -fexceptions -frtti
|
||||
else
|
||||
|
@ -21,6 +23,10 @@ CXXFLAGS_STDCXX = -std=gnu++17 -fexceptions -frtti
|
|||
endif
|
||||
ifneq ($(STDC),)
|
||||
CFLAGS_STDC = -std=$(STDC)
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=gnu23 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c23' ; fi ), c23)
|
||||
CFLAGS_STDC = -std=gnu23
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=gnu18 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c18' ; fi ), c18)
|
||||
CFLAGS_STDC = -std=gnu18
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=gnu17 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c17' ; fi ), c17)
|
||||
CFLAGS_STDC = -std=gnu17
|
||||
else
|
||||
|
@ -68,6 +74,8 @@ CXXFLAGS += -ffunction-sections -fdata-sections
|
|||
CFLAGS += -ffunction-sections -fdata-sections
|
||||
LDFLAGS += -Wl,--gc-sections
|
||||
|
||||
MPT_COMPILER_NOALLOCAH=1
|
||||
|
||||
CXXFLAGS += -march=i586 -m80387 -mtune=pentium
|
||||
CFLAGS += -march=i586 -m80387 -mtune=pentium
|
||||
|
||||
|
@ -96,11 +104,19 @@ XMP_OPENMPT=1
|
|||
|
||||
IS_CROSS=1
|
||||
|
||||
ifeq ($(ALLOW_LGPL),1)
|
||||
LOCAL_ZLIB=1
|
||||
LOCAL_MPG123=1
|
||||
LOCAL_OGG=1
|
||||
LOCAL_VORBIS=1
|
||||
else
|
||||
NO_ZLIB=1
|
||||
NO_MPG123=1
|
||||
NO_OGG=1
|
||||
NO_VORBIS=1
|
||||
NO_VORBISFILE=1
|
||||
endif
|
||||
|
||||
NO_PORTAUDIO=1
|
||||
NO_PORTAUDIOCPP=1
|
||||
NO_PULSEAUDIO=1
|
||||
|
|
|
@ -14,6 +14,8 @@ endif
|
|||
|
||||
ifneq ($(STDCXX),)
|
||||
CXXFLAGS_STDCXX = -std=$(STDCXX) -fexceptions -frtti
|
||||
else ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=gnu++23 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++23' ; fi ), c++23)
|
||||
CXXFLAGS_STDCXX = -std=gnu++23 -fexceptions -frtti
|
||||
else ifeq ($(shell printf '\n' > bin/empty.cpp ; if $(CXX) -std=gnu++20 -c bin/empty.cpp -o bin/empty.out > /dev/null 2>&1 ; then echo 'c++20' ; fi ), c++20)
|
||||
CXXFLAGS_STDCXX = -std=gnu++20 -fexceptions -frtti
|
||||
else
|
||||
|
@ -21,6 +23,10 @@ CXXFLAGS_STDCXX = -std=gnu++17 -fexceptions -frtti
|
|||
endif
|
||||
ifneq ($(STDC),)
|
||||
CFLAGS_STDC = -std=$(STDC)
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=gnu23 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c23' ; fi ), c23)
|
||||
CFLAGS_STDC = -std=gnu23
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=gnu18 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c18' ; fi ), c18)
|
||||
CFLAGS_STDC = -std=gnu18
|
||||
else ifeq ($(shell printf '\n' > bin/empty.c ; if $(CC) -std=gnu17 -c bin/empty.c -o bin/empty.out > /dev/null 2>&1 ; then echo 'c17' ; fi ), c17)
|
||||
CFLAGS_STDC = -std=gnu17
|
||||
else
|
||||
|
@ -68,6 +74,8 @@ CXXFLAGS += -ffunction-sections -fdata-sections
|
|||
CFLAGS += -ffunction-sections -fdata-sections
|
||||
LDFLAGS += -Wl,--gc-sections
|
||||
|
||||
MPT_COMPILER_NOALLOCAH=1
|
||||
|
||||
CXXFLAGS += -march=i386 -m80387 -mtune=i486
|
||||
CFLAGS += -march=i386 -m80387 -mtune=i486
|
||||
|
||||
|
@ -97,11 +105,19 @@ XMP_OPENMPT=0
|
|||
|
||||
IS_CROSS=1
|
||||
|
||||
ifeq ($(ALLOW_LGPL),1)
|
||||
LOCAL_ZLIB=1
|
||||
LOCAL_MPG123=1
|
||||
LOCAL_OGG=1
|
||||
LOCAL_VORBIS=1
|
||||
else
|
||||
NO_ZLIB=1
|
||||
NO_MPG123=1
|
||||
NO_OGG=1
|
||||
NO_VORBIS=1
|
||||
NO_VORBISFILE=1
|
||||
endif
|
||||
|
||||
NO_PORTAUDIO=1
|
||||
NO_PORTAUDIOCPP=1
|
||||
NO_PULSEAUDIO=1
|
||||
|
|
|
@ -12,7 +12,11 @@ ifeq ($(origin AR),default)
|
|||
AR = ar
|
||||
endif
|
||||
|
||||
#CXXFLAGS_STDCXX = -std=c++23
|
||||
#CXXFLAGS_STDCXX = -std=c++20
|
||||
CXXFLAGS_STDCXX = -std=c++17
|
||||
#CFLAGS_STDC = -std=c23
|
||||
#CFLAGS_STDC = -std=c18
|
||||
CFLAGS_STDC = -std=c17
|
||||
CXXFLAGS += $(CXXFLAGS_STDCXX)
|
||||
CFLAGS += $(CFLAGS_STDC)
|
||||
|
|
|
@ -12,7 +12,12 @@ ifeq ($(origin AR),default)
|
|||
AR = ar
|
||||
endif
|
||||
|
||||
#CXXFLAGS_STDCXX = -std=c++23
|
||||
#CXXFLAGS_STDCXX = -std=c++20
|
||||
CXXFLAGS_STDCXX = -std=c++17
|
||||
#CFLAGS_STDC = -std=c23
|
||||
#CFLAGS_STDC = -std=c18
|
||||
#CFLAGS_STDC = -std=c17
|
||||
CFLAGS_STDC = -std=c11
|
||||
CXXFLAGS += $(CXXFLAGS_STDCXX)
|
||||
CFLAGS += $(CFLAGS_STDC)
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
|
||||
var Module = {
|
||||
'preInit': function(text) {
|
||||
FS.mkdir('/test');
|
||||
FS.mount(NODEFS, {'root': '../test/'}, '/test');
|
||||
FS.mkdir('/libopenmpt');
|
||||
FS.mount(NODEFS, {'root': '../libopenmpt/'}, '/libopenmpt');
|
||||
}
|
||||
};
|
|
@ -2,7 +2,7 @@
|
|||
CXXFLAGS_WARNINGS += -Wcast-align -Wcast-qual -Wdouble-promotion -Wfloat-conversion -Wmissing-prototypes -Wshift-count-negative -Wshift-count-overflow -Wshift-op-parentheses -Wshift-overflow -Wshift-sign-overflow -Wundef
|
||||
CFLAGS_WARNINGS += -Wcast-align -Wcast-qual -Wdouble-promotion -Wfloat-conversion -Wmissing-prototypes -Wshift-count-negative -Wshift-count-overflow -Wshift-op-parentheses -Wshift-overflow -Wshift-sign-overflow -Wundef
|
||||
|
||||
CXXFLAGS_WARNINGS += -Wdeprecated -Wextra-semi -Wglobal-constructors -Wimplicit-fallthrough -Wmissing-declarations -Wnon-virtual-dtor -Wreserved-id-macro
|
||||
CXXFLAGS_WARNINGS += -Wdeprecated -Wexit-time-destructors -Wextra-semi -Wglobal-constructors -Wimplicit-fallthrough -Wmissing-declarations -Wnon-virtual-dtor -Wreserved-id-macro
|
||||
CFLAGS_WARNINGS +=
|
||||
|
||||
ifneq ($(ANCIENT),1)
|
||||
|
@ -15,10 +15,14 @@ endif
|
|||
#CXXFLAGS_WARNINGS += -Wconversion
|
||||
#CXXFLAGS_WARNINGS += -Weverything -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-c++98-c++11-c++14-compat -Wno-padded -Wno-weak-vtables -Wno-sign-conversion -Wno-shadow-field-in-constructor -Wno-conversion -Wno-switch-enum -Wno-old-style-cast
|
||||
|
||||
ifneq ($(NO_NO_UNDEFINED_LINKER_FLAG),1)
|
||||
LDFLAGS_WARNINGS += -Wl,--no-undefined
|
||||
endif
|
||||
|
||||
ifeq ($(MODERN),1)
|
||||
CXXFLAGS_WARNINGS +=
|
||||
CFLAGS_WARNINGS +=
|
||||
LDFLAGS_WARNINGS += -Wl,-no-undefined
|
||||
LDFLAGS_WARNINGS +=
|
||||
endif
|
||||
|
||||
CFLAGS_SILENT += -Wno-\#warnings
|
||||
|
|
|
@ -4,11 +4,18 @@ CFLAGS_WARNINGS += -Wcast-align -Wcast-qual -Wdouble-promotion -Wfloat-convers
|
|||
|
||||
CXXFLAGS_WARNINGS += -Wno-psabi
|
||||
|
||||
ifneq ($(NO_NO_UNDEFINED_LINKER_FLAG),1)
|
||||
LDFLAGS_WARNINGS += -Wl,--no-undefined
|
||||
endif
|
||||
|
||||
ifeq ($(MODERN),1)
|
||||
# GCC >= 12
|
||||
# -Wconversion is way too noisy for earlier GCC versions
|
||||
CFLAGS_WARNINGS += -Wframe-larger-than=4000
|
||||
#CXXFLAGS_WARNINGS += -Wshadow -Wswitch-enum
|
||||
CXXFLAGS_WARNINGS += -Wconversion
|
||||
# gold
|
||||
LDFLAGS_WARNINGS += -Wl,-no-undefined -Wl,--detect-odr-violations
|
||||
LDFLAGS_WARNINGS += -Wl,--detect-odr-violations
|
||||
# GCC 8
|
||||
CXXFLAGS_WARNINGS += -Wcast-align=strict
|
||||
CFLAGS_WARNINGS += -Wcast-align=strict
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
|
||||
#pragma once
|
||||
#define OPENMPT_VERSION_SVNVERSION "22826"
|
||||
#define OPENMPT_VERSION_REVISION 22826
|
||||
#define OPENMPT_VERSION_SVNVERSION "23245"
|
||||
#define OPENMPT_VERSION_REVISION 23245
|
||||
#define OPENMPT_VERSION_DIRTY 0
|
||||
#define OPENMPT_VERSION_MIXEDREVISIONS 0
|
||||
#define OPENMPT_VERSION_URL "https://source.openmpt.org/svn/openmpt/tags/libopenmpt-0.7.13"
|
||||
#define OPENMPT_VERSION_DATE "2025-01-06T13:49:43.586768Z"
|
||||
#define OPENMPT_VERSION_URL "https://source.openmpt.org/svn/openmpt/tags/libopenmpt-0.8.0"
|
||||
#define OPENMPT_VERSION_DATE "2025-05-31T13:56:14.548439Z"
|
||||
#define OPENMPT_VERSION_IS_PACKAGE 1
|
||||
|
||||
|
|
|
@ -20,12 +20,14 @@
|
|||
1553F71F02BB89D19FB57D5F /* WavesReverb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E0A11A78A94C41905798FE7 /* WavesReverb.cpp */; };
|
||||
168C3C51AED92203DD202291 /* Message.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 681E06B9AC6CAC2BEE93E4F9 /* Message.cpp */; };
|
||||
18C62C9BF7E346CDD3ECA2DB /* SampleIO.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78CAB4630B587E55743122A3 /* SampleIO.cpp */; };
|
||||
1CD4D902FBF1F334D7FB4F42 /* mptFileIO.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 13F63AEAA68404DC0F5CA92A /* mptFileIO.cpp */; };
|
||||
19C908D7F8E62309D4EF7F17 /* Load_tcb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 73A166DF062F30D16F07D51F /* Load_tcb.cpp */; };
|
||||
1CE1B0B6B52E9668E37596F6 /* Profiler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8F52A05ED3A145D015C87E9E /* Profiler.cpp */; };
|
||||
1E48E6EB2E2E131D1AA19D2B /* Gargle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78BD15B31AA6B1A511CDC3F3 /* Gargle.cpp */; };
|
||||
1F7082161F13654859681856 /* mptFileType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 074C76BE5EB1E9B010C004FE /* mptFileType.cpp */; };
|
||||
212E136BD4241D1D254679AB /* MIDIMacroParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C61BC533BA1B0EA53F062373 /* MIDIMacroParser.cpp */; };
|
||||
247D3937039A5369DFA3AF77 /* Load_plm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D213FE0DAEB3149B38F7F /* Load_plm.cpp */; };
|
||||
281FA911C06C8EC3EEB38F51 /* Sndfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BAF08779FF3F2CEB416665B9 /* Sndfile.cpp */; };
|
||||
2AE422F10A013D23E60A9931 /* Load_cba.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EDF8E6598086B04BE95F5499 /* Load_cba.cpp */; };
|
||||
2B1F4A030A3C6435E645C043 /* Load_mo3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F49974BA1D7613D0AB0058B /* Load_mo3.cpp */; };
|
||||
30BE965074D2678268A3EC90 /* mptTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B176D8582299794AD8602698 /* mptTime.cpp */; };
|
||||
30C4FED93067E20B6ABC9519 /* ModChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5FDB15C1B74088B3694EA401 /* ModChannel.cpp */; };
|
||||
|
@ -38,6 +40,7 @@
|
|||
393D72CF5409E18157DA790F /* MPEGFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BF406A572C6878C92DFB6897 /* MPEGFrame.cpp */; };
|
||||
39B7C99F18D4E3D1F4DE3FDF /* Load_mdl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2052C727B2E091191BB93567 /* Load_mdl.cpp */; };
|
||||
3C92F25FD4DFD8110326D89F /* Fastmix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1054EEE754A3945996CACD27 /* Fastmix.cpp */; };
|
||||
3E00C2FF58CD31B15C9DC93F /* Load_pt36.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE474F872B6F5DF92D024DC7 /* Load_pt36.cpp */; };
|
||||
3EF604A50D1958579427AAE5 /* DSP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E2066CCD3D47C03F10A20B0D /* DSP.cpp */; };
|
||||
3F8606FDF27C10AF439E6D3D /* SampleFormatMP3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4737ECA53B373617C0224AE5 /* SampleFormatMP3.cpp */; };
|
||||
40F236CF2E59C981CB53BD0F /* I3DL2Reverb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA3E0E57B6C8C0C931AD8C97 /* I3DL2Reverb.cpp */; };
|
||||
|
@ -54,8 +57,10 @@
|
|||
56DD54C135FA6EF31203CB01 /* Load_mtm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0990B3299C1E7D1B04F72169 /* Load_mtm.cpp */; };
|
||||
574F1261366C2C93127588A1 /* load_j2b.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A33106C935BED0BB9E977509 /* load_j2b.cpp */; };
|
||||
5EE7936B3E04AD9D1A0E09AB /* Load_667.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CB46E6335DD4B025C6AD5473 /* Load_667.cpp */; };
|
||||
609638333FB352651BBCAE73 /* Load_ftm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0C4FEA7B9EDDB46D07B658BB /* Load_ftm.cpp */; };
|
||||
63B0011DD79878CFF9E6275D /* Load_mus_km.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 02F4B8C5C982B0373784D705 /* Load_mus_km.cpp */; };
|
||||
6600F8E10024EE13B04ACF21 /* ContainerMMCMP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 124C374986A67C3B048A0589 /* ContainerMMCMP.cpp */; };
|
||||
66139DF74530B829213A1437 /* Load_ims.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26B859FFB94623F1221EC83F /* Load_ims.cpp */; };
|
||||
689E270C1013C2BEB8D8CD4C /* DigiBoosterEcho.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D078EDD4AF1B894663FD8C14 /* DigiBoosterEcho.cpp */; };
|
||||
69AC6475078D6527DF0BAAB5 /* ParamEq.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8C3D549D4EFDB50FAC3292DD /* ParamEq.cpp */; };
|
||||
6A44FDD1AE58CF03A22A5411 /* tuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48199D39B93C3E2B6F02EB79 /* tuning.cpp */; };
|
||||
|
@ -68,36 +73,43 @@
|
|||
7F5CA93E3358C270150AFF7E /* openmpt-vorbis.lib in Frameworks */ = {isa = PBXBuildFile; fileRef = AB169C264570851881A8EA66 /* openmpt-vorbis.lib */; };
|
||||
7FDA539F18273951466E39DF /* Load_it.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 62235C27A6720199E8993A67 /* Load_it.cpp */; };
|
||||
80EEA677809189A9BAE63CB7 /* MIDIMacros.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 50FB747FA860E7715A6F02BF /* MIDIMacros.cpp */; };
|
||||
81C26ED360DF89053CE8E513 /* Load_gmc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D668A71B68F6710DD1CF155B /* Load_gmc.cpp */; };
|
||||
8479AC1F9F461AD1A316B25F /* Load_digi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D14936A73E714519400434E7 /* Load_digi.cpp */; };
|
||||
84A9E60B844CC93DBEA17C4B /* MixerLoops.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B810F0D30F7663C5C1847F13 /* MixerLoops.cpp */; };
|
||||
84F9B8439FC626F5A396BE83 /* Load_unic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9EEAF28B0C1300FD0DA5F0CB /* Load_unic.cpp */; };
|
||||
8676CA3F6593E471419D407F /* Load_gt2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 10E0ADC7A36E77B90C471C07 /* Load_gt2.cpp */; };
|
||||
8751165421750B86D19AEC94 /* mptStringBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C510221C396A670EB74DF05C /* mptStringBuffer.cpp */; };
|
||||
877C818BA248F03DA61987CB /* Load_puma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6DB68B53DADE99C5DC718993 /* Load_puma.cpp */; };
|
||||
8B4D81ED6A6A9C1F4673F82D /* Load_dsm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5D60F958863D987F13C7DD5 /* Load_dsm.cpp */; };
|
||||
8D04F5E56C221017482B6C25 /* WAVTools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1F5AB80DB1E881FF1AC1264D /* WAVTools.cpp */; };
|
||||
8F84E60E36FA81C0DFBF8C4E /* openmpt-ogg.lib in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B7F44F63A21E068EF03E336 /* openmpt-ogg.lib */; };
|
||||
90C3E5D96FE1000B4BEA5C19 /* Load_mid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC1456C17EA220B3E77AC501 /* Load_mid.cpp */; };
|
||||
926864F471857F264D8EDB34 /* mptRandom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D6A74BCEFF83EAE58D0E2FC /* mptRandom.cpp */; };
|
||||
9580A935A565D56791D95F75 /* PlaybackTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EDB72A5D8FA0C64F86C7D89D /* PlaybackTest.cpp */; };
|
||||
9715CA0B7632E43D523C404B /* Load_s3m.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1F41A2D3B1CF6CC51AA81113 /* Load_s3m.cpp */; };
|
||||
976568F7F2B0B929E0E29F37 /* libopenmpt_ext_impl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7355A89F850CE891FA7AD6DF /* libopenmpt_ext_impl.cpp */; };
|
||||
978580C976A29AFB52ABF709 /* MODTools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 99E1AAB12C6F74A3954818F1 /* MODTools.cpp */; };
|
||||
97AC91CD76C9ABFF52D3080D /* Load_stm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0735F17599C3BB67029C5FB5 /* Load_stm.cpp */; };
|
||||
97B1A0C5975483F7D1A93705 /* Echo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9C9696EDF3FC09DFA60A252D /* Echo.cpp */; };
|
||||
98C2B4F5B38F23A7B75FBB35 /* PlayState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FB77AD1D689FBB8F6A32AB5D /* PlayState.cpp */; };
|
||||
9F1029ABB9DC985DBDAD2FEB /* ModSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A32EC1731056CFE511E9BFB3 /* ModSample.cpp */; };
|
||||
9F2D020A8C9494BC298E884A /* PlugInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D89E49F2E528FC64600DC832 /* PlugInterface.cpp */; };
|
||||
9FC1BA253DA2BAD715210065 /* Flanger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3286C74DF54727BF527C058D /* Flanger.cpp */; };
|
||||
A0E13DD3392E238567752413 /* XMTools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C6EC51BC0BD6A8D02E4A35B /* XMTools.cpp */; };
|
||||
A5DAFA6B19C3721D3C1120AB /* WindowedFIR.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14715833DAFF4FA549017673 /* WindowedFIR.cpp */; };
|
||||
A7B576CD86D290FF62DBED0D /* Load_amf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 37F80675CA85D067335E74B5 /* Load_amf.cpp */; };
|
||||
A88063C9879D7DFB63A6DA09 /* Load_stk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1D12DDB1AFA0A7A318794BF1 /* Load_stk.cpp */; };
|
||||
A896F1F84677F2AA1DF63838 /* LFOPlugin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D6BBDE00997C3E72F6B11C40 /* LFOPlugin.cpp */; };
|
||||
A9C7C28B051312BDF344F8CB /* AudioCriticalSection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3947FF534AFF3F45C06D2D93 /* AudioCriticalSection.cpp */; };
|
||||
A9D47C71514A1823FA0F22B1 /* SoundFilePlayConfig.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F19DB8D9D040544B85225719 /* SoundFilePlayConfig.cpp */; };
|
||||
AB7FFC4D9117037F545C128D /* mod_specifications.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 274EB9F5814FD0E74896C835 /* mod_specifications.cpp */; };
|
||||
ABC5779D79E8CB4F00F71DDD /* OPL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3A14F450EE2A2B7E23CED85 /* OPL.cpp */; };
|
||||
B17E84D14F5F858326DDCB11 /* ContainerPP20.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 38019939FAC1F9AB57F6D779 /* ContainerPP20.cpp */; };
|
||||
B464B3479381CD796F8B2987 /* Load_ice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D727124F69B4DC41D28D808F /* Load_ice.cpp */; };
|
||||
B5220D6D8345611F0A53B3AD /* AGC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BFC43D151B059087EE5FDB55 /* AGC.cpp */; };
|
||||
B591ED4C6887F6FEB9AA538C /* ComponentManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 13F9789407F8C2068CE3D6D4 /* ComponentManager.cpp */; };
|
||||
B5D9190DF9ECEA3FEDBE6F4D /* Sndmix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A0FD6B58B3277A740F924F5 /* Sndmix.cpp */; };
|
||||
BA54A1E79971BC19757B1827 /* Load_ams.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29DC06EFBC69D0E12542752F /* Load_ams.cpp */; };
|
||||
BB65D2D86E5BDC8ABF7E3918 /* mptFileTemporary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FF7F8F60F37ED8D27869EDA0 /* mptFileTemporary.cpp */; };
|
||||
BBC2281DFFD5F94FF3A77E5D /* Tables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 488AACC5B9AD4DB76F73FB05 /* Tables.cpp */; };
|
||||
BC15882904B4C65B27E07E69 /* patternContainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BE9A4117CE11203E8E49251 /* patternContainer.cpp */; };
|
||||
BCC110A956E505DB070AE6E9 /* DMOUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 664DAA91DAA7EF83588B78D1 /* DMOUtils.cpp */; };
|
||||
|
@ -105,14 +117,18 @@
|
|||
BD4216739C5F30A578688CB3 /* Load_fmt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9CF744BB2F850EAD985DB2FB /* Load_fmt.cpp */; };
|
||||
BE9B2A6B02AEFB9DF68080AB /* Snd_fx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 74D7DB33E5FA7C259BC12973 /* Snd_fx.cpp */; };
|
||||
C0082C03041BFD35F7ED8243 /* Reverb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B50C144B262EB53DDBF5628B /* Reverb.cpp */; };
|
||||
C3D725375C240AE98A6B0B77 /* Load_fc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6BBD03FFB0A75B13D31AE7F /* Load_fc.cpp */; };
|
||||
C4FBD3C878F7ECFA5AAA2A08 /* openmpt-mpg123.lib in Frameworks */ = {isa = PBXBuildFile; fileRef = 738151100DDB3A024A139F50 /* openmpt-mpg123.lib */; };
|
||||
C55C8AFDA479A52F8083013D /* UMXTools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C7851FA55A12E997C2EB8DE5 /* UMXTools.cpp */; };
|
||||
C6B55BA579AB6557CACDC1E5 /* InstrumentSynth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 89879ACD7D86E43F0271F90D /* InstrumentSynth.cpp */; };
|
||||
C746074BA663217D826C7D8B /* Load_mt2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0E85EC13A113B60509EC5A53 /* Load_mt2.cpp */; };
|
||||
C79768571036A68933625E97 /* libopenmpt_impl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7F22B5FF701A23F1DC1DA43F /* libopenmpt_impl.cpp */; };
|
||||
C806B217E2D320C9E6A3B857 /* Load_kris.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 19B6191F86DE27918871175F /* Load_kris.cpp */; };
|
||||
C81D1553A73A2F8583438B93 /* Load_dmf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 36CAA59BC9586F8D323113DB /* Load_dmf.cpp */; };
|
||||
CB31B3AF3F1A2B616167D9EF /* modsmp_ctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 09E33737D0712EA93E735577 /* modsmp_ctrl.cpp */; };
|
||||
CC12FBA114B239D337DDF1E1 /* Compressor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9334A009842C0DFBF02F8E49 /* Compressor.cpp */; };
|
||||
CCEFFE57CC92E18906E79497 /* MIDIEvents.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A78B5E5FFEF0D151B0FEEC9F /* MIDIEvents.cpp */; };
|
||||
CE9155C7ADAE6FF989B7CC07 /* Load_etx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14754CCFA70316C10FDBBB0F /* Load_etx.cpp */; };
|
||||
CEDA1F2FDEBF4B61CB32D56F /* Chorus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84A787B7269123A91DB835F7 /* Chorus.cpp */; };
|
||||
CF000469179F429B3ACAFAA9 /* tuningCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFE0BC51D0D82A433CDBAA91 /* tuningCollection.cpp */; };
|
||||
CF116C1742F9E3C965479257 /* Load_symmod.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7D070D1F43950491B1972B5F /* Load_symmod.cpp */; };
|
||||
|
@ -126,6 +142,7 @@
|
|||
DEB582A5DE5865D718AD18E5 /* modcommand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 746376CDCBC8E9BF7DD7050D /* modcommand.cpp */; };
|
||||
DEBC9FDC22D0710E16A1F61C /* version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E2FDF24AF52801665192D64 /* version.cpp */; };
|
||||
DF08AE5AEEEDDA8CDB61649A /* mptPathString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B406AC2ED2A06B4E4511902 /* mptPathString.cpp */; };
|
||||
E234B24BC151CC7D9D5B288B /* Load_rtm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 079A67139A2831050300D553 /* Load_rtm.cpp */; };
|
||||
E6583D037EA522B5ACEC2343 /* ITTools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 778D494BBBDBEEBDFE03278B /* ITTools.cpp */; };
|
||||
E76008D1C67D2303A2867F11 /* Load_med.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8F093E392197082B8A6FAC79 /* Load_med.cpp */; };
|
||||
E79434E3857535955CF37B23 /* SampleFormats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DD65792BA025D99DFD5AB76B /* SampleFormats.cpp */; };
|
||||
|
@ -198,6 +215,7 @@
|
|||
02F4B8C5C982B0373784D705 /* Load_mus_km.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_mus_km.cpp; path = ../../soundlib/Load_mus_km.cpp; sourceTree = "<group>"; };
|
||||
03BF85B7480E2B298A3563F7 /* TinyFFT.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TinyFFT.cpp; path = ../../soundlib/TinyFFT.cpp; sourceTree = "<group>"; };
|
||||
04155894998C17C608286ED4 /* openmpt-mpg123.lib */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "mpg123.xcodeproj"; path = ext/mpg123.xcodeproj; sourceTree = SOURCE_ROOT; };
|
||||
042BC5075B9137F90D9F5347 /* PlaybackTest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PlaybackTest.h; path = ../../soundlib/PlaybackTest.h; sourceTree = "<group>"; };
|
||||
046F30B171973F23732A2EF1 /* numeric.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = numeric.hpp; path = ../../src/mpt/base/numeric.hpp; sourceTree = "<group>"; };
|
||||
04D4FEEB3466CDDD0F740D2B /* EQ.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = EQ.cpp; path = ../../sounddsp/EQ.cpp; sourceTree = "<group>"; };
|
||||
04EAEC77C7AB4CE924E02AB7 /* DMOPlugin.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DMOPlugin.h; path = ../../soundlib/plugins/dmo/DMOPlugin.h; sourceTree = "<group>"; };
|
||||
|
@ -206,6 +224,7 @@
|
|||
073F0DABFB3E571D80296BEB /* SampleFormatSFZ.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SampleFormatSFZ.cpp; path = ../../soundlib/SampleFormatSFZ.cpp; sourceTree = "<group>"; };
|
||||
074C76BE5EB1E9B010C004FE /* mptFileType.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mptFileType.cpp; path = ../../common/mptFileType.cpp; sourceTree = "<group>"; };
|
||||
07580841CEBCC33359749681 /* tests_string_utility.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = tests_string_utility.hpp; path = ../../src/mpt/string/tests/tests_string_utility.hpp; sourceTree = "<group>"; };
|
||||
079A67139A2831050300D553 /* Load_rtm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_rtm.cpp; path = ../../soundlib/Load_rtm.cpp; sourceTree = "<group>"; };
|
||||
079DA5A7A1C19AD951E77BE7 /* filedata_memory.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = filedata_memory.hpp; path = ../../src/mpt/io_read/filedata_memory.hpp; sourceTree = "<group>"; };
|
||||
0863524F9AF11C4103C9C08F /* Load_ptm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_ptm.cpp; path = ../../soundlib/Load_ptm.cpp; sourceTree = "<group>"; };
|
||||
09387CD815C32F4A90A7FB18 /* PluginMixBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginMixBuffer.h; path = ../../soundlib/plugins/PluginMixBuffer.h; sourceTree = "<group>"; };
|
||||
|
@ -214,6 +233,7 @@
|
|||
09E33737D0712EA93E735577 /* modsmp_ctrl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = modsmp_ctrl.cpp; path = ../../soundlib/modsmp_ctrl.cpp; sourceTree = "<group>"; };
|
||||
0A20B0FECCE111702A15EF3E /* ComponentManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ComponentManager.h; path = ../../common/ComponentManager.h; sourceTree = "<group>"; };
|
||||
0BC4F1DBADAE8DCDA4D5A01B /* ContainerXPK.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ContainerXPK.cpp; path = ../../soundlib/ContainerXPK.cpp; sourceTree = "<group>"; };
|
||||
0C4FEA7B9EDDB46D07B658BB /* Load_ftm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_ftm.cpp; path = ../../soundlib/Load_ftm.cpp; sourceTree = "<group>"; };
|
||||
0D18D5B79FA69FA9087F43F7 /* Load_dtm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_dtm.cpp; path = ../../soundlib/Load_dtm.cpp; sourceTree = "<group>"; };
|
||||
0E85EC13A113B60509EC5A53 /* Load_mt2.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_mt2.cpp; path = ../../soundlib/Load_mt2.cpp; sourceTree = "<group>"; };
|
||||
0F49974BA1D7613D0AB0058B /* Load_mo3.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_mo3.cpp; path = ../../soundlib/Load_mo3.cpp; sourceTree = "<group>"; };
|
||||
|
@ -225,9 +245,9 @@
|
|||
1197459E05968F108A81A3DE /* feature_flags.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = feature_flags.hpp; path = ../../src/mpt/arch/feature_flags.hpp; sourceTree = "<group>"; };
|
||||
124C374986A67C3B048A0589 /* ContainerMMCMP.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ContainerMMCMP.cpp; path = ../../soundlib/ContainerMMCMP.cpp; sourceTree = "<group>"; };
|
||||
12DCF57C800503EE8197F3BC /* mptBaseUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mptBaseUtils.h; path = ../../common/mptBaseUtils.h; sourceTree = "<group>"; };
|
||||
13F63AEAA68404DC0F5CA92A /* mptFileIO.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mptFileIO.cpp; path = ../../common/mptFileIO.cpp; sourceTree = "<group>"; };
|
||||
13F9789407F8C2068CE3D6D4 /* ComponentManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ComponentManager.cpp; path = ../../common/ComponentManager.cpp; sourceTree = "<group>"; };
|
||||
14715833DAFF4FA549017673 /* WindowedFIR.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WindowedFIR.cpp; path = ../../soundlib/WindowedFIR.cpp; sourceTree = "<group>"; };
|
||||
14754CCFA70316C10FDBBB0F /* Load_etx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_etx.cpp; path = ../../soundlib/Load_etx.cpp; sourceTree = "<group>"; };
|
||||
159B6F7E099AB8F08E85CDBE /* PluginManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginManager.h; path = ../../soundlib/plugins/PluginManager.h; sourceTree = "<group>"; };
|
||||
15A918AF09A862218E9376EF /* aligned_array.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = aligned_array.hpp; path = ../../src/mpt/base/aligned_array.hpp; sourceTree = "<group>"; };
|
||||
1679D9615AC87ED39CEFB7A1 /* alloc.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = alloc.hpp; path = ../../src/mpt/base/alloc.hpp; sourceTree = "<group>"; };
|
||||
|
@ -235,15 +255,18 @@
|
|||
178BC3E3DA4C245537810223 /* native_path.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = native_path.hpp; path = ../../src/mpt/path/native_path.hpp; sourceTree = "<group>"; };
|
||||
17F58A2FDAB5EAA137EAC86F /* detect_libc.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = detect_libc.hpp; path = ../../src/mpt/base/detect_libc.hpp; sourceTree = "<group>"; };
|
||||
18A72A335CF5CFA59F1D0873 /* seed.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = seed.hpp; path = ../../src/mpt/random/seed.hpp; sourceTree = "<group>"; };
|
||||
19B6191F86DE27918871175F /* Load_kris.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_kris.cpp; path = ../../soundlib/Load_kris.cpp; sourceTree = "<group>"; };
|
||||
1A0FD6B58B3277A740F924F5 /* Sndmix.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Sndmix.cpp; path = ../../soundlib/Sndmix.cpp; sourceTree = "<group>"; };
|
||||
1A88E03F71EE533123FC6E7F /* RowVisitor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RowVisitor.cpp; path = ../../soundlib/RowVisitor.cpp; sourceTree = "<group>"; };
|
||||
1A94BBC4BC7E57B6B3A56A04 /* mptStringFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mptStringFormat.h; path = ../../common/mptStringFormat.h; sourceTree = "<group>"; };
|
||||
1AA25C6F0B99CA61779D4AAF /* check_platform.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = check_platform.hpp; path = ../../src/mpt/base/check_platform.hpp; sourceTree = "<group>"; };
|
||||
1AD54F9F7616A3114970EDDF /* Paula.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Paula.h; path = ../../soundlib/Paula.h; sourceTree = "<group>"; };
|
||||
1B5F95F15FAE3B63A1D57431 /* Tagging.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Tagging.cpp; path = ../../soundlib/Tagging.cpp; sourceTree = "<group>"; };
|
||||
1BD71CF93D735A2B35E9F339 /* filedata_base_unseekable_buffer.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = filedata_base_unseekable_buffer.hpp; path = ../../src/mpt/io_read/filedata_base_unseekable_buffer.hpp; sourceTree = "<group>"; };
|
||||
1C2F81B7DEEFE2293C24BFF7 /* detect_arch.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = detect_arch.hpp; path = ../../src/mpt/base/detect_arch.hpp; sourceTree = "<group>"; };
|
||||
1C6D52530D64C04579684093 /* SampleFormatOpus.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SampleFormatOpus.cpp; path = ../../soundlib/SampleFormatOpus.cpp; sourceTree = "<group>"; };
|
||||
1CE2C4318A0AD2A38B9DC271 /* device.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = device.hpp; path = ../../src/mpt/random/device.hpp; sourceTree = "<group>"; };
|
||||
1D12DDB1AFA0A7A318794BF1 /* Load_stk.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_stk.cpp; path = ../../soundlib/Load_stk.cpp; sourceTree = "<group>"; };
|
||||
1E7AA06D8BA2AEDF8D359EAD /* simple.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = simple.hpp; path = ../../src/mpt/format/simple.hpp; sourceTree = "<group>"; };
|
||||
1F41A2D3B1CF6CC51AA81113 /* Load_s3m.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_s3m.cpp; path = ../../soundlib/Load_s3m.cpp; sourceTree = "<group>"; };
|
||||
1F5AB80DB1E881FF1AC1264D /* WAVTools.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WAVTools.cpp; path = ../../soundlib/WAVTools.cpp; sourceTree = "<group>"; };
|
||||
|
@ -252,12 +275,14 @@
|
|||
20B693A5E7448B175546B1E5 /* MixerSettings.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MixerSettings.h; path = ../../soundlib/MixerSettings.h; sourceTree = "<group>"; };
|
||||
212A36FD7B2B4DEF4272453D /* semantic_version.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = semantic_version.hpp; path = ../../src/mpt/base/semantic_version.hpp; sourceTree = "<group>"; };
|
||||
2151B0037C9303754FED4E43 /* Mixer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Mixer.h; path = ../../soundlib/Mixer.h; sourceTree = "<group>"; };
|
||||
219A364192BCD73348838481 /* size.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = size.hpp; path = ../../src/mpt/base/size.hpp; sourceTree = "<group>"; };
|
||||
22594181666D12B35A3E97C1 /* fileref.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = fileref.hpp; path = ../../src/mpt/io_file/fileref.hpp; sourceTree = "<group>"; };
|
||||
2323E4A5944685974A0D32E5 /* Snd_defs.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Snd_defs.h; path = ../../soundlib/Snd_defs.h; sourceTree = "<group>"; };
|
||||
236E8DFB1D304A6D572F4C3B /* Tagging.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Tagging.h; path = ../../soundlib/Tagging.h; sourceTree = "<group>"; };
|
||||
23EF16CF7F4F3B81C192DD0F /* filedata_base_buffered.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = filedata_base_buffered.hpp; path = ../../src/mpt/io_read/filedata_base_buffered.hpp; sourceTree = "<group>"; };
|
||||
25972C49C780C83BBEA7DA89 /* ContainerUMX.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ContainerUMX.cpp; path = ../../soundlib/ContainerUMX.cpp; sourceTree = "<group>"; };
|
||||
25EAC3A1C044AC93FC7D11E1 /* unique_basename.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = unique_basename.hpp; path = ../../src/mpt/io_file_unique/unique_basename.hpp; sourceTree = "<group>"; };
|
||||
26B859FFB94623F1221EC83F /* Load_ims.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_ims.cpp; path = ../../soundlib/Load_ims.cpp; sourceTree = "<group>"; };
|
||||
274EB9F5814FD0E74896C835 /* mod_specifications.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mod_specifications.cpp; path = ../../soundlib/mod_specifications.cpp; sourceTree = "<group>"; };
|
||||
27B40A4D98D6AB3F4E9D588D /* SampleIO.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SampleIO.h; path = ../../soundlib/SampleIO.h; sourceTree = "<group>"; };
|
||||
2810796521D235D75BD137A5 /* XMTools.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = XMTools.h; path = ../../soundlib/XMTools.h; sourceTree = "<group>"; };
|
||||
|
@ -279,6 +304,7 @@
|
|||
338C775D77DB1CCFBA02559D /* BitReader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BitReader.h; path = ../../soundlib/BitReader.h; sourceTree = "<group>"; };
|
||||
34D45985C7622377303AC7C5 /* Load_imf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_imf.cpp; path = ../../soundlib/Load_imf.cpp; sourceTree = "<group>"; };
|
||||
352908E1F7E96953551E4721 /* libopenmpt_c.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = libopenmpt_c.cpp; path = ../../libopenmpt/libopenmpt_c.cpp; sourceTree = "<group>"; };
|
||||
352971E219707A149D5DA822 /* libcxx.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = libcxx.hpp; path = ../../src/mpt/check/libcxx.hpp; sourceTree = "<group>"; };
|
||||
36619CBCFDC657AE887E2AFC /* inputfile_filecursor.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = inputfile_filecursor.hpp; path = ../../src/mpt/io_file_read/inputfile_filecursor.hpp; sourceTree = "<group>"; };
|
||||
36CAA59BC9586F8D323113DB /* Load_dmf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_dmf.cpp; path = ../../soundlib/Load_dmf.cpp; sourceTree = "<group>"; };
|
||||
37064A799107616B584E58B9 /* tests_random.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = tests_random.hpp; path = ../../src/mpt/random/tests/tests_random.hpp; sourceTree = "<group>"; };
|
||||
|
@ -308,6 +334,7 @@
|
|||
43B7419134AEAF83A0B22FD1 /* libopenmpt_config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = libopenmpt_config.h; path = ../../libopenmpt/libopenmpt_config.h; sourceTree = "<group>"; };
|
||||
43CBFB4A068C5BBC63C1398A /* mptFileTemporary.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mptFileTemporary.h; path = ../../common/mptFileTemporary.h; sourceTree = "<group>"; };
|
||||
44E6E1C323897D35D86B8003 /* tests_base_bit.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = tests_base_bit.hpp; path = ../../src/mpt/base/tests/tests_base_bit.hpp; sourceTree = "<group>"; };
|
||||
45A87D570868DDC9659DBB97 /* InstrumentSynth.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = InstrumentSynth.h; path = ../../soundlib/InstrumentSynth.h; sourceTree = "<group>"; };
|
||||
45D0E0DE525B9350CD405F1E /* DigiBoosterEcho.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DigiBoosterEcho.h; path = ../../soundlib/plugins/DigiBoosterEcho.h; sourceTree = "<group>"; };
|
||||
45DBF5F73F9DB269799CB437 /* Dlsbank.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Dlsbank.h; path = ../../soundlib/Dlsbank.h; sourceTree = "<group>"; };
|
||||
4614D43FB73775316CFE227F /* math.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = math.hpp; path = ../../src/mpt/base/math.hpp; sourceTree = "<group>"; };
|
||||
|
@ -327,7 +354,6 @@
|
|||
4DFC0969924AAEDBD471E7A9 /* ltdl.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = ltdl.hpp; path = ../../src/mpt/detect/ltdl.hpp; sourceTree = "<group>"; };
|
||||
4E4D213FE0DAEB3149B38F7F /* Load_plm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_plm.cpp; path = ../../soundlib/Load_plm.cpp; sourceTree = "<group>"; };
|
||||
4E96BB31E124852349FD2971 /* types.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = types.hpp; path = ../../src/mpt/string/types.hpp; sourceTree = "<group>"; };
|
||||
4FB7A50743B6EE79C8A20347 /* floatingpoint.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = floatingpoint.hpp; path = ../../src/mpt/base/floatingpoint.hpp; sourceTree = "<group>"; };
|
||||
50318A59BD5998CBBEEC8899 /* os_path.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = os_path.hpp; path = ../../src/mpt/path/os_path.hpp; sourceTree = "<group>"; };
|
||||
50CF7EB4C1F21FA677B8CCF4 /* mptFileIO.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mptFileIO.h; path = ../../common/mptFileIO.h; sourceTree = "<group>"; };
|
||||
50FB747FA860E7715A6F02BF /* MIDIMacros.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MIDIMacros.cpp; path = ../../soundlib/MIDIMacros.cpp; sourceTree = "<group>"; };
|
||||
|
@ -373,6 +399,7 @@
|
|||
6B9C8BDDC301FECF75101A1D /* Gargle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Gargle.h; path = ../../soundlib/plugins/dmo/Gargle.h; sourceTree = "<group>"; };
|
||||
6C67B7D97E1EF7CBF38CE619 /* tests_base_math.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = tests_base_math.hpp; path = ../../src/mpt/base/tests/tests_base_math.hpp; sourceTree = "<group>"; };
|
||||
6D2350A8B171F61AF3992EE8 /* FileReader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FileReader.h; path = ../../common/FileReader.h; sourceTree = "<group>"; };
|
||||
6DB68B53DADE99C5DC718993 /* Load_puma.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_puma.cpp; path = ../../soundlib/Load_puma.cpp; sourceTree = "<group>"; };
|
||||
6E84090F7E6935416ADCBF4F /* environment.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = environment.hpp; path = ../../src/mpt/environment/environment.hpp; sourceTree = "<group>"; };
|
||||
6F3A912F8923F36144AA076F /* filecursor_callbackstream.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = filecursor_callbackstream.hpp; path = ../../src/mpt/io_read/filecursor_callbackstream.hpp; sourceTree = "<group>"; };
|
||||
70644035FF1571275A9F8E75 /* libopenmpt_stream_callbacks_file_msvcrt.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = libopenmpt_stream_callbacks_file_msvcrt.h; path = ../../libopenmpt/libopenmpt_stream_callbacks_file_msvcrt.h; sourceTree = "<group>"; };
|
||||
|
@ -384,6 +411,7 @@
|
|||
73262ABB150FC6AD0C36D8FB /* DMOUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DMOUtils.h; path = ../../soundlib/plugins/dmo/DMOUtils.h; sourceTree = "<group>"; };
|
||||
7355A89F850CE891FA7AD6DF /* libopenmpt_ext_impl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = libopenmpt_ext_impl.cpp; path = ../../libopenmpt/libopenmpt_ext_impl.cpp; sourceTree = "<group>"; };
|
||||
73781183B7C6B6F5F9EDEFC3 /* Snd_flt.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Snd_flt.cpp; path = ../../soundlib/Snd_flt.cpp; sourceTree = "<group>"; };
|
||||
73A166DF062F30D16F07D51F /* Load_tcb.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_tcb.cpp; path = ../../soundlib/Load_tcb.cpp; sourceTree = "<group>"; };
|
||||
73A52C155E915207A6771A55 /* EQ.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EQ.h; path = ../../sounddsp/EQ.h; sourceTree = "<group>"; };
|
||||
746376CDCBC8E9BF7DD7050D /* modcommand.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = modcommand.cpp; path = ../../soundlib/modcommand.cpp; sourceTree = "<group>"; };
|
||||
74D7DB33E5FA7C259BC12973 /* Snd_fx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Snd_fx.cpp; path = ../../soundlib/Snd_fx.cpp; sourceTree = "<group>"; };
|
||||
|
@ -410,6 +438,7 @@
|
|||
7FD19A57125F64497B380897 /* Load_ult.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_ult.cpp; path = ../../soundlib/Load_ult.cpp; sourceTree = "<group>"; };
|
||||
80C993CB8D54463D0839120B /* message_macros.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = message_macros.hpp; path = ../../src/mpt/format/message_macros.hpp; sourceTree = "<group>"; };
|
||||
80F9D5FD1722E7EFD889443D /* default_floatingpoint.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = default_floatingpoint.hpp; path = ../../src/mpt/format/default_floatingpoint.hpp; sourceTree = "<group>"; };
|
||||
8209AB5BF32C4C4DA8F2F99B /* MODTools.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MODTools.h; path = ../../soundlib/MODTools.h; sourceTree = "<group>"; };
|
||||
82EA4C5D44A2DDCFEBBDAA9D /* tests_base_wrapping_divide.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = tests_base_wrapping_divide.hpp; path = ../../src/mpt/base/tests/tests_base_wrapping_divide.hpp; sourceTree = "<group>"; };
|
||||
830F3566F431D658A9F883A6 /* Logging.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Logging.cpp; path = ../../common/Logging.cpp; sourceTree = "<group>"; };
|
||||
84A787B7269123A91DB835F7 /* Chorus.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Chorus.cpp; path = ../../soundlib/plugins/dmo/Chorus.cpp; sourceTree = "<group>"; };
|
||||
|
@ -419,6 +448,7 @@
|
|||
87A62ABDE1A741AFA8EE38FD /* AudioCriticalSection.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioCriticalSection.h; path = ../../soundlib/AudioCriticalSection.h; sourceTree = "<group>"; };
|
||||
8856685FF57E76D1F711669F /* base64.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = base64.hpp; path = ../../src/mpt/binary/base64.hpp; sourceTree = "<group>"; };
|
||||
8876678BE2777E7DA9BE75CB /* default_engines.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = default_engines.hpp; path = ../../src/mpt/random/default_engines.hpp; sourceTree = "<group>"; };
|
||||
89879ACD7D86E43F0271F90D /* InstrumentSynth.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = InstrumentSynth.cpp; path = ../../soundlib/InstrumentSynth.cpp; sourceTree = "<group>"; };
|
||||
8A87EA73FEE22F657CC5B8B3 /* macros.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = macros.hpp; path = ../../src/mpt/string_transcode/macros.hpp; sourceTree = "<group>"; };
|
||||
8ABDA3472E24D0F9455A8987 /* filedata_base_unseekable.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = filedata_base_unseekable.hpp; path = ../../src/mpt/io_read/filedata_base_unseekable.hpp; sourceTree = "<group>"; };
|
||||
8ABF23E958E2779BDFF0CA29 /* mutex.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = mutex.hpp; path = ../../src/mpt/mutex/mutex.hpp; sourceTree = "<group>"; };
|
||||
|
@ -435,7 +465,6 @@
|
|||
8F52A05ED3A145D015C87E9E /* Profiler.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Profiler.cpp; path = ../../common/Profiler.cpp; sourceTree = "<group>"; };
|
||||
9061AC518460F5C3094C0A91 /* SampleFormatBRR.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SampleFormatBRR.cpp; path = ../../soundlib/SampleFormatBRR.cpp; sourceTree = "<group>"; };
|
||||
90E45EE632CDFAD829F50D26 /* mptStringBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mptStringBuffer.h; path = ../../common/mptStringBuffer.h; sourceTree = "<group>"; };
|
||||
9133E604FE5BF476FFEEE444 /* OpCodes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OpCodes.h; path = ../../soundlib/plugins/OpCodes.h; sourceTree = "<group>"; };
|
||||
915D6003E8C2D2F59AD0EE43 /* message.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = message.hpp; path = ../../src/mpt/format/message.hpp; sourceTree = "<group>"; };
|
||||
91AA522185A99B930A94B061 /* I3DL2Reverb.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = I3DL2Reverb.h; path = ../../soundlib/plugins/dmo/I3DL2Reverb.h; sourceTree = "<group>"; };
|
||||
91EC613953A4F2ABFABFBF79 /* libopenmpt_stream_callbacks_file.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = libopenmpt_stream_callbacks_file.h; path = ../../libopenmpt/libopenmpt_stream_callbacks_file.h; sourceTree = "<group>"; };
|
||||
|
@ -449,6 +478,7 @@
|
|||
97B8EC8104E0FAF30673EAC1 /* OggStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OggStream.cpp; path = ../../soundlib/OggStream.cpp; sourceTree = "<group>"; };
|
||||
97BF12BD2A4CDCAF932580FD /* Load_gdm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_gdm.cpp; path = ../../soundlib/Load_gdm.cpp; sourceTree = "<group>"; };
|
||||
995821ED5E0D785F127C202D /* tests_string_buffer.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = tests_string_buffer.hpp; path = ../../src/mpt/string/tests/tests_string_buffer.hpp; sourceTree = "<group>"; };
|
||||
99E1AAB12C6F74A3954818F1 /* MODTools.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MODTools.cpp; path = ../../soundlib/MODTools.cpp; sourceTree = "<group>"; };
|
||||
9B1917A761A70F19CFA935E7 /* ParamEq.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ParamEq.h; path = ../../soundlib/plugins/dmo/ParamEq.h; sourceTree = "<group>"; };
|
||||
9B95674D94FB68BF8896C58D /* libopenmpt.dll */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; name = libopenmpt.dll; path = libopenmpt.dll; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9BB2E75F2E40B1519719559F /* Load_far.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_far.cpp; path = ../../soundlib/Load_far.cpp; sourceTree = "<group>"; };
|
||||
|
@ -461,6 +491,7 @@
|
|||
9E737DF712CDC2E990B14C37 /* Distortion.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Distortion.h; path = ../../soundlib/plugins/dmo/Distortion.h; sourceTree = "<group>"; };
|
||||
9E8AC865F88BDF57BFD2D6A5 /* tests_binary.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = tests_binary.hpp; path = ../../src/mpt/binary/tests/tests_binary.hpp; sourceTree = "<group>"; };
|
||||
9EB0D073130B156590EE9EB3 /* Compressor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Compressor.h; path = ../../soundlib/plugins/dmo/Compressor.h; sourceTree = "<group>"; };
|
||||
9EEAF28B0C1300FD0DA5F0CB /* Load_unic.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_unic.cpp; path = ../../soundlib/Load_unic.cpp; sourceTree = "<group>"; };
|
||||
9F187E69B9E4ED1BBDB584A9 /* outputfile.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = outputfile.hpp; path = ../../src/mpt/io_file/outputfile.hpp; sourceTree = "<group>"; };
|
||||
9F2E1C1AF92F330CC0762A5A /* BuildSettingsCompiler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BuildSettingsCompiler.h; path = ../../common/BuildSettingsCompiler.h; sourceTree = "<group>"; };
|
||||
9FCB791A628BD98CBFC0B75A /* dos_memory.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = dos_memory.hpp; path = ../../src/mpt/osinfo/dos_memory.hpp; sourceTree = "<group>"; };
|
||||
|
@ -471,6 +502,7 @@
|
|||
A32EC1731056CFE511E9BFB3 /* ModSample.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ModSample.cpp; path = ../../soundlib/ModSample.cpp; sourceTree = "<group>"; };
|
||||
A33106C935BED0BB9E977509 /* load_j2b.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = load_j2b.cpp; path = ../../soundlib/load_j2b.cpp; sourceTree = "<group>"; };
|
||||
A34959973B963F4969DD3FD7 /* filedata.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = filedata.hpp; path = ../../src/mpt/io_read/filedata.hpp; sourceTree = "<group>"; };
|
||||
A35EA1E7E7AD475929D48027 /* PlayState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PlayState.h; path = ../../soundlib/PlayState.h; sourceTree = "<group>"; };
|
||||
A527626137B52C53A08DD0A1 /* int24.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = int24.hpp; path = ../../src/mpt/endian/int24.hpp; sourceTree = "<group>"; };
|
||||
A78B5E5FFEF0D151B0FEEC9F /* MIDIEvents.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MIDIEvents.cpp; path = ../../soundlib/MIDIEvents.cpp; sourceTree = "<group>"; };
|
||||
A7A09A55A16256C7DB615895 /* Paula.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Paula.cpp; path = ../../soundlib/Paula.cpp; sourceTree = "<group>"; };
|
||||
|
@ -493,7 +525,9 @@
|
|||
B517EB3DCFE459EFD3B4F17D /* exception.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = exception.hpp; path = ../../src/mpt/exception/exception.hpp; sourceTree = "<group>"; };
|
||||
B5449C6B226CAADD23FF9AAB /* ModSequence.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ModSequence.h; path = ../../soundlib/ModSequence.h; sourceTree = "<group>"; };
|
||||
B547A5AF29A1EAA1A78573EF /* type_traits.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = type_traits.hpp; path = ../../src/mpt/endian/type_traits.hpp; sourceTree = "<group>"; };
|
||||
B55D7A70F9AC1FE23BD358B0 /* GzipWriter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GzipWriter.h; path = ../../common/GzipWriter.h; sourceTree = "<group>"; };
|
||||
B569F9F747F7C3E9B0D06837 /* Load_669.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_669.cpp; path = ../../soundlib/Load_669.cpp; sourceTree = "<group>"; };
|
||||
B6BBD03FFB0A75B13D31AE7F /* Load_fc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_fc.cpp; path = ../../soundlib/Load_fc.cpp; sourceTree = "<group>"; };
|
||||
B810F0D30F7663C5C1847F13 /* MixerLoops.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MixerLoops.cpp; path = ../../soundlib/MixerLoops.cpp; sourceTree = "<group>"; };
|
||||
B99E396D4C2C035FB504A7AD /* Load_c67.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_c67.cpp; path = ../../soundlib/Load_c67.cpp; sourceTree = "<group>"; };
|
||||
B9B7FE84CBE1DB36FFD2C4C4 /* windows.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = windows.hpp; path = ../../src/mpt/check/windows.hpp; sourceTree = "<group>"; };
|
||||
|
@ -504,6 +538,7 @@
|
|||
BAF08779FF3F2CEB416665B9 /* Sndfile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Sndfile.cpp; path = ../../soundlib/Sndfile.cpp; sourceTree = "<group>"; };
|
||||
BBEF0B95B5B0C807EFAFC9D5 /* ITTools.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ITTools.h; path = ../../soundlib/ITTools.h; sourceTree = "<group>"; };
|
||||
BD023BA1315C8093AF4009E1 /* simple_spec.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = simple_spec.hpp; path = ../../src/mpt/format/simple_spec.hpp; sourceTree = "<group>"; };
|
||||
BE474F872B6F5DF92D024DC7 /* Load_pt36.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_pt36.cpp; path = ../../soundlib/Load_pt36.cpp; sourceTree = "<group>"; };
|
||||
BF406A572C6878C92DFB6897 /* MPEGFrame.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MPEGFrame.cpp; path = ../../soundlib/MPEGFrame.cpp; sourceTree = "<group>"; };
|
||||
BFC43D151B059087EE5FDB55 /* AGC.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AGC.cpp; path = ../../sounddsp/AGC.cpp; sourceTree = "<group>"; };
|
||||
C0B331FD5340FBEFBC19A03D /* MixerLoops.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MixerLoops.h; path = ../../soundlib/MixerLoops.h; sourceTree = "<group>"; };
|
||||
|
@ -513,6 +548,7 @@
|
|||
C3E634155673FE07BF4CA255 /* macros.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = macros.hpp; path = ../../src/mpt/base/macros.hpp; sourceTree = "<group>"; };
|
||||
C3FAC67D5688906FBF6134BD /* detect.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = detect.hpp; path = ../../src/mpt/base/detect.hpp; sourceTree = "<group>"; };
|
||||
C510221C396A670EB74DF05C /* mptStringBuffer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mptStringBuffer.cpp; path = ../../common/mptStringBuffer.cpp; sourceTree = "<group>"; };
|
||||
C61BC533BA1B0EA53F062373 /* MIDIMacroParser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MIDIMacroParser.cpp; path = ../../soundlib/MIDIMacroParser.cpp; sourceTree = "<group>"; };
|
||||
C6F2110A1E5783FCD0659F4A /* FileReaderFwd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FileReaderFwd.h; path = ../../common/FileReaderFwd.h; sourceTree = "<group>"; };
|
||||
C7851FA55A12E997C2EB8DE5 /* UMXTools.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = UMXTools.cpp; path = ../../soundlib/UMXTools.cpp; sourceTree = "<group>"; };
|
||||
C875E7BBB96D55AD2570D5FB /* floatingpoint.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = floatingpoint.hpp; path = ../../src/mpt/endian/floatingpoint.hpp; sourceTree = "<group>"; };
|
||||
|
@ -520,6 +556,7 @@
|
|||
C950084F5BDDD241C4B6768F /* Load_sfx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_sfx.cpp; path = ../../soundlib/Load_sfx.cpp; sourceTree = "<group>"; };
|
||||
C9545B192355720BEA9C6959 /* arithmetic_shift.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = arithmetic_shift.hpp; path = ../../src/mpt/base/arithmetic_shift.hpp; sourceTree = "<group>"; };
|
||||
C9DD180C21428AFED350A64C /* mptPathString.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mptPathString.h; path = ../../common/mptPathString.h; sourceTree = "<group>"; };
|
||||
C9E029A3906E2115FE7047E3 /* debugging.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = debugging.hpp; path = ../../src/mpt/base/debugging.hpp; sourceTree = "<group>"; };
|
||||
CA2995890E783AFB509F73C9 /* array.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = array.hpp; path = ../../src/mpt/base/array.hpp; sourceTree = "<group>"; };
|
||||
CA67A8613B8A4953F150F6A1 /* S3MTools.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = S3MTools.h; path = ../../soundlib/S3MTools.h; sourceTree = "<group>"; };
|
||||
CB4660EB0F95065D51BC3F2B /* pattern.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = pattern.cpp; path = ../../soundlib/pattern.cpp; sourceTree = "<group>"; };
|
||||
|
@ -541,7 +578,9 @@
|
|||
D35A7771C759C0E34C44D5B1 /* WavesReverb.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WavesReverb.h; path = ../../soundlib/plugins/dmo/WavesReverb.h; sourceTree = "<group>"; };
|
||||
D37D7529660B3F1BCEE3E369 /* MIDIMacros.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MIDIMacros.h; path = ../../soundlib/MIDIMacros.h; sourceTree = "<group>"; };
|
||||
D432AEE7E417DB19D08B6527 /* tests_parse.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = tests_parse.hpp; path = ../../src/mpt/parse/tests/tests_parse.hpp; sourceTree = "<group>"; };
|
||||
D668A71B68F6710DD1CF155B /* Load_gmc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_gmc.cpp; path = ../../soundlib/Load_gmc.cpp; sourceTree = "<group>"; };
|
||||
D6BBDE00997C3E72F6B11C40 /* LFOPlugin.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LFOPlugin.cpp; path = ../../soundlib/plugins/LFOPlugin.cpp; sourceTree = "<group>"; };
|
||||
D727124F69B4DC41D28D808F /* Load_ice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_ice.cpp; path = ../../soundlib/Load_ice.cpp; sourceTree = "<group>"; };
|
||||
D89E49F2E528FC64600DC832 /* PlugInterface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PlugInterface.cpp; path = ../../soundlib/plugins/PlugInterface.cpp; sourceTree = "<group>"; };
|
||||
D941724BCA38E03D363C608B /* saturate_round.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = saturate_round.hpp; path = ../../src/mpt/base/saturate_round.hpp; sourceTree = "<group>"; };
|
||||
DA41BBEFE6CC6E6161B13A2F /* transcode.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = transcode.hpp; path = ../../src/mpt/string_transcode/transcode.hpp; sourceTree = "<group>"; };
|
||||
|
@ -560,18 +599,21 @@
|
|||
E2066CCD3D47C03F10A20B0D /* DSP.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = DSP.cpp; path = ../../sounddsp/DSP.cpp; sourceTree = "<group>"; };
|
||||
E276AB813DD6D033801A71C1 /* filedata_base_seekable.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = filedata_base_seekable.hpp; path = ../../src/mpt/io_read/filedata_base_seekable.hpp; sourceTree = "<group>"; };
|
||||
E2B3BCB34FDBCB25516EBAF3 /* random.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = random.hpp; path = ../../src/mpt/random/random.hpp; sourceTree = "<group>"; };
|
||||
E38574ABA645D51D037AB2EB /* any_engine.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = any_engine.hpp; path = ../../src/mpt/random/any_engine.hpp; sourceTree = "<group>"; };
|
||||
E438935FD53001514133819F /* mod_specifications.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mod_specifications.h; path = ../../soundlib/mod_specifications.h; sourceTree = "<group>"; };
|
||||
E4C0ABA9F677EB9B6BE5D9E9 /* libopenmpt_ext_impl.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = libopenmpt_ext_impl.hpp; path = ../../libopenmpt/libopenmpt_ext_impl.hpp; sourceTree = "<group>"; };
|
||||
E59C6F4DDF5E2BBF195D2D8D /* Loaders.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Loaders.h; path = ../../soundlib/Loaders.h; sourceTree = "<group>"; };
|
||||
E64FF33AA9BBB4ECE85F597A /* openmpt-ogg.lib */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "ogg.xcodeproj"; path = ext/ogg.xcodeproj; sourceTree = SOURCE_ROOT; };
|
||||
E6905433791E1E25E1F6C273 /* SampleCopy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SampleCopy.h; path = ../../soundlib/SampleCopy.h; sourceTree = "<group>"; };
|
||||
E7811C8A7A0EE67CE2E78ACA /* class.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = class.hpp; path = ../../src/mpt/osinfo/class.hpp; sourceTree = "<group>"; };
|
||||
E7ACD57DAA6D35EF07A213BD /* MIDIMacroParser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MIDIMacroParser.h; path = ../../soundlib/MIDIMacroParser.h; sourceTree = "<group>"; };
|
||||
E898D5ABAF26CD1D1D28F3EB /* ModInstrument.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ModInstrument.h; path = ../../soundlib/ModInstrument.h; sourceTree = "<group>"; };
|
||||
EABA2F1F4147999119C0AD5F /* AGC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AGC.h; path = ../../sounddsp/AGC.h; sourceTree = "<group>"; };
|
||||
EC1456C17EA220B3E77AC501 /* Load_mid.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_mid.cpp; path = ../../soundlib/Load_mid.cpp; sourceTree = "<group>"; };
|
||||
ED3DBD7D7FCB876FE8A42BBD /* memory.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = memory.hpp; path = ../../src/mpt/base/memory.hpp; sourceTree = "<group>"; };
|
||||
EDB72A5D8FA0C64F86C7D89D /* PlaybackTest.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PlaybackTest.cpp; path = ../../soundlib/PlaybackTest.cpp; sourceTree = "<group>"; };
|
||||
EDF8E6598086B04BE95F5499 /* Load_cba.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_cba.cpp; path = ../../soundlib/Load_cba.cpp; sourceTree = "<group>"; };
|
||||
EEC8D9B98156A3ABEA2F47F9 /* tuningbase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = tuningbase.h; path = ../../soundlib/tuningbase.h; sourceTree = "<group>"; };
|
||||
EF78F5224ABA48941E149362 /* Dither.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Dither.h; path = ../../common/Dither.h; sourceTree = "<group>"; };
|
||||
F06C78E982FA42DBEBD2E729 /* RowVisitor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RowVisitor.h; path = ../../soundlib/RowVisitor.h; sourceTree = "<group>"; };
|
||||
F1208C2D83AE561FEC86FA6D /* Load_psm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_psm.cpp; path = ../../soundlib/Load_psm.cpp; sourceTree = "<group>"; };
|
||||
F18CD1F1E58C1B636A773031 /* saturate_cast.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = saturate_cast.hpp; path = ../../src/mpt/base/saturate_cast.hpp; sourceTree = "<group>"; };
|
||||
|
@ -585,6 +627,7 @@
|
|||
F48DAABB97F4D86DAF2A90FB /* filecursor_traits_memory.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = filecursor_traits_memory.hpp; path = ../../src/mpt/io_read/filecursor_traits_memory.hpp; sourceTree = "<group>"; };
|
||||
F5D2F247BC60E9B92A631087 /* libopenmpt.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = libopenmpt.hpp; path = ../../libopenmpt/libopenmpt.hpp; sourceTree = "<group>"; };
|
||||
F5D60F958863D987F13C7DD5 /* Load_dsm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_dsm.cpp; path = ../../soundlib/Load_dsm.cpp; sourceTree = "<group>"; };
|
||||
F5DB217BB89B81ED15D05FBB /* type_traits.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = type_traits.hpp; path = ../../src/mpt/base/type_traits.hpp; sourceTree = "<group>"; };
|
||||
F61229996734CA8B1CFB77D9 /* guid.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = guid.hpp; path = ../../src/mpt/uuid/guid.hpp; sourceTree = "<group>"; };
|
||||
F6F37E8F68161F811DDCCCCF /* span.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = span.hpp; path = ../../src/mpt/base/span.hpp; sourceTree = "<group>"; };
|
||||
F78A378464B245F6664535C4 /* mptBaseTypes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mptBaseTypes.h; path = ../../common/mptBaseTypes.h; sourceTree = "<group>"; };
|
||||
|
@ -592,12 +635,13 @@
|
|||
F9D67691EACDE48356D164D1 /* SampleFormatFLAC.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SampleFormatFLAC.cpp; path = ../../soundlib/SampleFormatFLAC.cpp; sourceTree = "<group>"; };
|
||||
FB5FB0E7EF5EFA59744A0F27 /* libopenmpt_ext.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = libopenmpt_ext.hpp; path = ../../libopenmpt/libopenmpt_ext.hpp; sourceTree = "<group>"; };
|
||||
FB635E3D352E14EFEA89647D /* filecursor_traits_filedata.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = filecursor_traits_filedata.hpp; path = ../../src/mpt/io_read/filecursor_traits_filedata.hpp; sourceTree = "<group>"; };
|
||||
FB77AD1D689FBB8F6A32AB5D /* PlayState.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PlayState.cpp; path = ../../soundlib/PlayState.cpp; sourceTree = "<group>"; };
|
||||
FBE197BEECD905B058DC85FE /* serialization_utils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = serialization_utils.h; path = ../../common/serialization_utils.h; sourceTree = "<group>"; };
|
||||
FBF22E79CF82B5EBC2544CB9 /* libopenmpt_stream_callbacks_file_posix_lfs64.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = libopenmpt_stream_callbacks_file_posix_lfs64.h; path = ../../libopenmpt/libopenmpt_stream_callbacks_file_posix_lfs64.h; sourceTree = "<group>"; };
|
||||
FC83067740D1ABE982F8E4B7 /* float.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = float.hpp; path = ../../src/mpt/base/float.hpp; sourceTree = "<group>"; };
|
||||
FC85D407DBA2EE39B7AC4A47 /* inputfile.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = inputfile.hpp; path = ../../src/mpt/io_file/inputfile.hpp; sourceTree = "<group>"; };
|
||||
FED01DA32FB4159542CC4BE3 /* tuning.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = tuning.h; path = ../../soundlib/tuning.h; sourceTree = "<group>"; };
|
||||
FEDB3A1791690409FA41A857 /* Echo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Echo.h; path = ../../soundlib/plugins/dmo/Echo.h; sourceTree = "<group>"; };
|
||||
FF7F8F60F37ED8D27869EDA0 /* mptFileTemporary.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mptFileTemporary.cpp; path = ../../common/mptFileTemporary.cpp; sourceTree = "<group>"; };
|
||||
FFB3088F4401AE018628E6CF /* Resampler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Resampler.h; path = ../../soundlib/Resampler.h; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
|
@ -713,7 +757,6 @@
|
|||
45D0E0DE525B9350CD405F1E /* DigiBoosterEcho.h */,
|
||||
D6BBDE00997C3E72F6B11C40 /* LFOPlugin.cpp */,
|
||||
6858F8CA2EE6F03C9CE9170A /* LFOPlugin.h */,
|
||||
9133E604FE5BF476FFEEE444 /* OpCodes.h */,
|
||||
D89E49F2E528FC64600DC832 /* PlugInterface.cpp */,
|
||||
6058487C545791EED942A6BC /* PlugInterface.h */,
|
||||
CE32D5B4DABD882655A253F4 /* PluginManager.cpp */,
|
||||
|
@ -898,6 +941,7 @@
|
|||
children = (
|
||||
64377F84A84B50B69C1CD5C4 /* compiler.hpp */,
|
||||
417FE082D6F69FB44592F6C2 /* libc.hpp */,
|
||||
352971E219707A149D5DA822 /* libcxx.hpp */,
|
||||
788395FAAA7CE0AC245C1C3A /* mfc.hpp */,
|
||||
B9B7FE84CBE1DB36FFD2C4C4 /* windows.hpp */,
|
||||
);
|
||||
|
@ -1030,9 +1074,9 @@
|
|||
9F2E1C1AF92F330CC0762A5A /* BuildSettingsCompiler.h */,
|
||||
13F9789407F8C2068CE3D6D4 /* ComponentManager.cpp */,
|
||||
0A20B0FECCE111702A15EF3E /* ComponentManager.h */,
|
||||
EF78F5224ABA48941E149362 /* Dither.h */,
|
||||
6D2350A8B171F61AF3992EE8 /* FileReader.h */,
|
||||
C6F2110A1E5783FCD0659F4A /* FileReaderFwd.h */,
|
||||
B55D7A70F9AC1FE23BD358B0 /* GzipWriter.h */,
|
||||
830F3566F431D658A9F883A6 /* Logging.cpp */,
|
||||
6303157093E70D62A6FF43B0 /* Logging.h */,
|
||||
8F52A05ED3A145D015C87E9E /* Profiler.cpp */,
|
||||
|
@ -1043,9 +1087,7 @@
|
|||
F78A378464B245F6664535C4 /* mptBaseTypes.h */,
|
||||
12DCF57C800503EE8197F3BC /* mptBaseUtils.h */,
|
||||
BA99A2F415DAF666E9354134 /* mptCPU.h */,
|
||||
13F63AEAA68404DC0F5CA92A /* mptFileIO.cpp */,
|
||||
50CF7EB4C1F21FA677B8CCF4 /* mptFileIO.h */,
|
||||
FF7F8F60F37ED8D27869EDA0 /* mptFileTemporary.cpp */,
|
||||
43CBFB4A068C5BBC63C1398A /* mptFileTemporary.h */,
|
||||
074C76BE5EB1E9B010C004FE /* mptFileType.cpp */,
|
||||
AFFB10484288DA3AAB617E88 /* mptFileType.h */,
|
||||
|
@ -1116,6 +1158,7 @@
|
|||
1AA25C6F0B99CA61779D4AAF /* check_platform.hpp */,
|
||||
86260AE5E2AD0F576B4FC925 /* compiletime_warning.hpp */,
|
||||
021DA33D0EA855AF898D217D /* constexpr_throw.hpp */,
|
||||
C9E029A3906E2115FE7047E3 /* debugging.hpp */,
|
||||
C3FAC67D5688906FBF6134BD /* detect.hpp */,
|
||||
1C2F81B7DEEFE2293C24BFF7 /* detect_arch.hpp */,
|
||||
321030713E9AE2E3B97FAEB1 /* detect_compiler.hpp */,
|
||||
|
@ -1123,7 +1166,7 @@
|
|||
755174CF6950BE41EE3BD30F /* detect_libcxx.hpp */,
|
||||
175234BFDDE02C314BE252FF /* detect_os.hpp */,
|
||||
107683B90475CD2B8960E1F9 /* detect_quirks.hpp */,
|
||||
4FB7A50743B6EE79C8A20347 /* floatingpoint.hpp */,
|
||||
FC83067740D1ABE982F8E4B7 /* float.hpp */,
|
||||
787945A7E5A15419E73443E7 /* integer.hpp */,
|
||||
C3E634155673FE07BF4CA255 /* macros.hpp */,
|
||||
4614D43FB73775316CFE227F /* math.hpp */,
|
||||
|
@ -1137,9 +1180,11 @@
|
|||
D941724BCA38E03D363C608B /* saturate_round.hpp */,
|
||||
85812219180EEC0B80E79059 /* secure.hpp */,
|
||||
212A36FD7B2B4DEF4272453D /* semantic_version.hpp */,
|
||||
219A364192BCD73348838481 /* size.hpp */,
|
||||
A105879DAD903A0F287505DD /* source_location.hpp */,
|
||||
F6F37E8F68161F811DDCCCCF /* span.hpp */,
|
||||
8BDA4A4F76C67041BEAC388F /* tests */,
|
||||
F5DB217BB89B81ED15D05FBB /* type_traits.hpp */,
|
||||
5609DBF3C331EA65C4C4DA33 /* utility.hpp */,
|
||||
AB10601718386E8919CB5E57 /* version.hpp */,
|
||||
2C28EA4338B39CB5B3986883 /* wrapping_divide.hpp */,
|
||||
|
@ -1258,25 +1303,35 @@
|
|||
778D494BBBDBEEBDFE03278B /* ITTools.cpp */,
|
||||
BBEF0B95B5B0C807EFAFC9D5 /* ITTools.h */,
|
||||
567D9E616834DE53DDA2CCA1 /* InstrumentExtensions.cpp */,
|
||||
89879ACD7D86E43F0271F90D /* InstrumentSynth.cpp */,
|
||||
45A87D570868DDC9659DBB97 /* InstrumentSynth.h */,
|
||||
9E091D790F2BBE6BC4F26BB9 /* IntMixer.h */,
|
||||
CB46E6335DD4B025C6AD5473 /* Load_667.cpp */,
|
||||
B569F9F747F7C3E9B0D06837 /* Load_669.cpp */,
|
||||
37F80675CA85D067335E74B5 /* Load_amf.cpp */,
|
||||
29DC06EFBC69D0E12542752F /* Load_ams.cpp */,
|
||||
B99E396D4C2C035FB504A7AD /* Load_c67.cpp */,
|
||||
EDF8E6598086B04BE95F5499 /* Load_cba.cpp */,
|
||||
6A66E753FCF4B14565CD5593 /* Load_dbm.cpp */,
|
||||
D14936A73E714519400434E7 /* Load_digi.cpp */,
|
||||
36CAA59BC9586F8D323113DB /* Load_dmf.cpp */,
|
||||
F5D60F958863D987F13C7DD5 /* Load_dsm.cpp */,
|
||||
9BE2D067090ADED90A9DCEA7 /* Load_dsym.cpp */,
|
||||
0D18D5B79FA69FA9087F43F7 /* Load_dtm.cpp */,
|
||||
14754CCFA70316C10FDBBB0F /* Load_etx.cpp */,
|
||||
9BB2E75F2E40B1519719559F /* Load_far.cpp */,
|
||||
B6BBD03FFB0A75B13D31AE7F /* Load_fc.cpp */,
|
||||
9CF744BB2F850EAD985DB2FB /* Load_fmt.cpp */,
|
||||
0C4FEA7B9EDDB46D07B658BB /* Load_ftm.cpp */,
|
||||
97BF12BD2A4CDCAF932580FD /* Load_gdm.cpp */,
|
||||
D668A71B68F6710DD1CF155B /* Load_gmc.cpp */,
|
||||
10E0ADC7A36E77B90C471C07 /* Load_gt2.cpp */,
|
||||
D727124F69B4DC41D28D808F /* Load_ice.cpp */,
|
||||
34D45985C7622377303AC7C5 /* Load_imf.cpp */,
|
||||
26B859FFB94623F1221EC83F /* Load_ims.cpp */,
|
||||
62235C27A6720199E8993A67 /* Load_it.cpp */,
|
||||
6A572747FCE4F13965BD9587 /* Load_itp.cpp */,
|
||||
19B6191F86DE27918871175F /* Load_kris.cpp */,
|
||||
2052C727B2E091191BB93567 /* Load_mdl.cpp */,
|
||||
8F093E392197082B8A6FAC79 /* Load_med.cpp */,
|
||||
EC1456C17EA220B3E77AC501 /* Load_mid.cpp */,
|
||||
|
@ -1288,22 +1343,32 @@
|
|||
6AE995E9FD775FDB66500429 /* Load_okt.cpp */,
|
||||
4E4D213FE0DAEB3149B38F7F /* Load_plm.cpp */,
|
||||
F1208C2D83AE561FEC86FA6D /* Load_psm.cpp */,
|
||||
BE474F872B6F5DF92D024DC7 /* Load_pt36.cpp */,
|
||||
0863524F9AF11C4103C9C08F /* Load_ptm.cpp */,
|
||||
6DB68B53DADE99C5DC718993 /* Load_puma.cpp */,
|
||||
079A67139A2831050300D553 /* Load_rtm.cpp */,
|
||||
1F41A2D3B1CF6CC51AA81113 /* Load_s3m.cpp */,
|
||||
C950084F5BDDD241C4B6768F /* Load_sfx.cpp */,
|
||||
1D12DDB1AFA0A7A318794BF1 /* Load_stk.cpp */,
|
||||
0735F17599C3BB67029C5FB5 /* Load_stm.cpp */,
|
||||
666A8F1BF8F8590D61D0FD5B /* Load_stp.cpp */,
|
||||
7D070D1F43950491B1972B5F /* Load_symmod.cpp */,
|
||||
73A166DF062F30D16F07D51F /* Load_tcb.cpp */,
|
||||
54393E69E6C7085B4F9FACA9 /* Load_uax.cpp */,
|
||||
7FD19A57125F64497B380897 /* Load_ult.cpp */,
|
||||
9EEAF28B0C1300FD0DA5F0CB /* Load_unic.cpp */,
|
||||
694D3F69FBDB095B64B3ADA9 /* Load_wav.cpp */,
|
||||
2A6435F76EB2DB69B0DA1437 /* Load_xm.cpp */,
|
||||
2EF17543C17F3F352A57E383 /* Load_xmf.cpp */,
|
||||
E59C6F4DDF5E2BBF195D2D8D /* Loaders.h */,
|
||||
A78B5E5FFEF0D151B0FEEC9F /* MIDIEvents.cpp */,
|
||||
F42AAB0986B874FBEF911949 /* MIDIEvents.h */,
|
||||
C61BC533BA1B0EA53F062373 /* MIDIMacroParser.cpp */,
|
||||
E7ACD57DAA6D35EF07A213BD /* MIDIMacroParser.h */,
|
||||
50FB747FA860E7715A6F02BF /* MIDIMacros.cpp */,
|
||||
D37D7529660B3F1BCEE3E369 /* MIDIMacros.h */,
|
||||
99E1AAB12C6F74A3954818F1 /* MODTools.cpp */,
|
||||
8209AB5BF32C4C4DA8F2F99B /* MODTools.h */,
|
||||
BF406A572C6878C92DFB6897 /* MPEGFrame.cpp */,
|
||||
A0ADCD61E4FC72D32723ABA1 /* MPEGFrame.h */,
|
||||
681E06B9AC6CAC2BEE93E4F9 /* Message.cpp */,
|
||||
|
@ -1331,6 +1396,10 @@
|
|||
F1E743CB3635E93D785D220B /* OggStream.h */,
|
||||
A7A09A55A16256C7DB615895 /* Paula.cpp */,
|
||||
1AD54F9F7616A3114970EDDF /* Paula.h */,
|
||||
FB77AD1D689FBB8F6A32AB5D /* PlayState.cpp */,
|
||||
A35EA1E7E7AD475929D48027 /* PlayState.h */,
|
||||
EDB72A5D8FA0C64F86C7D89D /* PlaybackTest.cpp */,
|
||||
042BC5075B9137F90D9F5347 /* PlaybackTest.h */,
|
||||
FFB3088F4401AE018628E6CF /* Resampler.h */,
|
||||
1A88E03F71EE533123FC6E7F /* RowVisitor.cpp */,
|
||||
F06C78E982FA42DBEBD2E729 /* RowVisitor.h */,
|
||||
|
@ -1406,6 +1475,7 @@
|
|||
F76908210E7BA353FE979E61 /* random */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E38574ABA645D51D037AB2EB /* any_engine.hpp */,
|
||||
8DE932C12076FCB3894FA101 /* crand.hpp */,
|
||||
8876678BE2777E7DA9BE75CB /* default_engines.hpp */,
|
||||
1CE2C4318A0AD2A38B9DC271 /* device.hpp */,
|
||||
|
@ -1434,6 +1504,7 @@
|
|||
23EF16CF7F4F3B81C192DD0F /* filedata_base_buffered.hpp */,
|
||||
E276AB813DD6D033801A71C1 /* filedata_base_seekable.hpp */,
|
||||
8ABDA3472E24D0F9455A8987 /* filedata_base_unseekable.hpp */,
|
||||
1BD71CF93D735A2B35E9F339 /* filedata_base_unseekable_buffer.hpp */,
|
||||
E0CF51E794CB6B19767DA827 /* filedata_callbackstream.hpp */,
|
||||
079DA5A7A1C19AD951E77BE7 /* filedata_memory.hpp */,
|
||||
CE271C83BB8EAF355888A2C3 /* filedata_stdstream.hpp */,
|
||||
|
@ -1557,8 +1628,6 @@
|
|||
B591ED4C6887F6FEB9AA538C /* ComponentManager.cpp in Sources */,
|
||||
527E833E969254708A63D97E /* Logging.cpp in Sources */,
|
||||
1CE1B0B6B52E9668E37596F6 /* Profiler.cpp in Sources */,
|
||||
1CD4D902FBF1F334D7FB4F42 /* mptFileIO.cpp in Sources */,
|
||||
BB65D2D86E5BDC8ABF7E3918 /* mptFileTemporary.cpp in Sources */,
|
||||
1F7082161F13654859681856 /* mptFileType.cpp in Sources */,
|
||||
DF08AE5AEEEDDA8CDB61649A /* mptPathString.cpp in Sources */,
|
||||
926864F471857F264D8EDB34 /* mptRandom.cpp in Sources */,
|
||||
|
@ -1584,24 +1653,33 @@
|
|||
32D83065D0B93117A83776A5 /* ITCompression.cpp in Sources */,
|
||||
E6583D037EA522B5ACEC2343 /* ITTools.cpp in Sources */,
|
||||
4FD75379AB22A3AB995489B9 /* InstrumentExtensions.cpp in Sources */,
|
||||
C6B55BA579AB6557CACDC1E5 /* InstrumentSynth.cpp in Sources */,
|
||||
5EE7936B3E04AD9D1A0E09AB /* Load_667.cpp in Sources */,
|
||||
4E13C16F2D30DBA1093A37AF /* Load_669.cpp in Sources */,
|
||||
A7B576CD86D290FF62DBED0D /* Load_amf.cpp in Sources */,
|
||||
BA54A1E79971BC19757B1827 /* Load_ams.cpp in Sources */,
|
||||
44F9DD452416F77700205385 /* Load_c67.cpp in Sources */,
|
||||
2AE422F10A013D23E60A9931 /* Load_cba.cpp in Sources */,
|
||||
7B65168B5A8230BD368B8CCB /* Load_dbm.cpp in Sources */,
|
||||
8479AC1F9F461AD1A316B25F /* Load_digi.cpp in Sources */,
|
||||
C81D1553A73A2F8583438B93 /* Load_dmf.cpp in Sources */,
|
||||
8B4D81ED6A6A9C1F4673F82D /* Load_dsm.cpp in Sources */,
|
||||
D2EFC1DFEDBC3091F18CC81F /* Load_dsym.cpp in Sources */,
|
||||
F5A6792FD4C39361B0CCEF6F /* Load_dtm.cpp in Sources */,
|
||||
CE9155C7ADAE6FF989B7CC07 /* Load_etx.cpp in Sources */,
|
||||
D1EA5157B1076B898D10C797 /* Load_far.cpp in Sources */,
|
||||
C3D725375C240AE98A6B0B77 /* Load_fc.cpp in Sources */,
|
||||
BD4216739C5F30A578688CB3 /* Load_fmt.cpp in Sources */,
|
||||
609638333FB352651BBCAE73 /* Load_ftm.cpp in Sources */,
|
||||
707EA3954F9BBDC72BA519D5 /* Load_gdm.cpp in Sources */,
|
||||
81C26ED360DF89053CE8E513 /* Load_gmc.cpp in Sources */,
|
||||
8676CA3F6593E471419D407F /* Load_gt2.cpp in Sources */,
|
||||
B464B3479381CD796F8B2987 /* Load_ice.cpp in Sources */,
|
||||
537472DD32918D0F0E9AE91D /* Load_imf.cpp in Sources */,
|
||||
66139DF74530B829213A1437 /* Load_ims.cpp in Sources */,
|
||||
7FDA539F18273951466E39DF /* Load_it.cpp in Sources */,
|
||||
E7C01BBFC6DD35F1A2E691FF /* Load_itp.cpp in Sources */,
|
||||
C806B217E2D320C9E6A3B857 /* Load_kris.cpp in Sources */,
|
||||
39B7C99F18D4E3D1F4DE3FDF /* Load_mdl.cpp in Sources */,
|
||||
E76008D1C67D2303A2867F11 /* Load_med.cpp in Sources */,
|
||||
90C3E5D96FE1000B4BEA5C19 /* Load_mid.cpp in Sources */,
|
||||
|
@ -1613,19 +1691,27 @@
|
|||
49C7038128E41DB304ED79C1 /* Load_okt.cpp in Sources */,
|
||||
247D3937039A5369DFA3AF77 /* Load_plm.cpp in Sources */,
|
||||
0CEBFC05EC091637C8127245 /* Load_psm.cpp in Sources */,
|
||||
3E00C2FF58CD31B15C9DC93F /* Load_pt36.cpp in Sources */,
|
||||
7744F34756620D79326B6987 /* Load_ptm.cpp in Sources */,
|
||||
877C818BA248F03DA61987CB /* Load_puma.cpp in Sources */,
|
||||
E234B24BC151CC7D9D5B288B /* Load_rtm.cpp in Sources */,
|
||||
9715CA0B7632E43D523C404B /* Load_s3m.cpp in Sources */,
|
||||
EA420947C95F2379A5687F87 /* Load_sfx.cpp in Sources */,
|
||||
A88063C9879D7DFB63A6DA09 /* Load_stk.cpp in Sources */,
|
||||
97AC91CD76C9ABFF52D3080D /* Load_stm.cpp in Sources */,
|
||||
FE6ED6D3DD8BF105B9954D13 /* Load_stp.cpp in Sources */,
|
||||
CF116C1742F9E3C965479257 /* Load_symmod.cpp in Sources */,
|
||||
19C908D7F8E62309D4EF7F17 /* Load_tcb.cpp in Sources */,
|
||||
4174F40120920E33FC9B6A41 /* Load_uax.cpp in Sources */,
|
||||
F4EF37CFD40C5201B015AE0F /* Load_ult.cpp in Sources */,
|
||||
84F9B8439FC626F5A396BE83 /* Load_unic.cpp in Sources */,
|
||||
BD3885019C559F33785EFB41 /* Load_wav.cpp in Sources */,
|
||||
00BB926F99087821C74F78AF /* Load_xm.cpp in Sources */,
|
||||
F57A8B7BD497A5ADB0A101BB /* Load_xmf.cpp in Sources */,
|
||||
CCEFFE57CC92E18906E79497 /* MIDIEvents.cpp in Sources */,
|
||||
212E136BD4241D1D254679AB /* MIDIMacroParser.cpp in Sources */,
|
||||
80EEA677809189A9BAE63CB7 /* MIDIMacros.cpp in Sources */,
|
||||
978580C976A29AFB52ABF709 /* MODTools.cpp in Sources */,
|
||||
393D72CF5409E18157DA790F /* MPEGFrame.cpp in Sources */,
|
||||
168C3C51AED92203DD202291 /* Message.cpp in Sources */,
|
||||
7A5E5DAB8A4389DD76B713EB /* MixFuncTable.cpp in Sources */,
|
||||
|
@ -1638,6 +1724,8 @@
|
|||
ABC5779D79E8CB4F00F71DDD /* OPL.cpp in Sources */,
|
||||
FD083C9917D4AB4B1BA542D9 /* OggStream.cpp in Sources */,
|
||||
33DB2DAD46050A5F79F5F3ED /* Paula.cpp in Sources */,
|
||||
98C2B4F5B38F23A7B75FBB35 /* PlayState.cpp in Sources */,
|
||||
9580A935A565D56791D95F75 /* PlaybackTest.cpp in Sources */,
|
||||
119C6E37113F51694B940477 /* RowVisitor.cpp in Sources */,
|
||||
D443016FB3601BA18F6977AF /* S3MTools.cpp in Sources */,
|
||||
77A73F692A9D491B7BBFA5A9 /* SampleFormatBRR.cpp in Sources */,
|
||||
|
|
|
@ -20,13 +20,15 @@
|
|||
1553F71F02BB89D19FB57D5F /* WavesReverb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E0A11A78A94C41905798FE7 /* WavesReverb.cpp */; };
|
||||
168C3C51AED92203DD202291 /* Message.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 681E06B9AC6CAC2BEE93E4F9 /* Message.cpp */; };
|
||||
18C62C9BF7E346CDD3ECA2DB /* SampleIO.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78CAB4630B587E55743122A3 /* SampleIO.cpp */; };
|
||||
1CD4D902FBF1F334D7FB4F42 /* mptFileIO.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 13F63AEAA68404DC0F5CA92A /* mptFileIO.cpp */; };
|
||||
19C908D7F8E62309D4EF7F17 /* Load_tcb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 73A166DF062F30D16F07D51F /* Load_tcb.cpp */; };
|
||||
1CE1B0B6B52E9668E37596F6 /* Profiler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8F52A05ED3A145D015C87E9E /* Profiler.cpp */; };
|
||||
1E48E6EB2E2E131D1AA19D2B /* Gargle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78BD15B31AA6B1A511CDC3F3 /* Gargle.cpp */; };
|
||||
1F7082161F13654859681856 /* mptFileType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 074C76BE5EB1E9B010C004FE /* mptFileType.cpp */; };
|
||||
212E136BD4241D1D254679AB /* MIDIMacroParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C61BC533BA1B0EA53F062373 /* MIDIMacroParser.cpp */; };
|
||||
247D3937039A5369DFA3AF77 /* Load_plm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4E4D213FE0DAEB3149B38F7F /* Load_plm.cpp */; };
|
||||
281FA911C06C8EC3EEB38F51 /* Sndfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BAF08779FF3F2CEB416665B9 /* Sndfile.cpp */; };
|
||||
2837D1CEECED2840A15BD00E /* openmpt-ogg.lib in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DFCA7B6A69BE5E8C9C79DF6 /* openmpt-ogg.lib */; };
|
||||
2AE422F10A013D23E60A9931 /* Load_cba.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EDF8E6598086B04BE95F5499 /* Load_cba.cpp */; };
|
||||
2B1F4A030A3C6435E645C043 /* Load_mo3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F49974BA1D7613D0AB0058B /* Load_mo3.cpp */; };
|
||||
30BE965074D2678268A3EC90 /* mptTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B176D8582299794AD8602698 /* mptTime.cpp */; };
|
||||
30C4FED93067E20B6ABC9519 /* ModChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5FDB15C1B74088B3694EA401 /* ModChannel.cpp */; };
|
||||
|
@ -39,6 +41,7 @@
|
|||
393D72CF5409E18157DA790F /* MPEGFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BF406A572C6878C92DFB6897 /* MPEGFrame.cpp */; };
|
||||
39B7C99F18D4E3D1F4DE3FDF /* Load_mdl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2052C727B2E091191BB93567 /* Load_mdl.cpp */; };
|
||||
3C92F25FD4DFD8110326D89F /* Fastmix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1054EEE754A3945996CACD27 /* Fastmix.cpp */; };
|
||||
3E00C2FF58CD31B15C9DC93F /* Load_pt36.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE474F872B6F5DF92D024DC7 /* Load_pt36.cpp */; };
|
||||
3EF604A50D1958579427AAE5 /* DSP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E2066CCD3D47C03F10A20B0D /* DSP.cpp */; };
|
||||
3F8606FDF27C10AF439E6D3D /* SampleFormatMP3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4737ECA53B373617C0224AE5 /* SampleFormatMP3.cpp */; };
|
||||
40F236CF2E59C981CB53BD0F /* I3DL2Reverb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA3E0E57B6C8C0C931AD8C97 /* I3DL2Reverb.cpp */; };
|
||||
|
@ -55,8 +58,10 @@
|
|||
56DD54C135FA6EF31203CB01 /* Load_mtm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0990B3299C1E7D1B04F72169 /* Load_mtm.cpp */; };
|
||||
574F1261366C2C93127588A1 /* load_j2b.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A33106C935BED0BB9E977509 /* load_j2b.cpp */; };
|
||||
5EE7936B3E04AD9D1A0E09AB /* Load_667.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CB46E6335DD4B025C6AD5473 /* Load_667.cpp */; };
|
||||
609638333FB352651BBCAE73 /* Load_ftm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0C4FEA7B9EDDB46D07B658BB /* Load_ftm.cpp */; };
|
||||
63B0011DD79878CFF9E6275D /* Load_mus_km.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 02F4B8C5C982B0373784D705 /* Load_mus_km.cpp */; };
|
||||
6600F8E10024EE13B04ACF21 /* ContainerMMCMP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 124C374986A67C3B048A0589 /* ContainerMMCMP.cpp */; };
|
||||
66139DF74530B829213A1437 /* Load_ims.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26B859FFB94623F1221EC83F /* Load_ims.cpp */; };
|
||||
689E270C1013C2BEB8D8CD4C /* DigiBoosterEcho.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D078EDD4AF1B894663FD8C14 /* DigiBoosterEcho.cpp */; };
|
||||
69AC6475078D6527DF0BAAB5 /* ParamEq.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8C3D549D4EFDB50FAC3292DD /* ParamEq.cpp */; };
|
||||
6A44FDD1AE58CF03A22A5411 /* tuning.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48199D39B93C3E2B6F02EB79 /* tuning.cpp */; };
|
||||
|
@ -69,18 +74,24 @@
|
|||
7DDE7A6B76A93A1D011DA0AB /* SampleFormatMediaFoundation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D2D268330651A7A51E4B8673 /* SampleFormatMediaFoundation.cpp */; };
|
||||
7FDA539F18273951466E39DF /* Load_it.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 62235C27A6720199E8993A67 /* Load_it.cpp */; };
|
||||
80EEA677809189A9BAE63CB7 /* MIDIMacros.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 50FB747FA860E7715A6F02BF /* MIDIMacros.cpp */; };
|
||||
81C26ED360DF89053CE8E513 /* Load_gmc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D668A71B68F6710DD1CF155B /* Load_gmc.cpp */; };
|
||||
8479AC1F9F461AD1A316B25F /* Load_digi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D14936A73E714519400434E7 /* Load_digi.cpp */; };
|
||||
84A9E60B844CC93DBEA17C4B /* MixerLoops.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B810F0D30F7663C5C1847F13 /* MixerLoops.cpp */; };
|
||||
84F9B8439FC626F5A396BE83 /* Load_unic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9EEAF28B0C1300FD0DA5F0CB /* Load_unic.cpp */; };
|
||||
8676CA3F6593E471419D407F /* Load_gt2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 10E0ADC7A36E77B90C471C07 /* Load_gt2.cpp */; };
|
||||
8751165421750B86D19AEC94 /* mptStringBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C510221C396A670EB74DF05C /* mptStringBuffer.cpp */; };
|
||||
877C818BA248F03DA61987CB /* Load_puma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6DB68B53DADE99C5DC718993 /* Load_puma.cpp */; };
|
||||
8B4D81ED6A6A9C1F4673F82D /* Load_dsm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5D60F958863D987F13C7DD5 /* Load_dsm.cpp */; };
|
||||
8D04F5E56C221017482B6C25 /* WAVTools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1F5AB80DB1E881FF1AC1264D /* WAVTools.cpp */; };
|
||||
90C3E5D96FE1000B4BEA5C19 /* Load_mid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC1456C17EA220B3E77AC501 /* Load_mid.cpp */; };
|
||||
926864F471857F264D8EDB34 /* mptRandom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D6A74BCEFF83EAE58D0E2FC /* mptRandom.cpp */; };
|
||||
9580A935A565D56791D95F75 /* PlaybackTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EDB72A5D8FA0C64F86C7D89D /* PlaybackTest.cpp */; };
|
||||
9715CA0B7632E43D523C404B /* Load_s3m.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1F41A2D3B1CF6CC51AA81113 /* Load_s3m.cpp */; };
|
||||
976568F7F2B0B929E0E29F37 /* libopenmpt_ext_impl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7355A89F850CE891FA7AD6DF /* libopenmpt_ext_impl.cpp */; };
|
||||
978580C976A29AFB52ABF709 /* MODTools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 99E1AAB12C6F74A3954818F1 /* MODTools.cpp */; };
|
||||
97AC91CD76C9ABFF52D3080D /* Load_stm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0735F17599C3BB67029C5FB5 /* Load_stm.cpp */; };
|
||||
97B1A0C5975483F7D1A93705 /* Echo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9C9696EDF3FC09DFA60A252D /* Echo.cpp */; };
|
||||
98C2B4F5B38F23A7B75FBB35 /* PlayState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FB77AD1D689FBB8F6A32AB5D /* PlayState.cpp */; };
|
||||
9F1029ABB9DC985DBDAD2FEB /* ModSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A32EC1731056CFE511E9BFB3 /* ModSample.cpp */; };
|
||||
9F2D020A8C9494BC298E884A /* PlugInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D89E49F2E528FC64600DC832 /* PlugInterface.cpp */; };
|
||||
9FC1BA253DA2BAD715210065 /* Flanger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3286C74DF54727BF527C058D /* Flanger.cpp */; };
|
||||
|
@ -88,17 +99,18 @@
|
|||
A5815DFEB5CE41F0B3BB0C3E /* openmpt-vorbis.lib in Frameworks */ = {isa = PBXBuildFile; fileRef = E7CD47E68F42E3983807EE26 /* openmpt-vorbis.lib */; };
|
||||
A5DAFA6B19C3721D3C1120AB /* WindowedFIR.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14715833DAFF4FA549017673 /* WindowedFIR.cpp */; };
|
||||
A7B576CD86D290FF62DBED0D /* Load_amf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 37F80675CA85D067335E74B5 /* Load_amf.cpp */; };
|
||||
A88063C9879D7DFB63A6DA09 /* Load_stk.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1D12DDB1AFA0A7A318794BF1 /* Load_stk.cpp */; };
|
||||
A896F1F84677F2AA1DF63838 /* LFOPlugin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D6BBDE00997C3E72F6B11C40 /* LFOPlugin.cpp */; };
|
||||
A9C7C28B051312BDF344F8CB /* AudioCriticalSection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3947FF534AFF3F45C06D2D93 /* AudioCriticalSection.cpp */; };
|
||||
A9D47C71514A1823FA0F22B1 /* SoundFilePlayConfig.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F19DB8D9D040544B85225719 /* SoundFilePlayConfig.cpp */; };
|
||||
AB7FFC4D9117037F545C128D /* mod_specifications.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 274EB9F5814FD0E74896C835 /* mod_specifications.cpp */; };
|
||||
ABC5779D79E8CB4F00F71DDD /* OPL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B3A14F450EE2A2B7E23CED85 /* OPL.cpp */; };
|
||||
B17E84D14F5F858326DDCB11 /* ContainerPP20.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 38019939FAC1F9AB57F6D779 /* ContainerPP20.cpp */; };
|
||||
B464B3479381CD796F8B2987 /* Load_ice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D727124F69B4DC41D28D808F /* Load_ice.cpp */; };
|
||||
B5220D6D8345611F0A53B3AD /* AGC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BFC43D151B059087EE5FDB55 /* AGC.cpp */; };
|
||||
B591ED4C6887F6FEB9AA538C /* ComponentManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 13F9789407F8C2068CE3D6D4 /* ComponentManager.cpp */; };
|
||||
B5D9190DF9ECEA3FEDBE6F4D /* Sndmix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A0FD6B58B3277A740F924F5 /* Sndmix.cpp */; };
|
||||
BA54A1E79971BC19757B1827 /* Load_ams.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29DC06EFBC69D0E12542752F /* Load_ams.cpp */; };
|
||||
BB65D2D86E5BDC8ABF7E3918 /* mptFileTemporary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FF7F8F60F37ED8D27869EDA0 /* mptFileTemporary.cpp */; };
|
||||
BBC2281DFFD5F94FF3A77E5D /* Tables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 488AACC5B9AD4DB76F73FB05 /* Tables.cpp */; };
|
||||
BC15882904B4C65B27E07E69 /* patternContainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BE9A4117CE11203E8E49251 /* patternContainer.cpp */; };
|
||||
BCC110A956E505DB070AE6E9 /* DMOUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 664DAA91DAA7EF83588B78D1 /* DMOUtils.cpp */; };
|
||||
|
@ -106,13 +118,17 @@
|
|||
BD4216739C5F30A578688CB3 /* Load_fmt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9CF744BB2F850EAD985DB2FB /* Load_fmt.cpp */; };
|
||||
BE9B2A6B02AEFB9DF68080AB /* Snd_fx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 74D7DB33E5FA7C259BC12973 /* Snd_fx.cpp */; };
|
||||
C0082C03041BFD35F7ED8243 /* Reverb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B50C144B262EB53DDBF5628B /* Reverb.cpp */; };
|
||||
C3D725375C240AE98A6B0B77 /* Load_fc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6BBD03FFB0A75B13D31AE7F /* Load_fc.cpp */; };
|
||||
C55C8AFDA479A52F8083013D /* UMXTools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C7851FA55A12E997C2EB8DE5 /* UMXTools.cpp */; };
|
||||
C6B55BA579AB6557CACDC1E5 /* InstrumentSynth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 89879ACD7D86E43F0271F90D /* InstrumentSynth.cpp */; };
|
||||
C746074BA663217D826C7D8B /* Load_mt2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0E85EC13A113B60509EC5A53 /* Load_mt2.cpp */; };
|
||||
C79768571036A68933625E97 /* libopenmpt_impl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7F22B5FF701A23F1DC1DA43F /* libopenmpt_impl.cpp */; };
|
||||
C806B217E2D320C9E6A3B857 /* Load_kris.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 19B6191F86DE27918871175F /* Load_kris.cpp */; };
|
||||
C81D1553A73A2F8583438B93 /* Load_dmf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 36CAA59BC9586F8D323113DB /* Load_dmf.cpp */; };
|
||||
CB31B3AF3F1A2B616167D9EF /* modsmp_ctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 09E33737D0712EA93E735577 /* modsmp_ctrl.cpp */; };
|
||||
CC12FBA114B239D337DDF1E1 /* Compressor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9334A009842C0DFBF02F8E49 /* Compressor.cpp */; };
|
||||
CCEFFE57CC92E18906E79497 /* MIDIEvents.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A78B5E5FFEF0D151B0FEEC9F /* MIDIEvents.cpp */; };
|
||||
CE9155C7ADAE6FF989B7CC07 /* Load_etx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14754CCFA70316C10FDBBB0F /* Load_etx.cpp */; };
|
||||
CEDA1F2FDEBF4B61CB32D56F /* Chorus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84A787B7269123A91DB835F7 /* Chorus.cpp */; };
|
||||
CF000469179F429B3ACAFAA9 /* tuningCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFE0BC51D0D82A433CDBAA91 /* tuningCollection.cpp */; };
|
||||
CF116C1742F9E3C965479257 /* Load_symmod.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7D070D1F43950491B1972B5F /* Load_symmod.cpp */; };
|
||||
|
@ -126,6 +142,7 @@
|
|||
DEB582A5DE5865D718AD18E5 /* modcommand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 746376CDCBC8E9BF7DD7050D /* modcommand.cpp */; };
|
||||
DEBC9FDC22D0710E16A1F61C /* version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E2FDF24AF52801665192D64 /* version.cpp */; };
|
||||
DF08AE5AEEEDDA8CDB61649A /* mptPathString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B406AC2ED2A06B4E4511902 /* mptPathString.cpp */; };
|
||||
E234B24BC151CC7D9D5B288B /* Load_rtm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 079A67139A2831050300D553 /* Load_rtm.cpp */; };
|
||||
E6583D037EA522B5ACEC2343 /* ITTools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 778D494BBBDBEEBDFE03278B /* ITTools.cpp */; };
|
||||
E76008D1C67D2303A2867F11 /* Load_med.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8F093E392197082B8A6FAC79 /* Load_med.cpp */; };
|
||||
E79434E3857535955CF37B23 /* SampleFormats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DD65792BA025D99DFD5AB76B /* SampleFormats.cpp */; };
|
||||
|
@ -198,6 +215,7 @@
|
|||
02F4B8C5C982B0373784D705 /* Load_mus_km.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_mus_km.cpp; path = ../../soundlib/Load_mus_km.cpp; sourceTree = "<group>"; };
|
||||
03BF85B7480E2B298A3563F7 /* TinyFFT.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TinyFFT.cpp; path = ../../soundlib/TinyFFT.cpp; sourceTree = "<group>"; };
|
||||
04155894998C17C608286ED4 /* openmpt-mpg123.lib */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "mpg123.xcodeproj"; path = ext/mpg123.xcodeproj; sourceTree = SOURCE_ROOT; };
|
||||
042BC5075B9137F90D9F5347 /* PlaybackTest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PlaybackTest.h; path = ../../soundlib/PlaybackTest.h; sourceTree = "<group>"; };
|
||||
046F30B171973F23732A2EF1 /* numeric.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = numeric.hpp; path = ../../src/mpt/base/numeric.hpp; sourceTree = "<group>"; };
|
||||
04D4FEEB3466CDDD0F740D2B /* EQ.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = EQ.cpp; path = ../../sounddsp/EQ.cpp; sourceTree = "<group>"; };
|
||||
04EAEC77C7AB4CE924E02AB7 /* DMOPlugin.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DMOPlugin.h; path = ../../soundlib/plugins/dmo/DMOPlugin.h; sourceTree = "<group>"; };
|
||||
|
@ -206,6 +224,7 @@
|
|||
073F0DABFB3E571D80296BEB /* SampleFormatSFZ.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SampleFormatSFZ.cpp; path = ../../soundlib/SampleFormatSFZ.cpp; sourceTree = "<group>"; };
|
||||
074C76BE5EB1E9B010C004FE /* mptFileType.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mptFileType.cpp; path = ../../common/mptFileType.cpp; sourceTree = "<group>"; };
|
||||
07580841CEBCC33359749681 /* tests_string_utility.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = tests_string_utility.hpp; path = ../../src/mpt/string/tests/tests_string_utility.hpp; sourceTree = "<group>"; };
|
||||
079A67139A2831050300D553 /* Load_rtm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_rtm.cpp; path = ../../soundlib/Load_rtm.cpp; sourceTree = "<group>"; };
|
||||
079DA5A7A1C19AD951E77BE7 /* filedata_memory.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = filedata_memory.hpp; path = ../../src/mpt/io_read/filedata_memory.hpp; sourceTree = "<group>"; };
|
||||
0863524F9AF11C4103C9C08F /* Load_ptm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_ptm.cpp; path = ../../soundlib/Load_ptm.cpp; sourceTree = "<group>"; };
|
||||
09387CD815C32F4A90A7FB18 /* PluginMixBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginMixBuffer.h; path = ../../soundlib/plugins/PluginMixBuffer.h; sourceTree = "<group>"; };
|
||||
|
@ -214,6 +233,7 @@
|
|||
09E33737D0712EA93E735577 /* modsmp_ctrl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = modsmp_ctrl.cpp; path = ../../soundlib/modsmp_ctrl.cpp; sourceTree = "<group>"; };
|
||||
0A20B0FECCE111702A15EF3E /* ComponentManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ComponentManager.h; path = ../../common/ComponentManager.h; sourceTree = "<group>"; };
|
||||
0BC4F1DBADAE8DCDA4D5A01B /* ContainerXPK.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ContainerXPK.cpp; path = ../../soundlib/ContainerXPK.cpp; sourceTree = "<group>"; };
|
||||
0C4FEA7B9EDDB46D07B658BB /* Load_ftm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_ftm.cpp; path = ../../soundlib/Load_ftm.cpp; sourceTree = "<group>"; };
|
||||
0D18D5B79FA69FA9087F43F7 /* Load_dtm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_dtm.cpp; path = ../../soundlib/Load_dtm.cpp; sourceTree = "<group>"; };
|
||||
0E85EC13A113B60509EC5A53 /* Load_mt2.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_mt2.cpp; path = ../../soundlib/Load_mt2.cpp; sourceTree = "<group>"; };
|
||||
0F49974BA1D7613D0AB0058B /* Load_mo3.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_mo3.cpp; path = ../../soundlib/Load_mo3.cpp; sourceTree = "<group>"; };
|
||||
|
@ -225,9 +245,9 @@
|
|||
1197459E05968F108A81A3DE /* feature_flags.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = feature_flags.hpp; path = ../../src/mpt/arch/feature_flags.hpp; sourceTree = "<group>"; };
|
||||
124C374986A67C3B048A0589 /* ContainerMMCMP.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ContainerMMCMP.cpp; path = ../../soundlib/ContainerMMCMP.cpp; sourceTree = "<group>"; };
|
||||
12DCF57C800503EE8197F3BC /* mptBaseUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mptBaseUtils.h; path = ../../common/mptBaseUtils.h; sourceTree = "<group>"; };
|
||||
13F63AEAA68404DC0F5CA92A /* mptFileIO.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mptFileIO.cpp; path = ../../common/mptFileIO.cpp; sourceTree = "<group>"; };
|
||||
13F9789407F8C2068CE3D6D4 /* ComponentManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ComponentManager.cpp; path = ../../common/ComponentManager.cpp; sourceTree = "<group>"; };
|
||||
14715833DAFF4FA549017673 /* WindowedFIR.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WindowedFIR.cpp; path = ../../soundlib/WindowedFIR.cpp; sourceTree = "<group>"; };
|
||||
14754CCFA70316C10FDBBB0F /* Load_etx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_etx.cpp; path = ../../soundlib/Load_etx.cpp; sourceTree = "<group>"; };
|
||||
159B6F7E099AB8F08E85CDBE /* PluginManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginManager.h; path = ../../soundlib/plugins/PluginManager.h; sourceTree = "<group>"; };
|
||||
15A918AF09A862218E9376EF /* aligned_array.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = aligned_array.hpp; path = ../../src/mpt/base/aligned_array.hpp; sourceTree = "<group>"; };
|
||||
1679D9615AC87ED39CEFB7A1 /* alloc.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = alloc.hpp; path = ../../src/mpt/base/alloc.hpp; sourceTree = "<group>"; };
|
||||
|
@ -235,15 +255,18 @@
|
|||
178BC3E3DA4C245537810223 /* native_path.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = native_path.hpp; path = ../../src/mpt/path/native_path.hpp; sourceTree = "<group>"; };
|
||||
17F58A2FDAB5EAA137EAC86F /* detect_libc.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = detect_libc.hpp; path = ../../src/mpt/base/detect_libc.hpp; sourceTree = "<group>"; };
|
||||
18A72A335CF5CFA59F1D0873 /* seed.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = seed.hpp; path = ../../src/mpt/random/seed.hpp; sourceTree = "<group>"; };
|
||||
19B6191F86DE27918871175F /* Load_kris.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_kris.cpp; path = ../../soundlib/Load_kris.cpp; sourceTree = "<group>"; };
|
||||
1A0FD6B58B3277A740F924F5 /* Sndmix.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Sndmix.cpp; path = ../../soundlib/Sndmix.cpp; sourceTree = "<group>"; };
|
||||
1A88E03F71EE533123FC6E7F /* RowVisitor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RowVisitor.cpp; path = ../../soundlib/RowVisitor.cpp; sourceTree = "<group>"; };
|
||||
1A94BBC4BC7E57B6B3A56A04 /* mptStringFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mptStringFormat.h; path = ../../common/mptStringFormat.h; sourceTree = "<group>"; };
|
||||
1AA25C6F0B99CA61779D4AAF /* check_platform.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = check_platform.hpp; path = ../../src/mpt/base/check_platform.hpp; sourceTree = "<group>"; };
|
||||
1AD54F9F7616A3114970EDDF /* Paula.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Paula.h; path = ../../soundlib/Paula.h; sourceTree = "<group>"; };
|
||||
1B5F95F15FAE3B63A1D57431 /* Tagging.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Tagging.cpp; path = ../../soundlib/Tagging.cpp; sourceTree = "<group>"; };
|
||||
1BD71CF93D735A2B35E9F339 /* filedata_base_unseekable_buffer.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = filedata_base_unseekable_buffer.hpp; path = ../../src/mpt/io_read/filedata_base_unseekable_buffer.hpp; sourceTree = "<group>"; };
|
||||
1C2F81B7DEEFE2293C24BFF7 /* detect_arch.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = detect_arch.hpp; path = ../../src/mpt/base/detect_arch.hpp; sourceTree = "<group>"; };
|
||||
1C6D52530D64C04579684093 /* SampleFormatOpus.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SampleFormatOpus.cpp; path = ../../soundlib/SampleFormatOpus.cpp; sourceTree = "<group>"; };
|
||||
1CE2C4318A0AD2A38B9DC271 /* device.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = device.hpp; path = ../../src/mpt/random/device.hpp; sourceTree = "<group>"; };
|
||||
1D12DDB1AFA0A7A318794BF1 /* Load_stk.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_stk.cpp; path = ../../soundlib/Load_stk.cpp; sourceTree = "<group>"; };
|
||||
1E7AA06D8BA2AEDF8D359EAD /* simple.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = simple.hpp; path = ../../src/mpt/format/simple.hpp; sourceTree = "<group>"; };
|
||||
1F41A2D3B1CF6CC51AA81113 /* Load_s3m.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_s3m.cpp; path = ../../soundlib/Load_s3m.cpp; sourceTree = "<group>"; };
|
||||
1F5AB80DB1E881FF1AC1264D /* WAVTools.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WAVTools.cpp; path = ../../soundlib/WAVTools.cpp; sourceTree = "<group>"; };
|
||||
|
@ -252,12 +275,14 @@
|
|||
20B693A5E7448B175546B1E5 /* MixerSettings.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MixerSettings.h; path = ../../soundlib/MixerSettings.h; sourceTree = "<group>"; };
|
||||
212A36FD7B2B4DEF4272453D /* semantic_version.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = semantic_version.hpp; path = ../../src/mpt/base/semantic_version.hpp; sourceTree = "<group>"; };
|
||||
2151B0037C9303754FED4E43 /* Mixer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Mixer.h; path = ../../soundlib/Mixer.h; sourceTree = "<group>"; };
|
||||
219A364192BCD73348838481 /* size.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = size.hpp; path = ../../src/mpt/base/size.hpp; sourceTree = "<group>"; };
|
||||
22594181666D12B35A3E97C1 /* fileref.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = fileref.hpp; path = ../../src/mpt/io_file/fileref.hpp; sourceTree = "<group>"; };
|
||||
2323E4A5944685974A0D32E5 /* Snd_defs.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Snd_defs.h; path = ../../soundlib/Snd_defs.h; sourceTree = "<group>"; };
|
||||
236E8DFB1D304A6D572F4C3B /* Tagging.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Tagging.h; path = ../../soundlib/Tagging.h; sourceTree = "<group>"; };
|
||||
23EF16CF7F4F3B81C192DD0F /* filedata_base_buffered.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = filedata_base_buffered.hpp; path = ../../src/mpt/io_read/filedata_base_buffered.hpp; sourceTree = "<group>"; };
|
||||
25972C49C780C83BBEA7DA89 /* ContainerUMX.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ContainerUMX.cpp; path = ../../soundlib/ContainerUMX.cpp; sourceTree = "<group>"; };
|
||||
25EAC3A1C044AC93FC7D11E1 /* unique_basename.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = unique_basename.hpp; path = ../../src/mpt/io_file_unique/unique_basename.hpp; sourceTree = "<group>"; };
|
||||
26B859FFB94623F1221EC83F /* Load_ims.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_ims.cpp; path = ../../soundlib/Load_ims.cpp; sourceTree = "<group>"; };
|
||||
274EB9F5814FD0E74896C835 /* mod_specifications.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mod_specifications.cpp; path = ../../soundlib/mod_specifications.cpp; sourceTree = "<group>"; };
|
||||
27B40A4D98D6AB3F4E9D588D /* SampleIO.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SampleIO.h; path = ../../soundlib/SampleIO.h; sourceTree = "<group>"; };
|
||||
2810796521D235D75BD137A5 /* XMTools.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = XMTools.h; path = ../../soundlib/XMTools.h; sourceTree = "<group>"; };
|
||||
|
@ -279,6 +304,7 @@
|
|||
338C775D77DB1CCFBA02559D /* BitReader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BitReader.h; path = ../../soundlib/BitReader.h; sourceTree = "<group>"; };
|
||||
34D45985C7622377303AC7C5 /* Load_imf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_imf.cpp; path = ../../soundlib/Load_imf.cpp; sourceTree = "<group>"; };
|
||||
352908E1F7E96953551E4721 /* libopenmpt_c.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = libopenmpt_c.cpp; path = ../../libopenmpt/libopenmpt_c.cpp; sourceTree = "<group>"; };
|
||||
352971E219707A149D5DA822 /* libcxx.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = libcxx.hpp; path = ../../src/mpt/check/libcxx.hpp; sourceTree = "<group>"; };
|
||||
36619CBCFDC657AE887E2AFC /* inputfile_filecursor.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = inputfile_filecursor.hpp; path = ../../src/mpt/io_file_read/inputfile_filecursor.hpp; sourceTree = "<group>"; };
|
||||
36CAA59BC9586F8D323113DB /* Load_dmf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_dmf.cpp; path = ../../soundlib/Load_dmf.cpp; sourceTree = "<group>"; };
|
||||
37064A799107616B584E58B9 /* tests_random.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = tests_random.hpp; path = ../../src/mpt/random/tests/tests_random.hpp; sourceTree = "<group>"; };
|
||||
|
@ -308,6 +334,7 @@
|
|||
43B7419134AEAF83A0B22FD1 /* libopenmpt_config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = libopenmpt_config.h; path = ../../libopenmpt/libopenmpt_config.h; sourceTree = "<group>"; };
|
||||
43CBFB4A068C5BBC63C1398A /* mptFileTemporary.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mptFileTemporary.h; path = ../../common/mptFileTemporary.h; sourceTree = "<group>"; };
|
||||
44E6E1C323897D35D86B8003 /* tests_base_bit.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = tests_base_bit.hpp; path = ../../src/mpt/base/tests/tests_base_bit.hpp; sourceTree = "<group>"; };
|
||||
45A87D570868DDC9659DBB97 /* InstrumentSynth.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = InstrumentSynth.h; path = ../../soundlib/InstrumentSynth.h; sourceTree = "<group>"; };
|
||||
45D0E0DE525B9350CD405F1E /* DigiBoosterEcho.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DigiBoosterEcho.h; path = ../../soundlib/plugins/DigiBoosterEcho.h; sourceTree = "<group>"; };
|
||||
45DBF5F73F9DB269799CB437 /* Dlsbank.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Dlsbank.h; path = ../../soundlib/Dlsbank.h; sourceTree = "<group>"; };
|
||||
4614D43FB73775316CFE227F /* math.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = math.hpp; path = ../../src/mpt/base/math.hpp; sourceTree = "<group>"; };
|
||||
|
@ -327,7 +354,6 @@
|
|||
4DFC0969924AAEDBD471E7A9 /* ltdl.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = ltdl.hpp; path = ../../src/mpt/detect/ltdl.hpp; sourceTree = "<group>"; };
|
||||
4E4D213FE0DAEB3149B38F7F /* Load_plm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_plm.cpp; path = ../../soundlib/Load_plm.cpp; sourceTree = "<group>"; };
|
||||
4E96BB31E124852349FD2971 /* types.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = types.hpp; path = ../../src/mpt/string/types.hpp; sourceTree = "<group>"; };
|
||||
4FB7A50743B6EE79C8A20347 /* floatingpoint.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = floatingpoint.hpp; path = ../../src/mpt/base/floatingpoint.hpp; sourceTree = "<group>"; };
|
||||
50318A59BD5998CBBEEC8899 /* os_path.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = os_path.hpp; path = ../../src/mpt/path/os_path.hpp; sourceTree = "<group>"; };
|
||||
50CF7EB4C1F21FA677B8CCF4 /* mptFileIO.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mptFileIO.h; path = ../../common/mptFileIO.h; sourceTree = "<group>"; };
|
||||
50FB747FA860E7715A6F02BF /* MIDIMacros.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MIDIMacros.cpp; path = ../../soundlib/MIDIMacros.cpp; sourceTree = "<group>"; };
|
||||
|
@ -373,6 +399,7 @@
|
|||
6B9C8BDDC301FECF75101A1D /* Gargle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Gargle.h; path = ../../soundlib/plugins/dmo/Gargle.h; sourceTree = "<group>"; };
|
||||
6C67B7D97E1EF7CBF38CE619 /* tests_base_math.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = tests_base_math.hpp; path = ../../src/mpt/base/tests/tests_base_math.hpp; sourceTree = "<group>"; };
|
||||
6D2350A8B171F61AF3992EE8 /* FileReader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FileReader.h; path = ../../common/FileReader.h; sourceTree = "<group>"; };
|
||||
6DB68B53DADE99C5DC718993 /* Load_puma.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_puma.cpp; path = ../../soundlib/Load_puma.cpp; sourceTree = "<group>"; };
|
||||
6E84090F7E6935416ADCBF4F /* environment.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = environment.hpp; path = ../../src/mpt/environment/environment.hpp; sourceTree = "<group>"; };
|
||||
6F3A912F8923F36144AA076F /* filecursor_callbackstream.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = filecursor_callbackstream.hpp; path = ../../src/mpt/io_read/filecursor_callbackstream.hpp; sourceTree = "<group>"; };
|
||||
70644035FF1571275A9F8E75 /* libopenmpt_stream_callbacks_file_msvcrt.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = libopenmpt_stream_callbacks_file_msvcrt.h; path = ../../libopenmpt/libopenmpt_stream_callbacks_file_msvcrt.h; sourceTree = "<group>"; };
|
||||
|
@ -384,6 +411,7 @@
|
|||
73262ABB150FC6AD0C36D8FB /* DMOUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DMOUtils.h; path = ../../soundlib/plugins/dmo/DMOUtils.h; sourceTree = "<group>"; };
|
||||
7355A89F850CE891FA7AD6DF /* libopenmpt_ext_impl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = libopenmpt_ext_impl.cpp; path = ../../libopenmpt/libopenmpt_ext_impl.cpp; sourceTree = "<group>"; };
|
||||
73781183B7C6B6F5F9EDEFC3 /* Snd_flt.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Snd_flt.cpp; path = ../../soundlib/Snd_flt.cpp; sourceTree = "<group>"; };
|
||||
73A166DF062F30D16F07D51F /* Load_tcb.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_tcb.cpp; path = ../../soundlib/Load_tcb.cpp; sourceTree = "<group>"; };
|
||||
73A52C155E915207A6771A55 /* EQ.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EQ.h; path = ../../sounddsp/EQ.h; sourceTree = "<group>"; };
|
||||
746376CDCBC8E9BF7DD7050D /* modcommand.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = modcommand.cpp; path = ../../soundlib/modcommand.cpp; sourceTree = "<group>"; };
|
||||
74D7DB33E5FA7C259BC12973 /* Snd_fx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Snd_fx.cpp; path = ../../soundlib/Snd_fx.cpp; sourceTree = "<group>"; };
|
||||
|
@ -410,6 +438,7 @@
|
|||
7FD19A57125F64497B380897 /* Load_ult.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_ult.cpp; path = ../../soundlib/Load_ult.cpp; sourceTree = "<group>"; };
|
||||
80C993CB8D54463D0839120B /* message_macros.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = message_macros.hpp; path = ../../src/mpt/format/message_macros.hpp; sourceTree = "<group>"; };
|
||||
80F9D5FD1722E7EFD889443D /* default_floatingpoint.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = default_floatingpoint.hpp; path = ../../src/mpt/format/default_floatingpoint.hpp; sourceTree = "<group>"; };
|
||||
8209AB5BF32C4C4DA8F2F99B /* MODTools.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MODTools.h; path = ../../soundlib/MODTools.h; sourceTree = "<group>"; };
|
||||
82EA4C5D44A2DDCFEBBDAA9D /* tests_base_wrapping_divide.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = tests_base_wrapping_divide.hpp; path = ../../src/mpt/base/tests/tests_base_wrapping_divide.hpp; sourceTree = "<group>"; };
|
||||
830F3566F431D658A9F883A6 /* Logging.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Logging.cpp; path = ../../common/Logging.cpp; sourceTree = "<group>"; };
|
||||
84A787B7269123A91DB835F7 /* Chorus.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Chorus.cpp; path = ../../soundlib/plugins/dmo/Chorus.cpp; sourceTree = "<group>"; };
|
||||
|
@ -419,6 +448,7 @@
|
|||
87A62ABDE1A741AFA8EE38FD /* AudioCriticalSection.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioCriticalSection.h; path = ../../soundlib/AudioCriticalSection.h; sourceTree = "<group>"; };
|
||||
8856685FF57E76D1F711669F /* base64.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = base64.hpp; path = ../../src/mpt/binary/base64.hpp; sourceTree = "<group>"; };
|
||||
8876678BE2777E7DA9BE75CB /* default_engines.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = default_engines.hpp; path = ../../src/mpt/random/default_engines.hpp; sourceTree = "<group>"; };
|
||||
89879ACD7D86E43F0271F90D /* InstrumentSynth.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = InstrumentSynth.cpp; path = ../../soundlib/InstrumentSynth.cpp; sourceTree = "<group>"; };
|
||||
8A87EA73FEE22F657CC5B8B3 /* macros.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = macros.hpp; path = ../../src/mpt/string_transcode/macros.hpp; sourceTree = "<group>"; };
|
||||
8ABDA3472E24D0F9455A8987 /* filedata_base_unseekable.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = filedata_base_unseekable.hpp; path = ../../src/mpt/io_read/filedata_base_unseekable.hpp; sourceTree = "<group>"; };
|
||||
8ABF23E958E2779BDFF0CA29 /* mutex.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = mutex.hpp; path = ../../src/mpt/mutex/mutex.hpp; sourceTree = "<group>"; };
|
||||
|
@ -435,7 +465,6 @@
|
|||
8F52A05ED3A145D015C87E9E /* Profiler.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Profiler.cpp; path = ../../common/Profiler.cpp; sourceTree = "<group>"; };
|
||||
9061AC518460F5C3094C0A91 /* SampleFormatBRR.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SampleFormatBRR.cpp; path = ../../soundlib/SampleFormatBRR.cpp; sourceTree = "<group>"; };
|
||||
90E45EE632CDFAD829F50D26 /* mptStringBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mptStringBuffer.h; path = ../../common/mptStringBuffer.h; sourceTree = "<group>"; };
|
||||
9133E604FE5BF476FFEEE444 /* OpCodes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OpCodes.h; path = ../../soundlib/plugins/OpCodes.h; sourceTree = "<group>"; };
|
||||
915D6003E8C2D2F59AD0EE43 /* message.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = message.hpp; path = ../../src/mpt/format/message.hpp; sourceTree = "<group>"; };
|
||||
91AA522185A99B930A94B061 /* I3DL2Reverb.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = I3DL2Reverb.h; path = ../../soundlib/plugins/dmo/I3DL2Reverb.h; sourceTree = "<group>"; };
|
||||
91EC613953A4F2ABFABFBF79 /* libopenmpt_stream_callbacks_file.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = libopenmpt_stream_callbacks_file.h; path = ../../libopenmpt/libopenmpt_stream_callbacks_file.h; sourceTree = "<group>"; };
|
||||
|
@ -449,6 +478,7 @@
|
|||
97B8EC8104E0FAF30673EAC1 /* OggStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OggStream.cpp; path = ../../soundlib/OggStream.cpp; sourceTree = "<group>"; };
|
||||
97BF12BD2A4CDCAF932580FD /* Load_gdm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_gdm.cpp; path = ../../soundlib/Load_gdm.cpp; sourceTree = "<group>"; };
|
||||
995821ED5E0D785F127C202D /* tests_string_buffer.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = tests_string_buffer.hpp; path = ../../src/mpt/string/tests/tests_string_buffer.hpp; sourceTree = "<group>"; };
|
||||
99E1AAB12C6F74A3954818F1 /* MODTools.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MODTools.cpp; path = ../../soundlib/MODTools.cpp; sourceTree = "<group>"; };
|
||||
9B1917A761A70F19CFA935E7 /* ParamEq.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ParamEq.h; path = ../../soundlib/plugins/dmo/ParamEq.h; sourceTree = "<group>"; };
|
||||
9B95674D94FB68BF8896C58D /* libopenmpt.dll */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; name = libopenmpt.dll; path = libopenmpt.dll; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9BB2E75F2E40B1519719559F /* Load_far.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_far.cpp; path = ../../soundlib/Load_far.cpp; sourceTree = "<group>"; };
|
||||
|
@ -461,6 +491,7 @@
|
|||
9E737DF712CDC2E990B14C37 /* Distortion.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Distortion.h; path = ../../soundlib/plugins/dmo/Distortion.h; sourceTree = "<group>"; };
|
||||
9E8AC865F88BDF57BFD2D6A5 /* tests_binary.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = tests_binary.hpp; path = ../../src/mpt/binary/tests/tests_binary.hpp; sourceTree = "<group>"; };
|
||||
9EB0D073130B156590EE9EB3 /* Compressor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Compressor.h; path = ../../soundlib/plugins/dmo/Compressor.h; sourceTree = "<group>"; };
|
||||
9EEAF28B0C1300FD0DA5F0CB /* Load_unic.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_unic.cpp; path = ../../soundlib/Load_unic.cpp; sourceTree = "<group>"; };
|
||||
9F187E69B9E4ED1BBDB584A9 /* outputfile.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = outputfile.hpp; path = ../../src/mpt/io_file/outputfile.hpp; sourceTree = "<group>"; };
|
||||
9F2E1C1AF92F330CC0762A5A /* BuildSettingsCompiler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BuildSettingsCompiler.h; path = ../../common/BuildSettingsCompiler.h; sourceTree = "<group>"; };
|
||||
9FCB791A628BD98CBFC0B75A /* dos_memory.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = dos_memory.hpp; path = ../../src/mpt/osinfo/dos_memory.hpp; sourceTree = "<group>"; };
|
||||
|
@ -471,6 +502,7 @@
|
|||
A32EC1731056CFE511E9BFB3 /* ModSample.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ModSample.cpp; path = ../../soundlib/ModSample.cpp; sourceTree = "<group>"; };
|
||||
A33106C935BED0BB9E977509 /* load_j2b.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = load_j2b.cpp; path = ../../soundlib/load_j2b.cpp; sourceTree = "<group>"; };
|
||||
A34959973B963F4969DD3FD7 /* filedata.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = filedata.hpp; path = ../../src/mpt/io_read/filedata.hpp; sourceTree = "<group>"; };
|
||||
A35EA1E7E7AD475929D48027 /* PlayState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PlayState.h; path = ../../soundlib/PlayState.h; sourceTree = "<group>"; };
|
||||
A527626137B52C53A08DD0A1 /* int24.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = int24.hpp; path = ../../src/mpt/endian/int24.hpp; sourceTree = "<group>"; };
|
||||
A78B5E5FFEF0D151B0FEEC9F /* MIDIEvents.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MIDIEvents.cpp; path = ../../soundlib/MIDIEvents.cpp; sourceTree = "<group>"; };
|
||||
A7A09A55A16256C7DB615895 /* Paula.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Paula.cpp; path = ../../soundlib/Paula.cpp; sourceTree = "<group>"; };
|
||||
|
@ -493,7 +525,9 @@
|
|||
B517EB3DCFE459EFD3B4F17D /* exception.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = exception.hpp; path = ../../src/mpt/exception/exception.hpp; sourceTree = "<group>"; };
|
||||
B5449C6B226CAADD23FF9AAB /* ModSequence.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ModSequence.h; path = ../../soundlib/ModSequence.h; sourceTree = "<group>"; };
|
||||
B547A5AF29A1EAA1A78573EF /* type_traits.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = type_traits.hpp; path = ../../src/mpt/endian/type_traits.hpp; sourceTree = "<group>"; };
|
||||
B55D7A70F9AC1FE23BD358B0 /* GzipWriter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GzipWriter.h; path = ../../common/GzipWriter.h; sourceTree = "<group>"; };
|
||||
B569F9F747F7C3E9B0D06837 /* Load_669.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_669.cpp; path = ../../soundlib/Load_669.cpp; sourceTree = "<group>"; };
|
||||
B6BBD03FFB0A75B13D31AE7F /* Load_fc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_fc.cpp; path = ../../soundlib/Load_fc.cpp; sourceTree = "<group>"; };
|
||||
B810F0D30F7663C5C1847F13 /* MixerLoops.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MixerLoops.cpp; path = ../../soundlib/MixerLoops.cpp; sourceTree = "<group>"; };
|
||||
B99E396D4C2C035FB504A7AD /* Load_c67.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_c67.cpp; path = ../../soundlib/Load_c67.cpp; sourceTree = "<group>"; };
|
||||
B9B7FE84CBE1DB36FFD2C4C4 /* windows.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = windows.hpp; path = ../../src/mpt/check/windows.hpp; sourceTree = "<group>"; };
|
||||
|
@ -504,6 +538,7 @@
|
|||
BAF08779FF3F2CEB416665B9 /* Sndfile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Sndfile.cpp; path = ../../soundlib/Sndfile.cpp; sourceTree = "<group>"; };
|
||||
BBEF0B95B5B0C807EFAFC9D5 /* ITTools.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ITTools.h; path = ../../soundlib/ITTools.h; sourceTree = "<group>"; };
|
||||
BD023BA1315C8093AF4009E1 /* simple_spec.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = simple_spec.hpp; path = ../../src/mpt/format/simple_spec.hpp; sourceTree = "<group>"; };
|
||||
BE474F872B6F5DF92D024DC7 /* Load_pt36.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_pt36.cpp; path = ../../soundlib/Load_pt36.cpp; sourceTree = "<group>"; };
|
||||
BF406A572C6878C92DFB6897 /* MPEGFrame.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MPEGFrame.cpp; path = ../../soundlib/MPEGFrame.cpp; sourceTree = "<group>"; };
|
||||
BFC43D151B059087EE5FDB55 /* AGC.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AGC.cpp; path = ../../sounddsp/AGC.cpp; sourceTree = "<group>"; };
|
||||
C0B331FD5340FBEFBC19A03D /* MixerLoops.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MixerLoops.h; path = ../../soundlib/MixerLoops.h; sourceTree = "<group>"; };
|
||||
|
@ -513,6 +548,7 @@
|
|||
C3E634155673FE07BF4CA255 /* macros.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = macros.hpp; path = ../../src/mpt/base/macros.hpp; sourceTree = "<group>"; };
|
||||
C3FAC67D5688906FBF6134BD /* detect.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = detect.hpp; path = ../../src/mpt/base/detect.hpp; sourceTree = "<group>"; };
|
||||
C510221C396A670EB74DF05C /* mptStringBuffer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mptStringBuffer.cpp; path = ../../common/mptStringBuffer.cpp; sourceTree = "<group>"; };
|
||||
C61BC533BA1B0EA53F062373 /* MIDIMacroParser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MIDIMacroParser.cpp; path = ../../soundlib/MIDIMacroParser.cpp; sourceTree = "<group>"; };
|
||||
C6F2110A1E5783FCD0659F4A /* FileReaderFwd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FileReaderFwd.h; path = ../../common/FileReaderFwd.h; sourceTree = "<group>"; };
|
||||
C7851FA55A12E997C2EB8DE5 /* UMXTools.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = UMXTools.cpp; path = ../../soundlib/UMXTools.cpp; sourceTree = "<group>"; };
|
||||
C875E7BBB96D55AD2570D5FB /* floatingpoint.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = floatingpoint.hpp; path = ../../src/mpt/endian/floatingpoint.hpp; sourceTree = "<group>"; };
|
||||
|
@ -520,6 +556,7 @@
|
|||
C950084F5BDDD241C4B6768F /* Load_sfx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_sfx.cpp; path = ../../soundlib/Load_sfx.cpp; sourceTree = "<group>"; };
|
||||
C9545B192355720BEA9C6959 /* arithmetic_shift.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = arithmetic_shift.hpp; path = ../../src/mpt/base/arithmetic_shift.hpp; sourceTree = "<group>"; };
|
||||
C9DD180C21428AFED350A64C /* mptPathString.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mptPathString.h; path = ../../common/mptPathString.h; sourceTree = "<group>"; };
|
||||
C9E029A3906E2115FE7047E3 /* debugging.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = debugging.hpp; path = ../../src/mpt/base/debugging.hpp; sourceTree = "<group>"; };
|
||||
CA2995890E783AFB509F73C9 /* array.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = array.hpp; path = ../../src/mpt/base/array.hpp; sourceTree = "<group>"; };
|
||||
CA67A8613B8A4953F150F6A1 /* S3MTools.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = S3MTools.h; path = ../../soundlib/S3MTools.h; sourceTree = "<group>"; };
|
||||
CB4660EB0F95065D51BC3F2B /* pattern.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = pattern.cpp; path = ../../soundlib/pattern.cpp; sourceTree = "<group>"; };
|
||||
|
@ -541,7 +578,9 @@
|
|||
D35A7771C759C0E34C44D5B1 /* WavesReverb.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WavesReverb.h; path = ../../soundlib/plugins/dmo/WavesReverb.h; sourceTree = "<group>"; };
|
||||
D37D7529660B3F1BCEE3E369 /* MIDIMacros.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MIDIMacros.h; path = ../../soundlib/MIDIMacros.h; sourceTree = "<group>"; };
|
||||
D432AEE7E417DB19D08B6527 /* tests_parse.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = tests_parse.hpp; path = ../../src/mpt/parse/tests/tests_parse.hpp; sourceTree = "<group>"; };
|
||||
D668A71B68F6710DD1CF155B /* Load_gmc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_gmc.cpp; path = ../../soundlib/Load_gmc.cpp; sourceTree = "<group>"; };
|
||||
D6BBDE00997C3E72F6B11C40 /* LFOPlugin.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LFOPlugin.cpp; path = ../../soundlib/plugins/LFOPlugin.cpp; sourceTree = "<group>"; };
|
||||
D727124F69B4DC41D28D808F /* Load_ice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_ice.cpp; path = ../../soundlib/Load_ice.cpp; sourceTree = "<group>"; };
|
||||
D89E49F2E528FC64600DC832 /* PlugInterface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PlugInterface.cpp; path = ../../soundlib/plugins/PlugInterface.cpp; sourceTree = "<group>"; };
|
||||
D941724BCA38E03D363C608B /* saturate_round.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = saturate_round.hpp; path = ../../src/mpt/base/saturate_round.hpp; sourceTree = "<group>"; };
|
||||
DA41BBEFE6CC6E6161B13A2F /* transcode.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = transcode.hpp; path = ../../src/mpt/string_transcode/transcode.hpp; sourceTree = "<group>"; };
|
||||
|
@ -560,18 +599,21 @@
|
|||
E2066CCD3D47C03F10A20B0D /* DSP.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = DSP.cpp; path = ../../sounddsp/DSP.cpp; sourceTree = "<group>"; };
|
||||
E276AB813DD6D033801A71C1 /* filedata_base_seekable.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = filedata_base_seekable.hpp; path = ../../src/mpt/io_read/filedata_base_seekable.hpp; sourceTree = "<group>"; };
|
||||
E2B3BCB34FDBCB25516EBAF3 /* random.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = random.hpp; path = ../../src/mpt/random/random.hpp; sourceTree = "<group>"; };
|
||||
E38574ABA645D51D037AB2EB /* any_engine.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = any_engine.hpp; path = ../../src/mpt/random/any_engine.hpp; sourceTree = "<group>"; };
|
||||
E438935FD53001514133819F /* mod_specifications.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mod_specifications.h; path = ../../soundlib/mod_specifications.h; sourceTree = "<group>"; };
|
||||
E4C0ABA9F677EB9B6BE5D9E9 /* libopenmpt_ext_impl.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = libopenmpt_ext_impl.hpp; path = ../../libopenmpt/libopenmpt_ext_impl.hpp; sourceTree = "<group>"; };
|
||||
E59C6F4DDF5E2BBF195D2D8D /* Loaders.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Loaders.h; path = ../../soundlib/Loaders.h; sourceTree = "<group>"; };
|
||||
E64FF33AA9BBB4ECE85F597A /* openmpt-ogg.lib */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "ogg.xcodeproj"; path = ext/ogg.xcodeproj; sourceTree = SOURCE_ROOT; };
|
||||
E6905433791E1E25E1F6C273 /* SampleCopy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SampleCopy.h; path = ../../soundlib/SampleCopy.h; sourceTree = "<group>"; };
|
||||
E7811C8A7A0EE67CE2E78ACA /* class.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = class.hpp; path = ../../src/mpt/osinfo/class.hpp; sourceTree = "<group>"; };
|
||||
E7ACD57DAA6D35EF07A213BD /* MIDIMacroParser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MIDIMacroParser.h; path = ../../soundlib/MIDIMacroParser.h; sourceTree = "<group>"; };
|
||||
E898D5ABAF26CD1D1D28F3EB /* ModInstrument.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ModInstrument.h; path = ../../soundlib/ModInstrument.h; sourceTree = "<group>"; };
|
||||
EABA2F1F4147999119C0AD5F /* AGC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AGC.h; path = ../../sounddsp/AGC.h; sourceTree = "<group>"; };
|
||||
EC1456C17EA220B3E77AC501 /* Load_mid.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_mid.cpp; path = ../../soundlib/Load_mid.cpp; sourceTree = "<group>"; };
|
||||
ED3DBD7D7FCB876FE8A42BBD /* memory.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = memory.hpp; path = ../../src/mpt/base/memory.hpp; sourceTree = "<group>"; };
|
||||
EDB72A5D8FA0C64F86C7D89D /* PlaybackTest.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PlaybackTest.cpp; path = ../../soundlib/PlaybackTest.cpp; sourceTree = "<group>"; };
|
||||
EDF8E6598086B04BE95F5499 /* Load_cba.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_cba.cpp; path = ../../soundlib/Load_cba.cpp; sourceTree = "<group>"; };
|
||||
EEC8D9B98156A3ABEA2F47F9 /* tuningbase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = tuningbase.h; path = ../../soundlib/tuningbase.h; sourceTree = "<group>"; };
|
||||
EF78F5224ABA48941E149362 /* Dither.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Dither.h; path = ../../common/Dither.h; sourceTree = "<group>"; };
|
||||
F06C78E982FA42DBEBD2E729 /* RowVisitor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RowVisitor.h; path = ../../soundlib/RowVisitor.h; sourceTree = "<group>"; };
|
||||
F1208C2D83AE561FEC86FA6D /* Load_psm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_psm.cpp; path = ../../soundlib/Load_psm.cpp; sourceTree = "<group>"; };
|
||||
F18CD1F1E58C1B636A773031 /* saturate_cast.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = saturate_cast.hpp; path = ../../src/mpt/base/saturate_cast.hpp; sourceTree = "<group>"; };
|
||||
|
@ -585,6 +627,7 @@
|
|||
F48DAABB97F4D86DAF2A90FB /* filecursor_traits_memory.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = filecursor_traits_memory.hpp; path = ../../src/mpt/io_read/filecursor_traits_memory.hpp; sourceTree = "<group>"; };
|
||||
F5D2F247BC60E9B92A631087 /* libopenmpt.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = libopenmpt.hpp; path = ../../libopenmpt/libopenmpt.hpp; sourceTree = "<group>"; };
|
||||
F5D60F958863D987F13C7DD5 /* Load_dsm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Load_dsm.cpp; path = ../../soundlib/Load_dsm.cpp; sourceTree = "<group>"; };
|
||||
F5DB217BB89B81ED15D05FBB /* type_traits.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = type_traits.hpp; path = ../../src/mpt/base/type_traits.hpp; sourceTree = "<group>"; };
|
||||
F61229996734CA8B1CFB77D9 /* guid.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = guid.hpp; path = ../../src/mpt/uuid/guid.hpp; sourceTree = "<group>"; };
|
||||
F6F37E8F68161F811DDCCCCF /* span.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = span.hpp; path = ../../src/mpt/base/span.hpp; sourceTree = "<group>"; };
|
||||
F78A378464B245F6664535C4 /* mptBaseTypes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mptBaseTypes.h; path = ../../common/mptBaseTypes.h; sourceTree = "<group>"; };
|
||||
|
@ -592,12 +635,13 @@
|
|||
F9D67691EACDE48356D164D1 /* SampleFormatFLAC.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SampleFormatFLAC.cpp; path = ../../soundlib/SampleFormatFLAC.cpp; sourceTree = "<group>"; };
|
||||
FB5FB0E7EF5EFA59744A0F27 /* libopenmpt_ext.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = libopenmpt_ext.hpp; path = ../../libopenmpt/libopenmpt_ext.hpp; sourceTree = "<group>"; };
|
||||
FB635E3D352E14EFEA89647D /* filecursor_traits_filedata.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = filecursor_traits_filedata.hpp; path = ../../src/mpt/io_read/filecursor_traits_filedata.hpp; sourceTree = "<group>"; };
|
||||
FB77AD1D689FBB8F6A32AB5D /* PlayState.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PlayState.cpp; path = ../../soundlib/PlayState.cpp; sourceTree = "<group>"; };
|
||||
FBE197BEECD905B058DC85FE /* serialization_utils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = serialization_utils.h; path = ../../common/serialization_utils.h; sourceTree = "<group>"; };
|
||||
FBF22E79CF82B5EBC2544CB9 /* libopenmpt_stream_callbacks_file_posix_lfs64.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = libopenmpt_stream_callbacks_file_posix_lfs64.h; path = ../../libopenmpt/libopenmpt_stream_callbacks_file_posix_lfs64.h; sourceTree = "<group>"; };
|
||||
FC83067740D1ABE982F8E4B7 /* float.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = float.hpp; path = ../../src/mpt/base/float.hpp; sourceTree = "<group>"; };
|
||||
FC85D407DBA2EE39B7AC4A47 /* inputfile.hpp */ = {isa = PBXFileReference; lastKnownFileType = text; name = inputfile.hpp; path = ../../src/mpt/io_file/inputfile.hpp; sourceTree = "<group>"; };
|
||||
FED01DA32FB4159542CC4BE3 /* tuning.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = tuning.h; path = ../../soundlib/tuning.h; sourceTree = "<group>"; };
|
||||
FEDB3A1791690409FA41A857 /* Echo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Echo.h; path = ../../soundlib/plugins/dmo/Echo.h; sourceTree = "<group>"; };
|
||||
FF7F8F60F37ED8D27869EDA0 /* mptFileTemporary.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mptFileTemporary.cpp; path = ../../common/mptFileTemporary.cpp; sourceTree = "<group>"; };
|
||||
FFB3088F4401AE018628E6CF /* Resampler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Resampler.h; path = ../../soundlib/Resampler.h; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
|
@ -713,7 +757,6 @@
|
|||
45D0E0DE525B9350CD405F1E /* DigiBoosterEcho.h */,
|
||||
D6BBDE00997C3E72F6B11C40 /* LFOPlugin.cpp */,
|
||||
6858F8CA2EE6F03C9CE9170A /* LFOPlugin.h */,
|
||||
9133E604FE5BF476FFEEE444 /* OpCodes.h */,
|
||||
D89E49F2E528FC64600DC832 /* PlugInterface.cpp */,
|
||||
6058487C545791EED942A6BC /* PlugInterface.h */,
|
||||
CE32D5B4DABD882655A253F4 /* PluginManager.cpp */,
|
||||
|
@ -898,6 +941,7 @@
|
|||
children = (
|
||||
64377F84A84B50B69C1CD5C4 /* compiler.hpp */,
|
||||
417FE082D6F69FB44592F6C2 /* libc.hpp */,
|
||||
352971E219707A149D5DA822 /* libcxx.hpp */,
|
||||
788395FAAA7CE0AC245C1C3A /* mfc.hpp */,
|
||||
B9B7FE84CBE1DB36FFD2C4C4 /* windows.hpp */,
|
||||
);
|
||||
|
@ -1030,9 +1074,9 @@
|
|||
9F2E1C1AF92F330CC0762A5A /* BuildSettingsCompiler.h */,
|
||||
13F9789407F8C2068CE3D6D4 /* ComponentManager.cpp */,
|
||||
0A20B0FECCE111702A15EF3E /* ComponentManager.h */,
|
||||
EF78F5224ABA48941E149362 /* Dither.h */,
|
||||
6D2350A8B171F61AF3992EE8 /* FileReader.h */,
|
||||
C6F2110A1E5783FCD0659F4A /* FileReaderFwd.h */,
|
||||
B55D7A70F9AC1FE23BD358B0 /* GzipWriter.h */,
|
||||
830F3566F431D658A9F883A6 /* Logging.cpp */,
|
||||
6303157093E70D62A6FF43B0 /* Logging.h */,
|
||||
8F52A05ED3A145D015C87E9E /* Profiler.cpp */,
|
||||
|
@ -1043,9 +1087,7 @@
|
|||
F78A378464B245F6664535C4 /* mptBaseTypes.h */,
|
||||
12DCF57C800503EE8197F3BC /* mptBaseUtils.h */,
|
||||
BA99A2F415DAF666E9354134 /* mptCPU.h */,
|
||||
13F63AEAA68404DC0F5CA92A /* mptFileIO.cpp */,
|
||||
50CF7EB4C1F21FA677B8CCF4 /* mptFileIO.h */,
|
||||
FF7F8F60F37ED8D27869EDA0 /* mptFileTemporary.cpp */,
|
||||
43CBFB4A068C5BBC63C1398A /* mptFileTemporary.h */,
|
||||
074C76BE5EB1E9B010C004FE /* mptFileType.cpp */,
|
||||
AFFB10484288DA3AAB617E88 /* mptFileType.h */,
|
||||
|
@ -1116,6 +1158,7 @@
|
|||
1AA25C6F0B99CA61779D4AAF /* check_platform.hpp */,
|
||||
86260AE5E2AD0F576B4FC925 /* compiletime_warning.hpp */,
|
||||
021DA33D0EA855AF898D217D /* constexpr_throw.hpp */,
|
||||
C9E029A3906E2115FE7047E3 /* debugging.hpp */,
|
||||
C3FAC67D5688906FBF6134BD /* detect.hpp */,
|
||||
1C2F81B7DEEFE2293C24BFF7 /* detect_arch.hpp */,
|
||||
321030713E9AE2E3B97FAEB1 /* detect_compiler.hpp */,
|
||||
|
@ -1123,7 +1166,7 @@
|
|||
755174CF6950BE41EE3BD30F /* detect_libcxx.hpp */,
|
||||
175234BFDDE02C314BE252FF /* detect_os.hpp */,
|
||||
107683B90475CD2B8960E1F9 /* detect_quirks.hpp */,
|
||||
4FB7A50743B6EE79C8A20347 /* floatingpoint.hpp */,
|
||||
FC83067740D1ABE982F8E4B7 /* float.hpp */,
|
||||
787945A7E5A15419E73443E7 /* integer.hpp */,
|
||||
C3E634155673FE07BF4CA255 /* macros.hpp */,
|
||||
4614D43FB73775316CFE227F /* math.hpp */,
|
||||
|
@ -1137,9 +1180,11 @@
|
|||
D941724BCA38E03D363C608B /* saturate_round.hpp */,
|
||||
85812219180EEC0B80E79059 /* secure.hpp */,
|
||||
212A36FD7B2B4DEF4272453D /* semantic_version.hpp */,
|
||||
219A364192BCD73348838481 /* size.hpp */,
|
||||
A105879DAD903A0F287505DD /* source_location.hpp */,
|
||||
F6F37E8F68161F811DDCCCCF /* span.hpp */,
|
||||
8BDA4A4F76C67041BEAC388F /* tests */,
|
||||
F5DB217BB89B81ED15D05FBB /* type_traits.hpp */,
|
||||
5609DBF3C331EA65C4C4DA33 /* utility.hpp */,
|
||||
AB10601718386E8919CB5E57 /* version.hpp */,
|
||||
2C28EA4338B39CB5B3986883 /* wrapping_divide.hpp */,
|
||||
|
@ -1258,25 +1303,35 @@
|
|||
778D494BBBDBEEBDFE03278B /* ITTools.cpp */,
|
||||
BBEF0B95B5B0C807EFAFC9D5 /* ITTools.h */,
|
||||
567D9E616834DE53DDA2CCA1 /* InstrumentExtensions.cpp */,
|
||||
89879ACD7D86E43F0271F90D /* InstrumentSynth.cpp */,
|
||||
45A87D570868DDC9659DBB97 /* InstrumentSynth.h */,
|
||||
9E091D790F2BBE6BC4F26BB9 /* IntMixer.h */,
|
||||
CB46E6335DD4B025C6AD5473 /* Load_667.cpp */,
|
||||
B569F9F747F7C3E9B0D06837 /* Load_669.cpp */,
|
||||
37F80675CA85D067335E74B5 /* Load_amf.cpp */,
|
||||
29DC06EFBC69D0E12542752F /* Load_ams.cpp */,
|
||||
B99E396D4C2C035FB504A7AD /* Load_c67.cpp */,
|
||||
EDF8E6598086B04BE95F5499 /* Load_cba.cpp */,
|
||||
6A66E753FCF4B14565CD5593 /* Load_dbm.cpp */,
|
||||
D14936A73E714519400434E7 /* Load_digi.cpp */,
|
||||
36CAA59BC9586F8D323113DB /* Load_dmf.cpp */,
|
||||
F5D60F958863D987F13C7DD5 /* Load_dsm.cpp */,
|
||||
9BE2D067090ADED90A9DCEA7 /* Load_dsym.cpp */,
|
||||
0D18D5B79FA69FA9087F43F7 /* Load_dtm.cpp */,
|
||||
14754CCFA70316C10FDBBB0F /* Load_etx.cpp */,
|
||||
9BB2E75F2E40B1519719559F /* Load_far.cpp */,
|
||||
B6BBD03FFB0A75B13D31AE7F /* Load_fc.cpp */,
|
||||
9CF744BB2F850EAD985DB2FB /* Load_fmt.cpp */,
|
||||
0C4FEA7B9EDDB46D07B658BB /* Load_ftm.cpp */,
|
||||
97BF12BD2A4CDCAF932580FD /* Load_gdm.cpp */,
|
||||
D668A71B68F6710DD1CF155B /* Load_gmc.cpp */,
|
||||
10E0ADC7A36E77B90C471C07 /* Load_gt2.cpp */,
|
||||
D727124F69B4DC41D28D808F /* Load_ice.cpp */,
|
||||
34D45985C7622377303AC7C5 /* Load_imf.cpp */,
|
||||
26B859FFB94623F1221EC83F /* Load_ims.cpp */,
|
||||
62235C27A6720199E8993A67 /* Load_it.cpp */,
|
||||
6A572747FCE4F13965BD9587 /* Load_itp.cpp */,
|
||||
19B6191F86DE27918871175F /* Load_kris.cpp */,
|
||||
2052C727B2E091191BB93567 /* Load_mdl.cpp */,
|
||||
8F093E392197082B8A6FAC79 /* Load_med.cpp */,
|
||||
EC1456C17EA220B3E77AC501 /* Load_mid.cpp */,
|
||||
|
@ -1288,22 +1343,32 @@
|
|||
6AE995E9FD775FDB66500429 /* Load_okt.cpp */,
|
||||
4E4D213FE0DAEB3149B38F7F /* Load_plm.cpp */,
|
||||
F1208C2D83AE561FEC86FA6D /* Load_psm.cpp */,
|
||||
BE474F872B6F5DF92D024DC7 /* Load_pt36.cpp */,
|
||||
0863524F9AF11C4103C9C08F /* Load_ptm.cpp */,
|
||||
6DB68B53DADE99C5DC718993 /* Load_puma.cpp */,
|
||||
079A67139A2831050300D553 /* Load_rtm.cpp */,
|
||||
1F41A2D3B1CF6CC51AA81113 /* Load_s3m.cpp */,
|
||||
C950084F5BDDD241C4B6768F /* Load_sfx.cpp */,
|
||||
1D12DDB1AFA0A7A318794BF1 /* Load_stk.cpp */,
|
||||
0735F17599C3BB67029C5FB5 /* Load_stm.cpp */,
|
||||
666A8F1BF8F8590D61D0FD5B /* Load_stp.cpp */,
|
||||
7D070D1F43950491B1972B5F /* Load_symmod.cpp */,
|
||||
73A166DF062F30D16F07D51F /* Load_tcb.cpp */,
|
||||
54393E69E6C7085B4F9FACA9 /* Load_uax.cpp */,
|
||||
7FD19A57125F64497B380897 /* Load_ult.cpp */,
|
||||
9EEAF28B0C1300FD0DA5F0CB /* Load_unic.cpp */,
|
||||
694D3F69FBDB095B64B3ADA9 /* Load_wav.cpp */,
|
||||
2A6435F76EB2DB69B0DA1437 /* Load_xm.cpp */,
|
||||
2EF17543C17F3F352A57E383 /* Load_xmf.cpp */,
|
||||
E59C6F4DDF5E2BBF195D2D8D /* Loaders.h */,
|
||||
A78B5E5FFEF0D151B0FEEC9F /* MIDIEvents.cpp */,
|
||||
F42AAB0986B874FBEF911949 /* MIDIEvents.h */,
|
||||
C61BC533BA1B0EA53F062373 /* MIDIMacroParser.cpp */,
|
||||
E7ACD57DAA6D35EF07A213BD /* MIDIMacroParser.h */,
|
||||
50FB747FA860E7715A6F02BF /* MIDIMacros.cpp */,
|
||||
D37D7529660B3F1BCEE3E369 /* MIDIMacros.h */,
|
||||
99E1AAB12C6F74A3954818F1 /* MODTools.cpp */,
|
||||
8209AB5BF32C4C4DA8F2F99B /* MODTools.h */,
|
||||
BF406A572C6878C92DFB6897 /* MPEGFrame.cpp */,
|
||||
A0ADCD61E4FC72D32723ABA1 /* MPEGFrame.h */,
|
||||
681E06B9AC6CAC2BEE93E4F9 /* Message.cpp */,
|
||||
|
@ -1331,6 +1396,10 @@
|
|||
F1E743CB3635E93D785D220B /* OggStream.h */,
|
||||
A7A09A55A16256C7DB615895 /* Paula.cpp */,
|
||||
1AD54F9F7616A3114970EDDF /* Paula.h */,
|
||||
FB77AD1D689FBB8F6A32AB5D /* PlayState.cpp */,
|
||||
A35EA1E7E7AD475929D48027 /* PlayState.h */,
|
||||
EDB72A5D8FA0C64F86C7D89D /* PlaybackTest.cpp */,
|
||||
042BC5075B9137F90D9F5347 /* PlaybackTest.h */,
|
||||
FFB3088F4401AE018628E6CF /* Resampler.h */,
|
||||
1A88E03F71EE533123FC6E7F /* RowVisitor.cpp */,
|
||||
F06C78E982FA42DBEBD2E729 /* RowVisitor.h */,
|
||||
|
@ -1406,6 +1475,7 @@
|
|||
F76908210E7BA353FE979E61 /* random */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E38574ABA645D51D037AB2EB /* any_engine.hpp */,
|
||||
8DE932C12076FCB3894FA101 /* crand.hpp */,
|
||||
8876678BE2777E7DA9BE75CB /* default_engines.hpp */,
|
||||
1CE2C4318A0AD2A38B9DC271 /* device.hpp */,
|
||||
|
@ -1434,6 +1504,7 @@
|
|||
23EF16CF7F4F3B81C192DD0F /* filedata_base_buffered.hpp */,
|
||||
E276AB813DD6D033801A71C1 /* filedata_base_seekable.hpp */,
|
||||
8ABDA3472E24D0F9455A8987 /* filedata_base_unseekable.hpp */,
|
||||
1BD71CF93D735A2B35E9F339 /* filedata_base_unseekable_buffer.hpp */,
|
||||
E0CF51E794CB6B19767DA827 /* filedata_callbackstream.hpp */,
|
||||
079DA5A7A1C19AD951E77BE7 /* filedata_memory.hpp */,
|
||||
CE271C83BB8EAF355888A2C3 /* filedata_stdstream.hpp */,
|
||||
|
@ -1557,8 +1628,6 @@
|
|||
B591ED4C6887F6FEB9AA538C /* ComponentManager.cpp in Sources */,
|
||||
527E833E969254708A63D97E /* Logging.cpp in Sources */,
|
||||
1CE1B0B6B52E9668E37596F6 /* Profiler.cpp in Sources */,
|
||||
1CD4D902FBF1F334D7FB4F42 /* mptFileIO.cpp in Sources */,
|
||||
BB65D2D86E5BDC8ABF7E3918 /* mptFileTemporary.cpp in Sources */,
|
||||
1F7082161F13654859681856 /* mptFileType.cpp in Sources */,
|
||||
DF08AE5AEEEDDA8CDB61649A /* mptPathString.cpp in Sources */,
|
||||
926864F471857F264D8EDB34 /* mptRandom.cpp in Sources */,
|
||||
|
@ -1584,24 +1653,33 @@
|
|||
32D83065D0B93117A83776A5 /* ITCompression.cpp in Sources */,
|
||||
E6583D037EA522B5ACEC2343 /* ITTools.cpp in Sources */,
|
||||
4FD75379AB22A3AB995489B9 /* InstrumentExtensions.cpp in Sources */,
|
||||
C6B55BA579AB6557CACDC1E5 /* InstrumentSynth.cpp in Sources */,
|
||||
5EE7936B3E04AD9D1A0E09AB /* Load_667.cpp in Sources */,
|
||||
4E13C16F2D30DBA1093A37AF /* Load_669.cpp in Sources */,
|
||||
A7B576CD86D290FF62DBED0D /* Load_amf.cpp in Sources */,
|
||||
BA54A1E79971BC19757B1827 /* Load_ams.cpp in Sources */,
|
||||
44F9DD452416F77700205385 /* Load_c67.cpp in Sources */,
|
||||
2AE422F10A013D23E60A9931 /* Load_cba.cpp in Sources */,
|
||||
7B65168B5A8230BD368B8CCB /* Load_dbm.cpp in Sources */,
|
||||
8479AC1F9F461AD1A316B25F /* Load_digi.cpp in Sources */,
|
||||
C81D1553A73A2F8583438B93 /* Load_dmf.cpp in Sources */,
|
||||
8B4D81ED6A6A9C1F4673F82D /* Load_dsm.cpp in Sources */,
|
||||
D2EFC1DFEDBC3091F18CC81F /* Load_dsym.cpp in Sources */,
|
||||
F5A6792FD4C39361B0CCEF6F /* Load_dtm.cpp in Sources */,
|
||||
CE9155C7ADAE6FF989B7CC07 /* Load_etx.cpp in Sources */,
|
||||
D1EA5157B1076B898D10C797 /* Load_far.cpp in Sources */,
|
||||
C3D725375C240AE98A6B0B77 /* Load_fc.cpp in Sources */,
|
||||
BD4216739C5F30A578688CB3 /* Load_fmt.cpp in Sources */,
|
||||
609638333FB352651BBCAE73 /* Load_ftm.cpp in Sources */,
|
||||
707EA3954F9BBDC72BA519D5 /* Load_gdm.cpp in Sources */,
|
||||
81C26ED360DF89053CE8E513 /* Load_gmc.cpp in Sources */,
|
||||
8676CA3F6593E471419D407F /* Load_gt2.cpp in Sources */,
|
||||
B464B3479381CD796F8B2987 /* Load_ice.cpp in Sources */,
|
||||
537472DD32918D0F0E9AE91D /* Load_imf.cpp in Sources */,
|
||||
66139DF74530B829213A1437 /* Load_ims.cpp in Sources */,
|
||||
7FDA539F18273951466E39DF /* Load_it.cpp in Sources */,
|
||||
E7C01BBFC6DD35F1A2E691FF /* Load_itp.cpp in Sources */,
|
||||
C806B217E2D320C9E6A3B857 /* Load_kris.cpp in Sources */,
|
||||
39B7C99F18D4E3D1F4DE3FDF /* Load_mdl.cpp in Sources */,
|
||||
E76008D1C67D2303A2867F11 /* Load_med.cpp in Sources */,
|
||||
90C3E5D96FE1000B4BEA5C19 /* Load_mid.cpp in Sources */,
|
||||
|
@ -1613,19 +1691,27 @@
|
|||
49C7038128E41DB304ED79C1 /* Load_okt.cpp in Sources */,
|
||||
247D3937039A5369DFA3AF77 /* Load_plm.cpp in Sources */,
|
||||
0CEBFC05EC091637C8127245 /* Load_psm.cpp in Sources */,
|
||||
3E00C2FF58CD31B15C9DC93F /* Load_pt36.cpp in Sources */,
|
||||
7744F34756620D79326B6987 /* Load_ptm.cpp in Sources */,
|
||||
877C818BA248F03DA61987CB /* Load_puma.cpp in Sources */,
|
||||
E234B24BC151CC7D9D5B288B /* Load_rtm.cpp in Sources */,
|
||||
9715CA0B7632E43D523C404B /* Load_s3m.cpp in Sources */,
|
||||
EA420947C95F2379A5687F87 /* Load_sfx.cpp in Sources */,
|
||||
A88063C9879D7DFB63A6DA09 /* Load_stk.cpp in Sources */,
|
||||
97AC91CD76C9ABFF52D3080D /* Load_stm.cpp in Sources */,
|
||||
FE6ED6D3DD8BF105B9954D13 /* Load_stp.cpp in Sources */,
|
||||
CF116C1742F9E3C965479257 /* Load_symmod.cpp in Sources */,
|
||||
19C908D7F8E62309D4EF7F17 /* Load_tcb.cpp in Sources */,
|
||||
4174F40120920E33FC9B6A41 /* Load_uax.cpp in Sources */,
|
||||
F4EF37CFD40C5201B015AE0F /* Load_ult.cpp in Sources */,
|
||||
84F9B8439FC626F5A396BE83 /* Load_unic.cpp in Sources */,
|
||||
BD3885019C559F33785EFB41 /* Load_wav.cpp in Sources */,
|
||||
00BB926F99087821C74F78AF /* Load_xm.cpp in Sources */,
|
||||
F57A8B7BD497A5ADB0A101BB /* Load_xmf.cpp in Sources */,
|
||||
CCEFFE57CC92E18906E79497 /* MIDIEvents.cpp in Sources */,
|
||||
212E136BD4241D1D254679AB /* MIDIMacroParser.cpp in Sources */,
|
||||
80EEA677809189A9BAE63CB7 /* MIDIMacros.cpp in Sources */,
|
||||
978580C976A29AFB52ABF709 /* MODTools.cpp in Sources */,
|
||||
393D72CF5409E18157DA790F /* MPEGFrame.cpp in Sources */,
|
||||
168C3C51AED92203DD202291 /* Message.cpp in Sources */,
|
||||
7A5E5DAB8A4389DD76B713EB /* MixFuncTable.cpp in Sources */,
|
||||
|
@ -1638,6 +1724,8 @@
|
|||
ABC5779D79E8CB4F00F71DDD /* OPL.cpp in Sources */,
|
||||
FD083C9917D4AB4B1BA542D9 /* OggStream.cpp in Sources */,
|
||||
33DB2DAD46050A5F79F5F3ED /* Paula.cpp in Sources */,
|
||||
98C2B4F5B38F23A7B75FBB35 /* PlayState.cpp in Sources */,
|
||||
9580A935A565D56791D95F75 /* PlaybackTest.cpp in Sources */,
|
||||
119C6E37113F51694B940477 /* RowVisitor.cpp in Sources */,
|
||||
D443016FB3601BA18F6977AF /* S3MTools.cpp in Sources */,
|
||||
77A73F692A9D491B7BBFA5A9 /* SampleFormatBRR.cpp in Sources */,
|
||||
|
|
|
@ -88,6 +88,9 @@
|
|||
#define ENABLE_TESTS
|
||||
#endif
|
||||
|
||||
// Enable generation and verification of playback traces
|
||||
#define MPT_ENABLE_PLAYBACK_TRACE
|
||||
|
||||
// Disable any file saving functionality (not really useful except for the player library)
|
||||
//#define MODPLUG_NO_FILESAVE
|
||||
|
||||
|
@ -119,6 +122,10 @@
|
|||
|
||||
#define MPT_ENABLE_UPDATE
|
||||
|
||||
#if defined(MPT_BUILD_DEBUG)
|
||||
#define MPT_ENABLE_PLAYBACK_TEST_MENU
|
||||
#endif
|
||||
|
||||
// Disable unarchiving support
|
||||
//#define NO_ARCHIVE_SUPPORT
|
||||
|
||||
|
@ -157,6 +164,7 @@
|
|||
|
||||
#if defined(LIBOPENMPT_BUILD_TEST)
|
||||
#define ENABLE_TESTS
|
||||
#define MPT_ENABLE_PLAYBACK_TRACE
|
||||
#else
|
||||
#define MODPLUG_NO_FILESAVE
|
||||
#endif
|
||||
|
@ -230,19 +238,19 @@
|
|||
#endif
|
||||
|
||||
#if defined(MPT_ENABLE_ARCH_INTRINSICS)
|
||||
#if MPT_COMPILER_MSVC && MPT_ARCH_X86
|
||||
#if MPT_ARCH_X86
|
||||
|
||||
#define MPT_ENABLE_ARCH_X86
|
||||
|
||||
#define MPT_ENABLE_ARCH_INTRINSICS_SSE
|
||||
#define MPT_ENABLE_ARCH_INTRINSICS_SSE2
|
||||
#define MPT_WANT_ARCH_INTRINSICS_X86_SSE
|
||||
#define MPT_WANT_ARCH_INTRINSICS_X86_SSE2
|
||||
|
||||
#elif MPT_COMPILER_MSVC && MPT_ARCH_AMD64
|
||||
#elif MPT_ARCH_AMD64
|
||||
|
||||
#define MPT_ENABLE_ARCH_AMD64
|
||||
|
||||
#define MPT_ENABLE_ARCH_INTRINSICS_SSE
|
||||
#define MPT_ENABLE_ARCH_INTRINSICS_SSE2
|
||||
#define MPT_WANT_ARCH_INTRINSICS_X86_SSE
|
||||
#define MPT_WANT_ARCH_INTRINSICS_X86_SSE2
|
||||
|
||||
#endif // arch
|
||||
#endif // MPT_ENABLE_ARCH_INTRINSICS
|
||||
|
@ -327,6 +335,8 @@
|
|||
|
||||
#endif
|
||||
|
||||
#define MPT_CONFIGURATION_IO_READ_FILEDATA_NO_64BIT
|
||||
|
||||
|
||||
|
||||
// platform configuration
|
||||
|
|
|
@ -463,12 +463,6 @@ ComponentInfo ComponentManager::GetComponentInfo(std::string name) const
|
|||
}
|
||||
|
||||
|
||||
mpt::PathString ComponentManager::GetComponentPath() const
|
||||
{
|
||||
return m_Settings.Path();
|
||||
}
|
||||
|
||||
|
||||
#endif // MPT_COMPONENT_MANAGER
|
||||
|
||||
|
||||
|
|
|
@ -308,7 +308,6 @@ public:
|
|||
virtual bool LoadOnStartup() const = 0;
|
||||
virtual bool KeepLoaded() const = 0;
|
||||
virtual bool IsBlocked(const std::string &key) const = 0;
|
||||
virtual mpt::PathString Path() const = 0;
|
||||
protected:
|
||||
virtual ~IComponentManagerSettings() = default;
|
||||
};
|
||||
|
@ -321,7 +320,6 @@ public:
|
|||
bool LoadOnStartup() const override { return false; }
|
||||
bool KeepLoaded() const override { return true; }
|
||||
bool IsBlocked(const std::string & /*key*/ ) const override { return false; }
|
||||
mpt::PathString Path() const override { return mpt::PathString(); }
|
||||
};
|
||||
|
||||
|
||||
|
@ -374,7 +372,6 @@ public:
|
|||
std::shared_ptr<const IComponent> ReloadComponent(const IComponentFactory &componentFactory);
|
||||
std::vector<std::string> GetRegisteredComponents() const;
|
||||
ComponentInfo GetComponentInfo(std::string name) const;
|
||||
mpt::PathString GetComponentPath() const;
|
||||
};
|
||||
|
||||
|
||||
|
@ -423,12 +420,6 @@ std::shared_ptr<const type> ReloadComponent()
|
|||
}
|
||||
|
||||
|
||||
inline mpt::PathString GetComponentPath()
|
||||
{
|
||||
return ComponentManager::Instance()->GetComponentPath();
|
||||
}
|
||||
|
||||
|
||||
#else // !MPT_COMPONENT_MANAGER
|
||||
|
||||
|
||||
|
@ -438,8 +429,15 @@ inline mpt::PathString GetComponentPath()
|
|||
template <typename type>
|
||||
std::shared_ptr<const type> GetComponent()
|
||||
{
|
||||
#if MPT_COMPILER_CLANG
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wexit-time-destructors"
|
||||
#endif // MPT_COMPILER_CLANG
|
||||
static std::weak_ptr<type> cache;
|
||||
static mpt::mutex m;
|
||||
#if MPT_COMPILER_CLANG
|
||||
#pragma clang diagnostic pop
|
||||
#endif // MPT_COMPILER_CLANG mpt::lock_guard<mpt::mutex> l(m);
|
||||
mpt::lock_guard<mpt::mutex> l(m);
|
||||
std::shared_ptr<type> component = cache.lock();
|
||||
if(!component)
|
||||
|
|
|
@ -1,86 +0,0 @@
|
|||
/*
|
||||
* Dither.h
|
||||
* --------
|
||||
* Purpose: Dithering when converting to lower resolution sample formats.
|
||||
* Notes : (currently none)
|
||||
* Authors: Olivier Lapicque
|
||||
* OpenMPT Devs
|
||||
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
|
||||
*/
|
||||
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "openmpt/all/BuildSettings.hpp"
|
||||
|
||||
#include "mpt/base/macros.hpp"
|
||||
#include "mpt/string/types.hpp"
|
||||
#include "openmpt/soundbase/Dither.hpp"
|
||||
#include "openmpt/soundbase/DitherModPlug.hpp"
|
||||
#include "openmpt/soundbase/DitherNone.hpp"
|
||||
#include "openmpt/soundbase/DitherSimple.hpp"
|
||||
|
||||
#include "mptRandom.h"
|
||||
|
||||
#include <vector>
|
||||
#include <variant>
|
||||
|
||||
#include <cstddef>
|
||||
|
||||
|
||||
OPENMPT_NAMESPACE_BEGIN
|
||||
|
||||
|
||||
using Dither_Default = Dither_Simple;
|
||||
|
||||
|
||||
class DitherNamesOpenMPT
|
||||
{
|
||||
public:
|
||||
static mpt::ustring GetModeName(std::size_t mode)
|
||||
{
|
||||
mpt::ustring result;
|
||||
switch(mode)
|
||||
{
|
||||
case 0:
|
||||
// no dither
|
||||
result = MPT_USTRING("no");
|
||||
break;
|
||||
case 1:
|
||||
// chosen by OpenMPT code, might change
|
||||
result = MPT_USTRING("default");
|
||||
break;
|
||||
case 2:
|
||||
// rectangular, 0.5 bit depth, no noise shaping (original ModPlug Tracker)
|
||||
result = MPT_USTRING("0.5 bit");
|
||||
break;
|
||||
case 3:
|
||||
// rectangular, 1 bit depth, simple 1st order noise shaping
|
||||
result = MPT_USTRING("1 bit");
|
||||
break;
|
||||
default:
|
||||
result = MPT_USTRING("");
|
||||
break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
using DithersOpenMPT =
|
||||
Dithers<std::variant<MultiChannelDither<Dither_None>, MultiChannelDither<Dither_Default>, MultiChannelDither<Dither_ModPlug>, MultiChannelDither<Dither_Simple>>, DitherNamesOpenMPT, 4, 1, 0, mpt::good_prng>;
|
||||
|
||||
|
||||
struct DithersWrapperOpenMPT
|
||||
: DithersOpenMPT
|
||||
{
|
||||
template <typename Trd>
|
||||
DithersWrapperOpenMPT(Trd &rd, std::size_t mode = DithersOpenMPT::DefaultDither, std::size_t channels = DithersOpenMPT::DefaultChannels)
|
||||
: DithersOpenMPT(rd, mode, channels)
|
||||
{
|
||||
return;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
OPENMPT_NAMESPACE_END
|
|
@ -45,11 +45,11 @@ namespace FileReaderExt
|
|||
// Read a string of length srcSize into fixed-length char array destBuffer using a given read mode.
|
||||
// The file cursor is advanced by "srcSize" bytes.
|
||||
// Returns true if at least one byte could be read or 0 bytes were requested.
|
||||
template<mpt::String::ReadWriteMode mode, size_t destSize, typename TFileCursor>
|
||||
bool ReadString(TFileCursor &f, char (&destBuffer)[destSize], const typename TFileCursor::pos_type srcSize)
|
||||
template<mpt::String::ReadWriteMode mode, std::size_t destSize, typename TFileCursor>
|
||||
bool ReadString(TFileCursor &f, char (&destBuffer)[destSize], const std::size_t srcSize)
|
||||
{
|
||||
typename TFileCursor::PinnedView source = f.ReadPinnedView(srcSize); // Make sure the string is cached properly.
|
||||
typename TFileCursor::pos_type realSrcSize = source.size(); // In case fewer bytes are available
|
||||
std::size_t realSrcSize = source.size(); // In case fewer bytes are available
|
||||
mpt::String::WriteAutoBuf(destBuffer) = mpt::String::ReadBuf(mode, mpt::byte_cast<const char*>(source.data()), realSrcSize);
|
||||
return (realSrcSize > 0 || srcSize == 0);
|
||||
}
|
||||
|
@ -58,11 +58,11 @@ namespace FileReaderExt
|
|||
// The file cursor is advanced by "srcSize" bytes.
|
||||
// Returns true if at least one character could be read or 0 characters were requested.
|
||||
template<mpt::String::ReadWriteMode mode, typename TFileCursor>
|
||||
bool ReadString(TFileCursor &f, std::string &dest, const typename TFileCursor::pos_type srcSize)
|
||||
bool ReadString(TFileCursor &f, std::string &dest, const std::size_t srcSize)
|
||||
{
|
||||
dest.clear();
|
||||
typename TFileCursor::PinnedView source = f.ReadPinnedView(srcSize); // Make sure the string is cached properly.
|
||||
typename TFileCursor::pos_type realSrcSize = source.size(); // In case fewer bytes are available
|
||||
std::size_t realSrcSize = source.size(); // In case fewer bytes are available
|
||||
dest = mpt::String::ReadBuf(mode, mpt::byte_cast<const char*>(source.data()), realSrcSize);
|
||||
return (realSrcSize > 0 || srcSize == 0);
|
||||
}
|
||||
|
@ -71,10 +71,10 @@ namespace FileReaderExt
|
|||
// The file cursor is advanced by "srcSize" bytes.
|
||||
// Returns true if at least one character could be read or 0 characters were requested.
|
||||
template<mpt::String::ReadWriteMode mode, std::size_t len, typename TFileCursor>
|
||||
bool ReadString(TFileCursor &f, mpt::charbuf<len> &dest, const typename TFileCursor::pos_type srcSize)
|
||||
bool ReadString(TFileCursor &f, mpt::charbuf<len> &dest, const std::size_t srcSize)
|
||||
{
|
||||
typename TFileCursor::PinnedView source = f.ReadPinnedView(srcSize); // Make sure the string is cached properly.
|
||||
typename TFileCursor::pos_type realSrcSize = source.size(); // In case fewer bytes are available
|
||||
std::size_t realSrcSize = source.size(); // In case fewer bytes are available
|
||||
dest = mpt::String::ReadBuf(mode, mpt::byte_cast<const char*>(source.data()), realSrcSize);
|
||||
return (realSrcSize > 0 || srcSize == 0);
|
||||
}
|
||||
|
@ -83,11 +83,11 @@ namespace FileReaderExt
|
|||
// The file cursor is advanced by "srcSize" bytes.
|
||||
// Returns true if at least one character could be read or 0 characters were requested.
|
||||
template<mpt::String::ReadWriteMode mode, typename TFileCursor>
|
||||
bool ReadString(TFileCursor &f, mpt::ustring &dest, mpt::Charset charset, const typename TFileCursor::pos_type srcSize)
|
||||
bool ReadString(TFileCursor &f, mpt::ustring &dest, mpt::Charset charset, const std::size_t srcSize)
|
||||
{
|
||||
dest.clear();
|
||||
typename TFileCursor::PinnedView source = f.ReadPinnedView(srcSize); // Make sure the string is cached properly.
|
||||
typename TFileCursor::pos_type realSrcSize = source.size(); // In case fewer bytes are available
|
||||
std::size_t realSrcSize = source.size(); // In case fewer bytes are available
|
||||
dest = mpt::ToUnicode(charset, mpt::String::ReadBuf(mode, mpt::byte_cast<const char*>(source.data()), realSrcSize));
|
||||
return (realSrcSize > 0 || srcSize == 0);
|
||||
}
|
||||
|
@ -95,8 +95,8 @@ namespace FileReaderExt
|
|||
// Read a string with a preprended length field of type Tsize (must be a packed<*,*> type) into a std::string dest using a given read mode.
|
||||
// The file cursor is advanced by the string length.
|
||||
// Returns true if the size field could be read and at least one character could be read or 0 characters were requested.
|
||||
template<typename Tsize, mpt::String::ReadWriteMode mode, size_t destSize, typename TFileCursor>
|
||||
bool ReadSizedString(TFileCursor &f, char (&destBuffer)[destSize], const typename TFileCursor::pos_type maxLength = std::numeric_limits<typename TFileCursor::pos_type>::max())
|
||||
template<typename Tsize, mpt::String::ReadWriteMode mode, std::size_t destSize, typename TFileCursor>
|
||||
bool ReadSizedString(TFileCursor &f, char (&destBuffer)[destSize], const std::size_t maxLength = std::numeric_limits<std::size_t>::max())
|
||||
{
|
||||
static_assert(mpt::is_binary_safe<Tsize>::value);
|
||||
Tsize srcSize;
|
||||
|
@ -104,14 +104,14 @@ namespace FileReaderExt
|
|||
{
|
||||
return false;
|
||||
}
|
||||
return FileReaderExt::ReadString<mode>(f, destBuffer, std::min(static_cast<typename TFileCursor::pos_type>(srcSize), maxLength));
|
||||
return FileReaderExt::ReadString<mode>(f, destBuffer, std::min(static_cast<std::size_t>(srcSize), maxLength));
|
||||
}
|
||||
|
||||
// Read a string with a preprended length field of type Tsize (must be a packed<*,*> type) into a std::string dest using a given read mode.
|
||||
// The file cursor is advanced by the string length.
|
||||
// Returns true if the size field could be read and at least one character could be read or 0 characters were requested.
|
||||
template<typename Tsize, mpt::String::ReadWriteMode mode, typename TFileCursor>
|
||||
bool ReadSizedString(TFileCursor &f, std::string &dest, const typename TFileCursor::pos_type maxLength = std::numeric_limits<typename TFileCursor::pos_type>::max())
|
||||
bool ReadSizedString(TFileCursor &f, std::string &dest, const std::size_t maxLength = std::numeric_limits<std::size_t>::max())
|
||||
{
|
||||
static_assert(mpt::is_binary_safe<Tsize>::value);
|
||||
Tsize srcSize;
|
||||
|
@ -119,14 +119,14 @@ namespace FileReaderExt
|
|||
{
|
||||
return false;
|
||||
}
|
||||
return FileReaderExt::ReadString<mode>(f, dest, std::min(static_cast<typename TFileCursor::pos_type>(srcSize), maxLength));
|
||||
return FileReaderExt::ReadString<mode>(f, dest, std::min(static_cast<std::size_t>(srcSize), maxLength));
|
||||
}
|
||||
|
||||
// Read a string with a preprended length field of type Tsize (must be a packed<*,*> type) into a mpt::charbuf dest using a given read mode.
|
||||
// The file cursor is advanced by the string length.
|
||||
// Returns true if the size field could be read and at least one character could be read or 0 characters were requested.
|
||||
template<typename Tsize, mpt::String::ReadWriteMode mode, std::size_t len, typename TFileCursor>
|
||||
bool ReadSizedString(TFileCursor &f, mpt::charbuf<len> &dest, const typename TFileCursor::pos_type maxLength = std::numeric_limits<typename TFileCursor::pos_type>::max())
|
||||
bool ReadSizedString(TFileCursor &f, mpt::charbuf<len> &dest, const std::size_t maxLength = std::numeric_limits<std::size_t>::max())
|
||||
{
|
||||
static_assert(mpt::is_binary_safe<Tsize>::value);
|
||||
Tsize srcSize;
|
||||
|
@ -134,7 +134,7 @@ namespace FileReaderExt
|
|||
{
|
||||
return false;
|
||||
}
|
||||
return FileReaderExt::ReadString<mode>(f, dest, std::min(static_cast<typename TFileCursor::pos_type>(srcSize), maxLength));
|
||||
return FileReaderExt::ReadString<mode>(f, dest, std::min(static_cast<std::size_t>(srcSize), maxLength));
|
||||
}
|
||||
|
||||
} // namespace FileReaderExt
|
||||
|
@ -157,7 +157,6 @@ private:
|
|||
public:
|
||||
|
||||
using pos_type = typename traits_type::pos_type;
|
||||
using off_t = pos_type;
|
||||
|
||||
using data_type = typename traits_type::data_type;
|
||||
using ref_data_type = typename traits_type::ref_data_type;
|
||||
|
@ -221,13 +220,13 @@ public:
|
|||
}
|
||||
|
||||
template <typename T>
|
||||
T ReadTruncatedIntLE(pos_type size)
|
||||
T ReadTruncatedIntLE(std::size_t size)
|
||||
{
|
||||
return mpt::IO::FileReader::ReadTruncatedIntLE<T>(*this, size);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
T ReadSizedIntLE(pos_type size)
|
||||
T ReadSizedIntLE(std::size_t size)
|
||||
{
|
||||
return mpt::IO::FileReader::ReadSizedIntLE<T>(*this, size);
|
||||
}
|
||||
|
@ -324,17 +323,17 @@ public:
|
|||
}
|
||||
|
||||
template <typename T>
|
||||
size_t ReadStructPartial(T &target, size_t partialSize = sizeof(T))
|
||||
std::size_t ReadStructPartial(T &target, std::size_t partialSize = sizeof(T))
|
||||
{
|
||||
return mpt::IO::FileReader::ReadStructPartial(*this, target, partialSize);
|
||||
}
|
||||
|
||||
bool ReadNullString(std::string &dest, const pos_type maxLength = std::numeric_limits<pos_type>::max())
|
||||
bool ReadNullString(std::string &dest, const std::size_t maxLength = std::numeric_limits<std::size_t>::max())
|
||||
{
|
||||
return mpt::IO::FileReader::ReadNullString(*this, dest, maxLength);
|
||||
}
|
||||
|
||||
bool ReadLine(std::string &dest, const pos_type maxLength = std::numeric_limits<pos_type>::max())
|
||||
bool ReadLine(std::string &dest, const std::size_t maxLength = std::numeric_limits<std::size_t>::max())
|
||||
{
|
||||
return mpt::IO::FileReader::ReadLine(*this, dest, maxLength);
|
||||
}
|
||||
|
@ -358,12 +357,12 @@ public:
|
|||
}
|
||||
|
||||
template<typename T>
|
||||
bool ReadVector(std::vector<T> &destVector, size_t destSize)
|
||||
bool ReadVector(std::vector<T> &destVector, std::size_t destSize)
|
||||
{
|
||||
return mpt::IO::FileReader::ReadVector(*this, destVector, destSize);
|
||||
}
|
||||
|
||||
template<size_t N>
|
||||
template<std::size_t N>
|
||||
bool ReadMagic(const char (&magic)[N])
|
||||
{
|
||||
return mpt::IO::FileReader::ReadMagic(*this, magic);
|
||||
|
@ -382,61 +381,61 @@ public:
|
|||
using ChunkList = mpt::IO::FileReader::ChunkList<T, FileReader>;
|
||||
|
||||
template<typename T>
|
||||
Item<T> ReadNextChunk(off_t alignment)
|
||||
Item<T> ReadNextChunk(pos_type alignment)
|
||||
{
|
||||
return mpt::IO::FileReader::ReadNextChunk<T, FileReader>(*this, alignment);
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
ChunkList<T> ReadChunks(off_t alignment)
|
||||
ChunkList<T> ReadChunks(pos_type alignment)
|
||||
{
|
||||
return mpt::IO::FileReader::ReadChunks<T, FileReader>(*this, alignment);
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
ChunkList<T> ReadChunksUntil(off_t alignment, decltype(T().GetID()) stopAtID)
|
||||
ChunkList<T> ReadChunksUntil(pos_type alignment, decltype(T().GetID()) stopAtID)
|
||||
{
|
||||
return mpt::IO::FileReader::ReadChunksUntil<T, FileReader>(*this, alignment, stopAtID);
|
||||
}
|
||||
|
||||
template<mpt::String::ReadWriteMode mode, size_t destSize>
|
||||
bool ReadString(char (&destBuffer)[destSize], const pos_type srcSize)
|
||||
template<mpt::String::ReadWriteMode mode, std::size_t destSize>
|
||||
bool ReadString(char (&destBuffer)[destSize], const std::size_t srcSize)
|
||||
{
|
||||
return FileReaderExt::ReadString<mode>(*this, destBuffer, srcSize);
|
||||
}
|
||||
|
||||
template<mpt::String::ReadWriteMode mode>
|
||||
bool ReadString(std::string &dest, const pos_type srcSize)
|
||||
bool ReadString(std::string &dest, const std::size_t srcSize)
|
||||
{
|
||||
return FileReaderExt::ReadString<mode>(*this, dest, srcSize);
|
||||
}
|
||||
|
||||
template<mpt::String::ReadWriteMode mode, std::size_t len>
|
||||
bool ReadString(mpt::charbuf<len> &dest, const pos_type srcSize)
|
||||
bool ReadString(mpt::charbuf<len> &dest, const std::size_t srcSize)
|
||||
{
|
||||
return FileReaderExt::ReadString<mode>(*this, dest, srcSize);
|
||||
}
|
||||
|
||||
template<mpt::String::ReadWriteMode mode>
|
||||
bool ReadString(mpt::ustring &dest, mpt::Charset charset, const pos_type srcSize)
|
||||
bool ReadString(mpt::ustring &dest, mpt::Charset charset, const std::size_t srcSize)
|
||||
{
|
||||
return FileReaderExt::ReadString<mode>(*this, dest, charset, srcSize);
|
||||
}
|
||||
|
||||
template<typename Tsize, mpt::String::ReadWriteMode mode, size_t destSize>
|
||||
bool ReadSizedString(char (&destBuffer)[destSize], const pos_type maxLength = std::numeric_limits<pos_type>::max())
|
||||
template<typename Tsize, mpt::String::ReadWriteMode mode, std::size_t destSize>
|
||||
bool ReadSizedString(char (&destBuffer)[destSize], const std::size_t maxLength = std::numeric_limits<std::size_t>::max())
|
||||
{
|
||||
return FileReaderExt::ReadSizedString<Tsize, mode>(*this, destBuffer, maxLength);
|
||||
}
|
||||
|
||||
template<typename Tsize, mpt::String::ReadWriteMode mode>
|
||||
bool ReadSizedString(std::string &dest, const pos_type maxLength = std::numeric_limits<pos_type>::max())
|
||||
bool ReadSizedString(std::string &dest, const std::size_t maxLength = std::numeric_limits<std::size_t>::max())
|
||||
{
|
||||
return FileReaderExt::ReadSizedString<Tsize, mode>(*this, dest, maxLength);
|
||||
}
|
||||
|
||||
template<typename Tsize, mpt::String::ReadWriteMode mode, std::size_t len>
|
||||
bool ReadSizedString(mpt::charbuf<len> &dest, const pos_type maxLength = std::numeric_limits<pos_type>::max())
|
||||
bool ReadSizedString(mpt::charbuf<len> &dest, const std::size_t maxLength = std::numeric_limits<std::size_t>::max())
|
||||
{
|
||||
return FileReaderExt::ReadSizedString<Tsize, mode, len>(*this, dest, maxLength);
|
||||
}
|
||||
|
|
|
@ -36,10 +36,10 @@ class FileCursorFilenameTraits;
|
|||
template <typename Ttraits, typename Tfilenametraits>
|
||||
class FileCursor;
|
||||
|
||||
}
|
||||
} // namespace IO
|
||||
|
||||
}
|
||||
}
|
||||
} // inline namespace MPT_INLINE_NS
|
||||
} // namespace mpt
|
||||
|
||||
OPENMPT_NAMESPACE_BEGIN
|
||||
|
||||
|
|
57
Frameworks/OpenMPT/OpenMPT/common/GzipWriter.h
Normal file
57
Frameworks/OpenMPT/OpenMPT/common/GzipWriter.h
Normal file
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
* GzipWriter.h
|
||||
* ------------
|
||||
* Purpose: Simple wrapper around zlib's Gzip writer
|
||||
* Notes : miniz doesn't implement Gzip writing, so this is only compatible with zlib.
|
||||
* Authors: OpenMPT Devs
|
||||
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
|
||||
*/
|
||||
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "openmpt/all/BuildSettings.hpp"
|
||||
|
||||
#include "mptString.h"
|
||||
#include "mpt/io/io.hpp"
|
||||
#include "mpt/io/io_stdstream.hpp"
|
||||
|
||||
#ifdef MPT_WITH_ZLIB
|
||||
|
||||
#include <zlib.h>
|
||||
|
||||
OPENMPT_NAMESPACE_BEGIN
|
||||
|
||||
inline void WriteGzip(std::ostream &output, std::string &outData, const mpt::ustring &fileName)
|
||||
{
|
||||
z_stream strm{};
|
||||
strm.avail_in = static_cast<uInt>(outData.size());
|
||||
strm.next_in = reinterpret_cast<Bytef *>(outData.data());
|
||||
if(deflateInit2(&strm, Z_BEST_COMPRESSION, Z_DEFLATED, 15 | 16, 9, Z_DEFAULT_STRATEGY) != Z_OK)
|
||||
throw std::runtime_error{"zlib init failed"};
|
||||
gz_header gzHeader{};
|
||||
gzHeader.time = static_cast<uLong>(time(nullptr));
|
||||
std::string filenameISO = mpt::ToCharset(mpt::Charset::ISO8859_1, fileName);
|
||||
gzHeader.name = reinterpret_cast<Bytef *>(filenameISO.data());
|
||||
deflateSetHeader(&strm, &gzHeader);
|
||||
try
|
||||
{
|
||||
do
|
||||
{
|
||||
std::array<Bytef, mpt::IO::BUFFERSIZE_TINY> buffer;
|
||||
strm.avail_out = static_cast<uInt>(buffer.size());
|
||||
strm.next_out = buffer.data();
|
||||
deflate(&strm, Z_FINISH);
|
||||
mpt::IO::WritePartial(output, buffer, buffer.size() - strm.avail_out);
|
||||
} while(strm.avail_out == 0);
|
||||
deflateEnd(&strm);
|
||||
} catch(const std::exception &)
|
||||
{
|
||||
deflateEnd(&strm);
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
OPENMPT_NAMESPACE_END
|
||||
|
||||
#endif
|
|
@ -16,8 +16,14 @@
|
|||
#include "mpt/io/base.hpp"
|
||||
#include "mpt/io/io.hpp"
|
||||
#include "mpt/io/io_stdstream.hpp"
|
||||
#if defined(MODPLUG_TRACKER)
|
||||
#include "mpt/io_file/fstream.hpp"
|
||||
#endif
|
||||
|
||||
#if defined(MODPLUG_TRACKER)
|
||||
#include "mptFileIO.h"
|
||||
#endif
|
||||
|
||||
#if defined(MODPLUG_TRACKER)
|
||||
#include <atomic>
|
||||
#endif
|
||||
|
@ -128,7 +134,7 @@ void GlobalLogger::SendLogMessage(const mpt::source_location &loc, LogLevel leve
|
|||
#endif
|
||||
if(mpt::log::FileEnabled)
|
||||
{
|
||||
static std::optional<mpt::ofstream> s_logfile;
|
||||
static std::optional<mpt::IO::ofstream> s_logfile;
|
||||
if(!s_logfile)
|
||||
{
|
||||
s_logfile.emplace(P_("mptrack.log"), std::ios::app);
|
||||
|
@ -318,7 +324,7 @@ bool Dump(const mpt::PathString &filename)
|
|||
// sort according to index in case of overflows
|
||||
std::stable_sort(Entries.begin(), Entries.end());
|
||||
|
||||
mpt::ofstream f(filename);
|
||||
mpt::IO::ofstream f(filename);
|
||||
|
||||
f << "Build: OpenMPT " << mpt::transcode<std::string>(mpt::logfile_encoding, Build::GetVersionStringExtended()) << std::endl;
|
||||
|
||||
|
|
|
@ -12,10 +12,11 @@
|
|||
|
||||
#include "openmpt/all/BuildSettings.hpp"
|
||||
|
||||
#include "mpt/base/integer.hpp"
|
||||
#include "mpt/base/floatingpoint.hpp"
|
||||
#include "mpt/base/pointer.hpp"
|
||||
#include "mpt/base/check_platform.hpp"
|
||||
#include "mpt/base/float.hpp"
|
||||
#include "mpt/base/integer.hpp"
|
||||
#include "mpt/base/pointer.hpp"
|
||||
#include "mpt/base/size.hpp"
|
||||
#include "mpt/base/source_location.hpp"
|
||||
#include "openmpt/base/Types.hpp"
|
||||
|
||||
|
|
|
@ -28,9 +28,6 @@ namespace CPU
|
|||
#ifdef MPT_ENABLE_ARCH_INTRINSICS
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#if defined(MODPLUG_TRACKER) && !defined(MPT_BUILD_WINESUPPORT)
|
||||
|
||||
|
||||
|
@ -93,11 +90,6 @@ public:
|
|||
#endif // MODPLUG_TRACKER
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// legacy interface
|
||||
|
||||
namespace feature = mpt::arch::current::feature;
|
||||
namespace mode = mpt::arch::current::mode;
|
||||
|
||||
|
@ -112,8 +104,6 @@ namespace mode = mpt::arch::current::mode;
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // MPT_ENABLE_ARCH_INTRINSICS
|
||||
|
||||
|
||||
|
|
|
@ -1,100 +0,0 @@
|
|||
/*
|
||||
* mptFileIO.cpp
|
||||
* -------------
|
||||
* Purpose: File I/O wrappers
|
||||
* Notes : (currently none)
|
||||
* Authors: OpenMPT Devs
|
||||
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
|
||||
*/
|
||||
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "mptFileIO.h"
|
||||
|
||||
#ifdef MODPLUG_TRACKER
|
||||
#if MPT_OS_WINDOWS
|
||||
#include <windows.h>
|
||||
#include <WinIoCtl.h>
|
||||
#include <io.h>
|
||||
#endif // MPT_OS_WINDOWS
|
||||
#endif // MODPLUG_TRACKER
|
||||
|
||||
|
||||
OPENMPT_NAMESPACE_BEGIN
|
||||
|
||||
|
||||
#if defined(MPT_ENABLE_FILEIO)
|
||||
|
||||
|
||||
#if !defined(MPT_BUILD_SILENCE_LIBOPENMPT_CONFIGURATION_WARNINGS)
|
||||
|
||||
#if defined(MPT_COMPILER_QUIRK_WINDOWS_FSTREAM_NO_WCHAR)
|
||||
#if MPT_GCC_BEFORE(9,1,0)
|
||||
MPT_WARNING("Warning: MinGW with GCC earlier than 9.1 detected. Standard library does neither provide std::fstream wchar_t overloads nor std::filesystem with wchar_t support. Unicode filename support is thus unavailable.")
|
||||
#endif // MPT_GCC_AT_LEAST(9,1,0)
|
||||
#endif // MPT_COMPILER_QUIRK_WINDOWS_FSTREAM_NO_WCHAR
|
||||
|
||||
#endif // !MPT_BUILD_SILENCE_LIBOPENMPT_CONFIGURATION_WARNINGS
|
||||
|
||||
|
||||
#ifdef MODPLUG_TRACKER
|
||||
|
||||
#if MPT_OS_WINDOWS
|
||||
|
||||
bool SetFilesystemCompression(HANDLE hFile)
|
||||
{
|
||||
if(hFile == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
USHORT format = COMPRESSION_FORMAT_DEFAULT;
|
||||
DWORD dummy = 0;
|
||||
BOOL result = DeviceIoControl(hFile, FSCTL_SET_COMPRESSION, (LPVOID)&format, sizeof(format), NULL, 0, &dummy /*required*/ , NULL);
|
||||
return result != FALSE;
|
||||
}
|
||||
|
||||
bool SetFilesystemCompression(int fd)
|
||||
{
|
||||
if(fd < 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
uintptr_t fhandle = _get_osfhandle(fd);
|
||||
HANDLE hFile = (HANDLE)fhandle;
|
||||
if(hFile == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return SetFilesystemCompression(hFile);
|
||||
}
|
||||
|
||||
bool SetFilesystemCompression(const mpt::PathString &filename)
|
||||
{
|
||||
DWORD attributes = GetFileAttributes(mpt::support_long_path(filename.AsNative()).c_str());
|
||||
if(attributes == INVALID_FILE_ATTRIBUTES)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if(attributes & FILE_ATTRIBUTE_COMPRESSED)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
HANDLE hFile = CreateFile(mpt::support_long_path(filename.AsNative()).c_str(), GENERIC_ALL, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
|
||||
if(hFile == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
bool result = SetFilesystemCompression(hFile);
|
||||
CloseHandle(hFile);
|
||||
return result;
|
||||
}
|
||||
|
||||
#endif // MPT_OS_WINDOWS
|
||||
|
||||
#endif // MODPLUG_TRACKER
|
||||
|
||||
|
||||
#endif // MPT_ENABLE_FILEIO
|
||||
|
||||
|
||||
OPENMPT_NAMESPACE_END
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* mptFileIO.h
|
||||
* -----------
|
||||
* Purpose: A wrapper around std::fstream, enforcing usage of mpt::PathString.
|
||||
* Purpose:
|
||||
* Notes : You should only ever use these wrappers instead of plain std::fstream classes.
|
||||
* Authors: OpenMPT Devs
|
||||
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
|
||||
|
@ -13,23 +13,13 @@
|
|||
|
||||
#if defined(MPT_ENABLE_FILEIO)
|
||||
|
||||
#include "mpt/base/detect_libcxx.hpp"
|
||||
#include "mpt/base/namespace.hpp"
|
||||
#include "mpt/io_file/fstream.hpp"
|
||||
#include "mpt/io_file_read/inputfile_filecursor.hpp"
|
||||
|
||||
#include "../common/mptString.h"
|
||||
#include "../common/mptPathString.h"
|
||||
#include "../common/FileReaderFwd.h"
|
||||
|
||||
#include <utility>
|
||||
|
||||
#ifdef MODPLUG_TRACKER
|
||||
#if MPT_OS_WINDOWS
|
||||
#include <windows.h>
|
||||
#endif // MPT_OS_WINDOWS
|
||||
#endif // MODPLUG_TRACKER
|
||||
|
||||
#endif // MPT_ENABLE_FILEIO
|
||||
|
||||
|
||||
|
@ -39,29 +29,6 @@ OPENMPT_NAMESPACE_BEGIN
|
|||
#if defined(MPT_ENABLE_FILEIO)
|
||||
|
||||
|
||||
// Sets the NTFS compression attribute on the file or directory.
|
||||
// Requires read and write permissions for already opened files.
|
||||
// Returns true if the attribute has been set.
|
||||
// In almost all cases, the return value should be ignored because most filesystems other than NTFS do not support compression.
|
||||
#ifdef MODPLUG_TRACKER
|
||||
#if MPT_OS_WINDOWS
|
||||
bool SetFilesystemCompression(HANDLE hFile);
|
||||
bool SetFilesystemCompression(int fd);
|
||||
bool SetFilesystemCompression(const mpt::PathString &filename);
|
||||
#endif // MPT_OS_WINDOWS
|
||||
#endif // MODPLUG_TRACKER
|
||||
|
||||
|
||||
namespace mpt
|
||||
{
|
||||
|
||||
using fstream = mpt::IO::fstream;
|
||||
using ifstream = mpt::IO::ifstream;
|
||||
using ofstream = mpt::IO::ofstream;
|
||||
|
||||
} // namespace mpt
|
||||
|
||||
|
||||
template <typename Targ1>
|
||||
inline FileCursor GetFileReader(Targ1 &&arg1)
|
||||
{
|
||||
|
|
|
@ -1,114 +0,0 @@
|
|||
/*
|
||||
* mptFileTemporary.cpp
|
||||
* --------------------
|
||||
* Purpose:
|
||||
* Notes : Currently none.
|
||||
* Authors: OpenMPT Devs
|
||||
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
|
||||
*/
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "mptFileTemporary.h"
|
||||
|
||||
#if defined(MODPLUG_TRACKER) && MPT_OS_WINDOWS
|
||||
#include "mpt/fs/common_directories.hpp"
|
||||
#include "mpt/fs/fs.hpp"
|
||||
#include "mpt/io_file_unique/unique_basename.hpp"
|
||||
#include "mpt/io_file_unique/unique_tempfilename.hpp"
|
||||
#endif // MODPLUG_TRACKER && MPT_OS_WINDOWS
|
||||
#include "mpt/string_transcode/transcode.hpp"
|
||||
#include "mpt/uuid/uuid.hpp"
|
||||
|
||||
#include "mptRandom.h"
|
||||
|
||||
#if MPT_OS_WINDOWS
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
OPENMPT_NAMESPACE_BEGIN
|
||||
|
||||
|
||||
|
||||
#if defined(MODPLUG_TRACKER) && MPT_OS_WINDOWS
|
||||
|
||||
|
||||
|
||||
namespace mpt
|
||||
{
|
||||
|
||||
|
||||
|
||||
TemporaryPathname::TemporaryPathname(const mpt::PathString &fileNameExtension)
|
||||
{
|
||||
mpt::PathString prefix;
|
||||
#if defined(LIBOPENMPT_BUILD)
|
||||
prefix = P_("libopenmpt");
|
||||
#else
|
||||
prefix = P_("OpenMPT");
|
||||
#endif
|
||||
m_Path = mpt::PathString::FromNative(mpt::IO::unique_tempfilename{mpt::IO::unique_basename{prefix, mpt::UUID::GenerateLocalUseOnly(mpt::global_prng())}, fileNameExtension});
|
||||
}
|
||||
|
||||
|
||||
|
||||
TempFileGuard::TempFileGuard(const mpt::TemporaryPathname &pathname)
|
||||
: filename(pathname.GetPathname())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
mpt::PathString TempFileGuard::GetFilename() const
|
||||
{
|
||||
return filename;
|
||||
}
|
||||
|
||||
TempFileGuard::~TempFileGuard()
|
||||
{
|
||||
if(!filename.empty())
|
||||
{
|
||||
DeleteFile(mpt::support_long_path(filename.AsNative()).c_str());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
TempDirGuard::TempDirGuard(const mpt::TemporaryPathname &pathname)
|
||||
: dirname(pathname.GetPathname().WithTrailingSlash())
|
||||
{
|
||||
if(dirname.empty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
if(::CreateDirectory(mpt::support_long_path(dirname.AsNative()).c_str(), NULL) == 0)
|
||||
{ // fail
|
||||
dirname = mpt::PathString();
|
||||
}
|
||||
}
|
||||
|
||||
mpt::PathString TempDirGuard::GetDirname() const
|
||||
{
|
||||
return dirname;
|
||||
}
|
||||
|
||||
TempDirGuard::~TempDirGuard()
|
||||
{
|
||||
if(!dirname.empty())
|
||||
{
|
||||
mpt::native_fs{}.delete_tree(dirname);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
} // namespace mpt
|
||||
|
||||
|
||||
|
||||
#else
|
||||
MPT_MSVC_WORKAROUND_LNK4221(mptFileTemporary)
|
||||
#endif // MODPLUG_TRACKER && MPT_OS_WINDOWS
|
||||
|
||||
|
||||
|
||||
OPENMPT_NAMESPACE_END
|
|
@ -14,7 +14,23 @@
|
|||
|
||||
#include "mpt/base/namespace.hpp"
|
||||
|
||||
#if defined(MODPLUG_TRACKER) && MPT_OS_WINDOWS
|
||||
|
||||
#include "mpt/fs/common_directories.hpp"
|
||||
#include "mpt/fs/fs.hpp"
|
||||
#include "mpt/io_file_unique/unique_basename.hpp"
|
||||
#include "mpt/io_file_unique/unique_tempfilename.hpp"
|
||||
#include "mpt/uuid/uuid.hpp"
|
||||
|
||||
#include "mptPathString.h"
|
||||
#include "mptRandom.h"
|
||||
|
||||
#if MPT_OS_WINDOWS
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
#endif // MODPLUG_TRACKER && MPT_OS_WINDOWS
|
||||
|
||||
|
||||
|
||||
OPENMPT_NAMESPACE_BEGIN
|
||||
|
@ -36,7 +52,16 @@ class TemporaryPathname
|
|||
private:
|
||||
mpt::PathString m_Path;
|
||||
public:
|
||||
TemporaryPathname(const mpt::PathString &fileNameExtension = P_("tmp"));
|
||||
TemporaryPathname(const mpt::PathString &fileNameExtension = P_("tmp"))
|
||||
{
|
||||
mpt::PathString prefix;
|
||||
#if defined(LIBOPENMPT_BUILD)
|
||||
prefix = P_("libopenmpt");
|
||||
#else
|
||||
prefix = P_("OpenMPT");
|
||||
#endif
|
||||
m_Path = mpt::PathString::FromNative(mpt::IO::unique_tempfilename{mpt::IO::unique_basename{prefix, mpt::UUID::GenerateLocalUseOnly(mpt::global_prng())}, fileNameExtension});
|
||||
}
|
||||
public:
|
||||
mpt::PathString GetPathname() const
|
||||
{
|
||||
|
@ -53,12 +78,26 @@ class TempFileGuard
|
|||
private:
|
||||
const mpt::PathString filename;
|
||||
public:
|
||||
TempFileGuard(const mpt::TemporaryPathname &pathname = mpt::TemporaryPathname{});
|
||||
mpt::PathString GetFilename() const;
|
||||
~TempFileGuard();
|
||||
TempFileGuard(const mpt::TemporaryPathname &pathname = mpt::TemporaryPathname{})
|
||||
: filename(pathname.GetPathname())
|
||||
{
|
||||
return;
|
||||
}
|
||||
mpt::PathString GetFilename() const
|
||||
{
|
||||
return filename;
|
||||
}
|
||||
~TempFileGuard()
|
||||
{
|
||||
if(!filename.empty())
|
||||
{
|
||||
DeleteFile(mpt::support_long_path(filename.AsNative()).c_str());
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
// Scoped temporary directory guard. Deletes the directory when going out of scope.
|
||||
// The directory itself is created automatically.
|
||||
class TempDirGuard
|
||||
|
@ -66,9 +105,29 @@ class TempDirGuard
|
|||
private:
|
||||
mpt::PathString dirname;
|
||||
public:
|
||||
TempDirGuard(const mpt::TemporaryPathname &pathname = mpt::TemporaryPathname{});
|
||||
mpt::PathString GetDirname() const;
|
||||
~TempDirGuard();
|
||||
TempDirGuard(const mpt::TemporaryPathname &pathname = mpt::TemporaryPathname{})
|
||||
: dirname(pathname.GetPathname().WithTrailingSlash())
|
||||
{
|
||||
if(dirname.empty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
if(::CreateDirectory(mpt::support_long_path(dirname.AsNative()).c_str(), NULL) == 0)
|
||||
{ // fail
|
||||
dirname = mpt::PathString();
|
||||
}
|
||||
}
|
||||
mpt::PathString GetDirname() const
|
||||
{
|
||||
return dirname;
|
||||
}
|
||||
~TempDirGuard()
|
||||
{
|
||||
if(!dirname.empty())
|
||||
{
|
||||
mpt::native_fs{}.delete_tree(dirname);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -10,18 +10,12 @@
|
|||
#include "stdafx.h"
|
||||
#include "mptPathString.h"
|
||||
|
||||
#include "mpt/path/os_path_long.hpp"
|
||||
|
||||
#include <vector>
|
||||
|
||||
#if MPT_OS_WINDOWS
|
||||
#if defined(MODPLUG_TRACKER) && MPT_OS_WINDOWS
|
||||
#include <tchar.h>
|
||||
#endif
|
||||
|
||||
#if MPT_OS_WINDOWS
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
OPENMPT_NAMESPACE_BEGIN
|
||||
|
||||
|
||||
|
@ -31,24 +25,10 @@ namespace mpt
|
|||
|
||||
|
||||
|
||||
#if MPT_OS_WINDOWS
|
||||
|
||||
#if !MPT_OS_WINDOWS_WINRT
|
||||
|
||||
int PathCompareNoCase(const PathString & a, const PathString & b)
|
||||
{
|
||||
return lstrcmpi(a.AsNative().c_str(), b.AsNative().c_str());
|
||||
}
|
||||
|
||||
#endif // !MPT_OS_WINDOWS_WINRT
|
||||
|
||||
#endif // MPT_OS_WINDOWS
|
||||
|
||||
|
||||
|
||||
#if defined(MODPLUG_TRACKER) && MPT_OS_WINDOWS
|
||||
|
||||
|
||||
|
||||
// Convert an absolute path to a path that's relative to "&relativeTo".
|
||||
mpt::PathString AbsolutePathToRelative(const mpt::PathString &path, const mpt::PathString &relativeTo)
|
||||
{
|
||||
|
@ -107,59 +87,13 @@ mpt::PathString RelativePathToAbsolute(const mpt::PathString &path, const mpt::P
|
|||
}
|
||||
|
||||
|
||||
|
||||
#endif // MODPLUG_TRACKER && MPT_OS_WINDOWS
|
||||
|
||||
|
||||
|
||||
#if MPT_OS_WINDOWS
|
||||
|
||||
#if !(MPT_WINRT_BEFORE(MPT_WIN_10))
|
||||
|
||||
mpt::PathString GetAbsolutePath(const mpt::PathString &path)
|
||||
{
|
||||
DWORD size = GetFullPathName(path.AsNative().c_str(), 0, nullptr, nullptr);
|
||||
if(size == 0)
|
||||
{
|
||||
return path;
|
||||
}
|
||||
std::vector<TCHAR> fullPathName(size, TEXT('\0'));
|
||||
if(GetFullPathName(path.AsNative().c_str(), size, fullPathName.data(), nullptr) == 0)
|
||||
{
|
||||
return path;
|
||||
}
|
||||
return mpt::PathString::FromNative(fullPathName.data());
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#endif // MPT_OS_WINDOWS
|
||||
|
||||
|
||||
|
||||
} // namespace mpt
|
||||
|
||||
|
||||
|
||||
#if defined(MODPLUG_TRACKER)
|
||||
|
||||
|
||||
|
||||
mpt::ustring SanitizePathComponent(mpt::ustring str)
|
||||
{
|
||||
return mpt::PathString::FromUnicode(str).AsSanitizedComponent().ToUnicode();
|
||||
}
|
||||
|
||||
#if defined(MPT_WITH_MFC)
|
||||
CString SanitizePathComponent(CString str)
|
||||
{
|
||||
return mpt::PathString::FromCString(str).AsSanitizedComponent().ToCString();
|
||||
}
|
||||
#endif // MPT_WITH_MFC
|
||||
|
||||
|
||||
|
||||
#endif // MODPLUG_TRACKER
|
||||
|
||||
|
||||
|
||||
OPENMPT_NAMESPACE_END
|
||||
|
|
|
@ -19,8 +19,16 @@
|
|||
#include "mpt/path/os_path.hpp"
|
||||
#include "mpt/string/types.hpp"
|
||||
|
||||
#if defined(MODPLUG_TRACKER)
|
||||
#include "mpt/string_transcode/transcode.hpp"
|
||||
#endif
|
||||
|
||||
#include "mptString.h"
|
||||
|
||||
#if defined(MODPLUG_TRACKER) && MPT_OS_WINDOWS
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
OPENMPT_NAMESPACE_BEGIN
|
||||
|
@ -64,14 +72,13 @@ inline mpt::ustring ToUString(const T &x)
|
|||
|
||||
|
||||
|
||||
#if MPT_OS_WINDOWS
|
||||
#if !(MPT_WINRT_BEFORE(MPT_WIN_10))
|
||||
// Returns the absolute path for a potentially relative path and removes ".." or "." components. (same as GetFullPathNameW)
|
||||
mpt::PathString GetAbsolutePath(const mpt::PathString &path);
|
||||
#endif
|
||||
#endif // MPT_OS_WINDOWS
|
||||
#if defined(MODPLUG_TRACKER)
|
||||
|
||||
|
||||
|
||||
#if MPT_OS_WINDOWS
|
||||
|
||||
|
||||
#if defined(MODPLUG_TRACKER) && MPT_OS_WINDOWS
|
||||
|
||||
// Relative / absolute paths conversion
|
||||
|
||||
|
@ -79,15 +86,30 @@ mpt::PathString AbsolutePathToRelative(const mpt::PathString &p, const mpt::Path
|
|||
|
||||
mpt::PathString RelativePathToAbsolute(const mpt::PathString &p, const mpt::PathString &relativeTo);
|
||||
|
||||
#endif // MODPLUG_TRACKER && MPT_OS_WINDOWS
|
||||
|
||||
|
||||
|
||||
#if MPT_OS_WINDOWS
|
||||
#if !MPT_OS_WINDOWS_WINRT
|
||||
int PathCompareNoCase(const PathString &a, const PathString &b);
|
||||
inline int PathCompareNoCase(const PathString &a, const PathString &b)
|
||||
{
|
||||
return lstrcmpi(a.AsNative().c_str(), b.AsNative().c_str());
|
||||
}
|
||||
#endif // !MPT_OS_WINDOWS_WINRT
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#endif // MPT_OS_WINDOWS
|
||||
|
||||
|
||||
|
||||
template <typename Tstring>
|
||||
inline Tstring SanitizePathComponent(const Tstring &str)
|
||||
{
|
||||
return mpt::transcode<Tstring>(mpt::native_path::FromNative(mpt::transcode<mpt::native_path::raw_path_type>(str)).AsSanitizedComponent().AsNative());
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif // MODPLUG_TRACKER
|
||||
|
||||
|
||||
|
||||
|
@ -95,18 +117,4 @@ int PathCompareNoCase(const PathString &a, const PathString &b);
|
|||
|
||||
|
||||
|
||||
#if defined(MODPLUG_TRACKER)
|
||||
|
||||
// Sanitize a filename (remove special chars)
|
||||
|
||||
mpt::ustring SanitizePathComponent(mpt::ustring str);
|
||||
|
||||
#if defined(MPT_WITH_MFC)
|
||||
CString SanitizePathComponent(CString str);
|
||||
#endif // MPT_WITH_MFC
|
||||
|
||||
#endif // MODPLUG_TRACKER
|
||||
|
||||
|
||||
|
||||
OPENMPT_NAMESPACE_END
|
||||
|
|
|
@ -45,13 +45,27 @@ mpt::thread_safe_prng<mpt::default_prng> & global_prng()
|
|||
|
||||
mpt::random_device & global_random_device()
|
||||
{
|
||||
#if MPT_COMPILER_CLANG
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wexit-time-destructors"
|
||||
#endif // MPT_COMPILER_CLANG
|
||||
static mpt::random_device g_rd;
|
||||
#if MPT_COMPILER_CLANG
|
||||
#pragma clang diagnostic pop
|
||||
#endif // MPT_COMPILER_CLANG
|
||||
return g_rd;
|
||||
}
|
||||
|
||||
mpt::thread_safe_prng<mpt::default_prng> & global_prng()
|
||||
{
|
||||
#if MPT_COMPILER_CLANG
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wexit-time-destructors"
|
||||
#endif // MPT_COMPILER_CLANG
|
||||
static mpt::thread_safe_prng<mpt::default_prng> g_global_prng(mpt::make_prng<mpt::default_prng>(global_random_device()));
|
||||
#if MPT_COMPILER_CLANG
|
||||
#pragma clang diagnostic pop
|
||||
#endif // MPT_COMPILER_CLANG
|
||||
return g_global_prng;
|
||||
}
|
||||
|
||||
|
|
|
@ -95,7 +95,7 @@ public:
|
|||
#ifdef MPT_BUILD_FUZZER
|
||||
|
||||
// Use deterministic seeding
|
||||
using random_device = deterministc_random_device;
|
||||
using random_device = deterministic_random_device;
|
||||
|
||||
#else // !MPT_BUILD_FUZZER
|
||||
|
||||
|
|
|
@ -408,6 +408,7 @@ inline CString ToCString(Tencoding &&from, Tsrc &&str)
|
|||
|
||||
#define UC_(x) MPT_UCHAR(x)
|
||||
#define UL_(x) MPT_ULITERAL(x)
|
||||
#define UV_(x) MPT_USTRINGVIEW(x)
|
||||
#define U_(x) MPT_USTRING(x)
|
||||
|
||||
|
||||
|
|
|
@ -25,11 +25,12 @@
|
|||
#include <optional>
|
||||
#endif // MODPLUG_TRACKER && MPT_OS_WINDOWS
|
||||
|
||||
#if defined(MPT_FALLBACK_TIMEZONE_C)
|
||||
#include <ctime>
|
||||
#endif // MPT_FALLBACK_TIMEZONE_C
|
||||
|
||||
#if MPT_OS_WINDOWS
|
||||
#include <windows.h>
|
||||
#if defined(MODPLUG_TRACKER)
|
||||
#include <mmsystem.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -41,6 +42,8 @@ namespace mpt
|
|||
namespace Date
|
||||
{
|
||||
|
||||
|
||||
|
||||
#if defined(MODPLUG_TRACKER)
|
||||
|
||||
#if MPT_OS_WINDOWS
|
||||
|
@ -51,7 +54,11 @@ namespace ANSI
|
|||
uint64 Now()
|
||||
{
|
||||
FILETIME filetime;
|
||||
#if MPT_WIN_AT_LEAST(MPT_WIN_8)
|
||||
GetSystemTimePreciseAsFileTime(&filetime);
|
||||
#else
|
||||
GetSystemTimeAsFileTime(&filetime);
|
||||
#endif
|
||||
return ((uint64)filetime.dwHighDateTime << 32 | filetime.dwLowDateTime);
|
||||
}
|
||||
|
||||
|
@ -91,6 +98,8 @@ mpt::ustring ToUString(uint64 time100ns)
|
|||
|
||||
#endif // MODPLUG_TRACKER
|
||||
|
||||
|
||||
|
||||
namespace nochrono
|
||||
{
|
||||
|
||||
|
@ -393,100 +402,4 @@ mpt::ustring ToShortenedISO8601(Local date)
|
|||
|
||||
|
||||
|
||||
#ifdef MODPLUG_TRACKER
|
||||
|
||||
namespace Util
|
||||
{
|
||||
|
||||
#if MPT_OS_WINDOWS
|
||||
|
||||
void MultimediaClock::Init()
|
||||
{
|
||||
m_CurrentPeriod = 0;
|
||||
}
|
||||
|
||||
void MultimediaClock::SetPeriod(uint32 ms)
|
||||
{
|
||||
TIMECAPS caps = {};
|
||||
if(timeGetDevCaps(&caps, sizeof(caps)) != MMSYSERR_NOERROR)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if((caps.wPeriodMax == 0) || (caps.wPeriodMin > caps.wPeriodMax))
|
||||
{
|
||||
return;
|
||||
}
|
||||
ms = std::clamp(mpt::saturate_cast<UINT>(ms), caps.wPeriodMin, caps.wPeriodMax);
|
||||
if(timeBeginPeriod(ms) != MMSYSERR_NOERROR)
|
||||
{
|
||||
return;
|
||||
}
|
||||
m_CurrentPeriod = ms;
|
||||
}
|
||||
|
||||
void MultimediaClock::Cleanup()
|
||||
{
|
||||
if(m_CurrentPeriod > 0)
|
||||
{
|
||||
if(timeEndPeriod(m_CurrentPeriod) != MMSYSERR_NOERROR)
|
||||
{
|
||||
// should not happen
|
||||
MPT_ASSERT_NOTREACHED();
|
||||
}
|
||||
m_CurrentPeriod = 0;
|
||||
}
|
||||
}
|
||||
|
||||
MultimediaClock::MultimediaClock()
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
||||
MultimediaClock::MultimediaClock(uint32 ms)
|
||||
{
|
||||
Init();
|
||||
SetResolution(ms);
|
||||
}
|
||||
|
||||
MultimediaClock::~MultimediaClock()
|
||||
{
|
||||
Cleanup();
|
||||
}
|
||||
|
||||
uint32 MultimediaClock::SetResolution(uint32 ms)
|
||||
{
|
||||
if(m_CurrentPeriod == ms)
|
||||
{
|
||||
return m_CurrentPeriod;
|
||||
}
|
||||
Cleanup();
|
||||
if(ms != 0)
|
||||
{
|
||||
SetPeriod(ms);
|
||||
}
|
||||
return GetResolution();
|
||||
}
|
||||
|
||||
uint32 MultimediaClock::GetResolution() const
|
||||
{
|
||||
return m_CurrentPeriod;
|
||||
}
|
||||
|
||||
uint32 MultimediaClock::Now() const
|
||||
{
|
||||
return timeGetTime();
|
||||
}
|
||||
|
||||
uint64 MultimediaClock::NowNanoseconds() const
|
||||
{
|
||||
return (uint64)timeGetTime() * (uint64)1000000;
|
||||
}
|
||||
|
||||
#endif // MPT_OS_WINDOWS
|
||||
|
||||
} // namespace Util
|
||||
|
||||
#endif // MODPLUG_TRACKER
|
||||
|
||||
|
||||
OPENMPT_NAMESPACE_END
|
||||
|
|
|
@ -15,10 +15,13 @@
|
|||
#if MPT_CXX_AT_LEAST(20) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO_DATE)
|
||||
#include <chrono>
|
||||
#include <exception>
|
||||
#elif MPT_CXX_AT_LEAST(17) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) && defined(MODPLUG_TRACKER)
|
||||
#include <chrono>
|
||||
#endif
|
||||
#include <string>
|
||||
|
||||
#if MPT_CXX_BEFORE(20) || defined(MPT_LIBCXX_QUIRK_NO_CHRONO) || defined(MPT_LIBCXX_QUIRK_NO_CHRONO_DATE)
|
||||
#include <ctime>
|
||||
#endif
|
||||
|
||||
#if MPT_WINNT_AT_LEAST(MPT_WIN_8)
|
||||
#define MPT_FALLBACK_TIMEZONE_WINDOWS_HISTORIC
|
||||
|
@ -37,11 +40,35 @@ OPENMPT_NAMESPACE_BEGIN
|
|||
|
||||
|
||||
|
||||
#if defined(MODPLUG_TRACKER) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO)
|
||||
|
||||
namespace mpt {
|
||||
namespace chrono {
|
||||
#if MPT_CXX_AT_LEAST(20)
|
||||
using days = std::chrono::days;
|
||||
using weeks = std::chrono::weeks;
|
||||
using years = std::chrono::years;
|
||||
using months = std::chrono::months;
|
||||
#else
|
||||
using days = std::chrono::duration<int, std::ratio_multiply<std::ratio<24>, std::chrono::hours::period>>;
|
||||
using weeks = std::chrono::duration<int, std::ratio_multiply<std::ratio<7>, mpt::chrono::days::period>>;
|
||||
using years = std::chrono::duration<int, std::ratio_multiply<std::ratio<146097, 400>, mpt::chrono::days::period>>;
|
||||
using months = std::chrono::duration<int, std::ratio_divide<mpt::chrono::years::period, std::ratio<12>>>;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
#endif // !MPT_LIBCXX_QUIRK_NO_CHRONO
|
||||
|
||||
|
||||
|
||||
namespace mpt
|
||||
{
|
||||
namespace Date
|
||||
{
|
||||
|
||||
|
||||
|
||||
#if defined(MODPLUG_TRACKER)
|
||||
|
||||
#if MPT_OS_WINDOWS
|
||||
|
@ -60,6 +87,8 @@ mpt::ustring ToUString(uint64 time100ns); // i.e. 2015-01-15 18:32:01.718
|
|||
|
||||
#endif // MODPLUG_TRACKER
|
||||
|
||||
|
||||
|
||||
enum class LogicalTimezone
|
||||
{
|
||||
Unspecified,
|
||||
|
@ -146,11 +175,15 @@ struct Unix
|
|||
}
|
||||
};
|
||||
|
||||
#if MPT_CXX_BEFORE(20) || defined(MPT_LIBCXX_QUIRK_NO_CHRONO) || defined(MPT_LIBCXX_QUIRK_NO_CHRONO_DATE)
|
||||
|
||||
inline Unix UnixNow()
|
||||
{
|
||||
return Unix{static_cast<int64>(std::time(nullptr))};
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
inline int64 UnixAsSeconds(Unix tp)
|
||||
{
|
||||
return tp.value;
|
||||
|
@ -238,6 +271,7 @@ inline mpt::Date::UTC UnixAsUTC(Unix tp)
|
|||
|
||||
inline mpt::Date::Unix UnixFromLocal(Local local)
|
||||
{
|
||||
#if !defined(MPT_LIBCXX_QUIRK_CHRONO_DATE_NO_ZONED_TIME)
|
||||
try
|
||||
{
|
||||
std::chrono::time_point<std::chrono::local_t, std::chrono::seconds> local_tp =
|
||||
|
@ -255,6 +289,7 @@ inline mpt::Date::Unix UnixFromLocal(Local local)
|
|||
return std::chrono::zoned_time{std::chrono::current_zone(), local_tp}.get_sys_time();
|
||||
#endif
|
||||
} catch(const std::exception &)
|
||||
#endif
|
||||
{
|
||||
return mpt::Date::UnixFromSeconds(mpt::Date::nochrono::UnixAsSeconds(mpt::Date::nochrono::UnixFromLocal(local)));
|
||||
}
|
||||
|
@ -262,6 +297,7 @@ inline mpt::Date::Unix UnixFromLocal(Local local)
|
|||
|
||||
inline mpt::Date::Local UnixAsLocal(Unix tp)
|
||||
{
|
||||
#if !defined(MPT_LIBCXX_QUIRK_CHRONO_DATE_NO_ZONED_TIME)
|
||||
try
|
||||
{
|
||||
std::chrono::zoned_time local_tp{ std::chrono::current_zone(), tp };
|
||||
|
@ -277,6 +313,7 @@ inline mpt::Date::Local UnixAsLocal(Unix tp)
|
|||
result.seconds = static_cast<int64>(hms.seconds().count());
|
||||
return result;
|
||||
} catch(const std::exception &)
|
||||
#endif
|
||||
{
|
||||
return mpt::Date::nochrono::UnixAsLocal(mpt::Date::nochrono::UnixFromSeconds(mpt::Date::UnixAsSeconds(tp)));
|
||||
}
|
||||
|
@ -317,52 +354,4 @@ mpt::ustring ToShortenedISO8601(Local date); // i.e. 2015-01-15T18:32:01
|
|||
|
||||
|
||||
|
||||
#ifdef MODPLUG_TRACKER
|
||||
|
||||
namespace Util
|
||||
{
|
||||
|
||||
#if MPT_OS_WINDOWS
|
||||
|
||||
// RAII wrapper around timeBeginPeriod/timeEndPeriod/timeGetTime (on Windows).
|
||||
// This clock is monotonic, even across changing its resolution.
|
||||
// This is needed to synchronize time in Steinberg APIs (ASIO and VST).
|
||||
class MultimediaClock
|
||||
{
|
||||
private:
|
||||
uint32 m_CurrentPeriod;
|
||||
private:
|
||||
void Init();
|
||||
void SetPeriod(uint32 ms);
|
||||
void Cleanup();
|
||||
public:
|
||||
MultimediaClock();
|
||||
MultimediaClock(uint32 ms);
|
||||
~MultimediaClock();
|
||||
public:
|
||||
// Sets the desired resolution in milliseconds, returns the obtained resolution in milliseconds.
|
||||
// A parameter of 0 causes the resolution to be reset to system defaults.
|
||||
// A return value of 0 means the resolution is unknown, but timestamps will still be valid.
|
||||
uint32 SetResolution(uint32 ms);
|
||||
// Returns obtained resolution in milliseconds.
|
||||
// A return value of 0 means the resolution is unknown, but timestamps will still be valid.
|
||||
uint32 GetResolution() const;
|
||||
// Returns current instantaneous timestamp in milliseconds.
|
||||
// The epoch (offset) of the timestamps is undefined but constant until the next system reboot.
|
||||
// The resolution is the value returned from GetResolution().
|
||||
uint32 Now() const;
|
||||
// Returns current instantaneous timestamp in nanoseconds.
|
||||
// The epoch (offset) of the timestamps is undefined but constant until the next system reboot.
|
||||
// The resolution is the value returned from GetResolution() in milliseconds.
|
||||
uint64 NowNanoseconds() const;
|
||||
};
|
||||
|
||||
#endif // MPT_OS_WINDOWS
|
||||
|
||||
} // namespace Util
|
||||
|
||||
#endif // MODPLUG_TRACKER
|
||||
|
||||
|
||||
|
||||
OPENMPT_NAMESPACE_END
|
||||
|
|
|
@ -60,7 +60,6 @@ enum class StatusLevel : uint8
|
|||
Failure = 0x2,
|
||||
Note = 0x1,
|
||||
None = 0x0,
|
||||
Max = 0xff,
|
||||
};
|
||||
|
||||
enum class StatusMessages : uint32
|
||||
|
@ -89,8 +88,6 @@ enum class StatusMessages : uint32
|
|||
SNW_INSUFFICIENT_DATASIZETYPE = 0x00'10'00'00,
|
||||
|
||||
SNRW_BADGIVEN_STREAM = 0x01'00'00'00,
|
||||
|
||||
Max = 0xffffffff,
|
||||
};
|
||||
|
||||
struct Status
|
||||
|
@ -149,6 +146,7 @@ enum Rwf
|
|||
RwfRTwoBytesDescChar, // Read. True if map description characters are two bytes.
|
||||
RwfRHeaderIsRead, // Read. True when header is read.
|
||||
RwfRwHasMap, // Read/write. True if map exists.
|
||||
|
||||
RwfNumFlags
|
||||
};
|
||||
|
||||
|
|
|
@ -15,11 +15,7 @@
|
|||
|
||||
// has to be first
|
||||
#include "openmpt/all/BuildSettings.hpp"
|
||||
|
||||
|
||||
#if defined(__MINGW32__) && !defined(__MINGW64__)
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
#include "openmpt/all/PlatformFixes.hpp"
|
||||
|
||||
|
||||
#if defined(MODPLUG_TRACKER)
|
||||
|
@ -66,6 +62,7 @@
|
|||
|
||||
#include "mpt/check/compiler.hpp"
|
||||
#include "mpt/check/libc.hpp"
|
||||
#include "mpt/check/libcxx.hpp"
|
||||
#if defined(MPT_WITH_MFC)
|
||||
#include "mpt/check/mfc.hpp"
|
||||
#endif
|
||||
|
|
|
@ -629,15 +629,12 @@ mpt::ustring GetFullCreditsString()
|
|||
"http://modplug-xmms.sourceforge.net/\n"
|
||||
"\n"
|
||||
#ifdef MODPLUG_TRACKER
|
||||
"Stephan M. Bernsee for pitch shifting source code\n"
|
||||
"http://www.dspdimension.com/\n"
|
||||
"Geraint Luff for Signalsmith Stretch\n"
|
||||
"https://signalsmith-audio.co.uk/code/stretch/\n"
|
||||
"\n"
|
||||
"Aleksey Vaneev of Voxengo for r8brain sample rate converter\n"
|
||||
"https://github.com/avaneev/r8brain-free-src\n"
|
||||
"\n"
|
||||
"Olli Parviainen for SoundTouch Library (time stretching)\n"
|
||||
"https://www.surina.net/soundtouch/\n"
|
||||
"\n"
|
||||
#endif
|
||||
#ifdef MPT_WITH_VST
|
||||
"Hermann Seib for his example VST Host implementation\n"
|
||||
|
|
|
@ -10,14 +10,10 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include "openmpt/all/BuildSettings.hpp"
|
||||
|
||||
OPENMPT_NAMESPACE_BEGIN
|
||||
|
||||
// Version definitions. The only thing that needs to be changed when changing version number.
|
||||
#define VER_MAJORMAJOR 1
|
||||
#define VER_MAJOR 31
|
||||
#define VER_MINOR 14
|
||||
#define VER_MAJOR 32
|
||||
#define VER_MINOR 01
|
||||
#define VER_MINORMINOR 00
|
||||
|
||||
OPENMPT_NAMESPACE_END
|
||||
|
|
|
@ -10,6 +10,8 @@ amf="DMF\x0E"
|
|||
ams="Extreme"
|
||||
ams="AMShdr\x1A\x00\x02\x02"
|
||||
|
||||
cba="CBA\xF9"
|
||||
|
||||
#dbm="DBM0"
|
||||
dbm="NAME"
|
||||
dbm="INFO"
|
||||
|
@ -48,11 +50,18 @@ dtm="S.Q."
|
|||
dtm="DAPT"
|
||||
dtm="DAIT"
|
||||
|
||||
etx="EASYTRAX 1.0\x01\x00z\x01\x20\x00\x00\x00\x20\x04\x00\x00"
|
||||
|
||||
far="FAR\xFE"
|
||||
far="\x0D\x0A\x1A"
|
||||
|
||||
fc="SMOD"
|
||||
fc="FC14"
|
||||
|
||||
fmt="FMTracker\x01\x01"
|
||||
|
||||
ftm="FTMN\x03\x03\x00\x08\x20\x20\x00\xFF\x3F\x03\x06\x10"
|
||||
|
||||
gdm="GDM\xFE"
|
||||
gdm="\x0D\x0A\x1AGMFS\x01\x00"
|
||||
|
||||
|
@ -126,6 +135,8 @@ j2b="ORDR"
|
|||
j2b="AI "
|
||||
j2b="AS "
|
||||
|
||||
kris="KRIS"
|
||||
|
||||
MDL="DMDL"
|
||||
# Most chunk IDs are commented out as they are substrings of other dictionary entries
|
||||
#mdl="IN"
|
||||
|
@ -146,9 +157,7 @@ mo3="MO3\x05"
|
|||
# A couple of magic bytes are commented out because they do not modify the loader's behaviour, apart from setting a "made with" string.
|
||||
mod="M.K."
|
||||
#mod="M!K!"
|
||||
mod="M&K!"
|
||||
mod="N.T."
|
||||
#mod="FEST"
|
||||
#mod="NSMS"
|
||||
#mod="LARD"
|
||||
mod="OKTA"
|
||||
|
@ -170,6 +179,10 @@ sfx="SO31"
|
|||
stam="ST1.3 ModuleINFO"
|
||||
stam="AudioSculpture10"
|
||||
|
||||
hmn="M&K!"
|
||||
#hmn="FEST"
|
||||
hmn="Mupp"
|
||||
|
||||
mptm="->MPT_ORIGINAL_IT<-"
|
||||
mptm=".tpm"
|
||||
mptm="mptm"
|
||||
|
@ -239,8 +252,14 @@ stp="STP3\x02"
|
|||
|
||||
symmod="SymM\x00\x00\x00\x01\xFF\xFF\xFF\xFF\x00\x00\x00"
|
||||
|
||||
tcb="AN COOL.\x01\x00\x00\x00\x0D\x00"
|
||||
#tcb="AN COOL!"
|
||||
|
||||
ult="MAS_UTrack_V004"
|
||||
|
||||
#unic="UNIC"
|
||||
#unic="\x00\x00\x00\x00"
|
||||
|
||||
umx="\xC1\x83\x2A\x9E"
|
||||
umx="music"
|
||||
umx="sound"
|
||||
|
@ -348,3 +367,9 @@ iff="CHAN"
|
|||
iff="MHDR"
|
||||
iff="MDAT"
|
||||
iff="NAME"
|
||||
|
||||
puma="patt"
|
||||
puma="inst"
|
||||
puma="insf"
|
||||
|
||||
rtm="RTMM "
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/usr/bin/env bash
|
||||
cd "${0%/*}"
|
||||
cd ../..
|
||||
AFL_HARDEN=1 CONFIG=afl make clean all EXAMPLES=0 TEST=0 OPENMPT123=0 NO_VORBIS=1 NO_VORBISFILE=1 NO_MPG123=1 CHECKED_ADDRESS=1
|
||||
AFL_LLVM_CMPLOG=1 AFL_USE_ASAN=1 CONFIG=afl make clean all EXAMPLES=0 TEST=0 OPENMPT123=0 NO_VORBIS=1 NO_VORBISFILE=1 NO_MPG123=1 CHECKED_ADDRESS=1
|
||||
|
|
|
@ -9,5 +9,4 @@ rm -rf $FUZZING_TEMPDIR/bin
|
|||
mkdir $FUZZING_TEMPDIR/bin
|
||||
cp -d ../../bin/* $FUZZING_TEMPDIR/bin/
|
||||
|
||||
#export AFL_PRELOAD=$AFL_DIR/libdislocator.so
|
||||
LD_LIBRARY_PATH=$FUZZING_TEMPDIR/bin $AFL_DIR/afl-fuzz -p exploit -x all_formats.dict -t $FUZZING_TIMEOUT $FUZZING_INPUT -o $FUZZING_FINDINGS_DIR -D -M fuzzer01 $FUZZING_TEMPDIR/bin/fuzz
|
||||
LD_LIBRARY_PATH=$FUZZING_TEMPDIR/bin $FUZZING_AFL_DIR/afl-fuzz -x all_formats.dict -t $FUZZING_TIMEOUT $FUZZING_INPUT -o $FUZZING_FINDINGS_DIR -M fuzzer01 $FUZZING_TEMPDIR/bin/fuzz
|
||||
|
|
|
@ -2,5 +2,4 @@
|
|||
cd "${0%/*}"
|
||||
. ./fuzz-settings.sh
|
||||
|
||||
#export AFL_PRELOAD=$AFL_DIR/libdislocator.so
|
||||
LD_LIBRARY_PATH=$FUZZING_TEMPDIR/bin $AFL_DIR/afl-fuzz -p coe -x all_formats.dict -t $FUZZING_TIMEOUT $FUZZING_INPUT -o $FUZZING_FINDINGS_DIR -S fuzzer02 $FUZZING_TEMPDIR/bin/fuzz
|
||||
LD_LIBRARY_PATH=$FUZZING_TEMPDIR/bin $FUZZING_AFL_DIR/afl-fuzz -c0 -l2 -x all_formats.dict -t $FUZZING_TIMEOUT $FUZZING_INPUT -o $FUZZING_FINDINGS_DIR -S fuzzer02 $FUZZING_TEMPDIR/bin/fuzz
|
||||
|
|
|
@ -2,5 +2,4 @@
|
|||
cd "${0%/*}"
|
||||
. ./fuzz-settings.sh
|
||||
|
||||
#export AFL_PRELOAD=$AFL_DIR/libdislocator.so
|
||||
LD_LIBRARY_PATH=$FUZZING_TEMPDIR/bin $AFL_DIR/afl-fuzz -p explore -x all_formats.dict -t $FUZZING_TIMEOUT $FUZZING_INPUT -o $FUZZING_FINDINGS_DIR -S fuzzer03 $FUZZING_TEMPDIR/bin/fuzz
|
||||
LD_LIBRARY_PATH=$FUZZING_TEMPDIR/bin $FUZZING_AFL_DIR/afl-fuzz -p fast -x all_formats.dict -t $FUZZING_TIMEOUT $FUZZING_INPUT -o $FUZZING_FINDINGS_DIR -S fuzzer03 $FUZZING_TEMPDIR/bin/fuzz
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
#!/usr/bin/env bash
|
||||
cd "${0%/*}"
|
||||
. ./fuzz-settings.sh
|
||||
|
||||
unset AFL_DISABLE_TRIM
|
||||
LD_LIBRARY_PATH=$FUZZING_TEMPDIR/bin $FUZZING_AFL_DIR/afl-fuzz -p exploit -P 300 -a binary -x all_formats.dict -t $FUZZING_TIMEOUT $FUZZING_INPUT -o $FUZZING_FINDINGS_DIR -S fuzzer04 $FUZZING_TEMPDIR/bin/fuzz
|
|
@ -15,4 +15,13 @@ FUZZING_FINDINGS_DIR=~/libopenmpt-fuzzing
|
|||
# Fuzzer timeout in ms, + = don't abort on timeout
|
||||
FUZZING_TIMEOUT=5000+
|
||||
# Path to afl-fuzz binary
|
||||
AFL_DIR=afl
|
||||
FUZZING_AFL_DIR=afl
|
||||
|
||||
# AFL specific envs
|
||||
AFL_TRY_AFFINITY=1
|
||||
AFL_CMPLOG_ONLY_NEW=1
|
||||
AFL_NO_WARN_INSTABILITY=1
|
||||
AFL_FAST_CAL=1
|
||||
AFL_IMPORT_FIRST=1
|
||||
AFL_DISABLE_TRIM=1
|
||||
AFL_IGNORE_SEED_PROBLEMS=1
|
||||
|
|
|
@ -10,13 +10,13 @@ Contents:
|
|||
module formats to make the life of the fuzzer a bit easier.
|
||||
* `fuzz-main.sh`: Script to launch the main fuzzing process. If you want to
|
||||
use just one fuzzer instance, run this one.
|
||||
* `fuzz-secondary[1|2].sh`: Scripts to launch the secondary fuzzing process. It
|
||||
is recommended to run at least two fuzzer instances, as the deterministic and
|
||||
* `fuzz-secondary[1|2|3].sh`: Scripts to launch the secondary fuzzing processes.
|
||||
It is recommended to run at least 2 fuzzer instances, as the deterministic and
|
||||
random fuzz mode have been found to complement each other really well. The two
|
||||
scripts are set up to use different exploration strategies.
|
||||
* `fuzz-settings.sh`: Set up your preferences and afl settings here before the
|
||||
first run.
|
||||
* `fuzz.c`: A tiny C program that is used by the fuzzer to test libopenmpt.
|
||||
* `fuzz.cpp`: A tiny C++ program that is used by the fuzzer to test libopenmpt.
|
||||
* `get-afl.sh`: A simple script to obtain the latest version of afl++.
|
||||
You can also make it download from a specific branch or tag, e.g.
|
||||
`GET_AFL_VERSION=stable ./get-afl.sh` to download the latest stable but
|
||||
|
@ -43,9 +43,8 @@ How to use
|
|||
The default setup mounts a tmpfs folder for all temporary files. You may
|
||||
change this behaviour if you do not have root privileges.
|
||||
* Run `fuzz-main.sh` for the first (deterministic) instance of afl-fuzz.
|
||||
* For a "secondary" instance to run on another core, run `fuzz-secondary1.sh`
|
||||
and/or `fuzz-secondary2.sh`.
|
||||
* For a "secondary" instance to run on another core, run `fuzz-secondary1.sh`,
|
||||
`fuzz-secondary2.sh` and `fuzz-secondary3.sh`.
|
||||
* If you want to make use of even more cores, create more copies of
|
||||
`fuzz-secondary2.sh` and adjust "infile03" / "fuzzer03" to
|
||||
"infile04" / "fuzzer04" and so on (they need to be unique). Try varying the
|
||||
fuzzing strategey (the -p parameter) to get results more quickly.
|
||||
`fuzz-secondary2.sh` and adjust "fuzzer03" to "fuzzer05" and so on (they need to be unique).
|
||||
Try varying the fuzzing strategy (the -p parameter) to get more varied results quickly.
|
||||
|
|
|
@ -17,13 +17,13 @@ General hints
|
|||
a subset of ProTracker MOD).
|
||||
* When reading binary structs from the file, use our data types with defined
|
||||
endianness, which can be found in `common/Endianness.h`:
|
||||
* Big-Endian: (u)int8/16/32/64be, float32be, float64be
|
||||
* Little-Endian: (u)int8/16/32/64le, float32le, float64le
|
||||
* Big-Endian: (u)int8/16/24/32/64be, float32be, float64be
|
||||
* Little-Endian: (u)int8/16/24/32/64le, float32le, float64le
|
||||
|
||||
Entire structs containing integers with defined endianness can be read in one
|
||||
go if they are tagged with `MPT_BINARY_STRUCT` (see existing loaders for an
|
||||
example).
|
||||
* `CSoundFile::m_nChannels` **MUST NOT** be changed after a pattern has been
|
||||
* `CSoundFile::ChnSettings` **MUST NOT** be resized after a pattern has been
|
||||
created, as existing patterns will be interpreted incorrectly. For module
|
||||
formats that support per-pattern channel amounts, the maximum number of
|
||||
channels must be determined beforehand.
|
||||
|
@ -38,8 +38,8 @@ General hints
|
|||
thread-safe for libopenmpt.
|
||||
* `FileReader` instances may be used to treat a portion of a file as its own
|
||||
independent file (through `FileReader::ReadChunk`). This can be useful with
|
||||
"embedded files" such as WAV or Ogg samples. Container formats such as UMX
|
||||
are another good example for this usage.
|
||||
"embedded files" such as WAV or Ogg samples (see MO3 or SymMOD for examples).
|
||||
Container formats such as UMX are another good example for this usage.
|
||||
* Samples *either* use middle-C frequency *or* finetune + transpose. For the few
|
||||
weird formats that use both, it may make sense to translate everything into
|
||||
middle-C frequency.
|
||||
|
@ -66,7 +66,7 @@ General hints
|
|||
(which may e.g. cause a song title starting with if ..." in various other
|
||||
formats to be interpreted as a 669 module), and of course
|
||||
Ultimate SoundTracker modules, which have no magic bytes at all.
|
||||
* Avoid use of functions tagged with [[deprecated]].
|
||||
* Avoid use of functions tagged with `[[deprecated]]`.
|
||||
|
||||
Probing
|
||||
-------
|
||||
|
@ -85,7 +85,7 @@ the first `CSoundFile::ProbeRecommendedSize` bytes of the file.
|
|||
any file that would normally be accepted by the loader. In particular, this
|
||||
means that any header checks must not be any more aggressive than they would
|
||||
be in the real loader (hence it is a good idea to not copy-paste this code but
|
||||
rather put it in a separate function), and the minimum additional size passed
|
||||
rather put it in a reusable function), and the minimum additional size passed
|
||||
to `CSoundFile::ProbeAdditionalSize` must not be higher than the biggest size
|
||||
that would cause a hard failure (i.e. returning `false`) in the module loader.
|
||||
* Probing functions **may** return ProbeSuccess for files that would be rejected
|
||||
|
@ -103,5 +103,8 @@ that need to be updated:
|
|||
* Run `build/regenerate_vs_projects.sh` / `build/regenerate_vs_projects.cmd`
|
||||
(depending on your platform)
|
||||
* Add file extension to `installer/filetypes-*.iss`.
|
||||
* Add file extension to `CTrackApp::OpenModulesDialog` in `mptrack/Mptrack.cpp`.
|
||||
* Add file extension to `CTrackApp::OpenModulesDialog` in `mptrack/Mptrack.cpp`
|
||||
as required (e.g. if it's a compressed container format or if it's relevant
|
||||
enough to be mentioned).
|
||||
* Add format information to `soundlib/Tables.cpp`.
|
||||
* Add magic bytes to `contrib/fuzzing/all_formats.dict`.
|
||||
|
|
|
@ -72,10 +72,10 @@
|
|||
#define BUFFERSIZE 480
|
||||
#define SAMPLERATE 48000
|
||||
|
||||
static int16_t left[BUFFERSIZE];
|
||||
static int16_t right[BUFFERSIZE];
|
||||
static int16_t * const buffers[2] = { left, right };
|
||||
static int16_t interleaved_buffer[BUFFERSIZE * 2];
|
||||
static float left[BUFFERSIZE];
|
||||
static float right[BUFFERSIZE];
|
||||
static float * const buffers[2] = { left, right };
|
||||
static float interleaved_buffer[BUFFERSIZE * 2];
|
||||
static int is_interleaved = 0;
|
||||
|
||||
static void libopenmpt_example_logfunc( const char * message, void * userdata ) {
|
||||
|
@ -208,10 +208,10 @@ int main( int argc, char * argv[] ) {
|
|||
}
|
||||
pa_initialized = 1;
|
||||
|
||||
pa_error = Pa_OpenDefaultStream( &stream, 0, 2, paInt16 | paNonInterleaved, SAMPLERATE, paFramesPerBufferUnspecified, NULL, NULL );
|
||||
pa_error = Pa_OpenDefaultStream( &stream, 0, 2, paFloat32 | paNonInterleaved, SAMPLERATE, paFramesPerBufferUnspecified, NULL, NULL );
|
||||
if ( pa_error == paSampleFormatNotSupported ) {
|
||||
is_interleaved = 1;
|
||||
pa_error = Pa_OpenDefaultStream( &stream, 0, 2, paInt16, SAMPLERATE, paFramesPerBufferUnspecified, NULL, NULL );
|
||||
pa_error = Pa_OpenDefaultStream( &stream, 0, 2, paFloat32, SAMPLERATE, paFramesPerBufferUnspecified, NULL, NULL );
|
||||
}
|
||||
if ( pa_error != paNoError ) {
|
||||
fprintf( stderr, "Error: %s\n", "Pa_OpenStream() failed." );
|
||||
|
@ -231,7 +231,7 @@ int main( int argc, char * argv[] ) {
|
|||
while ( 1 ) {
|
||||
|
||||
openmpt_module_error_clear( mod );
|
||||
count = is_interleaved ? openmpt_module_read_interleaved_stereo( mod, SAMPLERATE, BUFFERSIZE, interleaved_buffer ) : openmpt_module_read_stereo( mod, SAMPLERATE, BUFFERSIZE, left, right );
|
||||
count = is_interleaved ? openmpt_module_read_interleaved_float_stereo( mod, SAMPLERATE, BUFFERSIZE, interleaved_buffer ) : openmpt_module_read_float_stereo( mod, SAMPLERATE, BUFFERSIZE, left, right );
|
||||
mod_err = openmpt_module_error_get_last( mod );
|
||||
mod_err_str = openmpt_module_error_get_last_message( mod );
|
||||
if ( mod_err != OPENMPT_ERROR_OK ) {
|
||||
|
|
|
@ -44,10 +44,10 @@
|
|||
#define BUFFERSIZE 480
|
||||
#define SAMPLERATE 48000
|
||||
|
||||
static int16_t left[BUFFERSIZE];
|
||||
static int16_t right[BUFFERSIZE];
|
||||
static int16_t * const buffers[2] = { left, right };
|
||||
static int16_t interleaved_buffer[BUFFERSIZE * 2];
|
||||
static float left[BUFFERSIZE];
|
||||
static float right[BUFFERSIZE];
|
||||
static float * const buffers[2] = { left, right };
|
||||
static float interleaved_buffer[BUFFERSIZE * 2];
|
||||
static int is_interleaved = 0;
|
||||
|
||||
static void libopenmpt_example_logfunc( const char * message, void * userdata ) {
|
||||
|
@ -254,10 +254,10 @@ int main( int argc, char * argv[] ) {
|
|||
pa_initialized = 1;
|
||||
|
||||
is_interleaved = 0;
|
||||
pa_error = Pa_OpenDefaultStream( &stream, 0, 2, paInt16 | paNonInterleaved, SAMPLERATE, paFramesPerBufferUnspecified, NULL, NULL );
|
||||
pa_error = Pa_OpenDefaultStream( &stream, 0, 2, paFloat32 | paNonInterleaved, SAMPLERATE, paFramesPerBufferUnspecified, NULL, NULL );
|
||||
if ( pa_error == paSampleFormatNotSupported ) {
|
||||
is_interleaved = 1;
|
||||
pa_error = Pa_OpenDefaultStream( &stream, 0, 2, paInt16, SAMPLERATE, paFramesPerBufferUnspecified, NULL, NULL );
|
||||
pa_error = Pa_OpenDefaultStream( &stream, 0, 2, paFloat32, SAMPLERATE, paFramesPerBufferUnspecified, NULL, NULL );
|
||||
}
|
||||
if ( pa_error != paNoError ) {
|
||||
fprintf( stderr, "Error: %s\n", "Pa_OpenStream() failed." );
|
||||
|
@ -277,7 +277,7 @@ int main( int argc, char * argv[] ) {
|
|||
while ( 1 ) {
|
||||
|
||||
openmpt_module_error_clear( mod );
|
||||
count = is_interleaved ? openmpt_module_read_interleaved_stereo( mod, SAMPLERATE, BUFFERSIZE, interleaved_buffer ) : openmpt_module_read_stereo( mod, SAMPLERATE, BUFFERSIZE, left, right );
|
||||
count = is_interleaved ? openmpt_module_read_interleaved_float_stereo( mod, SAMPLERATE, BUFFERSIZE, interleaved_buffer ) : openmpt_module_read_float_stereo( mod, SAMPLERATE, BUFFERSIZE, left, right );
|
||||
mod_err = openmpt_module_error_get_last( mod );
|
||||
mod_err_str = openmpt_module_error_get_last_message( mod );
|
||||
if ( mod_err != OPENMPT_ERROR_OK ) {
|
||||
|
|
|
@ -46,9 +46,9 @@
|
|||
#define BUFFERSIZE 480
|
||||
#define SAMPLERATE 48000
|
||||
|
||||
static int16_t left[BUFFERSIZE];
|
||||
static int16_t right[BUFFERSIZE];
|
||||
static int16_t * const buffers[2] = { left, right };
|
||||
static float left[BUFFERSIZE];
|
||||
static float right[BUFFERSIZE];
|
||||
static float * const buffers[2] = { left, right };
|
||||
|
||||
#if defined( __DJGPP__ )
|
||||
/* clang-format off */
|
||||
|
@ -88,10 +88,10 @@ int main( int argc, char * argv[] ) {
|
|||
#endif
|
||||
fclose( file );
|
||||
Pa_Initialize();
|
||||
Pa_OpenDefaultStream( &stream, 0, 2, paInt16 | paNonInterleaved, SAMPLERATE, paFramesPerBufferUnspecified, NULL, NULL );
|
||||
Pa_OpenDefaultStream( &stream, 0, 2, paFloat32 | paNonInterleaved, SAMPLERATE, paFramesPerBufferUnspecified, NULL, NULL );
|
||||
Pa_StartStream( stream );
|
||||
while ( 1 ) {
|
||||
count = openmpt_module_read_stereo( mod, SAMPLERATE, BUFFERSIZE, left, right );
|
||||
count = openmpt_module_read_float_stereo( mod, SAMPLERATE, BUFFERSIZE, left, right );
|
||||
if ( count == 0 ) {
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ https://github.com/nothings/stb/blob/master/stb_vorbis.c v1.22
|
|||
commit 5a0bb8b1c1b1ca3f4e2485f4114c1c8ea021b781 (2021-07-12)
|
||||
|
||||
Modifications:
|
||||
* <https://github.com/nothings/stb/pull/1746> has been applied.
|
||||
* Use of alloca has been replaced with malloc, as alloca is not in C99 and
|
||||
fails to compile.
|
||||
* Macro redefinition of alloca with mingw-w64 has been fixed.
|
||||
|
@ -10,4 +11,3 @@ Modifications:
|
|||
|
||||
For building, premake is used to generate Visual Studio project files.
|
||||
See ../build/premake/ for details.
|
||||
|
||||
|
|
|
@ -1410,7 +1410,7 @@ static int set_file_offset(stb_vorbis *f, unsigned int loc)
|
|||
#endif
|
||||
f->eof = 0;
|
||||
if (USE_MEMORY(f)) {
|
||||
if (f->stream_start + loc >= f->stream_end || f->stream_start + loc < f->stream_start) {
|
||||
if (loc >= f->stream_len) {
|
||||
f->stream = f->stream_end;
|
||||
f->eof = 1;
|
||||
return 0;
|
||||
|
|
|
@ -775,6 +775,25 @@ Declare Function openmpt_module_select_subsong(ByVal module As openmpt_module Pt
|
|||
'/
|
||||
Declare Function openmpt_module_get_selected_subsong(ByVal module As openmpt_module Ptr) As Long
|
||||
|
||||
/'* \brief Get the restart order of the specified sub-song
|
||||
|
||||
\param module The module handle to work on.
|
||||
\param subsong Index of the sub-song to retrieve the restart position from.
|
||||
\return The restart order of the specified sub-song. This is the order to which playback returns after the last pattern row of the song has been played. -1 is returned if if sub-song is not in range [0,openmpt_module_get_num_subsongs()[
|
||||
\sa openmpt_module_get_restart_row
|
||||
\since 0.8.0
|
||||
'/
|
||||
Declare Function openmpt_module_get_restart_order(ByVal module As openmpt_module Ptr, ByVal subsong As Long) As Long
|
||||
/'* \brief Get the restart row of the specified sub-song
|
||||
|
||||
\param module The module handle to work on.
|
||||
\param subsong Index of the sub-song to retrieve the restart position from.
|
||||
\return The restart row of the specified sub-song. This is the first played row of the order to which playback returns after the last pattern row of the song has been played. -1 is returned if if sub-song is not in range [0,openmpt_module_get_num_subsongs()[
|
||||
\sa openmpt_module_get_restart_order
|
||||
\since 0.8.0
|
||||
'/
|
||||
Declare Function openmpt_module_get_restart_row(ByVal module As openmpt_module Ptr, ByVal subsong As Long) As Long
|
||||
|
||||
/'* \brief Set Repeat Count
|
||||
|
||||
\param module The module handle to work on.
|
||||
|
@ -806,6 +825,18 @@ Declare Function openmpt_module_get_repeat_count(ByVal module As openmpt_module
|
|||
'/
|
||||
Declare Function openmpt_module_get_duration_seconds(ByVal module As openmpt_module Ptr) As Double
|
||||
|
||||
/'* \brief Get approximate playback time in seconds at given position
|
||||
|
||||
\param module The module handle to work on.
|
||||
\param order The order position at which the time should be retrieved.
|
||||
\param row The pattern row number at which the time should be retrieved.
|
||||
\return Approximate playback time in seconds of current sub-song at the start of the given order and row combination. Negative if the position does not exist, or the pattern data is too complex to evaluate.
|
||||
\remarks If an order / row combination is played multiple times (e.g. due the pattern loops), the first occurence of this position is returned.
|
||||
\since 0.8.0
|
||||
'/
|
||||
Declare Function openmpt_module_get_time_at_position(ByVal module As openmpt_module Ptr, ByVal order As Long, ByVal row As Long) As Double
|
||||
|
||||
|
||||
/'* \brief Set approximate current song position
|
||||
|
||||
\param module The module handle to work on.
|
||||
|
@ -1273,6 +1304,39 @@ Declare Function openmpt_module_get_sample_name_ Alias "openmpt_module_get_sampl
|
|||
'/
|
||||
Declare Function openmpt_module_get_order_pattern(ByVal module As openmpt_module Ptr, ByVal order As Long) As Long
|
||||
|
||||
/'* \brief Check if specified order is a skip ("+++") item
|
||||
|
||||
\param order The order index to check.
|
||||
\return Returns non-zero value if the pattern index at the given order position represents a skip item. During playback, this item is ignored and playback resumes at the next order list item.
|
||||
\sa openmpt_module_is_order_stop_entry, openmpt_module_is_pattern_skip_item
|
||||
\since 0.8.0
|
||||
'/
|
||||
Declare Function openmpt_module_is_order_skip_entry(ByVal module As openmpt_module Ptr, ByVal order As Long) As Long
|
||||
/'* \brief Check if specified pattern index is a skip ("+++") item
|
||||
|
||||
\param pattern The pattern index to check.
|
||||
\return Returns non-zero value if the pattern index represents a skip item. During playback, this item is ignored and playback resumes at the next order list item.
|
||||
\sa openmpt_module_is_pattern_stop_item, openmpt_module_is_order_skip_entry, openmpt_module_get_order_pattern
|
||||
\since 0.8.0
|
||||
'/
|
||||
Declare Function openmpt_module_is_pattern_skip_item(ByVal module As openmpt_module Ptr, ByVal pattern As Long) As Long
|
||||
/'* \brief Check if specified order is a stop ("---") item
|
||||
|
||||
\param order The order index to check.
|
||||
\return Returns non-zero value if the pattern index at the given order position represents a stop item. When this item is reached, playback continues at the restart position of the current sub-song.
|
||||
\sa openmpt_module_is_order_skip_entry, openmpt_module_is_pattern_stop_item
|
||||
\since 0.8.0
|
||||
'/
|
||||
Declare Function openmpt_module_is_order_stop_entry(ByVal module As openmpt_module Ptr, ByVal order As Long) As Long
|
||||
/'* \brief Check if specified pattern index is a stop ("---") item
|
||||
|
||||
\param pattern The pattern index to check.
|
||||
\return Returns non-zero value if the pattern index represents a stop item. When this item is reached, playback continues at the restart position of the current sub-song.
|
||||
\sa openmpt_module_is_pattern_skip_item, openmpt_module_is_order_stop_entry, openmpt_module_get_order_pattern
|
||||
\since 0.8.0
|
||||
'/
|
||||
Declare Function openmpt_module_is_pattern_stop_item(ByVal module As openmpt_module Ptr, ByVal pattern As Long) As Long
|
||||
|
||||
/'* \brief Get the number of rows in a pattern
|
||||
|
||||
\param module The module handle to work on.
|
||||
|
@ -1281,6 +1345,26 @@ Declare Function openmpt_module_get_order_pattern(ByVal module As openmpt_module
|
|||
'/
|
||||
Declare Function openmpt_module_get_pattern_num_rows(ByVal module As openmpt_module Ptr, ByVal pattern As Long) As Long
|
||||
|
||||
/'* \brief Get the rows per beat of a pattern
|
||||
|
||||
\param mod The module handle to work on.
|
||||
\param pattern The pattern whose time signature should be retrieved.
|
||||
\return The rows per beat of the given pattern. If the pattern does not exist or the time signature is not defined, 0 is returned.
|
||||
\remarks Many module formats lack time signature metadata. In this case, the returned value may be an incorrect estimation.
|
||||
\since 0.8.0
|
||||
'/
|
||||
Declare Function openmpt_module_get_pattern_rows_per_beat(ByVal module As openmpt_module Ptr, ByVal pattern As Long) As Long
|
||||
|
||||
/'* \brief Get the rows per measure of a pattern
|
||||
|
||||
\param mod The module handle to work on.
|
||||
\param pattern The pattern whose time signature should be retrieved.
|
||||
\return The rows per measure of the given pattern. If the pattern does not exist or the time signature is not defined, 0 is returned.
|
||||
\remarks Many module formats lack time signature metadata. In this case, the returned value may be an incorrect estimation.
|
||||
\since 0.8.0
|
||||
'/
|
||||
Declare Function openmpt_module_get_pattern_rows_per_measure(ByVal module As openmpt_module Ptr, ByVal pattern As Long) As Long
|
||||
|
||||
/'* \brief Get raw pattern content
|
||||
|
||||
\param module The module handle to work on.
|
||||
|
|
|
@ -212,11 +212,7 @@ static std::basic_string<TCHAR> generate_infotext( const std::basic_string<TCHAR
|
|||
}
|
||||
|
||||
static void config( HWND hwndParent ) {
|
||||
#if 1
|
||||
libopenmpt::plugin::gui_edit_settings( &self->settings, hwndParent, TEXT(SHORT_TITLE) );
|
||||
#else
|
||||
static_cast<void>(hwndParent);
|
||||
#endif
|
||||
apply_options();
|
||||
}
|
||||
|
||||
|
@ -227,18 +223,9 @@ static void about( HWND hwndParent ) {
|
|||
about << " OpenMPT version " << openmpt::string::get( "core_version" ) << std::endl;
|
||||
about << std::endl;
|
||||
about << openmpt::string::get( "contact" ) << std::endl;
|
||||
about << std::endl;
|
||||
about << "Show full credits?" << std::endl;
|
||||
if ( MessageBox( hwndParent, StringToWINAPI( StringDecode( about.str(), CP_UTF8 ) ).c_str(), TEXT(SHORT_TITLE), MB_ICONINFORMATION | MB_YESNOCANCEL | MB_DEFBUTTON1 ) != IDYES ) {
|
||||
return;
|
||||
}
|
||||
std::ostringstream credits;
|
||||
credits << openmpt::string::get( "credits" );
|
||||
#if 1
|
||||
libopenmpt::plugin::gui_show_file_info( hwndParent, TEXT(SHORT_TITLE), StringToWINAPI( StringReplace( StringDecode( credits.str(), CP_UTF8 ), L"\n", L"\r\n" ) ) );
|
||||
#else
|
||||
MessageBox( hwndParent, StringToWINAPI( StringReplace(StringDecode(credits.str(), CP_UTF8 ), L"\n", L"\r\n" ) ).c_str(), TEXT(SHORT_TITLE), MB_OK );
|
||||
#endif
|
||||
credits << openmpt::string::get( "credits" ) << std::endl;
|
||||
libopenmpt::plugin::gui_show_about( hwndParent, TEXT(SHORT_TITLE), StringReplace( StringToWINAPI( StringDecode( about.str(), CP_UTF8 ) ), TEXT("\n"), TEXT("\r\n") ), StringReplace( StringToWINAPI( StringDecode( credits.str(), CP_UTF8 ) ), TEXT("\n"), TEXT("\r\n") ) );
|
||||
}
|
||||
|
||||
static void init() {
|
||||
|
|
|
@ -875,6 +875,26 @@ LIBOPENMPT_API int openmpt_module_select_subsong( openmpt_module * mod, int32_t
|
|||
* \since 0.3.0
|
||||
*/
|
||||
LIBOPENMPT_API int32_t openmpt_module_get_selected_subsong( openmpt_module * mod );
|
||||
|
||||
/*! \brief Get the restart order of the specified sub-song
|
||||
*
|
||||
* \param mod The module handle to work on.
|
||||
* \param subsong Index of the sub-song to retrieve the restart position from.
|
||||
* \return The restart order of the specified sub-song. This is the order to which playback returns after the last pattern row of the song has been played. -1 is returned if if sub-song is not in range [0,openmpt_module_get_num_subsongs()[
|
||||
* \sa openmpt_module_get_restart_row
|
||||
* \since 0.8.0
|
||||
*/
|
||||
LIBOPENMPT_API int32_t openmpt_module_get_restart_order( openmpt_module * mod, int32_t subsong );
|
||||
/*! \brief Get the restart row of the specified sub-song
|
||||
*
|
||||
* \param mod The module handle to work on.
|
||||
* \param subsong Index of the sub-song to retrieve the restart position from.
|
||||
* \return The restart row of the specified sub-song. This is the first played row of the order to which playback returns after the last pattern row of the song has been played. -1 is returned if if sub-song is not in range [0,openmpt_module_get_num_subsongs()[
|
||||
* \sa openmpt_module_get_restart_order
|
||||
* \since 0.8.0
|
||||
*/
|
||||
LIBOPENMPT_API int32_t openmpt_module_get_restart_row( openmpt_module * mod, int32_t subsong );
|
||||
|
||||
/*! \brief Set Repeat Count
|
||||
*
|
||||
* \param mod The module handle to work on.
|
||||
|
@ -905,6 +925,17 @@ LIBOPENMPT_API int32_t openmpt_module_get_repeat_count( openmpt_module * mod );
|
|||
*/
|
||||
LIBOPENMPT_API double openmpt_module_get_duration_seconds( openmpt_module * mod );
|
||||
|
||||
/*! \brief Get approximate playback time in seconds at given position
|
||||
*
|
||||
* \param mod The module handle to work on.
|
||||
* \param order The order position at which the time should be retrieved.
|
||||
* \param row The pattern row number at which the time should be retrieved.
|
||||
* \return Approximate playback time in seconds of current sub-song at the start of the given order and row combination. Negative if the position does not exist, or the pattern data is too complex to evaluate.
|
||||
* \remarks If an order / row combination is played multiple times (e.g. due the pattern loops), the first occurence of this position is returned.
|
||||
* \since 0.8.0
|
||||
*/
|
||||
LIBOPENMPT_API double openmpt_module_get_time_at_position( openmpt_module * mod, int32_t order, int32_t row );
|
||||
|
||||
/*! \brief Set approximate current song position
|
||||
*
|
||||
* \param mod The module handle to work on.
|
||||
|
@ -1330,6 +1361,44 @@ LIBOPENMPT_API const char * openmpt_module_get_sample_name( openmpt_module * mod
|
|||
* \return The pattern index found at the given order position of the current sequence.
|
||||
*/
|
||||
LIBOPENMPT_API int32_t openmpt_module_get_order_pattern( openmpt_module * mod, int32_t order );
|
||||
|
||||
/*! \brief Check if specified order is a skip ("+++") item
|
||||
*
|
||||
* \param mod The module handle to work on.
|
||||
* \param order The order index to check.
|
||||
* \return Returns non-zero value if the pattern index at the given order position represents a skip item. During playback, this item is ignored and playback resumes at the next order list item.
|
||||
* \sa openmpt_module_is_order_stop_entry, openmpt_module_is_pattern_skip_item
|
||||
* \since 0.8.0
|
||||
*/
|
||||
LIBOPENMPT_API int openmpt_module_is_order_skip_entry( openmpt_module * mod, int32_t order );
|
||||
/*! \brief Check if specified pattern index is a skip ("+++") item
|
||||
*
|
||||
* \param mod The module handle to work on.
|
||||
* \param pattern The pattern index to check.
|
||||
* \return Returns non-zero value if the pattern index represents a skip item. During playback, this item is ignored and playback resumes at the next order list item.
|
||||
* \sa openmpt_module_is_pattern_stop_item, openmpt_module_is_order_skip_entry, openmpt_module_get_order_pattern
|
||||
* \since 0.8.0
|
||||
*/
|
||||
LIBOPENMPT_API int openmpt_module_is_pattern_skip_item( openmpt_module * mod, int32_t pattern );
|
||||
/*! \brief Check if specified order is a stop ("---") item
|
||||
*
|
||||
* \param mod The module handle to work on.
|
||||
* \param order The order index to check.
|
||||
* \return Returns non-zero value if the pattern index at the given order position represents a stop item. When this item is reached, playback continues at the restart position of the current sub-song.
|
||||
* \sa openmpt_module_is_order_skip_entry, openmpt_module_is_pattern_stop_item
|
||||
* \since 0.8.0
|
||||
*/
|
||||
LIBOPENMPT_API int openmpt_module_is_order_stop_entry( openmpt_module * mod, int32_t order );
|
||||
/*! \brief Check if specified pattern index is a stop ("---") item
|
||||
*
|
||||
* \param mod The module handle to work on.
|
||||
* \param pattern The pattern index to check.
|
||||
* \return Returns non-zero value if the pattern index represents a stop item. When this item is reached, playback continues at the restart position of the current sub-song.
|
||||
* \sa openmpt_module_is_pattern_skip_item, openmpt_module_is_order_stop_entry, openmpt_module_get_order_pattern
|
||||
* \since 0.8.0
|
||||
*/
|
||||
LIBOPENMPT_API int openmpt_module_is_pattern_stop_item( openmpt_module * mod, int32_t pattern );
|
||||
|
||||
/*! \brief Get the number of rows in a pattern
|
||||
*
|
||||
* \param mod The module handle to work on.
|
||||
|
@ -1338,6 +1407,25 @@ LIBOPENMPT_API int32_t openmpt_module_get_order_pattern( openmpt_module * mod, i
|
|||
*/
|
||||
LIBOPENMPT_API int32_t openmpt_module_get_pattern_num_rows( openmpt_module * mod, int32_t pattern );
|
||||
|
||||
/*! \brief Get the rows per beat of a pattern
|
||||
*
|
||||
* \param mod The module handle to work on.
|
||||
* \param pattern The pattern whose time signature should be retrieved.
|
||||
* \return The rows per beat of the given pattern. If the pattern does not exist or the time signature is not defined, 0 is returned.
|
||||
* \remarks Many module formats lack time signature metadata. In this case, the returned value may be an incorrect estimation.
|
||||
* \since 0.8.0
|
||||
*/
|
||||
LIBOPENMPT_API int32_t openmpt_module_get_pattern_rows_per_beat( openmpt_module * mod, int32_t pattern );
|
||||
|
||||
/*! \brief Get the rows per measure of a pattern
|
||||
*
|
||||
* \param mod The module handle to work on.
|
||||
* \param pattern The pattern whose time signature should be retrieved.
|
||||
* \return The rows per measure of the given pattern. If the pattern does not exist or the time signature is not defined, 0 is returned.
|
||||
* \remarks Many module formats lack time signature metadata. In this case, the returned value may be an incorrect estimation.
|
||||
*/
|
||||
LIBOPENMPT_API int32_t openmpt_module_get_pattern_rows_per_measure( openmpt_module * mod, int32_t pattern );
|
||||
|
||||
/*! \brief Get raw pattern content
|
||||
*
|
||||
* \param mod The module handle to work on.
|
||||
|
|
|
@ -592,6 +592,26 @@ public:
|
|||
\since 0.3.0
|
||||
*/
|
||||
LIBOPENMPT_CXX_API_MEMBER std::int32_t get_selected_subsong() const;
|
||||
|
||||
//! Get the restart order of the specified sub-song
|
||||
/*!
|
||||
\param subsong Index of the sub-song to retrieve the restart position from.
|
||||
\return The restart order of the specified sub-song. This is the order to which playback returns after the last pattern row of the song has been played.
|
||||
\throws openmpt::exception Throws an exception derived from openmpt::exception if sub-song is not in range [0,openmpt::module::get_num_subsongs()[
|
||||
\sa openmpt::module::get_restart_row
|
||||
\since 0.8.0
|
||||
*/
|
||||
LIBOPENMPT_CXX_API_MEMBER std::int32_t get_restart_order( std::int32_t subsong ) const;
|
||||
//! Get the restart row of the specified sub-song
|
||||
/*!
|
||||
\param subsong Index of the sub-song to retrieve the restart position from.
|
||||
\return The restart row of the specified sub-song. This is the first played row of the order to which playback returns after the last pattern row of the song has been played.
|
||||
\throws openmpt::exception Throws an exception derived from openmpt::exception if sub-song is not in range [0,openmpt::module::get_num_subsongs()[
|
||||
\sa openmpt::module::get_restart_order
|
||||
\since 0.8.0
|
||||
*/
|
||||
LIBOPENMPT_CXX_API_MEMBER std::int32_t get_restart_row( std::int32_t subsong ) const;
|
||||
|
||||
//! Set Repeat Count
|
||||
/*!
|
||||
\param repeat_count Repeat Count
|
||||
|
@ -618,6 +638,16 @@ public:
|
|||
*/
|
||||
LIBOPENMPT_CXX_API_MEMBER double get_duration_seconds() const;
|
||||
|
||||
//! Get approximate playback time in seconds at given position
|
||||
/*!
|
||||
\param order The order position at which the time should be retrieved.
|
||||
\param row The pattern row number at which the time should be retrieved.
|
||||
\return Approximate playback time in seconds of current sub-song at the start of the given order and row combination. Negative if the position does not exist, or the pattern data is too complex to evaluate.
|
||||
\remarks If an order / row combination is played multiple times (e.g. due the pattern loops), the first occurence of this position is returned.
|
||||
\since 0.8.0
|
||||
*/
|
||||
LIBOPENMPT_CXX_API_MEMBER double get_time_at_position( std::int32_t order, std::int32_t row ) const;
|
||||
|
||||
//! Set approximate current song position
|
||||
/*!
|
||||
\param seconds Seconds to seek to. If seconds is out of range, the position gets set to song start or end respectively.
|
||||
|
@ -989,6 +1019,39 @@ public:
|
|||
*/
|
||||
LIBOPENMPT_CXX_API_MEMBER std::int32_t get_order_pattern( std::int32_t order ) const;
|
||||
|
||||
//! Check if specified order is a skip ("+++") item
|
||||
/*!
|
||||
\param order The order index to check.
|
||||
\return Returns true if the pattern index at the given order position represents a skip item. During playback, this item is ignored and playback resumes at the next order list item.
|
||||
\sa openmpt::module::is_order_stop_entry, openmpt::module::is_pattern_skip_item
|
||||
\since 0.8.0
|
||||
*/
|
||||
LIBOPENMPT_CXX_API_MEMBER bool is_order_skip_entry( std::int32_t order ) const ;
|
||||
//! Check if specified pattern index is a skip ("+++") item
|
||||
/*!
|
||||
\param pattern The pattern index to check.
|
||||
\return Returns true if the pattern index represents a skip item. During playback, this item is ignored and playback resumes at the next order list item.
|
||||
\sa openmpt::module::is_pattern_stop_item, openmpt::module::is_order_skip_entry, openmpt::module::get_order_pattern
|
||||
\since 0.8.0
|
||||
*/
|
||||
LIBOPENMPT_CXX_API_MEMBER bool is_pattern_skip_item( std::int32_t pattern ) const;
|
||||
//! Check if specified order is a stop ("---") item
|
||||
/*!
|
||||
\param order The order index to check.
|
||||
\return Returns true if the pattern index at the given order position represents a stop item. When this item is reached, playback continues at the restart position of the current sub-song.
|
||||
\sa openmpt::module::is_order_skip_entry, openmpt::module::is_pattern_stop_item
|
||||
\since 0.8.0
|
||||
*/
|
||||
LIBOPENMPT_CXX_API_MEMBER bool is_order_stop_entry( std::int32_t order ) const;
|
||||
//! Check if specified pattern index is a stop ("---") item
|
||||
/*!
|
||||
\param pattern The pattern index to check.
|
||||
\return Returns true if the pattern index represents a stop item. When this item is reached, playback continues at the restart position of the current sub-song.
|
||||
\sa openmpt::module::is_pattern_skip_item, openmpt::module::is_order_stop_entry, openmpt::module::get_order_pattern
|
||||
\since 0.8.0
|
||||
*/
|
||||
LIBOPENMPT_CXX_API_MEMBER bool is_pattern_stop_item( std::int32_t pattern ) const;
|
||||
|
||||
//! Get the number of rows in a pattern
|
||||
/*!
|
||||
\param pattern The pattern whose row count should be retrieved.
|
||||
|
@ -996,6 +1059,24 @@ public:
|
|||
*/
|
||||
LIBOPENMPT_CXX_API_MEMBER std::int32_t get_pattern_num_rows( std::int32_t pattern ) const;
|
||||
|
||||
//! Get the rows per beat of a pattern
|
||||
/*!
|
||||
\param pattern The pattern whose time signature should be retrieved.
|
||||
\return The rows per beat of the given pattern. If the pattern does not exist or the time signature is not defined, 0 is returned.
|
||||
\remarks Many module formats lack time signature metadata. In this case, the returned value may be an incorrect estimation.
|
||||
\since 0.8.0
|
||||
*/
|
||||
LIBOPENMPT_CXX_API_MEMBER std::int32_t get_pattern_rows_per_beat( std::int32_t pattern ) const;
|
||||
|
||||
//! Get the rows per measure of a pattern
|
||||
/*!
|
||||
\param pattern The pattern whose time signature should be retrieved.
|
||||
\return The rows per measure of the given pattern. If the pattern does not exist or the time signature is not defined, 0 is returned.
|
||||
\remarks Many module formats lack time signature metadata. In this case, the returned value may be an incorrect estimation.
|
||||
\since 0.8.0
|
||||
*/
|
||||
LIBOPENMPT_CXX_API_MEMBER std::int32_t get_pattern_rows_per_measure( std::int32_t pattern ) const;
|
||||
|
||||
//! Get raw pattern content
|
||||
/*!
|
||||
\param pattern The pattern whose data should be retrieved.
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include <limits>
|
||||
#include <new>
|
||||
#include <stdexcept>
|
||||
#include <string_view>
|
||||
|
||||
#include <cmath>
|
||||
#include <cstdio>
|
||||
|
@ -741,6 +742,26 @@ int32_t openmpt_module_get_selected_subsong( openmpt_module * mod ) {
|
|||
return -1;
|
||||
}
|
||||
|
||||
int32_t openmpt_module_get_restart_order( openmpt_module * mod, int32_t subsong ) {
|
||||
try {
|
||||
openmpt::interface::check_soundfile( mod );
|
||||
return mod->impl->get_restart_order( subsong );
|
||||
} catch ( ... ) {
|
||||
openmpt::report_exception( __func__, mod );
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
int32_t openmpt_module_get_restart_row( openmpt_module * mod, int32_t subsong ) {
|
||||
try {
|
||||
openmpt::interface::check_soundfile( mod );
|
||||
return mod->impl->get_restart_row( subsong );
|
||||
} catch ( ... ) {
|
||||
openmpt::report_exception( __func__, mod );
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
int openmpt_module_set_repeat_count( openmpt_module * mod, int32_t repeat_count ) {
|
||||
try {
|
||||
openmpt::interface::check_soundfile( mod );
|
||||
|
@ -771,6 +792,16 @@ double openmpt_module_get_duration_seconds( openmpt_module * mod ) {
|
|||
return 0.0;
|
||||
}
|
||||
|
||||
double openmpt_module_get_time_at_position( openmpt_module * mod, int32_t order, int32_t row ) {
|
||||
try {
|
||||
openmpt::interface::check_soundfile( mod );
|
||||
return mod->impl->get_time_at_position( order, row );
|
||||
} catch ( ... ) {
|
||||
openmpt::report_exception( __func__, mod );
|
||||
}
|
||||
return -1.0;
|
||||
}
|
||||
|
||||
double openmpt_module_set_position_seconds( openmpt_module * mod, double seconds ) {
|
||||
try {
|
||||
openmpt::interface::check_soundfile( mod );
|
||||
|
@ -1225,6 +1256,44 @@ int32_t openmpt_module_get_order_pattern( openmpt_module * mod, int32_t order )
|
|||
return 0;
|
||||
}
|
||||
|
||||
int openmpt_module_is_order_skip_entry( openmpt_module * mod, int32_t order ) {
|
||||
try {
|
||||
openmpt::interface::check_soundfile( mod );
|
||||
return mod->impl->is_order_skip_entry( order ) ? 1 : 0;
|
||||
} catch ( ... ) {
|
||||
openmpt::report_exception( __func__, mod );
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
int openmpt_module_is_pattern_skip_item( openmpt_module * mod, int32_t pattern ) {
|
||||
try {
|
||||
openmpt::interface::check_soundfile( mod );
|
||||
return mod->impl->is_pattern_skip_item( pattern ) ? 1 : 0;
|
||||
} catch ( ... ) {
|
||||
openmpt::report_exception( __func__, mod );
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
int openmpt_module_is_order_stop_entry( openmpt_module * mod, int32_t order ) {
|
||||
try {
|
||||
openmpt::interface::check_soundfile( mod );
|
||||
return mod->impl->is_order_stop_entry( order ) ? 1 : 0;
|
||||
} catch ( ... ) {
|
||||
openmpt::report_exception( __func__, mod );
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
int openmpt_module_is_pattern_stop_item( openmpt_module * mod, int32_t pattern ) {
|
||||
try {
|
||||
openmpt::interface::check_soundfile( mod );
|
||||
return mod->impl->is_pattern_stop_item( pattern ) ? 1 : 0;
|
||||
} catch ( ... ) {
|
||||
openmpt::report_exception( __func__, mod );
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int32_t openmpt_module_get_pattern_num_rows( openmpt_module * mod, int32_t pattern ) {
|
||||
try {
|
||||
openmpt::interface::check_soundfile( mod );
|
||||
|
@ -1235,6 +1304,25 @@ int32_t openmpt_module_get_pattern_num_rows( openmpt_module * mod, int32_t patte
|
|||
return 0;
|
||||
}
|
||||
|
||||
int32_t openmpt_module_get_pattern_rows_per_beat( openmpt_module * mod, int32_t pattern ) {
|
||||
try {
|
||||
openmpt::interface::check_soundfile( mod );
|
||||
return mod->impl->get_pattern_rows_per_beat( pattern );
|
||||
} catch ( ... ) {
|
||||
openmpt::report_exception( __func__, mod );
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
int32_t openmpt_module_get_pattern_rows_per_measure( openmpt_module * mod, int32_t pattern ) {
|
||||
try {
|
||||
openmpt::interface::check_soundfile( mod );
|
||||
return mod->impl->get_pattern_rows_per_measure( pattern );
|
||||
} catch ( ... ) {
|
||||
openmpt::report_exception( __func__, mod );
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8_t openmpt_module_get_pattern_row_channel_command( openmpt_module * mod, int32_t pattern, int32_t row, int32_t channel, int command ) {
|
||||
try {
|
||||
openmpt::interface::check_soundfile( mod );
|
||||
|
@ -1823,12 +1911,13 @@ int openmpt_module_ext_get_interface( openmpt_module_ext * mod_ext, const char *
|
|||
openmpt::interface::check_pointer( interface );
|
||||
std::memset( interface, 0, interface_size );
|
||||
int result = 0;
|
||||
if ( !std::strcmp( interface_id, "" ) ) {
|
||||
std::string_view interface_id_sv = interface_id;
|
||||
if ( interface_id_sv == "" ) {
|
||||
result = 0;
|
||||
|
||||
|
||||
|
||||
} else if ( !std::strcmp( interface_id, LIBOPENMPT_EXT_C_INTERFACE_PATTERN_VIS ) && ( interface_size == sizeof( openmpt_module_ext_interface_pattern_vis ) ) ) {
|
||||
} else if ( ( interface_id_sv == LIBOPENMPT_EXT_C_INTERFACE_PATTERN_VIS ) && ( interface_size == sizeof( openmpt_module_ext_interface_pattern_vis ) ) ) {
|
||||
openmpt_module_ext_interface_pattern_vis * i = static_cast< openmpt_module_ext_interface_pattern_vis * >( interface );
|
||||
i->get_pattern_row_channel_volume_effect_type = &get_pattern_row_channel_volume_effect_type;
|
||||
i->get_pattern_row_channel_effect_type = &get_pattern_row_channel_effect_type;
|
||||
|
@ -1836,7 +1925,7 @@ int openmpt_module_ext_get_interface( openmpt_module_ext * mod_ext, const char *
|
|||
|
||||
|
||||
|
||||
} else if ( !std::strcmp( interface_id, LIBOPENMPT_EXT_C_INTERFACE_INTERACTIVE ) && ( interface_size == sizeof( openmpt_module_ext_interface_interactive ) ) ) {
|
||||
} else if ( ( interface_id_sv == LIBOPENMPT_EXT_C_INTERFACE_INTERACTIVE ) && ( interface_size == sizeof( openmpt_module_ext_interface_interactive ) ) ) {
|
||||
openmpt_module_ext_interface_interactive * i = static_cast< openmpt_module_ext_interface_interactive * >( interface );
|
||||
i->set_current_speed = &set_current_speed;
|
||||
i->set_current_tempo = &set_current_tempo;
|
||||
|
@ -1858,7 +1947,7 @@ int openmpt_module_ext_get_interface( openmpt_module_ext * mod_ext, const char *
|
|||
|
||||
|
||||
|
||||
} else if ( !std::strcmp( interface_id, LIBOPENMPT_EXT_C_INTERFACE_INTERACTIVE2 ) && ( interface_size == sizeof( openmpt_module_ext_interface_interactive2 ) ) ) {
|
||||
} else if ( ( interface_id_sv == LIBOPENMPT_EXT_C_INTERFACE_INTERACTIVE2 ) && ( interface_size == sizeof( openmpt_module_ext_interface_interactive2 ) ) ) {
|
||||
openmpt_module_ext_interface_interactive2 * i = static_cast< openmpt_module_ext_interface_interactive2 * >( interface );
|
||||
i->note_off = ¬e_off;
|
||||
i->note_fade = ¬e_fade;
|
||||
|
@ -1870,7 +1959,7 @@ int openmpt_module_ext_get_interface( openmpt_module_ext * mod_ext, const char *
|
|||
|
||||
|
||||
|
||||
} else if ( !std::strcmp( interface_id, LIBOPENMPT_EXT_C_INTERFACE_INTERACTIVE3 ) && ( interface_size == sizeof( openmpt_module_ext_interface_interactive3 ) ) ) {
|
||||
} else if ( ( interface_id_sv == LIBOPENMPT_EXT_C_INTERFACE_INTERACTIVE3 ) && ( interface_size == sizeof( openmpt_module_ext_interface_interactive3 ) ) ) {
|
||||
openmpt_module_ext_interface_interactive3 * i = static_cast< openmpt_module_ext_interface_interactive3 * >( interface );
|
||||
i->set_current_tempo2 = &set_current_tempo2;
|
||||
result = 1;
|
||||
|
|
|
@ -240,6 +240,13 @@ std::int32_t module::get_selected_subsong() const {
|
|||
return impl->get_selected_subsong();
|
||||
}
|
||||
|
||||
std::int32_t module::get_restart_order( std::int32_t subsong ) const {
|
||||
return impl->get_restart_order( subsong );
|
||||
}
|
||||
std::int32_t module::get_restart_row( std::int32_t subsong ) const {
|
||||
return impl->get_restart_row( subsong );
|
||||
}
|
||||
|
||||
void module::set_repeat_count( std::int32_t repeat_count ) {
|
||||
impl->set_repeat_count( repeat_count );
|
||||
}
|
||||
|
@ -251,6 +258,10 @@ double module::get_duration_seconds() const {
|
|||
return impl->get_duration_seconds();
|
||||
}
|
||||
|
||||
double module::get_time_at_position( std::int32_t order, std::int32_t row ) const {
|
||||
return impl->get_time_at_position( order, row );
|
||||
}
|
||||
|
||||
double module::set_position_seconds( double seconds ) {
|
||||
return impl->set_position_seconds( seconds );
|
||||
}
|
||||
|
@ -389,10 +400,32 @@ std::vector<std::string> module::get_sample_names() const {
|
|||
std::int32_t module::get_order_pattern( std::int32_t order ) const {
|
||||
return impl->get_order_pattern( order );
|
||||
}
|
||||
|
||||
bool module::is_order_skip_entry(std::int32_t order) const {
|
||||
return impl->is_order_skip_entry( order );
|
||||
}
|
||||
bool module::is_pattern_skip_item( std::int32_t pattern ) const {
|
||||
return module_impl::is_pattern_skip_item( pattern );
|
||||
}
|
||||
bool module::is_order_stop_entry( std::int32_t order ) const {
|
||||
return impl->is_order_stop_entry( order );
|
||||
}
|
||||
bool module::is_pattern_stop_item( std::int32_t pattern ) const {
|
||||
return module_impl::is_pattern_stop_item( pattern );
|
||||
}
|
||||
|
||||
std::int32_t module::get_pattern_num_rows( std::int32_t pattern ) const {
|
||||
return impl->get_pattern_num_rows( pattern );
|
||||
}
|
||||
|
||||
std::int32_t module::get_pattern_rows_per_beat( std::int32_t pattern ) const {
|
||||
return impl->get_pattern_rows_per_beat( pattern );
|
||||
}
|
||||
|
||||
std::int32_t module::get_pattern_rows_per_measure( std::int32_t pattern ) const {
|
||||
return impl->get_pattern_rows_per_measure( pattern );
|
||||
}
|
||||
|
||||
std::uint8_t module::get_pattern_row_channel_command( std::int32_t pattern, std::int32_t row, std::int32_t channel, int command ) const {
|
||||
return impl->get_pattern_row_channel_command( pattern, row, channel, command );
|
||||
}
|
||||
|
|
|
@ -183,7 +183,7 @@ namespace openmpt {
|
|||
if ( volume < 0.0 || volume > 1.0 ) {
|
||||
throw openmpt::exception("invalid global volume");
|
||||
}
|
||||
m_sndFile->m_PlayState.Chn[channel].nGlobalVol = mpt::saturate_round<std::int32_t>(volume * 64.0);
|
||||
m_sndFile->m_PlayState.Chn[channel].nGlobalVol = mpt::saturate_round<std::uint8_t>(volume * 64.0);
|
||||
}
|
||||
|
||||
double module_ext_impl::get_channel_volume( std::int32_t channel ) const {
|
||||
|
|
|
@ -46,7 +46,6 @@
|
|||
|
||||
#include "common/version.h"
|
||||
#include "common/misc_util.h"
|
||||
#include "common/Dither.h"
|
||||
#include "common/FileReader.h"
|
||||
#include "common/Logging.h"
|
||||
#include "soundlib/Sndfile.h"
|
||||
|
@ -77,6 +76,14 @@ MPT_WARNING("Warning: Platform (Windows) supports multi-threading, however the t
|
|||
MPT_WARNING("Warning: libopenmpt is known to trigger bad code generation with Clang 5..10 on powerpc (32bit) when using -O3. See <https://bugs.llvm.org/show_bug.cgi?id=46683>.")
|
||||
#endif
|
||||
|
||||
#if defined(ENABLE_TESTS)
|
||||
#if defined(MPT_COMPILER_QUIRK_WINDOWS_FSTREAM_NO_WCHAR)
|
||||
#if MPT_GCC_BEFORE(9,1,0)
|
||||
MPT_WARNING("Warning: MinGW with GCC earlier than 9.1 detected. Standard library does neither provide std::fstream wchar_t overloads nor std::filesystem with wchar_t support. Unicode filename support is thus unavailable.")
|
||||
#endif // MPT_GCC_AT_LEAST(9,1,0)
|
||||
#endif // MPT_COMPILER_QUIRK_WINDOWS_FSTREAM_NO_WCHAR
|
||||
#endif // ENABLE_TESTS
|
||||
|
||||
#endif // !MPT_BUILD_SILENCE_LIBOPENMPT_CONFIGURATION_WARNINGS
|
||||
|
||||
#if defined(MPT_ASSERT_HANDLER_NEEDED) && !defined(ENABLE_TESTS)
|
||||
|
@ -224,7 +231,7 @@ std::string get_string( const std::string & key ) {
|
|||
return get_source_revision_string();
|
||||
} else if ( key == "source_is_modified" ) {
|
||||
return OpenMPT::SourceInfo::Current().IsDirty() ? "1" : "0";
|
||||
} else if ( key == "source_has_mixed_revision" ) {
|
||||
} else if ( key == "source_has_mixed_revisions" ) {
|
||||
return OpenMPT::SourceInfo::Current().HasMixedRevisions() ? "1" : "0";
|
||||
} else if ( key == "source_is_package" ) {
|
||||
return OpenMPT::SourceInfo::Current().IsPackage() ? "1" : "0";
|
||||
|
@ -306,11 +313,13 @@ void module_impl::PushToCSoundFileLog( int loglevel, const std::string & text )
|
|||
m_sndFile->AddToLog( static_cast<OpenMPT::LogLevel>( loglevel ), mpt::transcode<mpt::ustring>( mpt::common_encoding::utf8, text ) );
|
||||
}
|
||||
|
||||
module_impl::subsong_data::subsong_data( double duration, std::int32_t start_row, std::int32_t start_order, std::int32_t sequence )
|
||||
module_impl::subsong_data::subsong_data( double duration, std::int32_t start_row, std::int32_t start_order, std::int32_t sequence, std::int32_t restart_row, std::int32_t restart_order )
|
||||
: duration(duration)
|
||||
, start_row(start_row)
|
||||
, start_order(start_order)
|
||||
, sequence(sequence)
|
||||
, restart_row(restart_row)
|
||||
, restart_order(restart_order)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -436,7 +445,7 @@ module_impl::subsongs_type module_impl::get_subsongs() const {
|
|||
for ( OpenMPT::SEQUENCEINDEX seq = 0; seq < m_sndFile->Order.GetNumSequences(); ++seq ) {
|
||||
const std::vector<OpenMPT::GetLengthType> lengths = m_sndFile->GetLength( OpenMPT::eNoAdjust, OpenMPT::GetLengthTarget( true ).StartPos( seq, 0, 0 ) );
|
||||
for ( const auto & l : lengths ) {
|
||||
subsongs.push_back( subsong_data( l.duration, l.startRow, l.startOrder, seq ) );
|
||||
subsongs.push_back( subsong_data( l.duration, l.startRow, l.startOrder, seq, l.restartRow, l.restartOrder ) );
|
||||
}
|
||||
}
|
||||
return subsongs;
|
||||
|
@ -512,7 +521,7 @@ std::size_t module_impl::read_wrapper( std::size_t count, std::int16_t * left, s
|
|||
OpenMPT::AudioTargetBufferWithGain<mpt::audio_span_planar<std::int16_t>> target( mpt::audio_span_planar<std::int16_t>( buffers, valid_channels( buffers, std::size( buffers ) ), count ), *m_Dithers, m_Gain );
|
||||
while ( count > 0 ) {
|
||||
std::size_t count_chunk = m_sndFile->Read(
|
||||
static_cast<OpenMPT::CSoundFile::samplecount_t>( std::min( static_cast<std::uint64_t>( count ), static_cast<std::uint64_t>( std::numeric_limits<OpenMPT::CSoundFile::samplecount_t>::max() / 2 / 4 / 4 ) ) ), // safety margin / samplesize / channels
|
||||
static_cast<OpenMPT::samplecount_t>( std::min( static_cast<std::uint64_t>( count ), static_cast<std::uint64_t>( std::numeric_limits<OpenMPT::samplecount_t>::max() / 2 / 4 / 4 ) ) ), // safety margin / samplesize / channels
|
||||
target
|
||||
);
|
||||
if ( count_chunk == 0 ) {
|
||||
|
@ -523,7 +532,7 @@ std::size_t module_impl::read_wrapper( std::size_t count, std::int16_t * left, s
|
|||
}
|
||||
if ( count_read == 0 && m_ctl_play_at_end == song_end_action::continue_song ) {
|
||||
// This is the song end, but allow the song or loop to restart on the next call
|
||||
m_sndFile->m_SongFlags.reset(OpenMPT::SONG_ENDREACHED);
|
||||
m_sndFile->m_PlayState.m_flags.reset(OpenMPT::SONG_ENDREACHED);
|
||||
}
|
||||
return count_read;
|
||||
}
|
||||
|
@ -535,7 +544,7 @@ std::size_t module_impl::read_wrapper( std::size_t count, float * left, float *
|
|||
OpenMPT::AudioTargetBufferWithGain<mpt::audio_span_planar<float>> target( mpt::audio_span_planar<float>( buffers, valid_channels( buffers, std::size( buffers ) ), count ), *m_Dithers, m_Gain );
|
||||
while ( count > 0 ) {
|
||||
std::size_t count_chunk = m_sndFile->Read(
|
||||
static_cast<OpenMPT::CSoundFile::samplecount_t>( std::min( static_cast<std::uint64_t>( count ), static_cast<std::uint64_t>( std::numeric_limits<OpenMPT::CSoundFile::samplecount_t>::max() / 2 / 4 / 4 ) ) ), // safety margin / samplesize / channels
|
||||
static_cast<OpenMPT::samplecount_t>( std::min( static_cast<std::uint64_t>( count ), static_cast<std::uint64_t>( std::numeric_limits<OpenMPT::samplecount_t>::max() / 2 / 4 / 4 ) ) ), // safety margin / samplesize / channels
|
||||
target
|
||||
);
|
||||
if ( count_chunk == 0 ) {
|
||||
|
@ -546,7 +555,7 @@ std::size_t module_impl::read_wrapper( std::size_t count, float * left, float *
|
|||
}
|
||||
if ( count_read == 0 && m_ctl_play_at_end == song_end_action::continue_song ) {
|
||||
// This is the song end, but allow the song or loop to restart on the next call
|
||||
m_sndFile->m_SongFlags.reset(OpenMPT::SONG_ENDREACHED);
|
||||
m_sndFile->m_PlayState.m_flags.reset(OpenMPT::SONG_ENDREACHED);
|
||||
}
|
||||
return count_read;
|
||||
}
|
||||
|
@ -557,7 +566,7 @@ std::size_t module_impl::read_interleaved_wrapper( std::size_t count, std::size_
|
|||
OpenMPT::AudioTargetBufferWithGain<mpt::audio_span_interleaved<std::int16_t>> target( mpt::audio_span_interleaved<std::int16_t>( interleaved, channels, count ), *m_Dithers, m_Gain );
|
||||
while ( count > 0 ) {
|
||||
std::size_t count_chunk = m_sndFile->Read(
|
||||
static_cast<OpenMPT::CSoundFile::samplecount_t>( std::min( static_cast<std::uint64_t>( count ), static_cast<std::uint64_t>( std::numeric_limits<OpenMPT::CSoundFile::samplecount_t>::max() / 2 / 4 / 4 ) ) ), // safety margin / samplesize / channels
|
||||
static_cast<OpenMPT::samplecount_t>( std::min( static_cast<std::uint64_t>( count ), static_cast<std::uint64_t>( std::numeric_limits<OpenMPT::samplecount_t>::max() / 2 / 4 / 4 ) ) ), // safety margin / samplesize / channels
|
||||
target
|
||||
);
|
||||
if ( count_chunk == 0 ) {
|
||||
|
@ -568,7 +577,7 @@ std::size_t module_impl::read_interleaved_wrapper( std::size_t count, std::size_
|
|||
}
|
||||
if ( count_read == 0 && m_ctl_play_at_end == song_end_action::continue_song ) {
|
||||
// This is the song end, but allow the song or loop to restart on the next call
|
||||
m_sndFile->m_SongFlags.reset(OpenMPT::SONG_ENDREACHED);
|
||||
m_sndFile->m_PlayState.m_flags.reset(OpenMPT::SONG_ENDREACHED);
|
||||
}
|
||||
return count_read;
|
||||
}
|
||||
|
@ -579,7 +588,7 @@ std::size_t module_impl::read_interleaved_wrapper( std::size_t count, std::size_
|
|||
OpenMPT::AudioTargetBufferWithGain<mpt::audio_span_interleaved<float>> target( mpt::audio_span_interleaved<float>( interleaved, channels, count ), *m_Dithers, m_Gain );
|
||||
while ( count > 0 ) {
|
||||
std::size_t count_chunk = m_sndFile->Read(
|
||||
static_cast<OpenMPT::CSoundFile::samplecount_t>( std::min( static_cast<std::uint64_t>( count ), static_cast<std::uint64_t>( std::numeric_limits<OpenMPT::CSoundFile::samplecount_t>::max() / 2 / 4 / 4 ) ) ), // safety margin / samplesize / channels
|
||||
static_cast<OpenMPT::samplecount_t>( std::min( static_cast<std::uint64_t>( count ), static_cast<std::uint64_t>( std::numeric_limits<OpenMPT::samplecount_t>::max() / 2 / 4 / 4 ) ) ), // safety margin / samplesize / channels
|
||||
target
|
||||
);
|
||||
if ( count_chunk == 0 ) {
|
||||
|
@ -590,7 +599,7 @@ std::size_t module_impl::read_interleaved_wrapper( std::size_t count, std::size_
|
|||
}
|
||||
if ( count_read == 0 && m_ctl_play_at_end == song_end_action::continue_song ) {
|
||||
// This is the song end, but allow the song or loop to restart on the next call
|
||||
m_sndFile->m_SongFlags.reset(OpenMPT::SONG_ENDREACHED);
|
||||
m_sndFile->m_PlayState.m_flags.reset(OpenMPT::SONG_ENDREACHED);
|
||||
}
|
||||
return count_read;
|
||||
}
|
||||
|
@ -1075,6 +1084,15 @@ double module_impl::get_duration_seconds() const {
|
|||
}
|
||||
return subsongs[m_current_subsong].duration;
|
||||
}
|
||||
|
||||
double module_impl::get_time_at_position( std::int32_t order, std::int32_t row ) const {
|
||||
const auto t = m_sndFile->GetLength( OpenMPT::eNoAdjust, OpenMPT::GetLengthTarget( static_cast<OpenMPT::ORDERINDEX>( order ), static_cast<OpenMPT::ROWINDEX>( row ) ) ).back();
|
||||
if ( t.targetReached )
|
||||
return t.duration;
|
||||
else
|
||||
return -1.0;
|
||||
}
|
||||
|
||||
void module_impl::select_subsong( std::int32_t subsong ) {
|
||||
std::unique_ptr<subsongs_type> subsongs_temp = has_subsongs_inited() ? std::unique_ptr<subsongs_type>() : std::make_unique<subsongs_type>( get_subsongs() );
|
||||
const subsongs_type & subsongs = has_subsongs_inited() ? m_subsongs : *subsongs_temp;
|
||||
|
@ -1093,6 +1111,24 @@ void module_impl::select_subsong( std::int32_t subsong ) {
|
|||
std::int32_t module_impl::get_selected_subsong() const {
|
||||
return m_current_subsong;
|
||||
}
|
||||
|
||||
std::int32_t module_impl::get_restart_order( std::int32_t subsong ) const {
|
||||
std::unique_ptr<subsongs_type> subsongs_temp = has_subsongs_inited() ? std::unique_ptr<subsongs_type>() : std::make_unique<subsongs_type>( get_subsongs() );
|
||||
const subsongs_type & subsongs = has_subsongs_inited() ? m_subsongs : *subsongs_temp;
|
||||
if ( subsong < 0 || subsong >= static_cast<std::int32_t>( subsongs.size() ) ) {
|
||||
throw openmpt::exception( "invalid subsong" );
|
||||
}
|
||||
return subsongs[subsong].restart_order;
|
||||
}
|
||||
std::int32_t module_impl::get_restart_row( std::int32_t subsong ) const {
|
||||
std::unique_ptr<subsongs_type> subsongs_temp = has_subsongs_inited() ? std::unique_ptr<subsongs_type>() : std::make_unique<subsongs_type>( get_subsongs() );
|
||||
const subsongs_type & subsongs = has_subsongs_inited() ? m_subsongs : *subsongs_temp;
|
||||
if ( subsong < 0 || subsong >= static_cast<std::int32_t>( subsongs.size() ) ) {
|
||||
throw openmpt::exception( "invalid subsong" );
|
||||
}
|
||||
return subsongs[subsong].restart_row;
|
||||
}
|
||||
|
||||
void module_impl::set_repeat_count( std::int32_t repeat_count ) {
|
||||
m_sndFile->SetRepeatCount( repeat_count );
|
||||
}
|
||||
|
@ -1123,8 +1159,8 @@ double module_impl::set_position_seconds( double seconds ) {
|
|||
}
|
||||
m_sndFile->SetCurrentOrder( static_cast<OpenMPT::ORDERINDEX>( subsong->start_order ) );
|
||||
OpenMPT::GetLengthType t = m_sndFile->GetLength( m_ctl_seek_sync_samples ? OpenMPT::eAdjustSamplePositions : OpenMPT::eAdjust, OpenMPT::GetLengthTarget( seconds ).StartPos( static_cast<OpenMPT::SEQUENCEINDEX>( subsong->sequence ), static_cast<OpenMPT::ORDERINDEX>( subsong->start_order ), static_cast<OpenMPT::ROWINDEX>( subsong->start_row ) ) ).back();
|
||||
m_sndFile->m_PlayState.m_nNextOrder = m_sndFile->m_PlayState.m_nCurrentOrder = t.targetReached ? t.lastOrder : t.endOrder;
|
||||
m_sndFile->m_PlayState.m_nNextRow = t.targetReached ? t.lastRow : t.endRow;
|
||||
m_sndFile->m_PlayState.m_nNextOrder = m_sndFile->m_PlayState.m_nCurrentOrder = t.targetReached ? t.restartOrder : t.endOrder;
|
||||
m_sndFile->m_PlayState.m_nNextRow = t.targetReached ? t.restartRow : t.endRow;
|
||||
m_sndFile->m_PlayState.m_nTickCount = OpenMPT::CSoundFile::TICKS_ROW_FINISHED;
|
||||
m_currentPositionSeconds = base_seconds + t.duration;
|
||||
return m_currentPositionSeconds;
|
||||
|
@ -1415,9 +1451,9 @@ std::vector<std::string> module_impl::get_order_names() const {
|
|||
if ( m_sndFile->Patterns.IsValidIndex( pat ) ) {
|
||||
retval.push_back( mod_string_to_utf8( m_sndFile->Patterns[ m_sndFile->Order()[i] ].GetName() ) );
|
||||
} else {
|
||||
if ( pat == m_sndFile->Order.GetIgnoreIndex() ) {
|
||||
if ( pat == OpenMPT::PATTERNINDEX_SKIP ) {
|
||||
retval.push_back( "+++ skip" );
|
||||
} else if ( pat == m_sndFile->Order.GetInvalidPatIndex() ) {
|
||||
} else if ( pat == OpenMPT::PATTERNINDEX_INVALID ) {
|
||||
retval.push_back( "--- stop" );
|
||||
} else {
|
||||
retval.push_back( "???" );
|
||||
|
@ -1457,6 +1493,26 @@ std::int32_t module_impl::get_order_pattern( std::int32_t o ) const {
|
|||
}
|
||||
return m_sndFile->Order()[o];
|
||||
}
|
||||
|
||||
bool module_impl::is_order_skip_entry( std::int32_t order ) const {
|
||||
if ( order < 0 || order >= m_sndFile->Order().GetLengthTailTrimmed() ) {
|
||||
return false;
|
||||
}
|
||||
return is_pattern_skip_item( m_sndFile->Order()[order] );
|
||||
}
|
||||
bool module_impl::is_pattern_skip_item( std::int32_t pattern ) {
|
||||
return pattern == OpenMPT::PATTERNINDEX_SKIP;
|
||||
}
|
||||
bool module_impl::is_order_stop_entry( std::int32_t order ) const {
|
||||
if ( order < 0 || order >= m_sndFile->Order().GetLengthTailTrimmed() ) {
|
||||
return false;
|
||||
}
|
||||
return is_pattern_stop_item( m_sndFile->Order()[order] );
|
||||
}
|
||||
bool module_impl::is_pattern_stop_item( std::int32_t pattern ) {
|
||||
return pattern == OpenMPT::PATTERNINDEX_INVALID;
|
||||
}
|
||||
|
||||
std::int32_t module_impl::get_pattern_num_rows( std::int32_t p ) const {
|
||||
if ( !mpt::is_in_range( p, std::numeric_limits<OpenMPT::PATTERNINDEX>::min(), std::numeric_limits<OpenMPT::PATTERNINDEX>::max() ) || !m_sndFile->Patterns.IsValidPat( static_cast<OpenMPT::PATTERNINDEX>( p ) ) ) {
|
||||
return 0;
|
||||
|
@ -1464,6 +1520,26 @@ std::int32_t module_impl::get_pattern_num_rows( std::int32_t p ) const {
|
|||
return m_sndFile->Patterns[p].GetNumRows();
|
||||
}
|
||||
|
||||
std::int32_t module_impl::get_pattern_rows_per_beat( std::int32_t p ) const {
|
||||
if ( !mpt::is_in_range( p, std::numeric_limits<OpenMPT::PATTERNINDEX>::min(), std::numeric_limits<OpenMPT::PATTERNINDEX>::max() ) || !m_sndFile->Patterns.IsValidPat( static_cast<OpenMPT::PATTERNINDEX>( p ) ) ) {
|
||||
return 0;
|
||||
}
|
||||
if ( m_sndFile->Patterns[p].GetOverrideSignature() ) {
|
||||
return m_sndFile->Patterns[p].GetRowsPerBeat();
|
||||
}
|
||||
return m_sndFile->m_nDefaultRowsPerBeat;
|
||||
}
|
||||
|
||||
std::int32_t module_impl::get_pattern_rows_per_measure( std::int32_t p ) const {
|
||||
if ( !mpt::is_in_range( p, std::numeric_limits<OpenMPT::PATTERNINDEX>::min(), std::numeric_limits<OpenMPT::PATTERNINDEX>::max() ) || !m_sndFile->Patterns.IsValidPat( static_cast<OpenMPT::PATTERNINDEX>( p ) ) ) {
|
||||
return 0;
|
||||
}
|
||||
if ( m_sndFile->Patterns[p].GetOverrideSignature() ) {
|
||||
return m_sndFile->Patterns[p].GetRowsPerMeasure();
|
||||
}
|
||||
return m_sndFile->m_nDefaultRowsPerMeasure;
|
||||
}
|
||||
|
||||
std::uint8_t module_impl::get_pattern_row_channel_command( std::int32_t p, std::int32_t r, std::int32_t c, int cmd ) const {
|
||||
if ( !mpt::is_in_range( p, std::numeric_limits<OpenMPT::PATTERNINDEX>::min(), std::numeric_limits<OpenMPT::PATTERNINDEX>::max() ) || !m_sndFile->Patterns.IsValidPat( static_cast<OpenMPT::PATTERNINDEX>( p ) ) ) {
|
||||
return 0;
|
||||
|
@ -1539,7 +1615,7 @@ std::pair< std::string, std::string > module_impl::format_and_highlight_pattern_
|
|||
break;
|
||||
case module::command_volumeffect:
|
||||
return std::make_pair(
|
||||
cell.IsPcNote() ? std::string(" ") : cell.volcmd != OpenMPT::VOLCMD_NONE ? std::string( 1, m_sndFile->GetModSpecifications().GetVolEffectLetter( cell.volcmd ) ) : std::string(" ")
|
||||
cell.IsPcNote() ? std::string(" ") : std::string( 1, OpenMPT::CModSpecifications::GetGenericVolEffectLetter( cell.volcmd ) )
|
||||
,
|
||||
cell.IsPcNote() ? std::string(" ") : cell.volcmd != OpenMPT::VOLCMD_NONE ? std::string("u") : std::string(" ")
|
||||
);
|
||||
|
@ -1605,7 +1681,7 @@ std::pair< std::string, std::string > module_impl::format_and_highlight_pattern_
|
|||
high += cell.instr ? std::string("ii") : std::string("..");
|
||||
}
|
||||
if ( ( width == 0 ) || ( width >= 9 ) ) {
|
||||
text += cell.IsPcNote() ? std::string(" ") + OpenMPT::mpt::afmt::HEX0<2>( cell.GetValueVolCol() & 0xff ) : cell.volcmd != OpenMPT::VOLCMD_NONE ? std::string( 1, m_sndFile->GetModSpecifications().GetVolEffectLetter( cell.volcmd ) ) + OpenMPT::mpt::afmt::HEX0<2>( cell.vol ) : std::string(" ..");
|
||||
text += cell.IsPcNote() ? std::string(" ") + OpenMPT::mpt::afmt::HEX0<2>( cell.GetValueVolCol() & 0xff ) : cell.volcmd != OpenMPT::VOLCMD_NONE ? std::string( 1, OpenMPT::CModSpecifications::GetGenericVolEffectLetter( cell.volcmd ) ) + OpenMPT::mpt::afmt::HEX0<2>( cell.vol ) : std::string(" ..");
|
||||
high += cell.IsPcNote() ? std::string(" vv") : cell.volcmd != OpenMPT::VOLCMD_NONE ? std::string("uvv") : std::string(" ..");
|
||||
}
|
||||
if ( ( width == 0 ) || ( width >= 13 ) ) {
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue