Seite 1 von 1

Grundgerüst, Player mit Bass.dll

Verfasst: 07.06.2009 14:25
von SoS
Da ich z.Z. Probleme mit der Fmodex.dll habe musste Ersatz her.

Es handelt sich nicht um einen fertigen Player sondern dient nur dazu
zu schauen wo man welche Daten herbekommt und wie man sie verarbeitet.

Verarbeitet werden fft,wave und vu-daten,alles in Stereo.Weiterhin ist ein
10 Band Equalizer mit Voreinstellungen eingearbeitet.Alles funktionstüchtig
und man kann sogar Musik abspielen. :mrgreen:

Ihr benötigt die bass.dll und die bass.lib sowie die bass.pbi

http://www.purebasic.fr/english/viewtopic.php?t=31784

Viel Spass

Edit Code ,laut Rückmeldung aus dem russischen Forum ,unter Windows 7 nicht lauffähig.

Re: Grundgerüst, Player mit Bass.dll

Verfasst: 02.04.2010 15:08
von SoS
EAX Steuerung hinzugefügt und code ist nun unter Windows 7 lauffähig.

Code: Alles auswählen

IncludeFile "bass.pbi"

;{- Enumerations / DataSections
;{ Windows
Global Window_0
;}
;{ Gadgets
Global Image_0,Image
Global ProgressBar_1
Global ProgressBar_2
Global ProgressBar_3
Global Button_1
Global Button_2
Global Button_3
Global Button_4
Global Button_5
Global Combo_1
Global Combo_2
Global TrackBar_0
Global TrackBar_1
Global TrackBar_2
Global TrackBar_3
Global TrackBar_4
Global TrackBar_5
Global TrackBar_6
Global TrackBar_7
Global TrackBar_8
Global TrackBar_9
Global TrackBar_10
Global TrackBar_11
Global *vu.long=AllocateMemory(SizeOf(long))
Global  ci.BASS_CHANNELINFO
Global  cp.BASS_DX8_PARAMEQ
Global  cpp.BASS_DX8_REVERB
Global Dim fx(11)
Global Dim fft.f(2048)
Global Dim wav.f(2)
Global System,Channel,Isplaying,Laenge,played
;}
;}

Macro setmix(a,b,c,d,e,f,g,h,i,j)
  v= a/10.0
  BASS_FXGetParameters(fx(0),@cp);
  cp\fGain=v-12.0
  SetGadgetState(TrackBar_1,a)
  BASS_FXSetParameters(fx(0),@cp);
  v= b/10.0
  BASS_FXGetParameters(fx(1),@cp);
  cp\fGain=v-12.0
  SetGadgetState(TrackBar_2,b)
  BASS_FXSetParameters(fx(1),@cp);
  v= c/10.0
  BASS_FXGetParameters(fx(2),@cp);
  cp\fGain=v-12.0
  SetGadgetState(TrackBar_3,c)
  BASS_FXSetParameters(fx(2),@cp);
  v= d/10.0
  BASS_FXGetParameters(fx(3),@cp);
  cp\fGain=v-12.0
  SetGadgetState(TrackBar_4,d)
  BASS_FXSetParameters(fx(3),@cp);
  v= e/10.0
  BASS_FXGetParameters(fx(4),@cp);
  cp\fGain=v-12.0
  SetGadgetState(TrackBar_5,e)
  BASS_FXSetParameters(fx(4),@cp);
  v= f/10.0
  BASS_FXGetParameters(fx(5),@cp);
  cp\fGain=v-12.0
  SetGadgetState(TrackBar_6,f)
  BASS_FXSetParameters(fx(5),@cp);
  v= g/10.0
  BASS_FXGetParameters(fx(6),@cp);
  cp\fGain=v-12.0
  SetGadgetState(TrackBar_7,g)
  BASS_FXSetParameters(fx(6),@cp);
  v= h/10.0
  BASS_FXGetParameters(fx(7),@cp);
  cp\fGain=v-12.0
  SetGadgetState(TrackBar_8,h)
  BASS_FXSetParameters(fx(7),@cp);
  v= i/10.0
  BASS_FXGetParameters(fx(8),@cp);
  cp\fGain=v-12.0
  SetGadgetState(TrackBar_9,i)
  BASS_FXSetParameters(fx(8),@cp);
  v= j/10.0
  BASS_FXGetParameters(fx(9),@cp);
  cp\fGain=v-12.0
  SetGadgetState(TrackBar_10,j)
  BASS_FXSetParameters(fx(9),@cp);
