Problem mit Bass.Dll und 3D Visualisierung
Übersicht

CoReBetreff: Problem mit Bass.Dll und 3D Visualisierung |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi, ich habe mich ein wenig mit Bass.dll beschäftigt und wollte gerne eine 3D- Visualisierung machen.
Aber irgendwie ist meine Bank leer, wo er die Daten rausliest. Ich muss dazu satgen das ich nicht grade ein profi bin ![]() Hier den Code: Code: [AUSKLAPPEN] Include "bass.bb" file$="test.mod" Const width=800 Const height=600 Graphics3D width,height,16,2 SetBuffer BackBuffer() Global gentCameraVu Global gentVuPivot Dim aryVuEntity( 4, 4 ) Dim aryVuLevel#( 4, 4 ) gentCameraVu = CreateCamera() CameraClsMode gentCameraVu, False, True gentVuPivot = CreatePivot( gentCameraVu ) For intX = 1 To 4 For intY = 1 To 4 entVu = CreateCube( gentVuPivot ) PositionEntity entVu, (intX-2.5)*2, 0.5, (intY-2.5)*2 ScaleMesh entVu, 0.75, 1, 0.75 EntityColor entVu, 128+intY*32, 255-intX*32, 255-intY*32 EntityAlpha entVu, 0.5 aryVuEntity(intX,intY) = entVu aryVuLevel(intX,intY) = 2 Next Next PositionEntity gentCameraVu, 50, 250, -100 PositionEntity gentVuPivot, 0, -3, 10 PointEntity gentCameraVu, gentVuPivot hWnd = GetActiveWindow() If Not BASS_Init(-1,44100,0,hWnd) Then RuntimeError "BASS.dll can't be initialize!" EndIf If Not BASS_Start() Then BASS_Free() RuntimeError "Can't start it!" EndIf tune = BASS_MusicLoad(0,File$,0,0,BASS_MUSIC_LOOP Or BASS_MUSIC_RAMP Or BASS_MUSIC_FX) BASS_StreamPlay(tune, 0, BASS_SAMPLE_LOOP) BASS_MusicPlay(tune) While Not KeyDown( 1 ) Cls bnkChannelData = BASS_ChannelGetData( gchnMusic, BASS_DATA_FFT2048 ) For intX=1 To 4 For intY=1 To 4 intVu = (intX-1) * 8 + intY-1 entVu = aryVuEntity(intX,intY) fltVuLevel# = PeekFloat(bnkChannelData, intVu*1)*2 aryVuLevel(intX,intY) = aryVuLevel(intX,intY) - 0.05 If fltVuLevel > aryVuLevel(intX,intY) Then aryVuLevel( intX,intY ) = fltVuLevel Else fltVuLevel = aryVuLevel(intX,intY) End If If aryVuLevel(intX,intY)<0.2 Then aryVuLevel(intX,intY) = 0.2 End If ScaleEntity entVu, 1, fltVuLevel, 1 PositionEntity entVu, EntityX(entVu), 0.5+fltVuLevel, EntityZ(entVu) Next Next FreeBank bnkChannelData RenderWorld Flip Wend BASS_Stop : BASS_StreamFree(tune) BASS_MusicFree(tune) : BASS_Free() End Function BASS_ChannelGetData(iHandle,iBufferSize) Local mBankIn,iResult,iBankSize mBankIn = CreateBank(8) PokeInt mBankIn,0,iHandle Select iBufferSize Case BASS_DATA_FFT512 iBankSize = (256 * 4) + 4 Case BASS_DATA_FFT1024 iBankSize = (512 * 4) + 4 Case BASS_DATA_FFT2048 iBankSize = (1024 * 4) + 4 Default iBankSize = iBufferSize End Select PokeInt mBankIn,4,iBufferSize mBankOut = CreateBank(iBankSize) iResult = CallDLL(sBlitzBASSDLLNameA101B6,sBlitzBASSDLLCommandPrefixA101B6 + "BASS_ChannelGetData_Wrap",mBankIn,mBankOut) FreeBank mBankIn Return mBankOut End Function wäre cool, wenn ihr mal drüber schaun könntet. mfg core |
||
IonPainter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
arg, wieso machst du das auch mit calldll? vertex hat da sone spitzen userlib gecodet und da is auch visualisierungsexample dabei...
http://www.blitzbasic.com/arch...opic=21552 |
||
CoRe |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
jo danke, damit hab ich es jetzt auch probiert, ist aber das selbe problem.
entw. er sagt BBbank no exists oder er bleibt leer. ![]() PS. 2D mit einfachen balken gehen bei mir auch. |
||
CoRe |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hier ist der Code mit Vortex's Bass.dll
Jetzt geht es zwar ohne Fehler, aber ich habe das gefühl das die Bank keine Daten liefert... ![]() Code: [AUSKLAPPEN] Include "bass.bb" file$="test.mod" Const width=800 Const height=600 Graphics3D width,height,16,2 SetBuffer BackBuffer() camera=CreateCamera () Global gentCameraVu Global gentVuPivot Dim aryVuEntity( 4, 4 ) Dim aryVuLevel#( 4, 4 ) gentCameraVu = CreateCamera() CameraClsMode gentCameraVu, False, True gentVuPivot = CreatePivot( gentCameraVu ) For intX = 1 To 4 For intY = 1 To 4 entVu = CreateCube( gentVuPivot ) PositionEntity entVu, (intX-2.5)*2, 0.5, (intY-2.5)*2 ScaleMesh entVu, 0.75, 1, 0.75 EntityColor entVu, 128+intY*32, 255-intX*32, 255-intY*32 EntityAlpha entVu, 0.5 aryVuEntity(intX,intY) = entVu aryVuLevel(intX,intY) = 2 Next Next PositionEntity gentCameraVu, 50, 250, -100 PositionEntity gentVuPivot, 0, -3, 10 PointEntity gentCameraVu, gentVuPivot hWnd = GetActiveWindow() If Not BASS_Init(-1,44100,0,hWnd) Then RuntimeError "BASS.dll can't be initialize!" EndIf If Not BASS_Start() Then BASS_Free() RuntimeError "Can't start it!" EndIf tune = BASS_MusicLoad(0,File$,0,0,BASS_MUSIC_LOOP Or BASS_MUSIC_RAMP Or BASS_MUSIC_FX) BASS_StreamPlay(tune, 0, BASS_SAMPLE_LOOP) BASS_MusicPlay(tune) Buffer = CreateBank(512 * 4) Result = BASS_ChannelGetData(Stream,Buffer,BASS_DATA_FFT512) While Not KeyDown( 1 ) BASS_ChannelGetData(Stream,Buffer,BASS_DATA_FFT512) Cls For intX=1 To 4 For intY=1 To 4 intVu = (intX-1) * 8 + intY-1 entVu = aryVuEntity(intX,intY) fltVuLevel# = PeekFloat(buffer, intVu*1)*2 aryVuLevel(intX,intY) = aryVuLevel(intX,intY) - 0.05 If fltVuLevel > aryVuLevel(intX,intY) Then aryVuLevel( intX,intY ) = fltVuLevel Else fltVuLevel = aryVuLevel(intX,intY) End If If aryVuLevel(intX,intY)<0.2 Then aryVuLevel(intX,intY) = 0.2 End If ScaleEntity entVu, 1, fltVuLevel, 1 PositionEntity entVu, EntityX(entVu), 0.5+fltVuLevel, EntityZ(entVu) Next Next RenderWorld Flip Wend BASS_ChannelStop(Channel) BASS_Stop() BASS_Free() End |
||
![]() |
tft |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi.....
weis einer wo ich die Bass Dll 1.45 mit den Beispielen bekomme. Die Liks im BlitzBase Forum sind alle tot. |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
IonPainter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
probier mal das:
Code: [AUSKLAPPEN] Graphics 640,480,32,2 : SetBuffer BackBuffer() AppTitle "Lips-Example" : Include "bass.bb" ;hWnd = GetActiveWindow() If Not BASS_Init(-1,44100,0,hWnd) Then RuntimeError "bass.dll can't be initialize!" EndIf If Not BASS_Start() Then BASS_Free() RuntimeError "Can't start it!" EndIf Stream = BASS_StreamCreateFile(0,"test.mod",0,0,BASS_SAMPLE_LOOP) If Not Stream Then BASS_Free() RuntimeError "Can't load test.mod!" EndIf Channel = BASS_StreamPlay(Stream,0,BASS_SAMPLE_LOOP) If Not Channel Then BASS_StreamFree(Stream) BASS_Free() RuntimeError "Cant't play test.mod!" EndIf While Not KeyDown(1) Cls Level = BASS_ChannelGetLevel(Stream) ; Head Color 255,255,0 : Oval 120,40,400,400,0 ; Lips Color 255,0,0 : Oval 235,330 - (Level / 40000) / 2,170,0 + (Level / 40000),0 ; Eyes Color 0,255,255 Oval 200,150,50,70,0 Oval 390,150,50,70,0 ; brows Color 255,255,255 Line 160,130 - Level / 80000,250,120 - Level / 120000 Line 390,120 - Level / 120000,480,130 - Level / 80000 Flip Wend BASS_Stop : BASS_StreamFree(Stream) [/quote] |
||
CoRe |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Can't load test.mod! | ||
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Streams können ja auch nur MP3, MP2, MP1, OGG oder WAV Dateien sein. Versuchs mal über BASS_MusicLoad. Das Musichandle übergibst Du dann einfach an BASS_ChannelGetData. | ||
vertex.dreamfall.at | GitHub |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group