diff options
Diffstat (limited to 'Game')
-rw-r--r-- | Game/Code/Classes/UDraw.pas | 90 | ||||
-rw-r--r-- | Game/Code/Classes/UFiles.pas | 2 | ||||
-rw-r--r-- | Game/Code/Classes/UMain.pas | 132 | ||||
-rw-r--r-- | Game/Code/Classes/UMusic.pas | 60 | ||||
-rw-r--r-- | Game/Code/Classes/USong.pas | 6 | ||||
-rw-r--r-- | Game/Code/Screens/UScreenEditSub.pas | 252 | ||||
-rw-r--r-- | Game/Code/Screens/UScreenSing.pas | 24 | ||||
-rw-r--r-- | Game/Code/Screens/UScreenSingModi.pas | 12 |
8 files changed, 289 insertions, 289 deletions
diff --git a/Game/Code/Classes/UDraw.pas b/Game/Code/Classes/UDraw.pas index 8c4f53f3..f64f0389 100644 --- a/Game/Code/Classes/UDraw.pas +++ b/Game/Code/Classes/UDraw.pas @@ -202,16 +202,16 @@ var Pet: integer; TempR: real; begin - TempR := (Right-Left) / (Lines[NrCzesci].Line[Lines[NrCzesci].Akt].End_ - Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote); + TempR := (Right-Left) / (Lines[NrCzesci].Line[Lines[NrCzesci].Current].End_ - Lines[NrCzesci].Line[Lines[NrCzesci].Current].StartNote); glEnable(GL_BLEND); glBegin(GL_LINES); - for Pet := Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote to Lines[NrCzesci].Line[Lines[NrCzesci].Akt].End_ do begin + for Pet := Lines[NrCzesci].Line[Lines[NrCzesci].Current].StartNote to Lines[NrCzesci].Line[Lines[NrCzesci].Current].End_ do begin if (Pet mod Lines[NrCzesci].Resolution) = Lines[NrCzesci].NotesGAP then glColor4f(0, 0, 0, 1) else glColor4f(0, 0, 0, 0.3); - glVertex2f(Left + TempR * (Pet - Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote), Top); - glVertex2f(Left + TempR * (Pet - Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote), Top + 135); + glVertex2f(Left + TempR * (Pet - Lines[NrCzesci].Line[Lines[NrCzesci].Current].StartNote), Top); + glVertex2f(Left + TempR * (Pet - Lines[NrCzesci].Line[Lines[NrCzesci].Current].StartNote), Top + 135); end; glEnd; glDisable(GL_BLEND); @@ -248,7 +248,7 @@ begin glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); lTmpA := (Right-Left); - lTmpB := (Lines[NrCzesci].Line[Lines[NrCzesci].Akt].End_ - Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote); + lTmpB := (Lines[NrCzesci].Line[Lines[NrCzesci].Current].End_ - Lines[NrCzesci].Line[Lines[NrCzesci].Current].StartNote); {$IFDEF LAZARUS} (* @@ -269,7 +269,7 @@ begin end; - with Lines[NrCzesci].Line[Lines[NrCzesci].Akt] do begin + with Lines[NrCzesci].Line[Lines[NrCzesci].Current] do begin for Pet := 0 to HighNote do begin with Note[Pet] do begin if not FreeStyle then begin @@ -287,7 +287,7 @@ begin glColor4f(1, 1, 1, 1); // We set alpha to 1, cause we can control the transparency through the png itself // Czesci == teil, element == piece, element | koniec == end / ending // lewa czesc - left part - Rec.Left := (Start-Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote) * TempR + Left + 0.5 + 10*ScreenX; + Rec.Left := (Start-Lines[NrCzesci].Line[Lines[NrCzesci].Current].StartNote) * TempR + Left + 0.5 + 10*ScreenX; Rec.Right := Rec.Left + NotesW; Rec.Top := Top - (Tone-BaseNote)*Space/2 - NotesH; Rec.Bottom := Rec.Top + 2 * NotesH; @@ -305,7 +305,7 @@ begin // srodkowa czesc - middle part Rec.Left := Rec.Right; - Rec.Right := (Start+Lenght-Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote) * TempR + Left - NotesW - 0.5 + 10*ScreenX; // Dlugosc == lenght + Rec.Right := (Start+Lenght-Lines[NrCzesci].Line[Lines[NrCzesci].Current].StartNote) * TempR + Left - NotesW - 0.5 + 10*ScreenX; // Dlugosc == lenght glBindTexture(GL_TEXTURE_2D, Tex_plain_Mid[PlayerNumber].TexNum); glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT ); @@ -373,13 +373,13 @@ var //// if Player[NrGracza].IlNut > 0 then begin - TempR := W / (Lines[0].Line[Lines[0].Akt].End_ - Lines[0].Line[Lines[0].Akt].StartNote); - for N := 0 to Player[NrGracza].HighNut do + TempR := W / (Lines[0].Line[Lines[0].Current].End_ - Lines[0].Line[Lines[0].Current].StartNote); + for N := 0 to Player[NrGracza].HighNote do begin with Player[NrGracza].Note[N] do begin // Left part of note - Rec.Left := X + (Start-Lines[0].Line[Lines[0].Akt].StartNote) * TempR + 0.5 + 10*ScreenX; + Rec.Left := X + (Start-Lines[0].Line[Lines[0].Current].StartNote) * TempR + 0.5 + 10*ScreenX; Rec.Right := Rec.Left + NotesW; // Draw it in half size, if not hit @@ -392,7 +392,7 @@ var NotesH2 := int(NotesH * 0.65); end; - Rec.Top := Y - (Tone-Lines[0].Line[Lines[0].Akt].BaseNote)*Space/2 - NotesH2; + Rec.Top := Y - (Tone-Lines[0].Line[Lines[0].Current].BaseNote)*Space/2 - NotesH2; Rec.Bottom := Rec.Top + 2 *NotesH2; // draw the left part @@ -407,11 +407,11 @@ var // Middle part of the note Rec.Left := Rec.Right; - Rec.Right := X + (Start+Lenght-Lines[0].Line[Lines[0].Akt].StartNote) * TempR - NotesW - 0.5 + 10*ScreenX; + Rec.Right := X + (Start+Lenght-Lines[0].Line[Lines[0].Current].StartNote) * TempR - NotesW - 0.5 + 10*ScreenX; // (nowe) - dunno - if (Start+Lenght-1 = Czas.AktBeatD) then - Rec.Right := Rec.Right - (1-Frac(Czas.MidBeatD)) * TempR; + if (Start+Lenght-1 = LineState.CurrentBeatD) then + Rec.Right := Rec.Right - (1-Frac(LineState.MidBeatD)) * TempR; // the left note is more right than the right note itself, sounds weird - so we fix that xD if Rec.Right <= Rec.Left then Rec.Right := Rec.Left; @@ -442,8 +442,8 @@ var // Perfect note is stored if Perfect and (Ini.EffectSing=1) then begin - A := 1 - 2*(Czas.Teraz - GetTimeFromBeat(Start+Lenght)); - if not (Start+Lenght-1 = Czas.AktBeatD) then + A := 1 - 2*(LineState.CurrentTime - GetTimeFromBeat(Start+Lenght)); + if not (Start+Lenght-1 = LineState.CurrentBeatD) then //Star animation counter //inc(Starfr); @@ -484,7 +484,7 @@ begin lTmpA := (Right-Left); - lTmpB := (Lines[NrCzesci].Line[Lines[NrCzesci].Akt].End_ - Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote); + lTmpB := (Lines[NrCzesci].Line[Lines[NrCzesci].Current].End_ - Lines[NrCzesci].Line[Lines[NrCzesci].Current].StartNote); if ( lTmpA > 0 ) AND @@ -497,7 +497,7 @@ begin TempR := 0; end; - with Lines[NrCzesci].Line[Lines[NrCzesci].Akt] do begin + with Lines[NrCzesci].Line[Lines[NrCzesci].Current] do begin for Pet := 0 to HighNote do begin with Note[Pet] do begin if not FreeStyle then begin @@ -506,10 +506,10 @@ begin W := NotesW * 2 + 2; H := NotesH * 1.5 + 3.5; - X2 := (Start-Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote) * TempR + Left + 0.5 + 10*ScreenX + 4; // wciecie + X2 := (Start-Lines[NrCzesci].Line[Lines[NrCzesci].Current].StartNote) * TempR + Left + 0.5 + 10*ScreenX + 4; // wciecie X1 := X2-W; - X3 := (Start+Lenght-Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote) * TempR + Left - 0.5 + 10*ScreenX - 4; // wciecie + X3 := (Start+Lenght-Lines[NrCzesci].Line[Lines[NrCzesci].Current].StartNote) * TempR + Left - 0.5 + 10*ScreenX - 4; // wciecie X4 := X3+W; // left @@ -617,19 +617,19 @@ begin end; // Draw Lyrics - ScreenSing.Lyrics.Draw(Czas.MidBeat); + ScreenSing.Lyrics.Draw(LineState.MidBeat); // todo: Lyrics { // rysuje pasek, podpowiadajacy poczatek spiwania w scenie FS := 1.3; - BarFrom := Lines[0].Line[Lines[0].Akt].StartNote - Lines[0].Line[Lines[0].Akt].Start; + BarFrom := Lines[0].Line[Lines[0].Current].StartNote - Lines[0].Line[Lines[0].Current].Start; if BarFrom > 40 then BarFrom := 40; - if (Lines[0].Line[Lines[0].Akt].StartNote - Lines[0].Line[Lines[0].Akt].Start > 8) and // dluga przerwa //16->12 for more help bars and then 12->8 for even more - (Lines[0].Line[Lines[0].Akt].StartNote - Czas.MidBeat > 0) and // przed tekstem - (Lines[0].Line[Lines[0].Akt].StartNote - Czas.MidBeat < 40) then begin // ale nie za wczesnie - BarWspol := (Czas.MidBeat - (Lines[0].Line[Lines[0].Akt].StartNote - BarFrom)) / BarFrom; + if (Lines[0].Line[Lines[0].Current].StartNote - Lines[0].Line[Lines[0].Current].Start > 8) and // dluga przerwa //16->12 for more help bars and then 12->8 for even more + (Lines[0].Line[Lines[0].Current].StartNote - LineState.MidBeat > 0) and // przed tekstem + (Lines[0].Line[Lines[0].Current].StartNote - LineState.MidBeat < 40) then begin // ale nie za wczesnie + BarWspol := (LineState.MidBeat - (Lines[0].Line[Lines[0].Current].StartNote - BarFrom)) / BarFrom; Rec.Left := NR.Left + BarWspol * -// (NR.WMid - Lines[0].Line[Lines[0].Akt].LyricWidth / 2 * FS - 50); +// (NR.WMid - Lines[0].Line[Lines[0].Current].LyricWidth / 2 * FS - 50); (ScreenSing.LyricMain.ClientX - NR.Left - 50) + 10*ScreenX; Rec.Right := Rec.Left + 50; Rec.Top := Skin_LyricsT + 3; @@ -874,17 +874,17 @@ begin end; // Draw Lyrics - ScreenSingModi.Lyrics.Draw(Czas.MidBeat); + ScreenSingModi.Lyrics.Draw(LineState.MidBeat); // todo: Lyrics { // rysuje pasek, podpowiadajacy poczatek spiwania w scenie FS := 1.3; - BarFrom := Lines[0].Line[Lines[0].Akt].StartNote - Lines[0].Line[Lines[0].Akt].Start; + BarFrom := Lines[0].Line[Lines[0].Current].StartNote - Lines[0].Line[Lines[0].Current].Start; if BarFrom > 40 then BarFrom := 40; - if (Lines[0].Line[Lines[0].Akt].StartNote - Lines[0].Line[Lines[0].Akt].Start > 8) and // dluga przerwa //16->12 for more help bars and then 12->8 for even more - (Lines[0].Line[Lines[0].Akt].StartNote - Czas.MidBeat > 0) and // przed tekstem - (Lines[0].Line[Lines[0].Akt].StartNote - Czas.MidBeat < 40) then begin // ale nie za wczesnie - BarWspol := (Czas.MidBeat - (Lines[0].Line[Lines[0].Akt].StartNote - BarFrom)) / BarFrom; + if (Lines[0].Line[Lines[0].Current].StartNote - Lines[0].Line[Lines[0].Current].Start > 8) and // dluga przerwa //16->12 for more help bars and then 12->8 for even more + (Lines[0].Line[Lines[0].Current].StartNote - LineState.MidBeat > 0) and // przed tekstem + (Lines[0].Line[Lines[0].Current].StartNote - LineState.MidBeat < 40) then begin // ale nie za wczesnie + BarWspol := (LineState.MidBeat - (Lines[0].Line[Lines[0].Current].StartNote - BarFrom)) / BarFrom; Rec.Left := NR.Left + BarWspol * (ScreenSingModi.LyricMain.ClientX - NR.Left - 50) + 10*ScreenX; Rec.Right := Rec.Left + 50; Rec.Top := Skin_LyricsT + 3; @@ -1239,8 +1239,8 @@ begin glEnable(GL_TEXTURE_2D); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - TempR := (Right-Left) / (Lines[NrCzesci].Line[Lines[NrCzesci].Akt].End_ - Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote); - with Lines[NrCzesci].Line[Lines[NrCzesci].Akt] do begin + TempR := (Right-Left) / (Lines[NrCzesci].Line[Lines[NrCzesci].Current].End_ - Lines[NrCzesci].Line[Lines[NrCzesci].Current].StartNote); + with Lines[NrCzesci].Line[Lines[NrCzesci].Current] do begin for Pet := 0 to HighNote do begin with Note[Pet] do begin @@ -1254,7 +1254,7 @@ begin // lewa czesc - left part - Rec.Left := (Start-Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote) * TempR + Left + 0.5 + 10*ScreenX; + Rec.Left := (Start-Lines[NrCzesci].Line[Lines[NrCzesci].Current].StartNote) * TempR + Left + 0.5 + 10*ScreenX; Rec.Right := Rec.Left + NotesW; Rec.Top := Top - (Tone-BaseNote)*Space/2 - NotesH; Rec.Bottom := Rec.Top + 2 * NotesH; @@ -1268,7 +1268,7 @@ begin // srodkowa czesc - middle part Rec.Left := Rec.Right; - Rec.Right := (Start+Lenght-Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote) * TempR + Left - NotesW - 0.5 + 10*ScreenX; + Rec.Right := (Start+Lenght-Lines[NrCzesci].Line[Lines[NrCzesci].Current].StartNote) * TempR + Left - NotesW - 0.5 + 10*ScreenX; glBindTexture(GL_TEXTURE_2D, Tex_Mid[Color].TexNum); glBegin(GL_QUADS); @@ -1323,15 +1323,15 @@ begin glTexCoord2f(0, 0); glVertex2f(x,y); - if ( Czas.Teraz > 0 ) AND - ( Czas.Razem > 0 ) THEN + if ( LineState.CurrentTime > 0 ) AND + ( LineState.TotalTime > 0 ) THEN BEGIN - lTmp := Czas.Teraz/Czas.Razem; - glTexCoord2f((width*Czas.Teraz/Czas.Razem)/8, 0); - glVertex2f(x+width*Czas.Teraz/Czas.Razem, y); + lTmp := LineState.CurrentTime/LineState.TotalTime; + glTexCoord2f((width*LineState.CurrentTime/LineState.TotalTime)/8, 0); + glVertex2f(x+width*LineState.CurrentTime/LineState.TotalTime, y); - glTexCoord2f((width*Czas.Teraz/Czas.Razem)/8, 1); - glVertex2f(x+width*Czas.Teraz/Czas.Razem, y+height); + glTexCoord2f((width*LineState.CurrentTime/LineState.TotalTime)/8, 1); + glVertex2f(x+width*LineState.CurrentTime/LineState.TotalTime, y+height); END; glTexCoord2f(0, 1); diff --git a/Game/Code/Classes/UFiles.pas b/Game/Code/Classes/UFiles.pas index 70c97b88..def74c70 100644 --- a/Game/Code/Classes/UFiles.pas +++ b/Game/Code/Classes/UFiles.pas @@ -48,7 +48,7 @@ begin Lines[Pet].Line[0].LyricWidth := 0; Player[pet].Score := 0; Player[pet].IlNut := 0; - Player[pet].HighNut := -1; + Player[pet].HighNote := -1; end; (* FIXME diff --git a/Game/Code/Classes/UMain.pas b/Game/Code/Classes/UMain.pas index 4fab84e7..c13050e5 100644 --- a/Game/Code/Classes/UMain.pas +++ b/Game/Code/Classes/UMain.pas @@ -55,7 +55,7 @@ type //Meter: real;
- HighNut: integer;
+ HighNote: integer;
IlNut: integer;
Note: array of record
Start: integer;
@@ -675,79 +675,79 @@ var Done: real;
N: integer;
begin
- Czas.Teraz := Czas.Teraz + TimeSkip;
+ LineState.CurrentTime := LineState.CurrentTime + TimeSkip;
- Czas.OldBeat := Czas.AktBeat;
- Czas.MidBeat := GetMidBeat(Czas.Teraz - (CurrentSong.Gap{ + 90 I've forgotten for what it is}) / 1000); // new system with variable BPM in function
- Czas.AktBeat := Floor(Czas.MidBeat);
+ LineState.OldBeat := LineState.CurrentBeat;
+ LineState.MidBeat := GetMidBeat(LineState.CurrentTime - (CurrentSong.Gap{ + 90 I've forgotten for what it is}) / 1000); // new system with variable BPM in function
+ LineState.CurrentBeat := Floor(LineState.MidBeat);
-// Czas.OldHalf := Czas.AktHalf;
-// Czas.MidHalf := Czas.MidBeat + 0.5;
-// Czas.AktHalf := Floor(Czas.MidHalf);
+// LineState.OldHalf := LineState.AktHalf;
+// LineState.MidHalf := LineState.MidBeat + 0.5;
+// LineState.AktHalf := Floor(LineState.MidHalf);
- Czas.OldBeatC := Czas.AktBeatC;
- Czas.MidBeatC := GetMidBeat(Czas.Teraz - (CurrentSong.Gap) / 1000);
- Czas.AktBeatC := Floor(Czas.MidBeatC);
+ LineState.OldBeatC := LineState.CurrentBeatC;
+ LineState.MidBeatC := GetMidBeat(LineState.CurrentTime - (CurrentSong.Gap) / 1000);
+ LineState.CurrentBeatC := Floor(LineState.MidBeatC);
- Czas.OldBeatD := Czas.AktBeatD;
- Czas.MidBeatD := -0.5+GetMidBeat(Czas.Teraz - (CurrentSong.Gap + 120 + 20) / 1000); // MidBeat with addition GAP
- Czas.AktBeatD := Floor(Czas.MidBeatD);
- Czas.FracBeatD := Frac(Czas.MidBeatD);
+ LineState.OldBeatD := LineState.CurrentBeatD;
+ LineState.MidBeatD := -0.5+GetMidBeat(LineState.CurrentTime - (CurrentSong.Gap + 120 + 20) / 1000); // MidBeat with addition GAP
+ LineState.CurrentBeatD := Floor(LineState.MidBeatD);
+ LineState.FracBeatD := Frac(LineState.MidBeatD);
// sentences routines
for PetGr := 0 to 0 do //High(Gracz)
begin;
CP := PetGr;
// ustawianie starej parts
- Czas.OldCzesc := Lines[CP].Akt;
+ LineState.OldLine := Lines[CP].Current;
// wybieranie aktualnej parts
for Pet := 0 to Lines[CP].High do
begin
- if Czas.AktBeat >= Lines[CP].Line[Pet].Start then
- Lines[CP].Akt := Pet;
+ if LineState.CurrentBeat >= Lines[CP].Line[Pet].Start then
+ Lines[CP].Current := Pet;
end;
// czysczenie nut gracza, gdy to jest nowa plansza
// (optymizacja raz na halfbeat jest zla)
- if Lines[CP].Akt <> Czas.OldCzesc then
+ if Lines[CP].Current <> LineState.OldLine then
NewSentence(Sender);
end; // for PetGr
// wykonuje operacje raz na beat
- if (Czas.AktBeat >= 0) and (Czas.OldBeat <> Czas.AktBeat) then
+ if (LineState.CurrentBeat >= 0) and (LineState.OldBeat <> LineState.CurrentBeat) then
NewBeat(Sender);
// make some operations on clicks
- if {(Czas.AktBeatC >= 0) and }(Czas.OldBeatC <> Czas.AktBeatC) then
+ if {(LineState.CurrentBeatC >= 0) and }(LineState.OldBeatC <> LineState.CurrentBeatC) then
NewBeatC(Sender);
// make some operations when detecting new voice pitch
- if (Czas.AktBeatD >= 0) and (Czas.OldBeatD <> Czas.AktBeatD) then
+ if (LineState.CurrentBeatD >= 0) and (LineState.OldBeatD <> LineState.CurrentBeatD) then
NewBeatD(Sender);
// wykonuje operacje w polowie beatu
-// if (Czas.AktHalf >= 1) and (Czas.OldHalf <> Czas.AktHalf) then
+// if (LineState.AktHalf >= 1) and (LineState.OldHalf <> LineState.AktHalf) then
// NewHalf;
// plynnie przesuwa text
Done := 1;
- for N := 0 to Lines[0].Line[Lines[0].Akt].HighNote do
+ for N := 0 to Lines[0].Line[Lines[0].Current].HighNote do
begin
- if (Lines[0].Line[Lines[0].Akt].Note[N].Start <= Czas.MidBeat) and
- (Lines[0].Line[Lines[0].Akt].Note[N].Start + Lines[0].Line[Lines[0].Akt].Note[N].Lenght >= Czas.MidBeat) then
+ if (Lines[0].Line[Lines[0].Current].Note[N].Start <= LineState.MidBeat) and
+ (Lines[0].Line[Lines[0].Current].Note[N].Start + Lines[0].Line[Lines[0].Current].Note[N].Lenght >= LineState.MidBeat) then
begin
- Done := (Czas.MidBeat - Lines[0].Line[Lines[0].Akt].Note[N].Start) / (Lines[0].Line[Lines[0].Akt].Note[N].Lenght);
+ Done := (LineState.MidBeat - Lines[0].Line[Lines[0].Current].Note[N].Start) / (Lines[0].Line[Lines[0].Current].Note[N].Lenght);
end;
end;
- N := Lines[0].Line[Lines[0].Akt].HighNote;
+ N := Lines[0].Line[Lines[0].Current].HighNote;
// wylacza ostatnia nute po przejsciu
{// todo: Lyrics
if (Ini.LyricsEffect = 1) and (Done = 1) and
- (Czas.MidBeat > Lines[0].Line[Lines[0].Akt].Note[N].Start + Lines[0].Line[Lines[0].Akt].Note[N].Lenght)
+ (LineState.MidBeat > Lines[0].Line[Lines[0].Current].Note[N].Start + Lines[0].Line[Lines[0].Current].Note[N].Lenght)
then Sender.LyricMain.Selected := -1;
if Done > 1 then Done := 1;
@@ -772,16 +772,16 @@ begin for G := 0 to High(Player) do
begin
Player[G].IlNut := 0;
- Player[G].HighNut := -1;
+ Player[G].HighNote := -1;
SetLength(Player[G].Note, 0);
end;
// Add Words to Lyrics
with Sender do
begin
- {LyricMain.AddCzesc(Lines[0].Akt);
- if Lines[0].Akt < Lines[0].High then
- LyricSub.AddCzesc(Lines[0].Akt+1)
+ {LyricMain.AddCzesc(Lines[0].Current);
+ if Lines[0].Current < Lines[0].High then
+ LyricSub.AddCzesc(Lines[0].Current+1)
else
LyricSub.Clear;}
while (not Lyrics.LineinQueue) and (Lyrics.LineCounter <= High(Lines[0].Line)) do
@@ -791,7 +791,7 @@ begin Sender.UpdateLCD;
//On Sentence Change...
- Sender.onSentenceChange(Lines[0].Akt);
+ Sender.onSentenceChange(Lines[0].Current);
end;
procedure NewBeat(Sender: TScreenSing);
@@ -801,8 +801,8 @@ var begin
// ustawia zaznaczenie tekstu
// SingScreen.LyricMain.Selected := -1;
- for Pet := 0 to Lines[0].Line[Lines[0].Akt].HighNote do
- if (Lines[0].Line[Lines[0].Akt].Note[Pet].Start = Czas.AktBeat) then
+ for Pet := 0 to Lines[0].Line[Lines[0].Current].HighNote do
+ if (Lines[0].Line[Lines[0].Current].Note[Pet].Start = LineState.CurrentBeat) then
begin
// operates on currently beated note
//Todo: Lyrics
@@ -826,11 +826,11 @@ begin // LPT_2 := 1;
// beat click
- if (Ini.BeatClick = 1) and ((Czas.AktBeatC + Lines[0].Resolution + Lines[0].NotesGAP) mod Lines[0].Resolution = 0) then
+ if (Ini.BeatClick = 1) and ((LineState.CurrentBeatC + Lines[0].Resolution + Lines[0].NotesGAP) mod Lines[0].Resolution = 0) then
AudioPlayback.PlaySound(SoundLib.Click);
// debug system on LPT
- if ((Czas.AktBeatC + Lines[0].Resolution + Lines[0].NotesGAP) mod Lines[0].Resolution = 0) then
+ if ((LineState.CurrentBeatC + Lines[0].Resolution + Lines[0].NotesGAP) mod Lines[0].Resolution = 0) then
begin
//LPT_1 := 0;
// Light.LightOne(0, 150);
@@ -840,15 +840,15 @@ begin Light.LightOne(0, 200); // beat light
-{ if ((Czas.AktBeatC + Lines[0].Resolution + Lines[0].NotesGAP) mod (Lines[0].Resolution * 2) = 0) then
+{ if ((LineState.CurrentBeatC + Lines[0].Resolution + Lines[0].NotesGAP) mod (Lines[0].Resolution * 2) = 0) then
Light.LightOne(0, 150)
else
Light.LightOne(1, 150)}
end;
- for Pet := 0 to Lines[0].Line[Lines[0].Akt].HighNote do
+ for Pet := 0 to Lines[0].Line[Lines[0].Current].HighNote do
begin
- if (Lines[0].Line[Lines[0].Akt].Note[Pet].Start = Czas.AktBeatC) then
+ if (Lines[0].Line[Lines[0].Current].Note[Pet].Start = LineState.CurrentBeatC) then
begin
// click assist
if Ini.ClickAssist = 1 then
@@ -860,7 +860,7 @@ begin // drum machine
(*
- TempBeat := Czas.AktBeat;// + 2;
+ TempBeat := LineState.CurrentBeat;// + 2;
if (TempBeat mod 8 = 0) then Music.PlayDrum;
if (TempBeat mod 8 = 4) then Music.PlayClap;
// if (TempBeat mod 4 = 2) then Music.PlayHihat;
@@ -897,7 +897,7 @@ var Range: integer;
NoteHit:boolean;
begin
-// Log.LogStatus('Beat ' + IntToStr(Czas.AktBeat) + ' HalfBeat ' + IntToStr(Czas.AktHalf), 'NewBeat');
+// Log.LogStatus('Beat ' + IntToStr(LineState.CurrentBeat) + ' HalfBeat ' + IntToStr(LineState.AktHalf), 'NewBeat');
// beep;
// On linux we get an AV @ NEWNOTE, line 600 of Classes/UMain.pas
@@ -912,13 +912,13 @@ begin AudioInputProcessor.Sound[CP].AnalyzeBuffer;
// adds some noise
- //Czas.Tone := Czas.Tone + Round(Random(3)) - 1;
+ //LineState.Tone := LineState.Tone + Round(Random(3)) - 1;
// count min and max sentence range for checking (detection is delayed to the notes we see on the screen)
- SMin := Lines[0].Akt-1;
+ SMin := Lines[0].Current-1;
if SMin < 0 then
SMin := 0;
- SMax := Lines[0].Akt;
+ SMax := Lines[0].Current;
// check if we can add new note
Mozna := false;
@@ -927,8 +927,8 @@ begin begin
for Pet := 0 to Lines[0].Line[S].HighNote do
begin
- if ((Lines[0].Line[S].Note[Pet].Start <= Czas.AktBeatD)
- and (Lines[0].Line[S].Note[Pet].Start + Lines[0].Line[S].Note[Pet].Lenght - 1 >= Czas.AktBeatD))
+ if ((Lines[0].Line[S].Note[Pet].Start <= LineState.CurrentBeatD)
+ and (Lines[0].Line[S].Note[Pet].Start + Lines[0].Line[S].Note[Pet].Lenght - 1 >= LineState.CurrentBeatD))
and (not Lines[0].Line[S].Note[Pet].FreeStyle) // but don't allow when it's FreeStyle note
and (Lines[0].Line[S].Note[Pet].Lenght > 0) then // and make sure the note lenghts is at least 1
begin
@@ -950,9 +950,9 @@ begin // operowanie na ostatniej nucie
for Pet := 0 to Lines[0].Line[S].HighNote do
begin
- if (Lines[0].Line[S].Note[Pet].Start <= Czas.OldBeatD+1) and
+ if (Lines[0].Line[S].Note[Pet].Start <= LineState.OldBeatD+1) and
(Lines[0].Line[S].Note[Pet].Start +
- Lines[0].Line[S].Note[Pet].Lenght > Czas.OldBeatD+1) then
+ Lines[0].Line[S].Note[Pet].Lenght > LineState.OldBeatD+1) then
begin
// to robi, tylko dla pary nut (oryginalnej i gracza)
@@ -1014,8 +1014,8 @@ begin Nowa := true;
// jezeli ostatnia ma ten sam Tone
if (Player[CP].IlNut > 0 ) and
- (Player[CP].Note[Player[CP].HighNut].Tone = AudioInputProcessor.Sound[CP].Tone) and
- (Player[CP].Note[Player[CP].HighNut].Start + Player[CP].Note[Player[CP].HighNut].Lenght = Czas.AktBeatD) then
+ (Player[CP].Note[Player[CP].HighNote].Tone = AudioInputProcessor.Sound[CP].Tone) and
+ (Player[CP].Note[Player[CP].HighNote].Start + Player[CP].Note[Player[CP].HighNote].Lenght = LineState.CurrentBeatD) then
begin
Nowa := false;
end;
@@ -1023,7 +1023,7 @@ begin // jezeli jest jakas nowa nuta na sprawdzanym beacie
for Pet := 0 to Lines[0].Line[S].HighNote do
begin
- if (Lines[0].Line[S].Note[Pet].Start = Czas.AktBeatD) then
+ if (Lines[0].Line[S].Note[Pet].Start = LineState.CurrentBeatD) then
Nowa := true;
end;
@@ -1032,32 +1032,32 @@ begin begin
// nowa nuta
Player[CP].IlNut := Player[CP].IlNut + 1;
- Player[CP].HighNut := Player[CP].HighNut + 1;
+ Player[CP].HighNote := Player[CP].HighNote + 1;
SetLength(Player[CP].Note, Player[CP].IlNut);
- Player[CP].Note[Player[CP].HighNut].Start := Czas.AktBeatD;
- Player[CP].Note[Player[CP].HighNut].Lenght := 1;
- Player[CP].Note[Player[CP].HighNut].Tone := AudioInputProcessor.Sound[CP].Tone; // Ton || TonDokl
- Player[CP].Note[Player[CP].HighNut].Detekt := Czas.MidBeat;
+ Player[CP].Note[Player[CP].HighNote].Start := LineState.CurrentBeatD;
+ Player[CP].Note[Player[CP].HighNote].Lenght := 1;
+ Player[CP].Note[Player[CP].HighNote].Tone := AudioInputProcessor.Sound[CP].Tone; // Ton || TonDokl
+ Player[CP].Note[Player[CP].HighNote].Detekt := LineState.MidBeat;
// Half Note Patch
- Player[CP].Note[Player[CP].HighNut].Hit := NoteHit;
+ Player[CP].Note[Player[CP].HighNote].Hit := NoteHit;
- //Log.LogStatus('Nowa Nuta ' + IntToStr(Gracz.Note[Gracz.HighNut].Start), 'NewBeat');
+ //Log.LogStatus('Nowa Nuta ' + IntToStr(Gracz.Note[Gracz.HighNote].Start), 'NewBeat');
end
else
begin
// przedluzenie nuty
- Player[CP].Note[Player[CP].HighNut].Lenght := Player[CP].Note[Player[CP].HighNut].Lenght + 1;
+ Player[CP].Note[Player[CP].HighNote].Lenght := Player[CP].Note[Player[CP].HighNote].Lenght + 1;
end;
// check for perfect note and then lit the star (on Draw)
for Pet := 0 to Lines[0].Line[S].HighNote do
begin
- if (Lines[0].Line[S].Note[Pet].Start = Player[CP].Note[Player[CP].HighNut].Start) and
- (Lines[0].Line[S].Note[Pet].Lenght = Player[CP].Note[Player[CP].HighNut].Lenght) and
- (Lines[0].Line[S].Note[Pet].Tone = Player[CP].Note[Player[CP].HighNut].Tone) then
+ if (Lines[0].Line[S].Note[Pet].Start = Player[CP].Note[Player[CP].HighNote].Start) and
+ (Lines[0].Line[S].Note[Pet].Lenght = Player[CP].Note[Player[CP].HighNote].Lenght) and
+ (Lines[0].Line[S].Note[Pet].Tone = Player[CP].Note[Player[CP].HighNote].Tone) then
begin
- Player[CP].Note[Player[CP].HighNut].Perfect := true;
+ Player[CP].Note[Player[CP].HighNote].Perfect := true;
end;
end;
end;// else beep; // if S = SMax
@@ -1070,7 +1070,7 @@ begin if (sDet >= low(Lines[0].Line)) and (sDet <= high(Lines[0].Line)) then
begin
if assigned( Sender ) and
- ((Lines[0].Line[SDet].Note[Lines[0].Line[SDet].HighNote].Start + Lines[0].Line[SDet].Note[Lines[0].Line[SDet].HighNote].Lenght - 1) = Czas.AktBeatD) then
+ ((Lines[0].Line[SDet].Note[Lines[0].Line[SDet].HighNote].Start + Lines[0].Line[SDet].Note[Lines[0].Line[SDet].HighNote].Lenght - 1) = LineState.CurrentBeatD) then
begin
Sender.onSentenceEnd(sDet);
end;
diff --git a/Game/Code/Classes/UMusic.pas b/Game/Code/Classes/UMusic.pas index 90e78dd7..2ffe13ce 100644 --- a/Game/Code/Classes/UMusic.pas +++ b/Game/Code/Classes/UMusic.pas @@ -17,10 +17,10 @@ type //http://paste.ubuntu-nl.org/51892/
TMelody = record
- Path: string;
- Start: integer; // start of song in ms
- IlNut: integer; // (TODO: Il = tone, Nut(a) = Note)
- DlugoscNut: integer; // (TODO: Dlugosc = length, Nut(a) = Note)
+ Path: string;
+ Start: integer; // start of song in ms
+ IlNut: integer; // (TODO: Il = tone, Nut(a) = Note)
+ NoteLenght: integer;
end;
PLine = ^TLine;
@@ -29,7 +29,7 @@ type StartNote: integer;
Lyric: string;
LyricWidth: real;
- End_: integer;
+ End_: integer;
BaseNote: integer;
HighNote: integer;
IlNut: integer; // (TODO: Il = tone, Nut(a) = Note)
@@ -37,52 +37,52 @@ type Note: array of record
Color: integer;
Start: integer;
- Lenght: integer;
- Tone: integer; // full range tone
- TonGamy: integer; // tone unified to one octave (TODO: rename to something meaningful, ToneGamus)
- Text: string; // (TODO: rename to Text)
+ Lenght: integer;
+ Tone: integer; // full range tone
+ ToneGamus: integer; // tone unified to one octave
+ Text: string;
FreeStyle: boolean;
- NoteType: integer; // normal-note: 1, golden-note: 2 (TODO: wartosc=value, rename to Type_ or Kind?)
+ NoteType: integer; // normal-note: 1, golden-note: 2
end;
end;
- ALine = array of TLine; // (TODO: rename to TLineArray)
+ ALine = array of TLine; // (TODO: rename to TLineArray)
// (TCzesci = TSentences) TCzesci changed to TLines because TSentences exist elseware in incompatible form
TLines = record
- Akt: integer; // for drawing of current line (Akt = Current)
+ Current: integer; // for drawing of current line
High: integer;
- Ilosc: integer; // (TODO: Ilosc = Number/Count)
+ Ilosc: integer; // (TODO: Ilosc = Number/Count)
Resolution: integer;
NotesGAP: integer;
- NoteType: integer; // TODO: rename (wartosc=value)
- Line: ALine; // TODO: rename to Sentence or Line - renamed to Line
+ NoteType: integer;
+ Line: ALine;
end;
// (TODO: rename TCzas to something like T(Line/Sentence)Time/TLinePosition/TLineState)
// (Czas = time)
- TCzas = record // all that concerns the current frames
- OldBeat: integer; // previous discovered beat
- AktBeat: integer; // current beat (TODO: rename)
- MidBeat: real; // like AktBeat
+ TLineState = record // all that concerns the current frames
+ OldBeat: integer; // previous discovered beat
+ CurrentBeat: integer;
+ MidBeat: real; // like CurrentBeat
// now we use this for super synchronization!
// only used when analyzing voice
OldBeatD: integer; // previous discovered beat
- AktBeatD: integer; // current beat (TODO: rename)
- MidBeatD: real; // like AktBeatD
+ CurrentBeatD: integer;
+ MidBeatD: real; // like CurrentBeatD
FracBeatD: real; // fractional part of MidBeatD
// we use this for audible clicks
OldBeatC: integer; // previous discovered beat
- AktBeatC: integer; // current beat (TODO: rename)
- MidBeatC: real; // like AktBeatC
+ CurrentBeatC: integer;
+ MidBeatC: real; // like CurrentBeatC
FracBeatC: real; // fractional part of MidBeatC
- OldCzesc: integer; // previous displayed sentence (Czesc = part (here: sentence/line))
+ OldLine: integer; // previous displayed sentence
- Teraz: real; // (TODO: Teraz = current time)
- Razem: real; // (TODO: Razem = total time)
+ CurrentTime: real;
+ TotalTime: real;
end;
@@ -288,13 +288,13 @@ type var // TODO : JB --- THESE SHOULD NOT BE GLOBAL
// music
- Melody: TMelody; // TODO: rename
+ Melody: TMelody;
// czesci z nutami;
- Lines: array of TLines; // TODO: rename to Sentences/Lines
+ Lines: array of TLines;
- // czas
- Czas: TCzas; // TODO: rename
+ // LineState
+ LineState: TLineState;
SoundLib: TSoundLibrary;
diff --git a/Game/Code/Classes/USong.pas b/Game/Code/Classes/USong.pas index 5db250c5..a97ea1c9 100644 --- a/Game/Code/Classes/USong.pas +++ b/Game/Code/Classes/USong.pas @@ -227,7 +227,7 @@ begin SetLength(Lines[Pet].Line, 1);
Lines[Pet].High := 0;
Lines[Pet].Ilosc := 1;
- Lines[Pet].Akt := 0;
+ Lines[Pet].Current := 0;
Lines[Pet].Resolution := self.Resolution;
Lines[Pet].NotesGAP := self.NotesGAP;
Lines[Pet].Line[0].IlNut := 0;
@@ -593,7 +593,7 @@ begin end;
Note[HighNote].Lenght := DurationP;
- Melody.DlugoscNut := Melody.DlugoscNut + Note[HighNote].Lenght;
+ Melody.NoteLenght := Melody.NoteLenght + Note[HighNote].Lenght;
// back to the normal system with normal, golden and now freestyle notes
case TypeP of
@@ -606,7 +606,7 @@ begin Note[HighNote].Tone := NoteP;
if Note[HighNote].Tone < Base[NrCzesci] then Base[NrCzesci] := Note[HighNote].Tone;
- Note[HighNote].TonGamy := Note[HighNote].TonGamy mod 12;
+ Note[HighNote].ToneGamus := Note[HighNote].ToneGamus mod 12;
Note[HighNote].Text := Copy(LyricS, 2, 100);
Lyric := Lyric + Note[HighNote].Text;
diff --git a/Game/Code/Screens/UScreenEditSub.pas b/Game/Code/Screens/UScreenEditSub.pas index 29ff50a5..94bb6a59 100644 --- a/Game/Code/Screens/UScreenEditSub.pas +++ b/Game/Code/Screens/UScreenEditSub.pas @@ -134,9 +134,9 @@ begin SDLK_BACKQUOTE: begin // Increase Note Length (same as Alt + Right) - Inc(Lines[0].Line[Lines[0].Akt].Note[AktNuta].Lenght); - if AktNuta = Lines[0].Line[Lines[0].Akt].HighNote then - Inc(Lines[0].Line[Lines[0].Akt].End_); + Inc(Lines[0].Line[Lines[0].Current].Note[AktNuta].Lenght); + if AktNuta = Lines[0].Line[Lines[0].Current].HighNote then + Inc(Lines[0].Line[Lines[0].Current].End_); end; SDLK_EQUALS: @@ -207,7 +207,7 @@ begin if SDL_ModState = KMOD_LSHIFT then begin // Join next sentence with current - if Lines[0].Akt < Lines[0].High then + if Lines[0].Current < Lines[0].High then JoinSentence; end; @@ -263,42 +263,42 @@ begin begin // Paste text if SDL_ModState = KMOD_LCTRL then begin - if Lines[0].Line[Lines[0].Akt].IlNut >= Lines[0].Line[CopySrc].IlNut then + if Lines[0].Line[Lines[0].Current].IlNut >= Lines[0].Line[CopySrc].IlNut then PasteText else beep; end; if SDL_ModState = KMOD_LCTRL + KMOD_LSHIFT then begin - CopySentence(CopySrc, Lines[0].Akt); + CopySentence(CopySrc, Lines[0].Current); end; end; SDLK_4: begin if SDL_ModState = KMOD_LCTRL + KMOD_LSHIFT then begin - CopySentence(CopySrc, Lines[0].Akt); - CopySentence(CopySrc+1, Lines[0].Akt+1); - CopySentence(CopySrc+2, Lines[0].Akt+2); - CopySentence(CopySrc+3, Lines[0].Akt+3); + CopySentence(CopySrc, Lines[0].Current); + CopySentence(CopySrc+1, Lines[0].Current+1); + CopySentence(CopySrc+2, Lines[0].Current+2); + CopySentence(CopySrc+3, Lines[0].Current+3); end; if SDL_ModState = KMOD_LCTRL + KMOD_LSHIFT + KMOD_LALT then begin - CopySentences(CopySrc, Lines[0].Akt, 4); + CopySentences(CopySrc, Lines[0].Current, 4); end; end; SDLK_5: begin if SDL_ModState = KMOD_LCTRL + KMOD_LSHIFT then begin - CopySentence(CopySrc, Lines[0].Akt); - CopySentence(CopySrc+1, Lines[0].Akt+1); - CopySentence(CopySrc+2, Lines[0].Akt+2); - CopySentence(CopySrc+3, Lines[0].Akt+3); - CopySentence(CopySrc+4, Lines[0].Akt+4); + CopySentence(CopySrc, Lines[0].Current); + CopySentence(CopySrc+1, Lines[0].Current+1); + CopySentence(CopySrc+2, Lines[0].Current+2); + CopySentence(CopySrc+3, Lines[0].Current+3); + CopySentence(CopySrc+4, Lines[0].Current+4); end; if SDL_ModState = KMOD_LCTRL + KMOD_LSHIFT + KMOD_LALT then begin - CopySentences(CopySrc, Lines[0].Akt, 5); + CopySentences(CopySrc, Lines[0].Current, 5); end; end; @@ -320,11 +320,11 @@ begin // Play Sentence Click := true; AudioPlayback.Stop; - R := GetTimeFromBeat(Lines[0].Line[Lines[0].Akt].StartNote); + R := GetTimeFromBeat(Lines[0].Line[Lines[0].Current].StartNote); if R <= AudioPlayback.Length then begin AudioPlayback.Position := R; - PlayStopTime := GetTimeFromBeat(Lines[0].Line[Lines[0].Akt].End_); + PlayStopTime := GetTimeFromBeat(Lines[0].Line[Lines[0].Current].End_); PlaySentence := true; AudioPlayback.Play; LastClick := -100; @@ -335,23 +335,23 @@ begin PlaySentenceMidi := true; MidiTime := USTime.GetTime; - MidiStart := GetTimeFromBeat(Lines[0].Line[Lines[0].Akt].StartNote); - MidiStop := GetTimeFromBeat(Lines[0].Line[Lines[0].Akt].End_); + MidiStart := GetTimeFromBeat(Lines[0].Line[Lines[0].Current].StartNote); + MidiStop := GetTimeFromBeat(Lines[0].Line[Lines[0].Current].End_); LastClick := -100; end; if SDL_ModState = KMOD_LSHIFT or KMOD_LCTRL then begin PlaySentenceMidi := true; MidiTime := USTime.GetTime; - MidiStart := GetTimeFromBeat(Lines[0].Line[Lines[0].Akt].StartNote); - MidiStop := GetTimeFromBeat(Lines[0].Line[Lines[0].Akt].End_); + MidiStart := GetTimeFromBeat(Lines[0].Line[Lines[0].Current].StartNote); + MidiStop := GetTimeFromBeat(Lines[0].Line[Lines[0].Current].End_); LastClick := -100; PlaySentence := true; Click := true; AudioPlayback.Stop; - AudioPlayback.Position := GetTimeFromBeat(Lines[0].Line[Lines[0].Akt].StartNote)+0{-0.10}; - PlayStopTime := GetTimeFromBeat(Lines[0].Line[Lines[0].Akt].End_)+0; + AudioPlayback.Position := GetTimeFromBeat(Lines[0].Line[Lines[0].Current].StartNote)+0{-0.10}; + PlayStopTime := GetTimeFromBeat(Lines[0].Line[Lines[0].Current].End_)+0; AudioPlayback.Play; LastClick := -100; end; @@ -364,10 +364,10 @@ begin PlaySentence := true; Click := false; AudioPlayback.Stop; - AudioPlayback.Position := GetTimeFromBeat(Lines[0].Line[Lines[0].Akt].Note[AktNuta].Start); + AudioPlayback.Position := GetTimeFromBeat(Lines[0].Line[Lines[0].Current].Note[AktNuta].Start); PlayStopTime := (GetTimeFromBeat( - Lines[0].Line[Lines[0].Akt].Note[AktNuta].Start + - Lines[0].Line[Lines[0].Akt].Note[AktNuta].Lenght)); + Lines[0].Line[Lines[0].Current].Note[AktNuta].Start + + Lines[0].Line[Lines[0].Current].Note[AktNuta].Lenght)); AudioPlayback.Play; LastClick := -100; end; @@ -398,41 +398,41 @@ begin begin // right if SDL_ModState = 0 then begin - Lines[0].Line[Lines[0].Akt].Note[AktNuta].Color := 0; + Lines[0].Line[Lines[0].Current].Note[AktNuta].Color := 0; Inc(AktNuta); - if AktNuta = Lines[0].Line[Lines[0].Akt].IlNut then AktNuta := 0; - Lines[0].Line[Lines[0].Akt].Note[AktNuta].Color := 1; + if AktNuta = Lines[0].Line[Lines[0].Current].IlNut then AktNuta := 0; + Lines[0].Line[Lines[0].Current].Note[AktNuta].Color := 1; Lyric.Selected := AktNuta; end; // ctrl + right if SDL_ModState = KMOD_LCTRL then begin - if Lines[0].Line[Lines[0].Akt].Note[AktNuta].Lenght > 1 then begin - Dec(Lines[0].Line[Lines[0].Akt].Note[AktNuta].Lenght); - Inc(Lines[0].Line[Lines[0].Akt].Note[AktNuta].Start); + if Lines[0].Line[Lines[0].Current].Note[AktNuta].Lenght > 1 then begin + Dec(Lines[0].Line[Lines[0].Current].Note[AktNuta].Lenght); + Inc(Lines[0].Line[Lines[0].Current].Note[AktNuta].Start); if AktNuta = 0 then begin - Inc(Lines[0].Line[Lines[0].Akt].Start); - Inc(Lines[0].Line[Lines[0].Akt].StartNote); + Inc(Lines[0].Line[Lines[0].Current].Start); + Inc(Lines[0].Line[Lines[0].Current].StartNote); end; end; end; // shift + right if SDL_ModState = KMOD_LSHIFT then begin - Inc(Lines[0].Line[Lines[0].Akt].Note[AktNuta].Start); + Inc(Lines[0].Line[Lines[0].Current].Note[AktNuta].Start); if AktNuta = 0 then begin - Inc(Lines[0].Line[Lines[0].Akt].Start); - Inc(Lines[0].Line[Lines[0].Akt].StartNote); + Inc(Lines[0].Line[Lines[0].Current].Start); + Inc(Lines[0].Line[Lines[0].Current].StartNote); end; - if AktNuta = Lines[0].Line[Lines[0].Akt].HighNote then - Inc(Lines[0].Line[Lines[0].Akt].End_); + if AktNuta = Lines[0].Line[Lines[0].Current].HighNote then + Inc(Lines[0].Line[Lines[0].Current].End_); end; // alt + right if SDL_ModState = KMOD_LALT then begin - Inc(Lines[0].Line[Lines[0].Akt].Note[AktNuta].Lenght); - if AktNuta = Lines[0].Line[Lines[0].Akt].HighNote then - Inc(Lines[0].Line[Lines[0].Akt].End_); + Inc(Lines[0].Line[Lines[0].Current].Note[AktNuta].Lenght); + if AktNuta = Lines[0].Line[Lines[0].Current].HighNote then + Inc(Lines[0].Line[Lines[0].Current].End_); end; // alt + ctrl + shift + right = move all from cursor to right @@ -446,44 +446,44 @@ begin begin // left if SDL_ModState = 0 then begin - Lines[0].Line[Lines[0].Akt].Note[AktNuta].Color := 0; + Lines[0].Line[Lines[0].Current].Note[AktNuta].Color := 0; Dec(AktNuta); - if AktNuta = -1 then AktNuta := Lines[0].Line[Lines[0].Akt].HighNote; - Lines[0].Line[Lines[0].Akt].Note[AktNuta].Color := 1; + if AktNuta = -1 then AktNuta := Lines[0].Line[Lines[0].Current].HighNote; + Lines[0].Line[Lines[0].Current].Note[AktNuta].Color := 1; Lyric.Selected := AktNuta; end; // ctrl + left if SDL_ModState = KMOD_LCTRL then begin - Dec(Lines[0].Line[Lines[0].Akt].Note[AktNuta].Start); - Inc(Lines[0].Line[Lines[0].Akt].Note[AktNuta].Lenght); + Dec(Lines[0].Line[Lines[0].Current].Note[AktNuta].Start); + Inc(Lines[0].Line[Lines[0].Current].Note[AktNuta].Lenght); if AktNuta = 0 then begin - Dec(Lines[0].Line[Lines[0].Akt].Start); - Dec(Lines[0].Line[Lines[0].Akt].StartNote); + Dec(Lines[0].Line[Lines[0].Current].Start); + Dec(Lines[0].Line[Lines[0].Current].StartNote); end; end; // shift + left if SDL_ModState = KMOD_LSHIFT then begin - Dec(Lines[0].Line[Lines[0].Akt].Note[AktNuta].Start); + Dec(Lines[0].Line[Lines[0].Current].Note[AktNuta].Start); // resizing sentences if AktNuta = 0 then begin - Dec(Lines[0].Line[Lines[0].Akt].Start); - Dec(Lines[0].Line[Lines[0].Akt].StartNote); + Dec(Lines[0].Line[Lines[0].Current].Start); + Dec(Lines[0].Line[Lines[0].Current].StartNote); end; - if AktNuta = Lines[0].Line[Lines[0].Akt].HighNote then - Dec(Lines[0].Line[Lines[0].Akt].End_); + if AktNuta = Lines[0].Line[Lines[0].Current].HighNote then + Dec(Lines[0].Line[Lines[0].Current].End_); end; // alt + left if SDL_ModState = KMOD_LALT then begin - if Lines[0].Line[Lines[0].Akt].Note[AktNuta].Lenght > 1 then begin - Dec(Lines[0].Line[Lines[0].Akt].Note[AktNuta].Lenght); - if AktNuta = Lines[0].Line[Lines[0].Akt].HighNote then - Dec(Lines[0].Line[Lines[0].Akt].End_); + if Lines[0].Line[Lines[0].Current].Note[AktNuta].Lenght > 1 then begin + Dec(Lines[0].Line[Lines[0].Current].Note[AktNuta].Lenght); + if AktNuta = Lines[0].Line[Lines[0].Current].HighNote then + Dec(Lines[0].Line[Lines[0].Current].End_); end; end; @@ -499,16 +499,16 @@ begin {$IFDEF UseMIDIPort} // skip to next sentence if SDL_ModState = 0 then begin - MidiOut.PutShort($81, Lines[0].Line[Lines[0].Akt].Note[MidiLastNote].Tone + 60, 127); + MidiOut.PutShort($81, Lines[0].Line[Lines[0].Current].Note[MidiLastNote].Tone + 60, 127); PlaySentenceMidi := false; - Lines[0].Line[Lines[0].Akt].Note[AktNuta].Color := 0; - Inc(Lines[0].Akt); + Lines[0].Line[Lines[0].Current].Note[AktNuta].Color := 0; + Inc(Lines[0].Current); AktNuta := 0; - if Lines[0].Akt > Lines[0].High then Lines[0].Akt := 0; - Lines[0].Line[Lines[0].Akt].Note[AktNuta].Color := 1; + if Lines[0].Current > Lines[0].High then Lines[0].Current := 0; + Lines[0].Line[Lines[0].Current].Note[AktNuta].Color := 1; - Lyric.AddCzesc(Lines[0].Akt); + Lyric.AddCzesc(Lines[0].Current); Lyric.Selected := 0; AudioPlayback.Stop; PlaySentence := false; @@ -527,16 +527,16 @@ begin {$IFDEF UseMIDIPort} // skip to previous sentence if SDL_ModState = 0 then begin - MidiOut.PutShort($81, Lines[0].Line[Lines[0].Akt].Note[MidiLastNote].Tone + 60, 127); + MidiOut.PutShort($81, Lines[0].Line[Lines[0].Current].Note[MidiLastNote].Tone + 60, 127); PlaySentenceMidi := false; - Lines[0].Line[Lines[0].Akt].Note[AktNuta].Color := 0; - Dec(Lines[0].Akt); + Lines[0].Line[Lines[0].Current].Note[AktNuta].Color := 0; + Dec(Lines[0].Current); AktNuta := 0; - if Lines[0].Akt = -1 then Lines[0].Akt := Lines[0].High; - Lines[0].Line[Lines[0].Akt].Note[AktNuta].Color := 1; + if Lines[0].Current = -1 then Lines[0].Current := Lines[0].High; + Lines[0].Line[Lines[0].Current].Note[AktNuta].Color := 1; - Lyric.AddCzesc(Lines[0].Akt); + Lyric.AddCzesc(Lines[0].Current); Lyric.Selected := 0; AudioPlayback.Stop; PlaySentence := false; @@ -552,27 +552,27 @@ begin // Golden Note Patch SDLK_G: begin - case Lines[0].Line[Lines[0].Akt].Note[AktNuta].NoteType of - 0: Lines[0].Line[Lines[0].Akt].Note[AktNuta].NoteType := 2; - 1: Lines[0].Line[Lines[0].Akt].Note[AktNuta].NoteType := 2; - 2: Lines[0].Line[Lines[0].Akt].Note[AktNuta].NoteType := 1; + case Lines[0].Line[Lines[0].Current].Note[AktNuta].NoteType of + 0: Lines[0].Line[Lines[0].Current].Note[AktNuta].NoteType := 2; + 1: Lines[0].Line[Lines[0].Current].Note[AktNuta].NoteType := 2; + 2: Lines[0].Line[Lines[0].Current].Note[AktNuta].NoteType := 1; end; // case - Lines[0].Line[Lines[0].Akt].Note[AktNuta].Freestyle := False; + Lines[0].Line[Lines[0].Current].Note[AktNuta].Freestyle := False; end; // Freestyle Note Patch SDLK_F: begin - case Lines[0].Line[Lines[0].Akt].Note[AktNuta].NoteType of + case Lines[0].Line[Lines[0].Current].Note[AktNuta].NoteType of 0: begin; - Lines[0].Line[Lines[0].Akt].Note[AktNuta].NoteType := 1; - Lines[0].Line[Lines[0].Akt].Note[AktNuta].Freestyle := False; + Lines[0].Line[Lines[0].Current].Note[AktNuta].NoteType := 1; + Lines[0].Line[Lines[0].Current].Note[AktNuta].Freestyle := False; end; 1,2: begin; - Lines[0].Line[Lines[0].Akt].Note[AktNuta].NoteType := 0; - Lines[0].Line[Lines[0].Akt].Note[AktNuta].Freestyle := True; + Lines[0].Line[Lines[0].Current].Note[AktNuta].NoteType := 0; + Lines[0].Line[Lines[0].Current].Note[AktNuta].Freestyle := True; end; end; // case @@ -609,22 +609,22 @@ begin end; SDLK_0..SDLK_9, SDLK_A..SDLK_Z, SDLK_SPACE, SDLK_MINUS, SDLK_EXCLAIM, SDLK_COMMA, SDLK_SLASH, SDLK_ASTERISK, SDLK_QUESTION, SDLK_QUOTE, SDLK_QUOTEDBL: begin - Lines[0].Line[Lines[0].Akt].Note[AktNuta].Text := - Lines[0].Line[Lines[0].Akt].Note[AktNuta].Text + chr(ScanCode); + Lines[0].Line[Lines[0].Current].Note[AktNuta].Text := + Lines[0].Line[Lines[0].Current].Note[AktNuta].Text + chr(ScanCode); end; SDLK_BACKSPACE: begin - Delete(Lines[0].Line[Lines[0].Akt].Note[AktNuta].Text, - Length(Lines[0].Line[Lines[0].Akt].Note[AktNuta].Text), 1); + Delete(Lines[0].Line[Lines[0].Current].Note[AktNuta].Text, + Length(Lines[0].Line[Lines[0].Current].Note[AktNuta].Text), 1); end; SDLK_RIGHT: begin // right if SDL_ModState = 0 then begin - Lines[0].Line[Lines[0].Akt].Note[AktNuta].Color := 0; + Lines[0].Line[Lines[0].Current].Note[AktNuta].Color := 0; Inc(AktNuta); - if AktNuta = Lines[0].Line[Lines[0].Akt].IlNut then AktNuta := 0; - Lines[0].Line[Lines[0].Akt].Note[AktNuta].Color := 1; + if AktNuta = Lines[0].Line[Lines[0].Current].IlNut then AktNuta := 0; + Lines[0].Line[Lines[0].Current].Note[AktNuta].Color := 1; Lyric.Selected := AktNuta; end; end; @@ -632,10 +632,10 @@ begin begin // left if SDL_ModState = 0 then begin - Lines[0].Line[Lines[0].Akt].Note[AktNuta].Color := 0; + Lines[0].Line[Lines[0].Current].Note[AktNuta].Color := 0; Dec(AktNuta); - if AktNuta = -1 then AktNuta := Lines[0].Line[Lines[0].Akt].HighNote; - Lines[0].Line[Lines[0].Akt].Note[AktNuta].Color := 1; + if AktNuta = -1 then AktNuta := Lines[0].Line[Lines[0].Current].HighNote; + Lines[0].Line[Lines[0].Current].Note[AktNuta].Color := 1; Lyric.Selected := AktNuta; end; end; @@ -646,8 +646,8 @@ end; procedure TScreenEditSub.NewBeat; begin // click -{ for Pet := 0 to Lines[0].Line[Lines[0].Akt].HighNut do - if (Lines[0].Line[Lines[0].Akt].Note[Pet].Start = Czas.AktBeat) then begin +{ for Pet := 0 to Lines[0].Line[Lines[0].Current].HighNut do + if (Lines[0].Line[Lines[0].Current].Note[Pet].Start = Czas.AktBeat) then begin // old} // Music.PlayClick; end; @@ -794,7 +794,7 @@ begin Inc(Lines[0].High); // move needed sentences to one forward. newly has the copy of divided sentence - CStart := Lines[0].Akt; + CStart := Lines[0].Current; for C := CLen-1 downto CStart do Lines[0].Line[C+1] := Lines[0].Line[C]; @@ -838,10 +838,10 @@ begin if Lines[0].Line[CNew].Note[N].Tone < Lines[0].Line[CNew].BaseNote then Lines[0].Line[CNew].BaseNote := Lines[0].Line[CNew].Note[N].Tone; - Lines[0].Akt := Lines[0].Akt + 1; + Lines[0].Current := Lines[0].Current + 1; AktNuta := 0; - Lines[0].Line[Lines[0].Akt].Note[AktNuta].Color := 1; - Lyric.AddCzesc(Lines[0].Akt); + Lines[0].Line[Lines[0].Current].Note[AktNuta].Color := 1; + Lyric.AddCzesc(Lines[0].Current); end; @@ -852,7 +852,7 @@ var NStart: integer; NDst: integer; begin - C := Lines[0].Akt; + C := Lines[0].Current; // set new sentence NStart := Lines[0].Line[C].IlNut; @@ -872,7 +872,7 @@ begin Lines[0].Line[C].Note[NDst].Lenght; // move needed sentences to one backward. - for C := Lines[0].Akt + 1 to Lines[0].High - 1 do + for C := Lines[0].Current + 1 to Lines[0].High - 1 do Lines[0].Line[C] := Lines[0].Line[C+1]; // increase sentence length by 1 @@ -887,7 +887,7 @@ var N: integer; NLen: integer; begin - C := Lines[0].Akt; + C := Lines[0].Current; NLen := Lines[0].Line[C].IlNut + 1; SetLength(Lines[0].Line[C].Note, NLen); @@ -913,7 +913,7 @@ var N: integer; NLen: integer; begin - C := Lines[0].Akt; + C := Lines[0].Current; //Do Not delete Last Note if (Lines[0].High > 0) OR (Lines[0].Line[C].HighNote > 0) then @@ -951,18 +951,18 @@ begin AktNuta := 0; if (C > 0) then - Lines[0].Akt := C - 1 + Lines[0].Current := C - 1 else - Lines[0].Akt := 0; + Lines[0].Current := 0; - Lines[0].Line[Lines[0].Akt].Note[AktNuta].Color := 1; + Lines[0].Line[Lines[0].Current].Note[AktNuta].Color := 1; end; end; end; procedure TScreenEditSub.TransposeNote(Transpose: integer); begin - Inc(Lines[0].Line[Lines[0].Akt].Note[AktNuta].Tone, Transpose); + Inc(Lines[0].Line[Lines[0].Current].Note[AktNuta].Tone, Transpose); end; procedure TScreenEditSub.ChangeWholeTone(Tone: integer); @@ -983,9 +983,9 @@ var N: integer; NStart: integer; begin - for C := Lines[0].Akt to Lines[0].High do begin + for C := Lines[0].Current to Lines[0].High do begin NStart := 0; - if C = Lines[0].Akt then NStart := AktNuta; + if C = Lines[0].Current then NStart := AktNuta; for N := NStart to Lines[0].Line[C].HighNote do begin Inc(Lines[0].Line[C].Note[N].Start, Move); // move note start @@ -1007,7 +1007,7 @@ var N: integer; NHigh: integer; begin -{ C := Lines[0].Akt; +{ C := Lines[0].Current; for N := Lines[0].Line[C].HighNut downto 1 do begin Lines[0].Line[C].Note[N].Text := Lines[0].Line[C].Note[N-1].Text; @@ -1015,7 +1015,7 @@ begin Lines[0].Line[C].Note[0].Text := '- ';} - C := Lines[0].Akt; + C := Lines[0].Current; NHigh := Lines[0].Line[C].HighNote; // last word @@ -1030,7 +1030,7 @@ end; procedure TScreenEditSub.MarkSrc; begin - CopySrc := Lines[0].Akt; + CopySrc := Lines[0].Current; end; procedure TScreenEditSub.PasteText; @@ -1038,7 +1038,7 @@ var C: integer; N: integer; begin - C := Lines[0].Akt; + C := Lines[0].Current; for N := 0 to Lines[0].Line[CopySrc].HighNote do Lines[0].Line[C].Note[N].Text := Lines[0].Line[CopySrc].Note[N].Text; @@ -1190,7 +1190,7 @@ begin Text[TextArtist].Text := CurrentSong.Artist; Text[TextMp3].Text := CurrentSong.Mp3; - Lines[0].Akt := 0; + Lines[0].Current := 0; AktNuta := 0; Lines[0].Line[0].Note[0].Color := 1; @@ -1239,7 +1239,7 @@ begin {$IFDEF UseMIDIPort} // stop the music if (MidiPos > MidiStop) then begin - MidiOut.PutShort($81, Lines[0].Line[Lines[0].Akt].Note[MidiLastNote].Tone + 60, 127); + MidiOut.PutShort($81, Lines[0].Line[Lines[0].Current].Note[MidiLastNote].Tone + 60, 127); PlaySentenceMidi := false; end; {$ENDIF} @@ -1249,15 +1249,15 @@ begin Text[TextDebug].Text := IntToStr(AktBeat); if AktBeat <> LastClick then begin - for Pet := 0 to Lines[0].Line[Lines[0].Akt].HighNote do - if (Lines[0].Line[Lines[0].Akt].Note[Pet].Start = AktBeat) then + for Pet := 0 to Lines[0].Line[Lines[0].Current].HighNote do + if (Lines[0].Line[Lines[0].Current].Note[Pet].Start = AktBeat) then begin {$IFDEF UseMIDIPort} LastClick := AktBeat; if Pet > 0 then - MidiOut.PutShort($81, Lines[0].Line[Lines[0].Akt].Note[Pet-1].Tone + 60, 127); - MidiOut.PutShort($91, Lines[0].Line[Lines[0].Akt].Note[Pet].Tone + 60, 127); + MidiOut.PutShort($81, Lines[0].Line[Lines[0].Current].Note[Pet-1].Tone + 60, 127); + MidiOut.PutShort($91, Lines[0].Line[Lines[0].Current].Note[Pet].Tone + 60, 127); MidiLastNote := Pet; {$ENDIF} @@ -1280,8 +1280,8 @@ begin AktBeat := Floor(GetMidBeat(AudioPlayback.Position - CurrentSong.GAP / 1000)); Text[TextDebug].Text := IntToStr(AktBeat); if AktBeat <> LastClick then begin - for Pet := 0 to Lines[0].Line[Lines[0].Akt].HighNote do - if (Lines[0].Line[Lines[0].Akt].Note[Pet].Start = AktBeat) then + for Pet := 0 to Lines[0].Line[Lines[0].Current].HighNote do + if (Lines[0].Line[Lines[0].Current].Note[Pet].Start = AktBeat) then begin AudioPlayback.PlaySound( SoundLib.Click ); LastClick := AktBeat; @@ -1291,8 +1291,8 @@ begin end; // if PlaySentence - Text[TextSentence].Text := IntToStr(Lines[0].Akt + 1) + ' / ' + IntToStr(Lines[0].Ilosc); - Text[TextNote].Text := IntToStr(AktNuta + 1) + ' / ' + IntToStr(Lines[0].Line[Lines[0].Akt].IlNut); + Text[TextSentence].Text := IntToStr(Lines[0].Current + 1) + ' / ' + IntToStr(Lines[0].Ilosc); + Text[TextNote].Text := IntToStr(AktNuta + 1) + ' / ' + IntToStr(Lines[0].Line[Lines[0].Current].IlNut); // Song info Text[TextBPM].Text := FloatToStr(CurrentSong.BPM[0].BPM / 4); @@ -1302,10 +1302,10 @@ begin if not Error then begin // Note info - Text[TextNStart].Text := IntToStr(Lines[0].Line[Lines[0].Akt].Note[AktNuta].Start); - Text[TextNDlugosc].Text := IntToStr(Lines[0].Line[Lines[0].Akt].Note[AktNuta].Lenght); - Text[TextNTon].Text := IntToStr(Lines[0].Line[Lines[0].Akt].Note[AktNuta].Tone) + ' ( ' + GetNoteName(Lines[0].Line[Lines[0].Akt].Note[AktNuta].Tone) + ' )'; - Text[TextNText].Text := Lines[0].Line[Lines[0].Akt].Note[AktNuta].Text; + Text[TextNStart].Text := IntToStr(Lines[0].Line[Lines[0].Current].Note[AktNuta].Start); + Text[TextNDlugosc].Text := IntToStr(Lines[0].Line[Lines[0].Current].Note[AktNuta].Lenght); + Text[TextNTon].Text := IntToStr(Lines[0].Line[Lines[0].Current].Note[AktNuta].Tone) + ' ( ' + GetNoteName(Lines[0].Line[Lines[0].Current].Note[AktNuta].Tone) + ' )'; + Text[TextNText].Text := Lines[0].Line[Lines[0].Current].Note[AktNuta].Text; end; // Text Edit Mode diff --git a/Game/Code/Screens/UScreenSing.pas b/Game/Code/Screens/UScreenSing.pas index 2f8df0a6..d50d4360 100644 --- a/Game/Code/Screens/UScreenSing.pas +++ b/Game/Code/Screens/UScreenSing.pas @@ -205,7 +205,7 @@ begin if not paused then //Pause einschalten begin // pause Time - PauseTime := Czas.Teraz; + PauseTime := LineState.CurrentTime; Paused := true; // pause Music @@ -218,7 +218,7 @@ begin end else //Pause ausschalten begin - Czas.Teraz := PauseTime; //Position of Notes + LineState.CurrentTime := PauseTime; //Position of Notes // Position of Music AudioPlayback.Position := PauseTime; @@ -506,10 +506,10 @@ begin // prepare timer (I) // CountSkipTimeSet; - Czas.Teraz := CurrentSong.Start; - Czas.Razem := AudioPlayback.Length; - if (CurrentSong.Finish > 0) then Czas.Razem := CurrentSong.Finish / 1000; - Czas.OldBeat := -1; + LineState.CurrentTime := CurrentSong.Start; + LineState.TotalTime := AudioPlayback.Length; + if (CurrentSong.Finish > 0) then LineState.TotalTime := CurrentSong.Finish / 1000; + LineState.OldBeat := -1; for P := 0 to High(Player) do ClearScores(P); @@ -897,7 +897,7 @@ begin begin try writeln( 'VideoPlayback.FFmpegGetFrame' ); - fCurrentVideoPlaybackEngine.GetFrame(Czas.Teraz); + fCurrentVideoPlaybackEngine.GetFrame(LineState.CurrentTime); writeln( 'VideoPlayback.FFmpegDrawGL' ); fCurrentVideoPlaybackEngine.DrawGL(ScreenAct); @@ -1070,8 +1070,8 @@ begin Text[T].X := Text[T].X + 10*ScreenX; // update static menu with time ... - Min := Round(Czas.Teraz) div 60; - Sec := Round(Czas.Teraz) mod 60; + Min := Round(LineState.CurrentTime) div 60; + Sec := Round(LineState.CurrentTime) mod 60; Text[TextTimeText].Text := ''; if Min < 10 then Text[TextTimeText].Text := '0'; Text[TextTimeText].Text := Text[TextTimeText].Text + IntToStr(Min) + ':'; @@ -1176,7 +1176,7 @@ begin if assigned( fCurrentVideoPlaybackEngine ) then begin - fCurrentVideoPlaybackEngine.GetFrame(Czas.Teraz); + fCurrentVideoPlaybackEngine.GetFrame(LineState.CurrentTime); fCurrentVideoPlaybackEngine.DrawGL(ScreenAct); end; @@ -1208,9 +1208,9 @@ begin DrawFG; // check for music finish -// Log.LogError('Check for music finish: ' + BoolToStr(Music.Finished) + ' ' + FloatToStr(Czas.Teraz*1000) + ' ' + IntToStr(CurrentSong.Finish)); +// Log.LogError('Check for music finish: ' + BoolToStr(Music.Finished) + ' ' + FloatToStr(LineState.CurrentTime*1000) + ' ' + IntToStr(CurrentSong.Finish)); if ShowFinish then begin - if (not AudioPlayback.Finished) and ((CurrentSong.Finish = 0) or (Czas.Teraz*1000 <= CurrentSong.Finish)) then begin + if (not AudioPlayback.Finished) and ((CurrentSong.Finish = 0) or (LineState.CurrentTime*1000 <= CurrentSong.Finish)) then begin //Pause Mod: if not Paused then Sing(Self); // analyze song diff --git a/Game/Code/Screens/UScreenSingModi.pas b/Game/Code/Screens/UScreenSingModi.pas index 4218dd86..4379dae6 100644 --- a/Game/Code/Screens/UScreenSingModi.pas +++ b/Game/Code/Screens/UScreenSingModi.pas @@ -131,7 +131,7 @@ function ToSentences(Const Lines: TLines): TSentences; var I, J: Integer; begin - Result.Akt := Lines.Akt; + Result.Akt := Lines.Current; Result.High := Lines.High; Result.Ilosc := Lines.Ilosc; Result.Resolution := Lines.Resolution; @@ -158,7 +158,7 @@ begin Result.Sentence[I].Note[J].Start := Lines.Line[I].Note[J].Start; Result.Sentence[I].Note[J].Length := Lines.Line[I].Note[J].Lenght; Result.Sentence[I].Note[J].Ton := Lines.Line[I].Note[J].Tone; - Result.Sentence[I].Note[J].TonGamy := Lines.Line[I].Note[J].TonGamy; + Result.Sentence[I].Note[J].TonGamy := Lines.Line[I].Note[J].ToneGamus; //Result.Sentence[I].Note[J].Text := Lines.Line[I].Note[J].Tekst; Result.Sentence[I].Note[J].FreeStyle := Lines.Line[I].Note[J].FreeStyle; Result.Sentence[I].Note[J].Typ := Lines.Line[I].Note[J].NoteType; @@ -512,8 +512,8 @@ end; //ShowScore if DLLMan.Selected.LoadSong then begin // update static menu with time ... - Min := Round(Czas.Teraz) div 60; - Sec := Round(Czas.Teraz) mod 60; + Min := Round(LineState.CurrentTime) div 60; + Sec := Round(LineState.CurrentTime) mod 60; Text[TextTimeText].Text := ''; if Min < 10 then Text[TextTimeText].Text := '0'; Text[TextTimeText].Text := Text[TextTimeText].Text + IntToStr(Min) + ':'; @@ -541,7 +541,7 @@ end; if ShowFinish then begin if DllMan.Selected.LoadSong then begin - if (not AudioPlayback.Finished) and ((CurrentSong.Finish = 0) or (Czas.Teraz*1000 <= CurrentSong.Finish)) then begin + if (not AudioPlayback.Finished) and ((CurrentSong.Finish = 0) or (LineState.CurrentTime*1000 <= CurrentSong.Finish)) then begin //Pause Mod: if not Paused then Sing(Self); // analyze song @@ -574,7 +574,7 @@ end; if ((ShowFinish) AND (NOT Paused)) then begin - if not DLLMan.PluginDraw(Playerinfo, Lines[0].Akt) then + if not DLLMan.PluginDraw(Playerinfo, Lines[0].Current) then begin if not FadeOut then begin Finish; |