EndMacro
 
Macro mix(a,b)
  If b<=9 
    v=GetGadgetState(a)/10.0
		BASS_FXGetParameters(fx(b),@cp);
		cp\fGain=v-12.0
		BASS_FXSetParameters(fx(b),@cp);
	Else
		v=40-(GetGadgetState(a))/6.0
		BASS_FXGetParameters(fx(11),@cpp);
		cpp\fReverbMix=-0.060*v*v
		BASS_FXSetParameters(fx(11),@cpp);
	EndIf
EndMacro

Procedure Combo_1_Event( Gadget)
  Static a.f,b.f,c.f,d.f,e.f,f.f,g.f,h.f,i.f,j.f,v.f
  If isplaying= #BASS_ACTIVE_PLAYING
    If EventType() =#CBN_SELCHANGE
      Select GetGadgetState(Gadget)
				Case 0 : setmix(120,120,120,120,120,120,72,72,72,57);     classic 
				Case 1 : setmix(120,120,145,156,156,156,145,120,120,120); club 
				Case 2 : setmix(179,164,137,120,120,84,72,72,120,120);    dance   
				Case 3 : setmix(120,120,120,120,120,120,120,120,120,120); Flat   
				Case 4 : setmix(179,179,179,156,120,91,65,53,50,50);      fullbass
				Case 5 : setmix(168,156,120,72,88,120,171,187,194,194);   basstreb 
				Case 6 : setmix(57,57,57,91,137,187,217,217,217,217);     fulltreb
				Case 7 : setmix(149,187,152,103,103,130,159,179,198,210); laptop   
				Case 8 : setmix(187,187,156,156,120,88,88,88,120,120);    LargeHall   
				Case 9 : setmix(88,120,145,152,156,156,145,137,137,133);  live     
				Case 10 : setmix(164,164,120,120,120,120,120,120,164,164);party   
				Case 11 : setmix(107,149,164,168,152,110,103,103,107,107);pop       
				Case 12 : setmix(120,120,114,84,120,164,164,120,120,120); reggae   
				Case 13 : setmix(168,149,84,69,95,145,175,187,187,187);   rock     
				Case 14 : setmix(193,88,91,114,145,156,175,179,187,179);  ska   
				Case 15 : setmix(149,130,110,103,110,145,171,179,187,194);soft     
				Case 16 : setmix(145,145,133,114,91,84,95,114,137,175);   softrock
				Case 17 : setmix(168,156,120,84,88,120,168,179,179,175);  techno   
			EndSelect
		EndIf
	EndIf
EndProcedure

