📄 bass.bas
字号:
Global Const BASS_SPEAKER_CENTER = BASS_SPEAKER_CENLFE Or BASS_SPEAKER_LEFT
Global Const BASS_SPEAKER_LFE = BASS_SPEAKER_CENLFE Or BASS_SPEAKER_RIGHT
Global Const BASS_SPEAKER_REAR2LEFT = BASS_SPEAKER_REAR2 Or BASS_SPEAKER_LEFT
Global Const BASS_SPEAKER_REAR2RIGHT = BASS_SPEAKER_REAR2 Or BASS_SPEAKER_RIGHT
Global Const BASS_UNICODE = &H80000000
Global Const BASS_RECORD_PAUSE = 32768 ' start recording paused
' DX7 voice allocation flags
Global Const BASS_VAM_HARDWARE = 1
Global Const BASS_VAM_SOFTWARE = 2
Global Const BASS_VAM_TERM_TIME = 4
Global Const BASS_VAM_TERM_DIST = 8
Global Const BASS_VAM_TERM_PRIO = 16
' Channel info structure
Type BASS_CHANNELINFO
freq As Long ' default playback rate
chans As Long ' channels
flags As Long ' BASS_SAMPLE/STREAM/MUSIC/SPEAKER flags
ctype As Long ' type of channel
origres As Long ' original resolution
plugin As Long ' plugin
sample As Long ' sample
filename As Long ' filename
End Type
' BASS_CHANNELINFO types
Global Const BASS_CTYPE_SAMPLE = 1
Global Const BASS_CTYPE_RECORD = 2
Global Const BASS_CTYPE_STREAM = &H10000
Global Const BASS_CTYPE_STREAM_OGG = &H10002
Global Const BASS_CTYPE_STREAM_MP1 = &H10003
Global Const BASS_CTYPE_STREAM_MP2 = &H10004
Global Const BASS_CTYPE_STREAM_MP3 = &H10005
Global Const BASS_CTYPE_STREAM_AIFF = &H10006
Global Const BASS_CTYPE_STREAM_WAV = &H40000 ' WAVE flag, LOWORD=codec
Global Const BASS_CTYPE_STREAM_WAV_PCM = &H50001
Global Const BASS_CTYPE_STREAM_WAV_FLOAT = &H50003
Global Const BASS_CTYPE_MUSIC_MOD = &H20000
Global Const BASS_CTYPE_MUSIC_MTM = &H20001
Global Const BASS_CTYPE_MUSIC_S3M = &H20002
Global Const BASS_CTYPE_MUSIC_XM = &H20003
Global Const BASS_CTYPE_MUSIC_IT = &H20004
Global Const BASS_CTYPE_MUSIC_MO3 = &H100 ' MO3 flag
Type BASS_PLUGINFORM
ctype As Long ' channel type
name As Long ' format description
exts As Long ' file extension filter (*.ext1;*.ext2;etc...)
End Type
Type BASS_PLUGININFO
Version As Long ' version (same form as BASS_GetVersion)
formatc As Long ' number of formats
formats As Long ' the array of formats
End Type
' 3D vector (for 3D positions/velocities/orientations)
Type BASS_3DVECTOR
X As Single ' +=right, -=left
Y As Single ' +=up, -=down
z As Single ' +=front, -=behind
End Type
' 3D channel modes
Global Const BASS_3DMODE_NORMAL = 0 ' normal 3D processing
Global Const BASS_3DMODE_RELATIVE = 1 ' position is relative to the listener
Global Const BASS_3DMODE_OFF = 2 ' no 3D processing
' software 3D mixing algorithms (used with BASS_CONFIG_3DALGORITHM)
Global Const BASS_3DALG_DEFAULT = 0
Global Const BASS_3DALG_OFF = 1
Global Const BASS_3DALG_FULL = 2
Global Const BASS_3DALG_LIGHT = 3
' EAX environments, use with BASS_SetEAXParameters
Global Const EAX_ENVIRONMENT_GENERIC = 0
Global Const EAX_ENVIRONMENT_PADDEDCELL = 1
Global Const EAX_ENVIRONMENT_ROOM = 2
Global Const EAX_ENVIRONMENT_BATHROOM = 3
Global Const EAX_ENVIRONMENT_LIVINGROOM = 4
Global Const EAX_ENVIRONMENT_STONEROOM = 5
Global Const EAX_ENVIRONMENT_AUDITORIUM = 6
Global Const EAX_ENVIRONMENT_CONCERTHALL = 7
Global Const EAX_ENVIRONMENT_CAVE = 8
Global Const EAX_ENVIRONMENT_ARENA = 9
Global Const EAX_ENVIRONMENT_HANGAR = 10
Global Const EAX_ENVIRONMENT_CARPETEDHALLWAY = 11
Global Const EAX_ENVIRONMENT_HALLWAY = 12
Global Const EAX_ENVIRONMENT_STONECORRIDOR = 13
Global Const EAX_ENVIRONMENT_ALLEY = 14
Global Const EAX_ENVIRONMENT_FOREST = 15
Global Const EAX_ENVIRONMENT_CITY = 16
Global Const EAX_ENVIRONMENT_MOUNTAINS = 17
Global Const EAX_ENVIRONMENT_QUARRY = 18
Global Const EAX_ENVIRONMENT_PLAIN = 19
Global Const EAX_ENVIRONMENT_PARKINGLOT = 20
Global Const EAX_ENVIRONMENT_SEWERPIPE = 21
Global Const EAX_ENVIRONMENT_UNDERWATER = 22
Global Const EAX_ENVIRONMENT_DRUGGED = 23
Global Const EAX_ENVIRONMENT_DIZZY = 24
Global Const EAX_ENVIRONMENT_PSYCHOTIC = 25
Global Const EAX_ENVIRONMENT_COUNT = 26 ' total number of environments
Global Const BASS_STREAMPROC_END = &H80000000 ' end of user stream flag
' special STREAMPROCs
Global Const STREAMPROC_DUMMY = 0 ' "dummy" stream
Global Const STREAMPROC_PUSH = -1 ' push stream
' BASS_StreamCreateFileUser file systems
Global Const STREAMFILE_NOBUFFER = 0
Global Const STREAMFILE_BUFFER = 1
Global Const STREAMFILE_BUFFERPUSH = 2
Type BASS_FILEPROCS
close As Long
length As Long
read As Long
seek As Long
End Type
' BASS_StreamPutFileData options
Global Const BASS_FILEDATA_END = 0 ' end & close the file
' BASS_StreamGetFilePosition modes
Global Const BASS_FILEPOS_CURRENT = 0
Global Const BASS_FILEPOS_DECODE = BASS_FILEPOS_CURRENT
Global Const BASS_FILEPOS_DOWNLOAD = 1
Global Const BASS_FILEPOS_END = 2
Global Const BASS_FILEPOS_START = 3
Global Const BASS_FILEPOS_CONNECTED = 4
Global Const BASS_FILEPOS_BUFFER = 5
' BASS_ChannelSetSync types
Global Const BASS_SYNC_POS = 0
Global Const BASS_SYNC_END = 2
Global Const BASS_SYNC_META = 4
Global Const BASS_SYNC_SLIDE = 5
Global Const BASS_SYNC_STALL = 6
Global Const BASS_SYNC_DOWNLOAD = 7
Global Const BASS_SYNC_FREE = 8
Global Const BASS_SYNC_SETPOS = 11
Global Const BASS_SYNC_MUSICPOS = 10
Global Const BASS_SYNC_MUSICINST = 1
Global Const BASS_SYNC_MUSICFX = 3
Global Const BASS_SYNC_OGG_CHANGE = 12
Global Const BASS_SYNC_MIXTIME = &H40000000 ' FLAG: sync at mixtime, else at playtime
Global Const BASS_SYNC_ONETIME = &H80000000 ' FLAG: sync only once, else continuously
' BASS_ChannelIsActive return values
Global Const BASS_ACTIVE_STOPPED = 0
Global Const BASS_ACTIVE_PLAYING = 1
Global Const BASS_ACTIVE_STALLED = 2
Global Const BASS_ACTIVE_PAUSED = 3
' Channel attributes
Global Const BASS_ATTRIB_FREQ = 1
Global Const BASS_ATTRIB_VOL = 2
Global Const BASS_ATTRIB_PAN = 3
Global Const BASS_ATTRIB_EAXMIX = 4
Global Const BASS_ATTRIB_MUSIC_AMPLIFY = &H100
Global Const BASS_ATTRIB_MUSIC_PANSEP = &H101
Global Const BASS_ATTRIB_MUSIC_PSCALER = &H102
Global Const BASS_ATTRIB_MUSIC_BPM = &H103
Global Const BASS_ATTRIB_MUSIC_SPEED = &H104
Global Const BASS_ATTRIB_MUSIC_VOL_GLOBAL = &H105
Global Const BASS_ATTRIB_MUSIC_VOL_CHAN = &H200 ' + channel #
Global Const BASS_ATTRIB_MUSIC_VOL_INST = &H300 ' + instrument #
' BASS_ChannelGetData flags
Global Const BASS_DATA_AVAILABLE = 0 ' query how much data is buffered
Global Const BASS_DATA_FLOAT = &H40000000 ' flag: return floating-point sample data
Global Const BASS_DATA_FFT256 = &H80000000 ' 256 sample FFT
Global Const BASS_DATA_FFT512 = &H80000001 ' 512 FFT
Global Const BASS_DATA_FFT1024 = &H80000002 ' 1024 FFT
Global Const BASS_DATA_FFT2048 = &H80000003 ' 2048 FFT
Global Const BASS_DATA_FFT4096 = &H80000004 ' 4096 FFT
Global Const BASS_DATA_FFT8192 = &H80000005 ' 8192 FFT
Global Const BASS_DATA_FFT_INDIVIDUAL = &H10 ' FFT flag: FFT for each channel, else all combined
Global Const BASS_DATA_FFT_NOWINDOW = &H20 ' FFT flag: no Hanning window
' BASS_ChannelGetTags types : what's returned
Global Const BASS_TAG_ID3 = 0 'ID3v1 tags : TAG_ID3 structure
Global Const BASS_TAG_ID3V2 = 1 'ID3v2 tags : variable length block
Global Const BASS_TAG_OGG = 2 'OGG comments : series of null-terminated UTF-8 strings
Global Const BASS_TAG_HTTP = 3 'HTTP headers : series of null-terminated ANSI strings
Global Const BASS_TAG_ICY = 4 'ICY headers : series of null-terminated ANSI strings
Global Const BASS_TAG_META = 5 'ICY metadata : ANSI string
Global Const BASS_TAG_VENDOR = 9 'OGG encoder : UTF-8 string
Global Const BASS_TAG_LYRICS3 = 10 'Lyric3v2 tag : ASCII string
Global Const BASS_TAG_RIFF_INFO = &H100 'RIFF "INFO" tags : series of null-terminated ANSI strings
Global Const BASS_TAG_RIFF_BEXT = &H101 'RIFF/BWF Broadcast Audio Extension tags : TAG_BEXT structure
Global Const BASS_TAG_MUSIC_NAME = &H10000 'MOD music name : ANSI string
Global Const BASS_TAG_MUSIC_MESSAGE = &H10001 'MOD message : ANSI string
Global Const BASS_TAG_MUSIC_INST = &H10100 '+ instrument #, MOD instrument name : ANSI string
Global Const BASS_TAG_MUSIC_SAMPLE = &H10300 '+ sample #, MOD sample name : ANSI string
' ID3v1 tag structure
Type TAG_ID3
id As String * 3
title As String * 30
artist As String * 30
album As String * 30
year As String * 4
comment As String * 30
genre As Byte
End Type
' BWF Broadcast Audio Extension tag structure
Type TAG_BEXT
Description As String * 256 ' description
Originator As String * 32 ' name of the originator
OriginatorReference As String * 32 ' reference of the originator
OriginationDate As String * 10 ' date of creation (yyyy-mm-dd)
OriginationTime As String * 8 ' time of creation (hh-mm-ss)
TimeReferenceLo As Long ' low 32 bits of first sample count since midnight (little-endian)
TimeReferenceHi As Long ' high 32 bits of first sample count since midnight (little-endian)
Version As Integer ' BWF version (little-endian)
UMID(64) As Byte ' SMPTE UMID
Reserved(190) As Byte
CodingHistory() As String ' history
End Type
' BASS_ChannelGetLength/GetPosition/SetPosition modes
Global Const BASS_POS_BYTE = 0 ' byte position
Global Const BASS_POS_MUSIC_ORDER = 1 ' order.row position, MAKELONG(order,row)
' BASS_RecordSetInput flags
Global Const BASS_INPUT_OFF = &H10000
Global Const BASS_INPUT_ON = &H20000
Global Const BASS_INPUT_TYPE_MASK = &HFF000000
Global Const BASS_INPUT_TYPE_UNDEF = &H0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -