Updated BASS and company

Also included missing BASS_MPC, which was still being imported
even though it wasn't actually included.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
main
Christopher Snowhill 2023-06-12 17:27:56 -07:00
parent 3689fb51f8
commit 3c91aab9d8
No known key found for this signature in database
4 changed files with 51 additions and 24 deletions

1
.gitignore vendored
View File

@ -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

View File

@ -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

View File

@ -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);

Binary file not shown.