Procedure eax ( Type)
	If isplaying= #BASS_ACTIVE_PLAYING
		Select type 
			Case 0
				BASS_SetEAXParameters(EAX_PRESET_GENERIC )
			Case 1
				BASS_SetEAXParameters(EAX_PRESET_PADDEDCELL)
			Case 2 
				BASS_SetEAXParameters(EAX_PRESET_ROOM )
			Case 3
				BASS_SetEAXParameters(EAX_PRESET_BATHROOM )
			Case 4
				BASS_SetEAXParameters(EAX_PRESET_LIVINGROOM )
			Case 5
				BASS_SetEAXParameters(EAX_PRESET_STONEROOM)
			Case 6
				BASS_SetEAXParameters(EAX_PRESET_AUDITORIUM)
			Case 7
				BASS_SetEAXParameters(EAX_PRESET_CONCERTHALL)
			Case 8
				BASS_SetEAXParameters(EAX_PRESET_CAVE )
			Case 9
				BASS_SetEAXParameters(EAX_PRESET_ARENA)
			Case 10
				BASS_SetEAXParameters(EAX_PRESET_HANGAR)
			Case 11
				BASS_SetEAXParameters(EAX_PRESET_CARPETEDHALLWAY)
			Case 12
				BASS_SetEAXParameters(EAX_PRESET_HALLWAY)
			Case 13
				BASS_SetEAXParameters(EAX_PRESET_STONECORRIDOR)
			Case 14
				BASS_SetEAXParameters(EAX_PRESET_ALLEY)
			Case 15
				BASS_SetEAXParameters(EAX_PRESET_FOREST)
			Case 16
				BASS_SetEAXParameters(EAX_PRESET_CITY)
			Case 17
				BASS_SetEAXParameters(EAX_PRESET_MOUNTAINS)
			Case 18
				BASS_SetEAXParameters(EAX_PRESET_QUARRY)
			Case 19
				BASS_SetEAXParameters(EAX_PRESET_PLAIN)
			Case 20
				BASS_SetEAXParameters(EAX_PRESET_PARKINGLOT)
			Case 21
				BASS_SetEAXParameters(EAX_PRESET_SEWERPIPE)
			Case 22
				BASS_SetEAXParameters(EAX_PRESET_UNDERWATER)
			Case 23
				BASS_SetEAXParameters(EAX_PRESET_DRUGGED)
			Case 24
				BASS_SetEAXParameters(EAX_PRESET_DIZZY)
			Case 25
				BASS_SetEAXParameters(EAX_PRESET_PSYCHOTIC)
		EndSelect 
	EndIf
EndProcedure
 
Procedure Combo_2_Event(Gadget)      
	If isplaying= #BASS_ACTIVE_PLAYING
		If EventType() =#CBN_SELCHANGE 
			eax (GetGadgetState(Gadget))
		EndIf
	EndIf
EndProcedure
 
Procedure UpdateFX (Gadget)
  Static v.f
  Select Gadget
		Case TrackBar_1
      mix(TrackBar_1,0)
		Case TrackBar_2
      mix(TrackBar_2,1)
		Case TrackBar_3
      mix(TrackBar_3,2)
		Case TrackBar_4
      mix(TrackBar_4,3)
		Case TrackBar_5
      mix(TrackBar_5,4)
		Case TrackBar_6
      mix(TrackBar_6,5)
		Case TrackBar_7
      mix(TrackBar_7,6)
		Case TrackBar_8
      mix(TrackBar_8,7)
		Case TrackBar_9
      mix(TrackBar_9,8)
		Case TrackBar_10
      mix(TrackBar_10,9)
		Case TrackBar_11
      mix(TrackBar_11,11)
	EndSelect
EndProcedure
 
