Skip to content
Permalink
Browse files

Updated BASS libraries

  • Loading branch information
Dutchman101 committed Jan 27, 2020
1 parent 4c36d37 commit 9743f8130c004f8aea2e7cb941259814bb5dcbb0
@@ -838,12 +838,12 @@ void CheckDataFiles()
{
const char* szMd5;
const char* szFilename;
} integrityCheckList[] = {{"86ED80611BA4C6E5FB168E8AF3744639", "bass.dll"},
{"A5A8998C4A5D4C01CF7F4A1C710BDF49", "bass_aac.dll"},
} integrityCheckList[] = {{"B15F1875F447DBB2A849050E5FD6125D", "bass.dll"},
{"853933A2518EBF8E966C04C2EAA95391", "bass_aac.dll"},
{"BD43C88917D6234FF962B6E88B648B8C", "bass_ac3.dll"},
{"8B17186F19002C9D30A18D39FC8FEFA7", "bass_fx.dll"},
{"C176D670BF5440A6C704B55A21B01FEF", "bass_fx.dll"},
{"FFC2CA817B012FECE4CF62BB85162E68", "bassflac.dll"},
{"B7F9BBEF4E3A34538321A79910219077", "bassmidi.dll"},
{"8BF45CFAC7219673DEC8BB0ED54D0365", "bassmidi.dll"},
{"5387D7484E6CAA959144DFE524BB3B05", "bassmix.dll"},
{"4E35BA785CD3B37A3702E577510F39E3", "bassopus.dll"},
{"0CE7A9F1930591C51B35BF6AA5EC7424", "basswma.dll"},
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -19,7 +19,9 @@ typedef uint8_t BYTE;
typedef uint16_t WORD;
typedef uint32_t DWORD;
typedef uint64_t QWORD;
#ifndef __OBJC__
#ifdef __OBJC__
#include <objc/objc.h>
#else
typedef int BOOL;
#endif
#ifndef TRUE
@@ -70,6 +72,7 @@ typedef DWORD HPLUGIN; // Plugin handle
#define BASS_ERROR_START 9 // BASS_Start has not been successfully called
#define BASS_ERROR_SSL 10 // SSL/HTTPS support isn't available
#define BASS_ERROR_ALREADY 14 // already initialized/paused/whatever
#define BASS_ERROR_NOTAUDIO 17 // file does not contain audio
#define BASS_ERROR_NOCHAN 18 // can't get a free channel
#define BASS_ERROR_ILLTYPE 19 // an illegal type was specified
#define BASS_ERROR_ILLPARAM 20 // an illegal parameter was specified
@@ -94,6 +97,7 @@ typedef DWORD HPLUGIN; // Plugin handle
#define BASS_ERROR_CODEC 44 // codec is not available/supported
#define BASS_ERROR_ENDED 45 // the channel/file has ended
#define BASS_ERROR_BUSY 46 // the device is busy
#define BASS_ERROR_UNSTREAMABLE 47 // unstreamable file
#define BASS_ERROR_UNKNOWN -1 // some other mystery problem

// BASS_SetConfig options
@@ -119,6 +123,7 @@ typedef DWORD HPLUGIN; // Plugin handle
#define BASS_CONFIG_DEV_BUFFER 27
#define BASS_CONFIG_REC_LOOPBACK 28
#define BASS_CONFIG_VISTA_TRUEPOS 30
#define BASS_CONFIG_IOS_SESSION 34
#define BASS_CONFIG_IOS_MIXAUDIO 34
#define BASS_CONFIG_DEV_DEFAULT 36
#define BASS_CONFIG_NET_READTIMEOUT 37
@@ -142,15 +147,24 @@ typedef DWORD HPLUGIN; // Plugin handle
#define BASS_CONFIG_AM_DISABLE 58
#define BASS_CONFIG_NET_PLAYLIST_DEPTH 59
#define BASS_CONFIG_NET_PREBUF_WAIT 60
#define BASS_CONFIG_ANDROID_SESSIONID 62
#define BASS_CONFIG_WASAPI_PERSIST 65
#define BASS_CONFIG_REC_WASAPI 66
#define BASS_CONFIG_ANDROID_AAUDIO 67

// BASS_SetConfigPtr options
#define BASS_CONFIG_NET_AGENT 16
#define BASS_CONFIG_NET_PROXY 17
#define BASS_CONFIG_IOS_NOTIFY 46
#define BASS_CONFIG_LIBSSL 64

// BASS_CONFIG_IOS_SESSION flags
#define BASS_IOS_SESSION_MIX 1
#define BASS_IOS_SESSION_DUCK 2
#define BASS_IOS_SESSION_AMBIENT 4
#define BASS_IOS_SESSION_SPEAKER 8
#define BASS_IOS_SESSION_DISABLE 16

// BASS_Init flags
#define BASS_DEVICE_8BITS 1 // 8 bit
#define BASS_DEVICE_MONO 2 // mono
@@ -376,6 +390,7 @@ typedef struct {
#define BASS_CTYPE_SAMPLE 1
#define BASS_CTYPE_RECORD 2
#define BASS_CTYPE_STREAM 0x10000
#define BASS_CTYPE_STREAM_VORBIS 0x10002
#define BASS_CTYPE_STREAM_OGG 0x10002
#define BASS_CTYPE_STREAM_MP1 0x10003
#define BASS_CTYPE_STREAM_MP2 0x10004
@@ -497,8 +512,7 @@ enum
#define EAX_PRESET_PSYCHOTIC EAX_ENVIRONMENT_PSYCHOTIC,0.486F,7.563F,0.806F

typedef DWORD (CALLBACK STREAMPROC)(HSTREAM handle, void *buffer, DWORD length, void *user);
/* User stream callback function. NOTE: A stream function should obviously be as quick
as possible, other streams (and MOD musics) can't be mixed until it's finished.
/* User stream callback function.
handle : The stream that needs writing
buffer : Buffer to write the samples in
length : Number of bytes to write
@@ -568,23 +582,19 @@ user : The 'user' parameter value given when calling BASS_StreamCreateURL */
#define BASS_SYNC_OGG_CHANGE 12
#define BASS_SYNC_DEV_FAIL 14
#define BASS_SYNC_DEV_FORMAT 15
#define BASS_SYNC_THREAD 0x20000000 // flag: call sync in other thread
#define BASS_SYNC_MIXTIME 0x40000000 // flag: sync at mixtime, else at playtime
#define BASS_SYNC_ONETIME 0x80000000 // flag: sync only once, else continuously

typedef void (CALLBACK SYNCPROC)(HSYNC handle, DWORD channel, DWORD data, void *user);
/* Sync callback function. NOTE: a sync callback function should be very
quick as other syncs can't be processed until it has finished. If the sync
is a "mixtime" sync, then other streams and MOD musics can't be mixed until
it's finished either.
/* Sync callback function.
handle : The sync that has occured
channel: Channel that the sync occured in
data : Additional data associated with the sync's occurance
user : The 'user' parameter given when calling BASS_ChannelSetSync */

typedef void (CALLBACK DSPPROC)(HDSP handle, DWORD channel, void *buffer, DWORD length, void *user);
/* DSP callback function. NOTE: A DSP function should obviously be as quick as
possible... other DSP functions, streams and MOD musics can not be processed
until it's finished.
/* DSP callback function.
handle : The DSP handle
channel: Channel that the DSP is being applied to
buffer : Buffer to apply the DSP to
@@ -620,6 +630,7 @@ RETURN : TRUE = continue recording, FALSE = stop */
#define BASS_ATTRIB_NORAMP 11
#define BASS_ATTRIB_BITRATE 12
#define BASS_ATTRIB_BUFFER 13
#define BASS_ATTRIB_GRANULE 14
#define BASS_ATTRIB_MUSIC_AMPLIFY 0x100
#define BASS_ATTRIB_MUSIC_PANSEP 0x101
#define BASS_ATTRIB_MUSIC_PSCALER 0x102
BIN +0 Bytes (100%) vendor/bass/lib/bass.lib
Binary file not shown.

2 comments on commit 9743f81

@Dutchman101

This comment has been minimized.

Copy link
Contributor Author

Dutchman101 replied Jan 27, 2020

Partial changelog for BASS 2.4.15 (some can be useful for MTA feature possibilities):

  • Channel processing granularity option
    BASS_ATTRIB_GRANULE (BASS_ChannelSetAttribute option)
  • Asynchronous mixtime sync callbacks
    BASS_SYNC_THREAD (BASS_ChannelSetSync flag)
  • Output device update period can be set in samples
    BASS_CONFIG_DEV_PERIOD (BASS_SetConfig option)
  • Continuous output when nothing is playing is now optional on OSX/iOS too
    BASS_CONFIG_DEV_NONSTOP (BASS_SetConfig option)
  • Audio session configuration option on iOS
    BASS_CONFIG_IOS_SESSION (BASS_SetConfig option)
  • OGG channel type constant renamed/duplicated to VORBIS
    BASS_CTYPE_STREAM_VORBIS
  • Error code for recognised file formats without audio
    BASS_ERROR_NOTAUDIO (BASS_StreamCreateFile/User/URL error code)
  • Error code for unstreamable MP4 files due to atom order
    BASS_ERROR_UNSTREAMABLE (BASS_StreamCreateFileUser/URL error code)
  • Fix for AAC streaming with BASS_STREAM_BLOCK on OSX 10.15 and iOS 13
    BASS_StreamCreateURL/FileUser
  • Fix for playback rate changing bug when using DirectSound
    BASS_ATTRIB_FREQ (BASS_ChannelSetAttribute option)
Please sign in to comment.
You can’t perform that action at this time.