Hi all :) I was wondering if someone could show me an example of how to get the EXACT bitrates of both a file & stream in all music files using ONLY Blitz bass commands.
Thanks!
Thanks!
infobank = CreateBank (2048) ; make shure that the bank is big enought) BASS_ChannelGetInfo (mychannel,infobank)
;BassInfo Global FBassHandle Global DropPath Global DropFile Global infobank Graphics3D 800, 600, 0, 2 ;Includes Include "bass.bb" dp_RequestFiles("*.mp3|*.mp3;*.mp3") DropPath=dp_RequestedPath() DropQuant=dp_RequestedFileCount() ;Delete old files If DragDrop=1 Then If DropQuant>0 Then TrackPos=0 TrackAnz=0 BASS_ChannelStop(BassHandle) End If End If For DropCount=0 To DropQuant-1 DropFile=dp_RequestedPath()+""+dp_RequestedFile(DropFile) Next FBassHandle=BASS_StreamCreateFile(0,DropFile,0,0,BASS_MUSIC_FLOAT) BASS_ChannelPlay(FBassHandle,BASS_TRUE) infobank = CreateBank (4096) ; make shure that the bank is big enought) BASS_ChannelGetInfo(FBassHandle,infobank) While Not KeyHit(1) If DropFile<>"" Text 10, 10, "Song:"+DropFile Text 10, 30, "infobank:"+infobank Else Text 10, 10, "Song not loaded into memory" EndIf UpdateWorld RenderWorld Flip Wend End
Local infobank = CreateBank (32) ; DON'T RANDOMLY GUESS THE SIZE OF THE BANK. RESEARCH THE CALL AND FIND OUT HOW BIG THE DATA IS ; GOING TO BE. IN THIS CASE, IT APPEARS TO BE 8 INTEGERS. EACH INTEGER IS 4 BYTES, AND THAT'S 32 BYTES TOTAL. BASS_ChannelGetInfo(FBassHandle,infobank) Global Frequency%=PeekInt(infobank,0) Global Channels%=PeekInt(infobank,4) Global Flags%=PeekInt(infobank,8) Global CType=PeekInt(infobank,12) Global OriginalRes%=PeekInt(infobank,16) Global Plugin%=PeekInt(infobank,20) Global Sample%=PeekInt(infobank,24) Global FileNameAddress%=PeekInt(infobank,28)
;BassInfo Global FBassHandle Global DropPath Global DropFile$ Graphics3D 800, 600, 0, 2 Local infobank = CreateBank (32) ; DON'T RANDOMLY GUESS THE SIZE OF THE BANK. RESEARCH THE CALL AND FIND OUT HOW BIG THE DATA IS ; GOING TO BE. IN THIS CASE, IT APPEARS TO BE 8 INTEGERS. EACH INTEGER IS 4 BYTES, AND THAT'S 32 BYTES TOTAL. Global Frequency%=PeekInt(infobank,0) Global Channels%=PeekInt(infobank,4) Global Flags%=PeekInt(infobank,8) Global CType=PeekInt(infobank,12) Global OriginalRes%=PeekInt(infobank,16) Global Plugin%=PeekInt(infobank,20) Global Sample%=PeekInt(infobank,24) Global FileNameAddress%=PeekInt(infobank,28) Local HWND=SystemProperty("AppHWND") dp_Init(HWND) ;Includes Include "bass.bb" If BASS_Init(-1,44100,0,0,BASS_NULL)<>1 Then RuntimeError "Sound not ready":End dp_AcceptFiles(1) dp_RequestFiles("*.mp3|*.mp3;*.mp3") DropPath=dp_RequestedPath() DropQuant=dp_RequestedFileCount() ;Delete old files If DragDrop=1 Then If DropQuant>0 Then TrackPos=0 TrackAnz=0 BASS_ChannelStop(FBassHandle) End If End If For DropCount=0 To DropQuant-1 DropFile$=dp_RequestedPath()+""+dp_RequestedFile(DropFile$) Next FBassHandle=BASS_StreamCreateFile(0,DropFile$,0,0,BASS_MUSIC_FLOAT) BASS_ChannelGetInfo(FBassHandle,infobank) BASS_ChannelPlay(FBassHandle,BASS_TRUE) While Not KeyHit(1) If DropFile<>"" Text 10, 10, "Song:"+DropFile Text 10, 30, "infobank:"+Frequency% Else Text 10, 10, "Song not loaded into memory" EndIf UpdateWorld RenderWorld Flip Wend
typedef struct { DWORD freq; DWORD chans; DWORD flags; DWORD ctype; DWORD origres; HPLUGIN plugin; } BASS_CHANNELINFO;