Procedure CFX()
  fx(0)=BASS_ChannelSetFX(Channel,#BASS_FX_DX8_PARAMEQ,0)
  fx(1)=BASS_ChannelSetFX(Channel,#BASS_FX_DX8_PARAMEQ,0)
  fx(2)=BASS_ChannelSetFX(Channel,#BASS_FX_DX8_PARAMEQ,0)
  fx(3)=BASS_ChannelSetFX(Channel,#BASS_FX_DX8_PARAMEQ,0)
  fx(4)=BASS_ChannelSetFX(Channel,#BASS_FX_DX8_PARAMEQ,0)
  fx(5)=BASS_ChannelSetFX(Channel,#BASS_FX_DX8_PARAMEQ,0)
  fx(6)=BASS_ChannelSetFX(Channel,#BASS_FX_DX8_PARAMEQ,0)
  fx(7)=BASS_ChannelSetFX(Channel,#BASS_FX_DX8_PARAMEQ,0)
  fx(8)=BASS_ChannelSetFX(Channel,#BASS_FX_DX8_PARAMEQ,0)
  fx(9)=BASS_ChannelSetFX(Channel,#BASS_FX_DX8_PARAMEQ,0)
  fx(11)=BASS_ChannelSetFX(channel,#BASS_FX_DX8_REVERB,0)
  cp\fBandwidth=18;
  cp\fCenter=60;                        60 Hz
  BASS_FXSetParameters(fx(0),@cp);
  mix(TrackBar_1,0)
  cp\fCenter=170
  BASS_FXSetParameters(fx(1),@cp);
  mix(TrackBar_2,1)
  cp\fCenter=310
  BASS_FXSetParameters(fx(2),@cp);
  mix(TrackBar_3,2)
  cp\fCenter=600
  BASS_FXSetParameters(fx(3),@cp);
  mix(TrackBar_4,3)
  cp\fCenter=1000
  BASS_FXSetParameters(fx(4),@cp);
  mix(TrackBar_5,4)
  cp\fCenter=3000
  BASS_FXSetParameters(fx(5),@cp);
  mix(TrackBar_6,5)
  cp\fCenter=6000
  BASS_FXSetParameters(fx(6),@cp);
  mix(TrackBar_7,6)
  cp\fCenter=12000
  BASS_FXSetParameters(fx(7),@cp);
  mix(TrackBar_8,7)
  cp\fCenter=14000
  BASS_FXSetParameters(fx(8),@cp);
  mix(TrackBar_9,8)
  cp\fCenter=16000;                    bis 16 KHz
  BASS_FXSetParameters(fx(9),@cp);
  mix(TrackBar_10,9)
  mix(TrackBar_11,11)
EndProcedure

Procedure bassinit()
  system=BASS_Init(-1,44100,#BASS_DEVICE_3D,WindowID(Window_0),#Null) ;                #BASS_DEVICE_3D  for EAX
  If system=#False : MessageRequester("Error", "Probleme mit Bass_init",0):End:EndIf
EndProcedure

Procedure OpenWindow_Window_0()
  Window_0 = OpenWindow(#PB_Any, 417, 274, 396, 400, "Window_0", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
  If Window_0
    Image=CreateImage(#PB_Any, 395, 175 ,24 )
    Image_0 = ImageGadget(#PB_Any, 0, 0, 395, 175, ImageID(Image) , #PB_Image_Border)
    ProgressBar_1 = ProgressBarGadget(#PB_Any, 5, 180, 185, 10, 0, 100, #PB_ProgressBar_Smooth)
    TrackBar_0 = TrackBarGadget(#PB_Any, 5, 195, 180, 25, 0, 100)
    SetGadgetState(TrackBar_0,60)
    ProgressBar_2 = ProgressBarGadget(#PB_Any, 200, 180, 185, 15, 0, 32770, #PB_ProgressBar_Smooth)
    ProgressBar_3 = ProgressBarGadget(#PB_Any, 200, 200, 185, 15, 0, 32770, #PB_ProgressBar_Smooth)
    Button_1 = ButtonGadget(#PB_Any, 5, 220, 50, 20, "Prev")
    Button_2 = ButtonGadget(#PB_Any, 60, 220, 50, 20, "Play")
    Button_3 = ButtonGadget(#PB_Any, 115, 220, 50, 20, "Pause")
    Button_4 = ButtonGadget(#PB_Any, 170, 220, 50, 20, "Next")
    Button_5 = ButtonGadget(#PB_Any, 225, 220, 50, 20, "Load")
    Combo_1 = ComboBoxGadget(#PB_Any, 300, 220, 85, 20)
    AddGadgetItem(Combo_1, -1, "Classic")
    AddGadgetItem(Combo_1, -1, "Club")
    AddGadgetItem(Combo_1, -1, "Dance")
    AddGadgetItem(Combo_1, -1, "Flat")
    AddGadgetItem(Combo_1, -1, "FullBass")
    AddGadgetItem(Combo_1, -1, "Bass&Treble")
    AddGadgetItem(Combo_1, -1, "Fulltreble")
    AddGadgetItem(Combo_1, -1, "Laptop")
    AddGadgetItem(Combo_1, -1, "LargeHall")                 
    AddGadgetItem(Combo_1, -1, "Live")         
    AddGadgetItem(Combo_1, -1, "Party")
    AddGadgetItem(Combo_1, -1, "Pop")
    AddGadgetItem(Combo_1, -1, "Reggae")
    AddGadgetItem(Combo_1, -1, "Rock")
    AddGadgetItem(Combo_1, -1, "Ska")
    AddGadgetItem(Combo_1, -1, "Soft")
    AddGadgetItem(Combo_1, -1, "Softrock")
    AddGadgetItem(Combo_1, -1, "Techno")
    SetGadgetState(Combo_1,2)
		
    TrackBar_1 = TrackBarGadget(#PB_Any, 5, 250, 25, 145, 0, 240, #PB_TrackBar_Vertical)
    TrackBar_2 = TrackBarGadget(#PB_Any, 25, 250, 25, 145, 0, 240, #PB_TrackBar_Vertical)
    TrackBar_3 = TrackBarGadget(#PB_Any, 45, 250, 25, 145, 0, 240, #PB_TrackBar_Vertical)
    TrackBar_4 = TrackBarGadget(#PB_Any, 65, 250, 25, 145, 0, 240, #PB_TrackBar_Vertical)
    TrackBar_5 = TrackBarGadget(#PB_Any, 85, 250, 25, 145, 0, 240, #PB_TrackBar_Vertical)
    TrackBar_6 = TrackBarGadget(#PB_Any, 105, 250, 25, 145, 0, 240, #PB_TrackBar_Vertical)
    TrackBar_7 = TrackBarGadget(#PB_Any, 125, 250, 25, 145, 0, 240, #PB_TrackBar_Vertical)
    TrackBar_8 = TrackBarGadget(#PB_Any, 145, 250, 25, 145, 0, 240, #PB_TrackBar_Vertical)
    TrackBar_9 = TrackBarGadget(#PB_Any, 165, 250, 25, 145, 0, 240, #PB_TrackBar_Vertical)
    TrackBar_10 = TrackBarGadget(#PB_Any, 185, 250, 25, 145, 0, 240, #PB_TrackBar_Vertical)
    TrackBar_11 = TrackBarGadget(#PB_Any, 260, 245, 25, 145, 0, 240, #PB_TrackBar_Vertical)
    ;werte werden wie folgt berechnet  z.b. 120
    ;v = ((trackbarmax 240-120)/10)-12 ergibt 0.0 db
    ;oder z.b. 72
    ;v = ((trackbarmax 240-72)/10)-12 ergibt 4.8 db
    ;Default "Club"
    SetGadgetState(TrackBar_1,179)
    SetGadgetState(TrackBar_2,164)
    SetGadgetState(TrackBar_3,137)
    SetGadgetState(TrackBar_4,120)
    SetGadgetState(TrackBar_5,120)
    SetGadgetState(TrackBar_6,84)
    SetGadgetState(TrackBar_7,72)
    SetGadgetState(TrackBar_8,72)
    SetGadgetState(TrackBar_9,120)
    SetGadgetState(TrackBar_10,120)
    SetGadgetState(TrackBar_11,120)
		
		Combo_2 = ComboBoxGadget(#PB_Any, 300, 250, 85, 20)
		
		AddGadgetItem(Combo_2, -1, "GENERIC")
		AddGadgetItem(Combo_2, -1, "PADDEDCELL")
		AddGadgetItem(Combo_2, -1, "ROOM")
		AddGadgetItem(Combo_2, -1, "BATHROOM")
		AddGadgetItem(Combo_2, -1, "LIVINGROOM")
		AddGadgetItem(Combo_2, -1, "STONEROOM")
		AddGadgetItem(Combo_2, -1, "AUDITORIUM")
		AddGadgetItem(Combo_2, -1, "CONCERTHALL")
		AddGadgetItem(Combo_2, -1, "CAVE")                  
		AddGadgetItem(Combo_2, -1, "ARENA")         
		AddGadgetItem(Combo_2, -1, "HANGAR")       
		AddGadgetItem(Combo_2, -1, "CARPETEDHALLWAY")        
		AddGadgetItem(Combo_2, -1, "HALLWAY")                
		AddGadgetItem(Combo_2, -1, "STONECORRIDOR")          
		AddGadgetItem(Combo_2, -1, "ALLEY")                  
		AddGadgetItem(Combo_2, -1, "FOREST")                 
		AddGadgetItem(Combo_2, -1, "CITY")                   
		AddGadgetItem(Combo_2, -1, "MOUNTAINS") 
		AddGadgetItem(Combo_2, -1, "QUARRY")       
		AddGadgetItem(Combo_2, -1, "PLAIN")        
		AddGadgetItem(Combo_2, -1, "PARKINGLOT")                
		AddGadgetItem(Combo_2, -1, "SEWERPIPE")          
		AddGadgetItem(Combo_2, -1, "UNDERWATER")                  
		AddGadgetItem(Combo_2, -1, "DRUGGED")                 
		AddGadgetItem(Combo_2, -1, "DIZZY")                   
		AddGadgetItem(Combo_2, -1, "PSYCHOTIC")    
		SetGadgetState(Combo_2,0)
	Else
    End
	EndIf
EndProcedure



Procedure Draw()
	If isplaying= #BASS_ACTIVE_PLAYING
    w.l=ImageWidth(image)
		w2.l=w/2
		h.l=ImageHeight(image)
		h2.l=h/2
		BASS_ChannelGetInfo(Channel,@ci)
		
    ReDim wav(ci\chans*w2+1)
    BASS_ChannelGetData(Channel,@wav(),(ci\chans*w2*SizeOf(float))|#BASS_DATA_FLOAT)
    BASS_ChannelGetData(Channel, @fft(), #BASS_DATA_FFT2048| #BASS_DATA_FFT_INDIVIDUAL)
		
    played=BASS_ChannelBytes2Seconds(channel, BASS_ChannelGetPosition(channel, #BASS_POS_BYTE))
    PokeL(*vu,BASS_ChannelGetLevel(Channel))
    SetGadgetState(ProgressBar_3,HIWORD(PeekL(*vu)))
    SetGadgetState(ProgressBar_2,LOWORD(PeekL(*vu)))
    SetGadgetState(ProgressBar_1,(played*100)/Laenge)
    StartDrawing(ImageOutput(image))
      Box(0,0,w,h,0)
      For x=1 To w2
        LineXY(w2-x,h,w2-x,h-(h- Pow(0.0000001, fft(x*2)) * h),#Red-x)
        LineXY(w2+x,h,w2+x,h-(h- Pow(0.0000001, fft(x*2+1)) * h),#Red-x)
        Plot(w2-x,h2+wav(x*ci\chans)*h2,#Yellow)
        Plot(w2+x,h2+wav(x*ci\chans+1)*h2,#Yellow)
			Next
		StopDrawing()
		SendMessage_(GadgetID(Image_0),#STM_SETIMAGE,#IMAGE_BITMAP,ImageID(Image))
		; setgadgetstate(Image_0,ImageID(Image))
	Else
    isplaying=#False
	EndIf
EndProcedure

OpenWindow_Window_0()
bassinit()
AddWindowTimer( Window_0, 1,25)

;{- Event loop

Repeat
	Event  = WaitWindowEvent(40)
	Gadget = EventGadget()
	Type   = EventType()
	Window = EventWindow() 
	Timer = EventTimer()
	
	isplaying=BASS_ChannelIsActive(Channel)
	
	
  Select Event
		Case #PB_Event_Gadget
      Select Gadget
				Case Button_1
				Case Button_2
          If Channel
            If isplaying
              If BASS_MusicFree( Channel)<>#True
                BASS_StreamFree(Channel)
							EndIf
              Channel=#Null
              isplaying=#Null
						EndIf
					EndIf
          If file.s<>""
            Select LCase(GetExtensionPart(file.s))
							Case "mp3","mp2","mp1","ogg","aif","wav"
                Channel = BASS_StreamCreateFile(#BASSFALSE, @file, 0, 0, #BASS_SAMPLE_MONO|#BASS_SAMPLE_3D|#BASS_SAMPLE_FX) ; #BASS_STREAM_PRESCAN um korrekte Spieldauer zu ermitteln
                If Channel
                  Laenge = BASS_ChannelBytes2Seconds(channel, BASS_ChannelGetLength(channel, #BASS_POS_BYTE))
								EndIf
							Case "it","xm","mod","s3m","mo3","mtm","umx"
                Channel = BASS_MusicLoad(#BASSFALSE, @file, 0, 0, #BASS_SAMPLE_MONO|#BASS_SAMPLE_3D|#BASS_STREAM_PRESCAN|#BASS_SAMPLE_FX  , 0)
                If Channel
                  Laenge = BASS_ChannelBytes2Seconds(channel, BASS_ChannelGetLength(channel, #BASS_POS_BYTE))
								EndIf
						EndSelect
						If Channel = 0
							MessageRequester("Error", "mist,geht nich",0)
							End
						Else
							BASS_ChannelPlay(channel,0)
              volume.f=GetGadgetState(TrackBar_0)/100
              BASS_ChannelSetAttribute( channel,#BASS_ATTRIB_VOL,volume)
							CFX()
						EndIf
					EndIf         
				Case Button_3
          isplaying=BASS_ChannelIsActive(Channel)
          If isplaying= #BASS_ACTIVE_PLAYING
            BASS_ChannelPause(Channel)
					Else
            BASS_ChannelPlay(Channel,0)
					EndIf
				Case Button_4
				Case Button_5
          file.s=OpenFileRequester("Choose music","","playable files|*.mo3;*.xm;*.mod;*.s3m;*.it;*.mtm;*.umx;*.mp3;*.mp2;*.mp1;*.ogg;*.wav;*.aif|All files|*.*",0)
				Case Combo_1
          Combo_1_Event( Gadget)
				Case Combo_2
          Combo_2_Event( Gadget)
				Case TrackBar_0
          If channel
            volume.f=GetGadgetState(TrackBar_0)/100
            BASS_ChannelSetAttribute( channel,#BASS_ATTRIB_VOL,volume); nur lautstärke des Programms änden
					EndIf
				Case TrackBar_1,TrackBar_2,TrackBar_3,TrackBar_4,TrackBar_5,TrackBar_6,TrackBar_7,TrackBar_8,TrackBar_9,TrackBar_10,TrackBar_11
          UpdateFX (Gadget)
			EndSelect
		Case #PB_Event_Timer 
			If timer = 1
				Draw()
			EndIf
      ; ////////////////////////
		Case #PB_Event_CloseWindow
      Select Window
				Case Window_0
          CloseWindow(Window_0)
          Window_0 = 0
          Break
			EndSelect
		Default
			;
	EndSelect
ForEver
;
;}


Re: Grundgerüst, Player mit Bass.dll

Verfasst: 10.11.2011 09:02
von Rothammel
wo finde ich bass.pbi?
http://www.un4seen.com/ bei den apis