diff options
Diffstat (limited to 'medley_new/src/base')
-rw-r--r-- | medley_new/src/base/UDraw.pas | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/medley_new/src/base/UDraw.pas b/medley_new/src/base/UDraw.pas index 5bec3eab..3ee2f9e7 100644 --- a/medley_new/src/base/UDraw.pas +++ b/medley_new/src/base/UDraw.pas @@ -93,6 +93,7 @@ uses UMusic, URecord, UScreenSing, + USong, UTexture; procedure SingDrawBackground; @@ -1115,6 +1116,8 @@ var width, height: real; LyricsProgress: real; CurLyricsTime: real; + TotalTime: real; + begin x := Theme.Sing.StaticTimeProgress.x; y := Theme.Sing.StaticTimeProgress.y; @@ -1135,11 +1138,19 @@ begin glTexCoord2f(0, 0); glVertex2f(x, y); - CurLyricsTime := LyricsState.GetCurrentTime(); + if (ScreenSong.Mode = smMedley) then + begin + CurLyricsTime := LyricsState.GetCurrentTime() - ScreenSing.MedleyStart; + TotalTime := ScreenSing.MedleyEnd - ScreenSing.MedleyStart; + end else + begin + CurLyricsTime := LyricsState.GetCurrentTime(); + TotalTime := LyricsState.TotalTime; + end; if (CurLyricsTime > 0) and (LyricsState.TotalTime > 0) then begin - LyricsProgress := CurLyricsTime / LyricsState.TotalTime; + LyricsProgress := CurLyricsTime / TotalTime; // avoid that the bar "overflows" for inaccurate song lengths if (LyricsProgress > 1.0) then LyricsProgress := 1.0; |