diff --git a/.gitignore b/.gitignore index 601df1a5d..98cea3310 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ Xcode-config/DEVELOPMENT_TEAM.xcconfig # The project will unpack these before building, if necessary /ThirdParty/BASS/libbass.dylib +/ThirdParty/BASS/libbass_mpc.dylib /ThirdParty/BASS/libbassflac.dylib /ThirdParty/BASS/libbassmidi.dylib /ThirdParty/BASS/libbassopus.dylib diff --git a/ThirdParty/BASS/README.md b/ThirdParty/BASS/README.md index f62f9bc5c..f0404c2f4 100644 --- a/ThirdParty/BASS/README.md +++ b/ThirdParty/BASS/README.md @@ -6,5 +6,13 @@ First, they were generated by the bundled makefile, using: make 64bit ``` -Then, install_name_tool was used to change the id and import paths of each -of them, so that the libraries are referenced from @rpath, not @loader_path. +Modifying the id and import paths was no longer necessary, as they +already use @rpath now. + +As of editing, they are: + +BASS 2.4.17 +BASSMIDI 2.4.14.1 +BASSFLAC 2.4.5.3 +BASSOPUS 2.4.2.3 +BASS_MPC 2.4.1.2 diff --git a/ThirdParty/BASS/bass.h b/ThirdParty/BASS/bass.h index b62681082..1e3a86ff8 100644 --- a/ThirdParty/BASS/bass.h +++ b/ThirdParty/BASS/bass.h @@ -1,6 +1,6 @@ /* BASS 2.4 C/C++ header file - Copyright (c) 1999-2021 Un4seen Developments Ltd. + Copyright (c) 1999-2022 Un4seen Developments Ltd. See the BASS.CHM file for more detailed documentation */ @@ -88,7 +88,7 @@ typedef DWORD HPLUGIN; // plugin handle #define BASS_ERROR_FREQ 25 // illegal sample rate #define BASS_ERROR_NOTFILE 27 // the stream is not a file stream #define BASS_ERROR_NOHW 29 // no hardware voices available -#define BASS_ERROR_EMPTY 31 // the MOD music has no sequence data +#define BASS_ERROR_EMPTY 31 // the file has no sample data #define BASS_ERROR_NONET 32 // no internet connection could be opened #define BASS_ERROR_CREATE 33 // couldn't create the file #define BASS_ERROR_NOFX 34 // effects are not available @@ -104,6 +104,7 @@ typedef DWORD HPLUGIN; // plugin handle #define BASS_ERROR_BUSY 46 // the device is busy #define BASS_ERROR_UNSTREAMABLE 47 // unstreamable file #define BASS_ERROR_PROTOCOL 48 // unsupported protocol +#define BASS_ERROR_DENIED 49 // access denied #define BASS_ERROR_UNKNOWN -1 // some other mystery problem // BASS_SetConfig options @@ -158,15 +159,18 @@ typedef DWORD HPLUGIN; // plugin handle #define BASS_CONFIG_REC_WASAPI 66 #define BASS_CONFIG_ANDROID_AAUDIO 67 #define BASS_CONFIG_SAMPLE_ONEHANDLE 69 -#define BASS_CONFIG_DEV_TIMEOUT 70 #define BASS_CONFIG_NET_META 71 #define BASS_CONFIG_NET_RESTRATE 72 +#define BASS_CONFIG_REC_DEFAULT 73 +#define BASS_CONFIG_NORAMP 74 // BASS_SetConfigPtr options #define BASS_CONFIG_NET_AGENT 16 #define BASS_CONFIG_NET_PROXY 17 #define BASS_CONFIG_IOS_NOTIFY 46 +#define BASS_CONFIG_ANDROID_JAVAVM 63 #define BASS_CONFIG_LIBSSL 64 +#define BASS_CONFIG_FILENAME 75 #define BASS_CONFIG_THREAD 0x40000000 // flag: thread-specific setting @@ -176,6 +180,10 @@ typedef DWORD HPLUGIN; // plugin handle #define BASS_IOS_SESSION_AMBIENT 4 #define BASS_IOS_SESSION_SPEAKER 8 #define BASS_IOS_SESSION_DISABLE 16 +#define BASS_IOS_SESSION_DEACTIVATE 32 +#define BASS_IOS_SESSION_AIRPLAY 64 +#define BASS_IOS_SESSION_BTHFP 128 +#define BASS_IOS_SESSION_BTA2DP 0x100 // BASS_Init flags #define BASS_DEVICE_8BITS 1 // unused @@ -354,28 +362,31 @@ typedef struct { #define BASS_MUSIC_NOSAMPLE 0x100000 // don't load the samples // Speaker assignment flags -#define BASS_SPEAKER_FRONT 0x1000000 // front speakers -#define BASS_SPEAKER_REAR 0x2000000 // rear/side speakers -#define BASS_SPEAKER_CENLFE 0x3000000 // center & LFE speakers (5.1) -#define BASS_SPEAKER_REAR2 0x4000000 // rear center speakers (7.1) -#define BASS_SPEAKER_N(n) ((n)<<24) // n'th pair of speakers (max 15) -#define BASS_SPEAKER_LEFT 0x10000000 // modifier: left -#define BASS_SPEAKER_RIGHT 0x20000000 // modifier: right -#define BASS_SPEAKER_FRONTLEFT BASS_SPEAKER_FRONT|BASS_SPEAKER_LEFT -#define BASS_SPEAKER_FRONTRIGHT BASS_SPEAKER_FRONT|BASS_SPEAKER_RIGHT -#define BASS_SPEAKER_REARLEFT BASS_SPEAKER_REAR|BASS_SPEAKER_LEFT -#define BASS_SPEAKER_REARRIGHT BASS_SPEAKER_REAR|BASS_SPEAKER_RIGHT -#define BASS_SPEAKER_CENTER BASS_SPEAKER_CENLFE|BASS_SPEAKER_LEFT -#define BASS_SPEAKER_LFE BASS_SPEAKER_CENLFE|BASS_SPEAKER_RIGHT -#define BASS_SPEAKER_REAR2LEFT BASS_SPEAKER_REAR2|BASS_SPEAKER_LEFT -#define BASS_SPEAKER_REAR2RIGHT BASS_SPEAKER_REAR2|BASS_SPEAKER_RIGHT +#define BASS_SPEAKER_FRONT 0x1000000 // front speakers +#define BASS_SPEAKER_REAR 0x2000000 // rear speakers +#define BASS_SPEAKER_CENLFE 0x3000000 // center & LFE speakers (5.1) +#define BASS_SPEAKER_SIDE 0x4000000 // side speakers (7.1) +#define BASS_SPEAKER_N(n) ((n)<<24) // n'th pair of speakers (max 15) +#define BASS_SPEAKER_LEFT 0x10000000 // modifier: left +#define BASS_SPEAKER_RIGHT 0x20000000 // modifier: right +#define BASS_SPEAKER_FRONTLEFT BASS_SPEAKER_FRONT | BASS_SPEAKER_LEFT +#define BASS_SPEAKER_FRONTRIGHT BASS_SPEAKER_FRONT | BASS_SPEAKER_RIGHT +#define BASS_SPEAKER_REARLEFT BASS_SPEAKER_REAR | BASS_SPEAKER_LEFT +#define BASS_SPEAKER_REARRIGHT BASS_SPEAKER_REAR | BASS_SPEAKER_RIGHT +#define BASS_SPEAKER_CENTER BASS_SPEAKER_CENLFE | BASS_SPEAKER_LEFT +#define BASS_SPEAKER_LFE BASS_SPEAKER_CENLFE | BASS_SPEAKER_RIGHT +#define BASS_SPEAKER_SIDELEFT BASS_SPEAKER_SIDE | BASS_SPEAKER_LEFT +#define BASS_SPEAKER_SIDERIGHT BASS_SPEAKER_SIDE | BASS_SPEAKER_RIGHT +#define BASS_SPEAKER_REAR2 BASS_SPEAKER_SIDE +#define BASS_SPEAKER_REAR2LEFT BASS_SPEAKER_SIDELEFT +#define BASS_SPEAKER_REAR2RIGHT BASS_SPEAKER_SIDERIGHT #define BASS_ASYNCFILE 0x40000000 // read file asynchronously #define BASS_UNICODE 0x80000000 // UTF-16 -#define BASS_RECORD_PAUSE 0x8000 // start recording paused #define BASS_RECORD_ECHOCANCEL 0x2000 #define BASS_RECORD_AGC 0x4000 +#define BASS_RECORD_PAUSE 0x8000 // start recording paused // DX7 voice allocation & management flags #define BASS_VAM_HARDWARE 1 @@ -424,6 +435,9 @@ typedef struct { #define BASS_CTYPE_MUSIC_IT 0x20004 #define BASS_CTYPE_MUSIC_MO3 0x00100 // MO3 flag +// BASS_PluginLoad flags +#define BASS_PLUGIN_PROC 1 + typedef struct { DWORD ctype; // channel type #if defined(_WIN32_WCE) || (defined(WINAPI_FAMILY) && WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP) @@ -444,8 +458,8 @@ typedef struct { // 3D vector (for 3D positions/velocities/orientations) typedef struct BASS_3DVECTOR { #ifdef __cplusplus - BASS_3DVECTOR() {}; - BASS_3DVECTOR(float _x, float _y, float _z) : x(_x), y(_y), z(_z) {}; + BASS_3DVECTOR() {} + BASS_3DVECTOR(float _x, float _y, float _z) : x(_x), y(_y), z(_z) {} #endif float x; // +=right, -=left float y; // +=up, -=down @@ -591,6 +605,9 @@ RETURN : TRUE = continue recording, FALSE = stop */ #define BASS_ATTRIB_USER 15 #define BASS_ATTRIB_TAIL 16 #define BASS_ATTRIB_PUSH_LIMIT 17 +#define BASS_ATTRIB_DOWNLOADPROC 18 +#define BASS_ATTRIB_VOLDSP 19 +#define BASS_ATTRIB_VOLDSP_PRIORITY 20 #define BASS_ATTRIB_MUSIC_AMPLIFY 0x100 #define BASS_ATTRIB_MUSIC_PANSEP 0x101 #define BASS_ATTRIB_MUSIC_PSCALER 0x102 @@ -607,7 +624,7 @@ RETURN : TRUE = continue recording, FALSE = stop */ // BASS_ChannelGetData flags #define BASS_DATA_AVAILABLE 0 // query how much data is buffered #define BASS_DATA_NOREMOVE 0x10000000 // flag: don't remove data from recording buffer -#define BASS_DATA_FIXED 0x20000000 // flag: return 8.24 fixed-point data +#define BASS_DATA_FIXED 0x20000000 // unused #define BASS_DATA_FLOAT 0x40000000 // flag: return floating-point sample data #define BASS_DATA_FFT256 0x80000000 // 256 sample FFT #define BASS_DATA_FFT512 0x80000001 // 512 FFT @@ -1055,6 +1072,7 @@ DWORD BASSDEF(BASS_ChannelFlags)(DWORD handle, DWORD flags, DWORD mask); BOOL BASSDEF(BASS_ChannelLock)(DWORD handle, BOOL lock); BOOL BASSDEF(BASS_ChannelFree)(DWORD handle); BOOL BASSDEF(BASS_ChannelPlay)(DWORD handle, BOOL restart); +BOOL BASSDEF(BASS_ChannelStart)(DWORD handle); BOOL BASSDEF(BASS_ChannelStop)(DWORD handle); BOOL BASSDEF(BASS_ChannelPause)(DWORD handle); BOOL BASSDEF(BASS_ChannelUpdate)(DWORD handle, DWORD length); diff --git a/ThirdParty/libraries.tar.xz b/ThirdParty/libraries.tar.xz index 7d7640ded..e0816a5d0 100644 Binary files a/ThirdParty/libraries.tar.xz and b/ThirdParty/libraries.tar.xz differ