Einzelnen Beitrag anzeigen

Wishmaster

Registriert seit: 14. Sep 2002
Ort: Steinbach, MB, Canada
301 Beiträge
 
Delphi XE2 Architect
 
#12

Re: Bass Klasse -> Kleiner Fehler

  Alt 24. Sep 2006, 00:08
Hi

Sorry das ich mich nicht schon früher gemeldet habe!

Bei mir funzt es wie es soll!

Was sagt BASS_ErrorGetCode();?

Feileicht kannst du ja einwenig Code zeigen?


Das ist ein kleiner ausschnitt aus meinem Code (Bass.dll)!

Delphi-Quellcode:
BASS_StreamFree(Channel_Song);
ReverbHandle := 0
Channel_Song:= (BASS_StreamCreateFile(FALSE, PChar(FileName), 0, 0, Sound_Flags));



Private
  Saved8087CW : WORD; // FPU exceptions
  ReverbHandle : HFX;
  ReverbParam : BASS_FXREVERB;
  FReverbLevel : WORD;

Procedure TAudioEngine.Set_SoundEffect(Value : TSoundEffects);
begin
  FSoundEffects:= Value;

{ Save the current FPU state and then disable FPU exceptions }
  Saved8087CW := Default8087CW;
{ Disable all fpu exceptions }
  Set8087CW($133f);


    if fxReverb in FSoundEffects then
     begin
      if ReverbHandle = 0 then
         ReverbHandle:= BASS_ChannelSetFX(Channel_Song , BASS_FX_REVERB, NumEQBands+2);

      if ReverbHandle <> 0 then
       begin
         if BASS_FXGetParameters(ReverbHandle, @ReverbParam) then
         ReverbParam.fInGain := 0.0;
         ReverbParam.fReverbMix := FReverbLevel * 0.5 - 16.0;
         ReverbParam.fReverbTime := 1000.0;
         ReverbParam.fHighFreqRTRatio := 0.1;
         BASS_FXSetParameters(ReverbHandle, @ReverbParam);
        end;
       end
     else
      begin
       if ReverbHandle <> 0 then
       if BASS_ChannelRemoveFX(Channel_Song, ReverbHandle) then
        ReverbHandle:= 0;
     end;


  Set8087CW(Saved8087CW); { Restore to original status }
end;



{-------------------------------- Reverb --------------------------------------}
// Min = 0
// DefPos = 0
// Max = 30
// def enablr = false

procedure TAudioEngine.Set_ReverbLevel(Value : WORD); // Reverb
begin
  if Value < 0 then
     FReverbLevel:= 0
   else
    FReverbLevel := Value;

 if fxReverb in FSoundEffects then
  begin
 if ReverbHandle <> 0 then
  begin
   if BASS_FXGetParameters(ReverbHandle, @ReverbParam) then
    begin
     ReverbParam.fReverbMix := FReverbLevel * 0.5 - 16.0;
     BASS_FXSetParameters(ReverbHandle, @ReverbParam)
   end;
  end;
 end;
end;
  Mit Zitat antworten Zitat