From 44554c7908f7e2405a249331f00a35703f5939c2 Mon Sep 17 00:00:00 2001 From: jaybinks Date: Thu, 11 Oct 2007 12:02:20 +0000 Subject: Added IAudioPlayback Interface and implementation for BASS. Created "AudioPlayback" Global Singleton, which removed the need for the "Music" Global variable. This was done because global singleton objects are a recognized better "design pattern" achieving the same thing as global variables, but in a nicer way. I will be working to a) separate IAudioPlayback in to separate "Playback" and "Input" Interfaces b) build a FFMpeg class that implements IAudioPlayback git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@504 b956fd51-792f-4845-bead-9b4dfca2ff2c --- Game/Code/Screens/UScreenSing.pas | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'Game/Code/Screens/UScreenSing.pas') diff --git a/Game/Code/Screens/UScreenSing.pas b/Game/Code/Screens/UScreenSing.pas index 9e43f31f..e0c80297 100644 --- a/Game/Code/Screens/UScreenSing.pas +++ b/Game/Code/Screens/UScreenSing.pas @@ -146,7 +146,7 @@ begin //Sound[0].BufferLong Finish; - Music.PlayBack; + AudioPlayback.PlayBack; FadeTo(@ScreenScore); end; @@ -182,7 +182,7 @@ begin Paused := true; // pause Music - Music.Pause; + AudioPlayback.Pause; // pause Video if (AktSong.Video <> '') and FileExists(AktSong.Path + AktSong.Video) then @@ -193,9 +193,9 @@ begin Czas.Teraz := PauseTime; //Position of Notes // Position of Music - Music.MoveTo (PauseTime); + AudioPlayback.MoveTo (PauseTime); // Play Music - Music.Play; + AudioPlayback.Play; // Video if (AktSong.Video <> '') and FileExists(AktSong.Path + AktSong.Video) then @@ -451,14 +451,14 @@ begin // play music (I) - Music.CaptureStart; - Music.MoveTo(AktSong.Start); + AudioPlayback.CaptureStart; + AudioPlayback.MoveTo(AktSong.Start); // Music.Play; // prepare timer (I) // CountSkipTimeSet; Czas.Teraz := AktSong.Start; - Czas.Razem := Music.Length; + Czas.Razem := AudioPlayback.Length; if (AktSong.Finish > 0) then Czas.Razem := AktSong.Finish / 1000; Czas.OldBeat := -1; for P := 0 to High(Player) do @@ -871,7 +871,7 @@ begin end; // play music (II) - Music.Play; + AudioPlayback.Play; // prepare timer (II) CountSkipTimeSet; @@ -1147,7 +1147,7 @@ begin // check for music finish // Log.LogError('Check for music finish: ' + BoolToStr(Music.Finished) + ' ' + FloatToStr(Czas.Teraz*1000) + ' ' + IntToStr(AktSong.Finish)); if ShowFinish then begin - if (not Music.Finished) and ((AktSong.Finish = 0) or (Czas.Teraz*1000 <= AktSong.Finish)) then begin + if (not AudioPlayback.Finished) and ((AktSong.Finish = 0) or (Czas.Teraz*1000 <= AktSong.Finish)) then begin //Pause Mod: if not Paused then Sing(Self); // analyze song @@ -1201,8 +1201,8 @@ end; procedure TScreenSing.Finish; begin - Music.CaptureStop; - Music.Stop; + AudioPlayback.CaptureStop; + AudioPlayback.Stop; if Ini.SavePlayback = 1 then begin Log.BenchmarkStart(0); -- cgit v1.2.3