anchor.diff:  type
     TMusicLib = class
     private
  -    MusicCount:integer;
  -    MusicIndex:integer; //Points to the index in TrackOrder of the current track
  -    MusicTracks:array[1..256]of string;
  -    TrackOrder:array[1..256]of byte; //Each index points to an index of MusicTracks
  +    MusicCount: Integer;
  +    MusicIndex: Integer; //Points to the index in TrackOrder of the current track
  +    MusicTracks: array[1..256]of string;
  +    TrackOrder: array[1..256]of byte; //Each index points to an index of MusicTracks
       //MIDICount,MIDIIndex:integer;
       //MIDITracks:array[1..256]of string;
  -    IsMusicInitialized:boolean;
  -    MusicGain:single;
  -    {$IFDEF USEBASS} fBassStream, fBassOtherStream:cardinal; {$ENDIF}
  +    IsMusicInitialized: Boolean;
  +    MusicGain: Single;
  +    {$IFDEF USEBASS} fBassStream, fBassOtherStream: Cardinal; {$ENDIF}
       {$IFDEF USELIBZPLAY} ZPlayer, ZPlayerOther: ZPlay; {$ENDIF} //I dislike that it's not TZPlay... Guess they don't know Delphi conventions.
  -    fFadeState:TFadeState;
  -    fFadeStarted:cardinal;
  -    fToPlayAfterFade:string;
  +    fFadeState: TFadeState;
  +    fFadeStarted: Cardinal;
  +    fToPlayAfterFade: string;
       fFadedToPlayOther: Boolean;
  -    fOtherVolume:single;
  -    function  PlayMusicFile(FileName:string):boolean;
  -    function  PlayOtherFile(FileName:string):boolean;
  -    procedure ScanMusicTracks(Path:string);
  +    fOtherVolume: Single;
  +    function PlayMusicFile(FileName: string): Boolean;
  +    function PlayOtherFile(FileName: string): Boolean;
  +    procedure ScanMusicTracks(Path: string);
       procedure ShuffleSongs; //should not be seen outside of this class
       procedure UnshuffleSongs;
     public
  -    constructor Create(aVolume:single);
  +    constructor Create(aVolume: Single);
       destructor Destroy; override;
  -    procedure UpdateMusicVolume(Value:single);
  +    procedure UpdateMusicVolume(Value: Single);
       procedure PlayMenuTrack;
       procedure PlayNextTrack;
       procedure PlayPreviousTrack;
  -    function IsMusicEnded:boolean;
  -    function IsOtherEnded:boolean;
  +    function IsMusicEnded: Boolean;
  +    function IsOtherEnded: Boolean;
       procedure StopMusic;
       procedure ToggleMusic(aEnableMusic: Boolean);
       procedure ToggleShuffle(aEnableShuffle: Boolean);
  -    procedure FadeMusic(Sender:TObject);
  -    procedure UnfadeMusic(Sender:TObject);
  -    procedure PauseMusicToPlayFile(aFileName:string; aVolume:single);
  +    procedure FadeMusic(Sender: TObject);
  +    procedure UnfadeMusic(Sender: TObject);
  +    procedure PauseMusicToPlayFile(aFileName: string; aVolume: Single);
       procedure StopPlayingOtherFile;
  -    function GetTrackTitle:string;
  +    function GetTrackTitle: string;
       procedure UpdateStateIdle; //Used for fading
     end;
   
  
positive.code:   ZPlayer.GetPosition(StartTime);
    EndTime.ms := StartTime.ms + FADE_TIME;
    ZPlayer.GetPlayerVolume(Left, Right); //Start fade from the current volume
    ZPlayer.SlideVolume(tfMillisecond, StartTime, Left, Right, tfMillisecond, EndTime, Round(MusicGain*100), Round(MusicGain*100));
    {$ENDIF}
    {$IFDEF USEBASS}
    BASS_ChannelPlay(fBassStream,False); //Music may have been paused due to fade out
    BASS_ChannelSlideAttribute(fBassStream, BASS_ATTRIB_VOL, MusicGain, FADE_TIME);
    {$ENDIF}
  end;
  
negative.code:       if fFadeState = fsFadeIn then fFadeState := fsNone;
      end;
      //Start playback of other file half way through the fade
      if (fFadeState = fsFadeOut) and (GetTickCount - fFadeStarted > FADE_TIME div 2)
      and (fToPlayAfterFade <> '') then
      begin
        fFadedToPlayOther := True;
  