diff options
Diffstat (limited to 'Game/Code/Classes')
-rw-r--r-- | Game/Code/Classes/UDraw.pas | 78 | ||||
-rw-r--r-- | Game/Code/Classes/UFiles.pas | 32 | ||||
-rw-r--r-- | Game/Code/Classes/ULyrics.pas | 18 | ||||
-rw-r--r-- | Game/Code/Classes/ULyrics_bak.pas | 8 | ||||
-rw-r--r-- | Game/Code/Classes/UMain.pas | 140 | ||||
-rw-r--r-- | Game/Code/Classes/UMusic.pas | 18 | ||||
-rw-r--r-- | Game/Code/Classes/USong.pas | 110 |
7 files changed, 202 insertions, 202 deletions
diff --git a/Game/Code/Classes/UDraw.pas b/Game/Code/Classes/UDraw.pas index 479226b3..986c3ea8 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) / (Czesci[NrCzesci].Czesc[Czesci[NrCzesci].Akt].Koniec - Czesci[NrCzesci].Czesc[Czesci[NrCzesci].Akt].StartNote); + TempR := (Right-Left) / (Lines[NrCzesci].Line[Lines[NrCzesci].Akt].Koniec - Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote); glEnable(GL_BLEND); glBegin(GL_LINES); - for Pet := Czesci[NrCzesci].Czesc[Czesci[NrCzesci].Akt].StartNote to Czesci[NrCzesci].Czesc[Czesci[NrCzesci].Akt].Koniec do begin - if (Pet mod Czesci[NrCzesci].Resolution) = Czesci[NrCzesci].NotesGAP then + for Pet := Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote to Lines[NrCzesci].Line[Lines[NrCzesci].Akt].Koniec 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 - Czesci[NrCzesci].Czesc[Czesci[NrCzesci].Akt].StartNote), Top); - glVertex2f(Left + TempR * (Pet - Czesci[NrCzesci].Czesc[Czesci[NrCzesci].Akt].StartNote), Top + 135); + 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); end; glEnd; glDisable(GL_BLEND); @@ -248,7 +248,7 @@ begin glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); lTmpA := (Right-Left); - lTmpB := (Czesci[NrCzesci].Czesc[Czesci[NrCzesci].Akt].Koniec - Czesci[NrCzesci].Czesc[Czesci[NrCzesci].Akt].StartNote); + lTmpB := (Lines[NrCzesci].Line[Lines[NrCzesci].Akt].Koniec - Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote); {$IFDEF LAZARUS} (* @@ -269,9 +269,9 @@ begin end; - with Czesci[NrCzesci].Czesc[Czesci[NrCzesci].Akt] do begin - for Pet := 0 to HighNut do begin - with Nuta[Pet] do begin + with Lines[NrCzesci].Line[Lines[NrCzesci].Akt] 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 == ende, schluss // lewa czesc - left part - Rec.Left := (Start-Czesci[NrCzesci].Czesc[Czesci[NrCzesci].Akt].StartNote) * TempR + Left + 0.5 + 10*ScreenX; + Rec.Left := (Start-Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote) * TempR + Left + 0.5 + 10*ScreenX; Rec.Right := Rec.Left + NotesW; Rec.Top := Top - (Ton-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+Dlugosc-Czesci[NrCzesci].Czesc[Czesci[NrCzesci].Akt].StartNote) * TempR + Left - NotesW - 0.5 + 10*ScreenX; // Dlugosc == länge + Rec.Right := (Start+Dlugosc-Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote) * TempR + Left - NotesW - 0.5 + 10*ScreenX; // Dlugosc == länge 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 / (Czesci[0].Czesc[Czesci[0].Akt].Koniec - Czesci[0].Czesc[Czesci[0].Akt].StartNote); + TempR := W / (Lines[0].Line[Lines[0].Akt].Koniec - Lines[0].Line[Lines[0].Akt].StartNote); for N := 0 to Player[NrGracza].HighNut do begin - with Player[NrGracza].Nuta[N] do + with Player[NrGracza].Note[N] do begin // Left part of note - Rec.Left := X + (Start-Czesci[0].Czesc[Czesci[0].Akt].StartNote) * TempR + 0.5 + 10*ScreenX; + Rec.Left := X + (Start-Lines[0].Line[Lines[0].Akt].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 - (Ton-Czesci[0].Czesc[Czesci[0].Akt].BaseNote)*Space/2 - NotesH2; + Rec.Top := Y - (Ton-Lines[0].Line[Lines[0].Akt].BaseNote)*Space/2 - NotesH2; Rec.Bottom := Rec.Top + 2 *NotesH2; // draw the left part @@ -407,7 +407,7 @@ var // Middle part of the note Rec.Left := Rec.Right; - Rec.Right := X + (Start+Dlugosc-Czesci[0].Czesc[Czesci[0].Akt].StartNote) * TempR - NotesW - 0.5 + 10*ScreenX; + Rec.Right := X + (Start+Dlugosc-Lines[0].Line[Lines[0].Akt].StartNote) * TempR - NotesW - 0.5 + 10*ScreenX; // (nowe) - dunno if (Start+Dlugosc-1 = Czas.AktBeatD) then @@ -484,7 +484,7 @@ begin lTmpA := (Right-Left); - lTmpB := (Czesci[NrCzesci].Czesc[Czesci[NrCzesci].Akt].Koniec - Czesci[NrCzesci].Czesc[Czesci[NrCzesci].Akt].StartNote); + lTmpB := (Lines[NrCzesci].Line[Lines[NrCzesci].Akt].Koniec - Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote); if ( lTmpA > 0 ) AND @@ -497,19 +497,19 @@ begin TempR := 0; end; - with Czesci[NrCzesci].Czesc[Czesci[NrCzesci].Akt] do begin - for Pet := 0 to HighNut do begin - with Nuta[Pet] do begin + with Lines[NrCzesci].Line[Lines[NrCzesci].Akt] do begin + for Pet := 0 to HighNote do begin + with Note[Pet] do begin if not FreeStyle then begin // begin: 14, 20 // easy: 6, 11 W := NotesW * 2 + 2; H := NotesH * 1.5 + 3.5; - X2 := (Start-Czesci[NrCzesci].Czesc[Czesci[NrCzesci].Akt].StartNote) * TempR + Left + 0.5 + 10*ScreenX + 4; // wciecie + X2 := (Start-Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote) * TempR + Left + 0.5 + 10*ScreenX + 4; // wciecie X1 := X2-W; - X3 := (Start+Dlugosc-Czesci[NrCzesci].Czesc[Czesci[NrCzesci].Akt].StartNote) * TempR + Left - 0.5 + 10*ScreenX - 4; // wciecie + X3 := (Start+Dlugosc-Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote) * TempR + Left - 0.5 + 10*ScreenX - 4; // wciecie X4 := X3+W; // left @@ -622,14 +622,14 @@ begin // todo: Lyrics { // rysuje pasek, podpowiadajacy poczatek spiwania w scenie FS := 1.3; - BarFrom := Czesci[0].Czesc[Czesci[0].Akt].StartNote - Czesci[0].Czesc[Czesci[0].Akt].Start; + BarFrom := Lines[0].Line[Lines[0].Akt].StartNote - Lines[0].Line[Lines[0].Akt].Start; if BarFrom > 40 then BarFrom := 40; - if (Czesci[0].Czesc[Czesci[0].Akt].StartNote - Czesci[0].Czesc[Czesci[0].Akt].Start > 8) and // dluga przerwa //16->12 for more help bars and then 12->8 for even more - (Czesci[0].Czesc[Czesci[0].Akt].StartNote - Czas.MidBeat > 0) and // przed tekstem - (Czesci[0].Czesc[Czesci[0].Akt].StartNote - Czas.MidBeat < 40) then begin // ale nie za wczesnie - BarWspol := (Czas.MidBeat - (Czesci[0].Czesc[Czesci[0].Akt].StartNote - BarFrom)) / BarFrom; + 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; Rec.Left := NR.Left + BarWspol * -// (NR.WMid - Czesci[0].Czesc[Czesci[0].Akt].LyricWidth / 2 * FS - 50); +// (NR.WMid - Lines[0].Line[Lines[0].Akt].LyricWidth / 2 * FS - 50); (ScreenSing.LyricMain.ClientX - NR.Left - 50) + 10*ScreenX; Rec.Right := Rec.Left + 50; Rec.Top := Skin_LyricsT + 3; @@ -879,12 +879,12 @@ begin // todo: Lyrics { // rysuje pasek, podpowiadajacy poczatek spiwania w scenie FS := 1.3; - BarFrom := Czesci[0].Czesc[Czesci[0].Akt].StartNote - Czesci[0].Czesc[Czesci[0].Akt].Start; + BarFrom := Lines[0].Line[Lines[0].Akt].StartNote - Lines[0].Line[Lines[0].Akt].Start; if BarFrom > 40 then BarFrom := 40; - if (Czesci[0].Czesc[Czesci[0].Akt].StartNote - Czesci[0].Czesc[Czesci[0].Akt].Start > 8) and // dluga przerwa //16->12 for more help bars and then 12->8 for even more - (Czesci[0].Czesc[Czesci[0].Akt].StartNote - Czas.MidBeat > 0) and // przed tekstem - (Czesci[0].Czesc[Czesci[0].Akt].StartNote - Czas.MidBeat < 40) then begin // ale nie za wczesnie - BarWspol := (Czas.MidBeat - (Czesci[0].Czesc[Czesci[0].Akt].StartNote - BarFrom)) / BarFrom; + 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; Rec.Left := NR.Left + BarWspol * (ScreenSingModi.LyricMain.ClientX - NR.Left - 50) + 10*ScreenX; Rec.Right := Rec.Left + 50; Rec.Top := Skin_LyricsT + 3; @@ -1239,10 +1239,10 @@ begin glEnable(GL_TEXTURE_2D); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - TempR := (Right-Left) / (Czesci[NrCzesci].Czesc[Czesci[NrCzesci].Akt].Koniec - Czesci[NrCzesci].Czesc[Czesci[NrCzesci].Akt].StartNote); - with Czesci[NrCzesci].Czesc[Czesci[NrCzesci].Akt] do begin - for Pet := 0 to HighNut do begin - with Nuta[Pet] do begin + TempR := (Right-Left) / (Lines[NrCzesci].Line[Lines[NrCzesci].Akt].Koniec - Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote); + with Lines[NrCzesci].Line[Lines[NrCzesci].Akt] do begin + for Pet := 0 to HighNote do begin + with Note[Pet] do begin // Golden Note Patch case Wartosc of @@ -1254,7 +1254,7 @@ begin // lewa czesc - left part - Rec.Left := (Start-Czesci[NrCzesci].Czesc[Czesci[NrCzesci].Akt].StartNote) * TempR + Left + 0.5 + 10*ScreenX; + Rec.Left := (Start-Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote) * TempR + Left + 0.5 + 10*ScreenX; Rec.Right := Rec.Left + NotesW; Rec.Top := Top - (Ton-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+Dlugosc-Czesci[NrCzesci].Czesc[Czesci[NrCzesci].Akt].StartNote) * TempR + Left - NotesW - 0.5 + 10*ScreenX; + Rec.Right := (Start+Dlugosc-Lines[NrCzesci].Line[Lines[NrCzesci].Akt].StartNote) * TempR + Left - NotesW - 0.5 + 10*ScreenX; glBindTexture(GL_TEXTURE_2D, Tex_Mid[Color].TexNum); glBegin(GL_QUADS); diff --git a/Game/Code/Classes/UFiles.pas b/Game/Code/Classes/UFiles.pas index 495e8a4a..09cc57ec 100644 --- a/Game/Code/Classes/UFiles.pas +++ b/Game/Code/Classes/UFiles.pas @@ -14,7 +14,7 @@ uses SysUtils, USong; procedure ResetSingTemp; -function SaveSong(Song: TSong; Czesc: TCzesci; Name: string; Relative: boolean): boolean; +function SaveSong(Song: TSong; Lines: TLines; Name: string; Relative: boolean): boolean; var SongFile: TextFile; // all procedures in this unit operates on this file @@ -40,12 +40,12 @@ procedure ResetSingTemp; var Pet: integer; begin - SetLength(Czesci, Length(Player)); + SetLength(Lines, Length(Player)); for Pet := 0 to High(Player) do begin - SetLength(Czesci[Pet].Czesc, 1); - SetLength(Czesci[Pet].Czesc[0].Nuta, 0); - Czesci[Pet].Czesc[0].Lyric := ''; - Czesci[Pet].Czesc[0].LyricWidth := 0; + SetLength(Lines[Pet].Line, 1); + SetLength(Lines[Pet].Line[0].Note, 0); + Lines[Pet].Line[0].Lyric := ''; + Lines[Pet].Line[0].LyricWidth := 0; Player[pet].Score := 0; Player[pet].IlNut := 0; Player[pet].HighNut := -1; @@ -68,7 +68,7 @@ end; //-------------------- // Saves a Song //-------------------- -function SaveSong(Song: TSong; Czesc: TCzesci; Name: string; Relative: boolean): boolean; +function SaveSong(Song: TSong; Lines: TLines; Name: string; Relative: boolean): boolean; var C: integer; N: integer; @@ -109,13 +109,13 @@ begin for B := 1 to High(CurrentSong.BPM) do WriteLn(SongFile, 'B ' + FloatToStr(CurrentSong.BPM[B].StartBeat) + ' ' + FloatToStr(CurrentSong.BPM[B].BPM/4)); - for C := 0 to Czesc.High do begin - for N := 0 to Czesc.Czesc[C].HighNut do begin - with Czesc.Czesc[C].Nuta[N] do begin + for C := 0 to Lines.High do begin + for N := 0 to Lines.Line[C].HighNote do begin + with Lines.Line[C].Note[N] do begin //Golden + Freestyle Note Patch - case Czesc.Czesc[C].Nuta[N].Wartosc of + case Lines.Line[C].Note[N].Wartosc of 0: NoteState := 'F '; 1: NoteState := ': '; 2: NoteState := '* '; @@ -127,13 +127,13 @@ begin end; // with end; // N - if C < Czesc.High then begin // don't write end of last sentence + if C < Lines.High then begin // don't write end of last sentence if not Relative then - S := '- ' + IntToStr(Czesc.Czesc[C+1].Start) + S := '- ' + IntToStr(Lines.Line[C+1].Start) else begin - S := '- ' + IntToStr(Czesc.Czesc[C+1].Start - RelativeSubTime) + - ' ' + IntToStr(Czesc.Czesc[C+1].Start - RelativeSubTime); - RelativeSubTime := Czesc.Czesc[C+1].Start; + S := '- ' + IntToStr(Lines.Line[C+1].Start - RelativeSubTime) + + ' ' + IntToStr(Lines.Line[C+1].Start - RelativeSubTime); + RelativeSubTime := Lines.Line[C+1].Start; end; WriteLn(SongFile, S); end; diff --git a/Game/Code/Classes/ULyrics.pas b/Game/Code/Classes/ULyrics.pas index f76e822e..fb57220c 100644 --- a/Game/Code/Classes/ULyrics.pas +++ b/Game/Code/Classes/ULyrics.pas @@ -304,12 +304,12 @@ begin end; //Check if Sentence has Notes - If (Length(Line.Nuta) > 0) then + If (Length(Line.Note) > 0) then begin //Copy Values from SongLine to LyricLine - CountNotes := high(Line.Nuta); - LyricLine.Start := Line.Nuta[0].Start; - LyricLine.Length := Line.Nuta[CountNotes].Start + Line.Nuta[CountNotes].Dlugosc - LyricLine.Start; + CountNotes := high(Line.Note); + LyricLine.Start := Line.Note[0].Start; + LyricLine.Length := Line.Note[CountNotes].Start + Line.Note[CountNotes].Dlugosc - LyricLine.Start; LyricLine.Freestyle := True; //is set by And Notes Freestyle while copying Notes LyricLine.Text := ''; //Also Set while copying Notes LyricLine.Players := 127; //All Players for now, no Duett Mode available @@ -318,11 +318,11 @@ begin SetLength(LyricLine.Words, CountNotes + 1); For I := 0 to CountNotes do begin - LyricLine.Freestyle := LyricLine.Freestyle AND Line.Nuta[I].FreeStyle; - LyricLine.Words[I].Start := Line.Nuta[I].Start; - LyricLine.Words[I].Length := Line.Nuta[I].Dlugosc; - LyricLine.Words[I].Text := Line.Nuta[I].Tekst; - LyricLine.Words[I].Freestyle := Line.Nuta[I].FreeStyle; + LyricLine.Freestyle := LyricLine.Freestyle AND Line.Note[I].FreeStyle; + LyricLine.Words[I].Start := Line.Note[I].Start; + LyricLine.Words[I].Length := Line.Note[I].Dlugosc; + LyricLine.Words[I].Text := Line.Note[I].Tekst; + LyricLine.Words[I].Freestyle := Line.Note[I].FreeStyle; LyricLine.Text := LyricLine.Text + LyricLine.Words[I].Text end; diff --git a/Game/Code/Classes/ULyrics_bak.pas b/Game/Code/Classes/ULyrics_bak.pas index 703ee270..86a69959 100644 --- a/Game/Code/Classes/ULyrics_bak.pas +++ b/Game/Code/Classes/ULyrics_bak.pas @@ -264,10 +264,10 @@ var N: integer; begin Clear; - for N := 0 to Czesci[0].Czesc[NrCzesci].HighNut do begin - Italic := Czesci[0].Czesc[NrCzesci].Nuta[N].FreeStyle; - AddWord(Czesci[0].Czesc[NrCzesci].Nuta[N].Tekst); - Text := Text + Czesci[0].Czesc[NrCzesci].Nuta[N].Tekst; + for N := 0 to Lines[0].Line[NrCzesci].HighNote do begin + Italic := Lines[0].Line[NrCzesci].Note[N].FreeStyle; + AddWord(Lines[0].Line[NrCzesci].Note[N].Tekst); + Text := Text + Lines[0].Line[NrCzesci].Note[N].Tekst; end; Selected := -1; end; diff --git a/Game/Code/Classes/UMain.pas b/Game/Code/Classes/UMain.pas index 2d744a4f..c6c1f8e1 100644 --- a/Game/Code/Classes/UMain.pas +++ b/Game/Code/Classes/UMain.pas @@ -57,7 +57,7 @@ type HighNut: integer;
IlNut: integer;
- Nuta: array of record
+ Note: array of record
Start: integer;
Dlugosc: integer;
Detekt: real; // accurate place, detected in the note
@@ -699,18 +699,18 @@ begin begin;
CP := PetGr;
// ustawianie starej parts
- Czas.OldCzesc := Czesci[CP].Akt;
+ Czas.OldCzesc := Lines[CP].Akt;
// wybieranie aktualnej parts
- for Pet := 0 to Czesci[CP].High do
+ for Pet := 0 to Lines[CP].High do
begin
- if Czas.AktBeat >= Czesci[CP].Czesc[Pet].Start then
- Czesci[CP].Akt := Pet;
+ if Czas.AktBeat >= Lines[CP].Line[Pet].Start then
+ Lines[CP].Akt := Pet;
end;
// czysczenie nut gracza, gdy to jest nowa plansza
// (optymizacja raz na halfbeat jest zla)
- if Czesci[CP].Akt <> Czas.OldCzesc then
+ if Lines[CP].Akt <> Czas.OldCzesc then
NewSentence(Sender);
end; // for PetGr
@@ -733,21 +733,21 @@ begin // plynnie przesuwa text
Done := 1;
- for N := 0 to Czesci[0].Czesc[Czesci[0].Akt].HighNut do
+ for N := 0 to Lines[0].Line[Lines[0].Akt].HighNote do
begin
- if (Czesci[0].Czesc[Czesci[0].Akt].Nuta[N].Start <= Czas.MidBeat) and
- (Czesci[0].Czesc[Czesci[0].Akt].Nuta[N].Start + Czesci[0].Czesc[Czesci[0].Akt].Nuta[N].Dlugosc >= Czas.MidBeat) then
+ 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].Dlugosc >= Czas.MidBeat) then
begin
- Done := (Czas.MidBeat - Czesci[0].Czesc[Czesci[0].Akt].Nuta[N].Start) / (Czesci[0].Czesc[Czesci[0].Akt].Nuta[N].Dlugosc);
+ Done := (Czas.MidBeat - Lines[0].Line[Lines[0].Akt].Note[N].Start) / (Lines[0].Line[Lines[0].Akt].Note[N].Dlugosc);
end;
end;
- N := Czesci[0].Czesc[Czesci[0].Akt].HighNut;
+ N := Lines[0].Line[Lines[0].Akt].HighNote;
// wylacza ostatnia nute po przejsciu
{// todo: Lyrics
if (Ini.LyricsEffect = 1) and (Done = 1) and
- (Czas.MidBeat > Czesci[0].Czesc[Czesci[0].Akt].Nuta[N].Start + Czesci[0].Czesc[Czesci[0].Akt].Nuta[N].Dlugosc)
+ (Czas.MidBeat > Lines[0].Line[Lines[0].Akt].Note[N].Start + Lines[0].Line[Lines[0].Akt].Note[N].Dlugosc)
then Sender.LyricMain.Selected := -1;
if Done > 1 then Done := 1;
@@ -773,25 +773,25 @@ begin begin
Player[G].IlNut := 0;
Player[G].HighNut := -1;
- SetLength(Player[G].Nuta, 0);
+ SetLength(Player[G].Note, 0);
end;
// Add Words to Lyrics
with Sender do
begin
- {LyricMain.AddCzesc(Czesci[0].Akt);
- if Czesci[0].Akt < Czesci[0].High then
- LyricSub.AddCzesc(Czesci[0].Akt+1)
+ {LyricMain.AddCzesc(Lines[0].Akt);
+ if Lines[0].Akt < Lines[0].High then
+ LyricSub.AddCzesc(Lines[0].Akt+1)
else
LyricSub.Clear;}
- while (not Lyrics.LineinQueue) and (Lyrics.LineCounter <= High(Czesci[0].Czesc)) do
- Lyrics.AddLine(@Czesci[0].Czesc[Lyrics.LineCounter]);
+ while (not Lyrics.LineinQueue) and (Lyrics.LineCounter <= High(Lines[0].Line)) do
+ Lyrics.AddLine(@Lines[0].Line[Lyrics.LineCounter]);
end;
Sender.UpdateLCD;
//On Sentence Change...
- Sender.onSentenceChange(Czesci[0].Akt);
+ Sender.onSentenceChange(Lines[0].Akt);
end;
procedure NewBeat(Sender: TScreenSing);
@@ -801,8 +801,8 @@ var begin
// ustawia zaznaczenie tekstu
// SingScreen.LyricMain.Selected := -1;
- for Pet := 0 to Czesci[0].Czesc[Czesci[0].Akt].HighNut do
- if (Czesci[0].Czesc[Czesci[0].Akt].Nuta[Pet].Start = Czas.AktBeat) then
+ 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
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 + Czesci[0].Resolution + Czesci[0].NotesGAP) mod Czesci[0].Resolution = 0) then
+ if (Ini.BeatClick = 1) and ((Czas.AktBeatC + Lines[0].Resolution + Lines[0].NotesGAP) mod Lines[0].Resolution = 0) then
AudioPlayback.PlaySound(SoundLib.Click);
// debug system on LPT
- if ((Czas.AktBeatC + Czesci[0].Resolution + Czesci[0].NotesGAP) mod Czesci[0].Resolution = 0) then
+ if ((Czas.AktBeatC + 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 + Czesci[0].Resolution + Czesci[0].NotesGAP) mod (Czesci[0].Resolution * 2) = 0) then
+{ if ((Czas.AktBeatC + 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 Czesci[0].Czesc[Czesci[0].Akt].HighNut do
+ for Pet := 0 to Lines[0].Line[Lines[0].Akt].HighNote do
begin
- if (Czesci[0].Czesc[Czesci[0].Akt].Nuta[Pet].Start = Czas.AktBeatC) then
+ if (Lines[0].Line[Lines[0].Akt].Note[Pet].Start = Czas.AktBeatC) then
begin
// click assist
if Ini.ClickAssist = 1 then
@@ -915,22 +915,22 @@ begin //Czas.Ton := Czas.Ton + Round(Random(3)) - 1;
// count min and max sentence range for checking (detection is delayed to the notes we see on the screen)
- SMin := Czesci[0].Akt-1;
+ SMin := Lines[0].Akt-1;
if SMin < 0 then
SMin := 0;
- SMax := Czesci[0].Akt;
+ SMax := Lines[0].Akt;
// check if we can add new note
Mozna := false;
SDet:=SMin;
for S := SMin to SMax do
begin
- for Pet := 0 to Czesci[0].Czesc[S].HighNut do
+ for Pet := 0 to Lines[0].Line[S].HighNote do
begin
- if ((Czesci[0].Czesc[S].Nuta[Pet].Start <= Czas.AktBeatD)
- and (Czesci[0].Czesc[S].Nuta[Pet].Start + Czesci[0].Czesc[S].Nuta[Pet].Dlugosc - 1 >= Czas.AktBeatD))
- and (not Czesci[0].Czesc[S].Nuta[Pet].FreeStyle) // but don't allow when it's FreeStyle note
- and (Czesci[0].Czesc[S].Nuta[Pet].Dlugosc > 0) then // and make sure the note lenghts is at least 1
+ if ((Lines[0].Line[S].Note[Pet].Start <= Czas.AktBeatD)
+ and (Lines[0].Line[S].Note[Pet].Start + Lines[0].Line[S].Note[Pet].Dlugosc - 1 >= Czas.AktBeatD))
+ 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].Dlugosc > 0) then // and make sure the note lenghts is at least 1
begin
SDet := S;
Mozna := true;
@@ -948,19 +948,19 @@ begin if (AudioInputProcessor.Sound[CP].ToneValid) and (Mozna) then
begin
// operowanie na ostatniej nucie
- for Pet := 0 to Czesci[0].Czesc[S].HighNut do
+ for Pet := 0 to Lines[0].Line[S].HighNote do
begin
- if (Czesci[0].Czesc[S].Nuta[Pet].Start <= Czas.OldBeatD+1) and
- (Czesci[0].Czesc[S].Nuta[Pet].Start +
- Czesci[0].Czesc[S].Nuta[Pet].Dlugosc > Czas.OldBeatD+1) then
+ if (Lines[0].Line[S].Note[Pet].Start <= Czas.OldBeatD+1) and
+ (Lines[0].Line[S].Note[Pet].Start +
+ Lines[0].Line[S].Note[Pet].Dlugosc > Czas.OldBeatD+1) then
begin
// to robi, tylko dla pary nut (oryginalnej i gracza)
// przesuwanie tonu w odpowiednia game
- while (AudioInputProcessor.Sound[CP].Tone - Czesci[0].Czesc[S].Nuta[Pet].Ton > 6) do
+ while (AudioInputProcessor.Sound[CP].Tone - Lines[0].Line[S].Note[Pet].Ton > 6) do
AudioInputProcessor.Sound[CP].Tone := AudioInputProcessor.Sound[CP].Tone - 12;
- while (AudioInputProcessor.Sound[CP].Tone - Czesci[0].Czesc[S].Nuta[Pet].Ton < -6) do
+ while (AudioInputProcessor.Sound[CP].Tone - Lines[0].Line[S].Note[Pet].Ton < -6) do
AudioInputProcessor.Sound[CP].Tone := AudioInputProcessor.Sound[CP].Tone + 12;
// Half size Notes Patch
@@ -971,9 +971,9 @@ begin //if Ini.Difficulty = 2 then Range := 0;
Range := 2 - Ini.Difficulty;
- if abs(Czesci[0].Czesc[S].Nuta[Pet].Ton - AudioInputProcessor.Sound[CP].Tone) <= Range then
+ if abs(Lines[0].Line[S].Note[Pet].Ton - AudioInputProcessor.Sound[CP].Tone) <= Range then
begin
- AudioInputProcessor.Sound[CP].Tone := Czesci[0].Czesc[S].Nuta[Pet].Ton;
+ AudioInputProcessor.Sound[CP].Tone := Lines[0].Line[S].Note[Pet].Ton;
// Half size Notes Patch
NoteHit := true;
@@ -981,21 +981,21 @@ begin if (Ini.LineBonus = 0) then
begin
// add points without LineBonus
- case Czesci[0].Czesc[S].Nuta[Pet].Wartosc of
- 1: Player[CP].Score := Player[CP].Score + 10000 / Czesci[0].Wartosc *
- Czesci[0].Czesc[S].Nuta[Pet].Wartosc;
- 2: Player[CP].ScoreGolden := Player[CP].ScoreGolden + 10000 / Czesci[0].Wartosc *
- Czesci[0].Czesc[S].Nuta[Pet].Wartosc;
+ case Lines[0].Line[S].Note[Pet].Wartosc of
+ 1: Player[CP].Score := Player[CP].Score + 10000 / Lines[0].Wartosc *
+ Lines[0].Line[S].Note[Pet].Wartosc;
+ 2: Player[CP].ScoreGolden := Player[CP].ScoreGolden + 10000 / Lines[0].Wartosc *
+ Lines[0].Line[S].Note[Pet].Wartosc;
end;
end
else
begin
// add points with Line Bonus
- case Czesci[0].Czesc[S].Nuta[Pet].Wartosc of
- 1: Player[CP].Score := Player[CP].Score + 9000 / Czesci[0].Wartosc *
- Czesci[0].Czesc[S].Nuta[Pet].Wartosc;
- 2: Player[CP].ScoreGolden := Player[CP].ScoreGolden + 9000 / Czesci[0].Wartosc *
- Czesci[0].Czesc[S].Nuta[Pet].Wartosc;
+ case Lines[0].Line[S].Note[Pet].Wartosc of
+ 1: Player[CP].Score := Player[CP].Score + 9000 / Lines[0].Wartosc *
+ Lines[0].Line[S].Note[Pet].Wartosc;
+ 2: Player[CP].ScoreGolden := Player[CP].ScoreGolden + 9000 / Lines[0].Wartosc *
+ Lines[0].Line[S].Note[Pet].Wartosc;
end;
end;
@@ -1014,16 +1014,16 @@ begin Nowa := true;
// jezeli ostatnia ma ten sam ton
if (Player[CP].IlNut > 0 ) and
- (Player[CP].Nuta[Player[CP].HighNut].Ton = AudioInputProcessor.Sound[CP].Tone) and
- (Player[CP].Nuta[Player[CP].HighNut].Start + Player[CP].Nuta[Player[CP].HighNut].Dlugosc = Czas.AktBeatD) then
+ (Player[CP].Note[Player[CP].HighNut].Ton = AudioInputProcessor.Sound[CP].Tone) and
+ (Player[CP].Note[Player[CP].HighNut].Start + Player[CP].Note[Player[CP].HighNut].Dlugosc = Czas.AktBeatD) then
begin
Nowa := false;
end;
// jezeli jest jakas nowa nuta na sprawdzanym beacie
- for Pet := 0 to Czesci[0].Czesc[S].HighNut do
+ for Pet := 0 to Lines[0].Line[S].HighNote do
begin
- if (Czesci[0].Czesc[S].Nuta[Pet].Start = Czas.AktBeatD) then
+ if (Lines[0].Line[S].Note[Pet].Start = Czas.AktBeatD) then
Nowa := true;
end;
@@ -1033,31 +1033,31 @@ begin // nowa nuta
Player[CP].IlNut := Player[CP].IlNut + 1;
Player[CP].HighNut := Player[CP].HighNut + 1;
- SetLength(Player[CP].Nuta, Player[CP].IlNut);
- Player[CP].Nuta[Player[CP].HighNut].Start := Czas.AktBeatD;
- Player[CP].Nuta[Player[CP].HighNut].Dlugosc := 1;
- Player[CP].Nuta[Player[CP].HighNut].Ton := AudioInputProcessor.Sound[CP].Tone; // Ton || TonDokl
- Player[CP].Nuta[Player[CP].HighNut].Detekt := Czas.MidBeat;
+ SetLength(Player[CP].Note, Player[CP].IlNut);
+ Player[CP].Note[Player[CP].HighNut].Start := Czas.AktBeatD;
+ Player[CP].Note[Player[CP].HighNut].Dlugosc := 1;
+ Player[CP].Note[Player[CP].HighNut].Ton := AudioInputProcessor.Sound[CP].Tone; // Ton || TonDokl
+ Player[CP].Note[Player[CP].HighNut].Detekt := Czas.MidBeat;
// Half Note Patch
- Player[CP].Nuta[Player[CP].HighNut].Hit := NoteHit;
+ Player[CP].Note[Player[CP].HighNut].Hit := NoteHit;
- //Log.LogStatus('Nowa Nuta ' + IntToStr(Gracz.Nuta[Gracz.HighNut].Start), 'NewBeat');
+ //Log.LogStatus('Nowa Nuta ' + IntToStr(Gracz.Note[Gracz.HighNut].Start), 'NewBeat');
end
else
begin
// przedluzenie nuty
- Player[CP].Nuta[Player[CP].HighNut].Dlugosc := Player[CP].Nuta[Player[CP].HighNut].Dlugosc + 1;
+ Player[CP].Note[Player[CP].HighNut].Dlugosc := Player[CP].Note[Player[CP].HighNut].Dlugosc + 1;
end;
// check for perfect note and then lit the star (on Draw)
- for Pet := 0 to Czesci[0].Czesc[S].HighNut do
+ for Pet := 0 to Lines[0].Line[S].HighNote do
begin
- if (Czesci[0].Czesc[S].Nuta[Pet].Start = Player[CP].Nuta[Player[CP].HighNut].Start) and
- (Czesci[0].Czesc[S].Nuta[Pet].Dlugosc = Player[CP].Nuta[Player[CP].HighNut].Dlugosc) and
- (Czesci[0].Czesc[S].Nuta[Pet].Ton = Player[CP].Nuta[Player[CP].HighNut].Ton) then
+ if (Lines[0].Line[S].Note[Pet].Start = Player[CP].Note[Player[CP].HighNut].Start) and
+ (Lines[0].Line[S].Note[Pet].Dlugosc = Player[CP].Note[Player[CP].HighNut].Dlugosc) and
+ (Lines[0].Line[S].Note[Pet].Ton = Player[CP].Note[Player[CP].HighNut].Ton) then
begin
- Player[CP].Nuta[Player[CP].HighNut].Perfect := true;
+ Player[CP].Note[Player[CP].HighNut].Perfect := true;
end;
end;
end;// else beep; // if S = SMax
@@ -1067,10 +1067,10 @@ begin // Log.LogStatus('EndBeat', 'NewBeat');
//On Sentence End -> For LineBonus + SingBar
- if (sDet >= low(Czesci[0].Czesc)) and (sDet <= high(Czesci[0].Czesc)) then
+ if (sDet >= low(Lines[0].Line)) and (sDet <= high(Lines[0].Line)) then
begin
if assigned( Sender ) and
- ((Czesci[0].Czesc[SDet].Nuta[Czesci[0].Czesc[SDet].HighNut].Start + Czesci[0].Czesc[SDet].Nuta[Czesci[0].Czesc[SDet].HighNut].Dlugosc - 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].Dlugosc - 1) = Czas.AktBeatD) then
begin
Sender.onSentenceEnd(sDet);
end;
diff --git a/Game/Code/Classes/UMusic.pas b/Game/Code/Classes/UMusic.pas index f0bf3a9c..b2f1bf56 100644 --- a/Game/Code/Classes/UMusic.pas +++ b/Game/Code/Classes/UMusic.pas @@ -16,7 +16,7 @@ type //http://paste.ubuntu-nl.org/51892/
- TMuzyka = record // (TODO: rename to TMusic/TMelody?)
+ TMelody = record
Path: string;
Start: integer; // start of song in ms
IlNut: integer; // (TODO: Il = tone, Nut(a) = Note)
@@ -24,17 +24,17 @@ type end;
PLine = ^TLine;
- TLine = record // (TODO: rename to TSentence?)
+ TLine = record
Start: integer;
StartNote: integer;
Lyric: string;
LyricWidth: real;
Koniec: integer; // (TODO: rename to End_/Ending?)
BaseNote: integer;
- HighNut: integer; // (TODO: rename to HighNote)
+ HighNote: integer;
IlNut: integer; // (TODO: Il = tone, Nut(a) = Note)
TotalNotes: integer;
- Nuta: array of record // (TODO: rename to Note)
+ Note: array of record
Color: integer;
Start: integer;
Dlugosc: integer; // (TODO: rename to Length)
@@ -47,15 +47,15 @@ type end;
ALine = array of TLine; // (TODO: rename to TLineArray)
- // (TCzesci = TSentences)
- TCzesci = record
+ // (TCzesci = TSentences) TCzesci changed to TLines because TSentences exist elseware in incompatible form
+ TLines = record
Akt: integer; // for drawing of current line (Akt = Current)
High: integer;
Ilosc: integer; // (TODO: Ilosc = Number/Count)
Resolution: integer;
NotesGAP: integer;
Wartosc: integer; // TODO: rename (wartosc=value)
- Czesc: ALine; // TODO: rename to Sentence or Line
+ Line: ALine; // TODO: rename to Sentence or Line - renamed to Line
end;
// (TODO: rename TCzas to something like T(Line/Sentence)Time/TLinePosition/TLineState)
@@ -288,10 +288,10 @@ type var // TODO : JB --- THESE SHOULD NOT BE GLOBAL
// music
- Muzyka: TMuzyka; // TODO: rename
+ Melody: TMelody; // TODO: rename
// czesci z nutami;
- Czesci: array of TCzesci; // TODO: rename to Sentences/Lines
+ Lines: array of TLines; // TODO: rename to Sentences/Lines
// czas
Czas: TCzas; // TODO: rename
diff --git a/Game/Code/Classes/USong.pas b/Game/Code/Classes/USong.pas index 6b4a2f09..c7d11374 100644 --- a/Game/Code/Classes/USong.pas +++ b/Game/Code/Classes/USong.pas @@ -114,7 +114,7 @@ implementation uses
TextGL,
UIni,
- UMusic, // needed for Czesci .. ( whatever that is )
+ UMusic, // needed for Lines .. ( whatever that is )
UMain; //needed for Player
constructor TSong.create( const aFileName : WideString );
@@ -181,7 +181,7 @@ begin MultBPM := 4; // multiply beat-count of note by 4
Mult := 1; // accuracy of measurement of note
Base[0] := 100; // high number
- Czesci[0].Wartosc := 0;
+ Lines[0].Wartosc := 0;
self.Relative := false;
Rel[0] := 0;
CP := 0;
@@ -222,16 +222,16 @@ begin Read(SongFile, TempC);
until ((TempC = ':') or (TempC = 'F') or (TempC = '*'));
- SetLength(Czesci, 2);
- for Pet := 0 to High(Czesci) do begin
- SetLength(Czesci[Pet].Czesc, 1);
- Czesci[Pet].High := 0;
- Czesci[Pet].Ilosc := 1;
- Czesci[Pet].Akt := 0;
- Czesci[Pet].Resolution := self.Resolution;
- Czesci[Pet].NotesGAP := self.NotesGAP;
- Czesci[Pet].Czesc[0].IlNut := 0;
- Czesci[Pet].Czesc[0].HighNut := -1;
+ SetLength(Lines, 2);
+ for Pet := 0 to High(Lines) do begin
+ SetLength(Lines[Pet].Line, 1);
+ Lines[Pet].High := 0;
+ Lines[Pet].Ilosc := 1;
+ Lines[Pet].Akt := 0;
+ Lines[Pet].Resolution := self.Resolution;
+ Lines[Pet].NotesGAP := self.NotesGAP;
+ Lines[Pet].Line[0].IlNut := 0;
+ Lines[Pet].Line[0].HighNote := -1;
end;
// TempC := ':';
@@ -289,24 +289,24 @@ begin if not Both then
begin
- Czesci[CP].Czesc[Czesci[CP].High].BaseNote := Base[CP];
- Czesci[CP].Czesc[Czesci[CP].High].LyricWidth := glTextWidth(PChar(Czesci[CP].Czesc[Czesci[CP].High].Lyric));
+ Lines[CP].Line[Lines[CP].High].BaseNote := Base[CP];
+ Lines[CP].Line[Lines[CP].High].LyricWidth := glTextWidth(PChar(Lines[CP].Line[Lines[CP].High].Lyric));
//Total Notes Patch
- Czesci[CP].Czesc[Czesci[CP].High].TotalNotes := 0;
- for I := low(Czesci[CP].Czesc[Czesci[CP].High].Nuta) to high(Czesci[CP].Czesc[Czesci[CP].High].Nuta) do
+ Lines[CP].Line[Lines[CP].High].TotalNotes := 0;
+ for I := low(Lines[CP].Line[Lines[CP].High].Note) to high(Lines[CP].Line[Lines[CP].High].Note) do
begin
- Czesci[CP].Czesc[Czesci[CP].High].TotalNotes := Czesci[CP].Czesc[Czesci[CP].High].TotalNotes + Czesci[CP].Czesc[Czesci[CP].High].Nuta[I].Dlugosc * Czesci[CP].Czesc[Czesci[CP].High].Nuta[I].Wartosc;
+ Lines[CP].Line[Lines[CP].High].TotalNotes := Lines[CP].Line[Lines[CP].High].TotalNotes + Lines[CP].Line[Lines[CP].High].Note[I].Dlugosc * Lines[CP].Line[Lines[CP].High].Note[I].Wartosc;
end;
//Total Notes Patch End
end else begin
- for Pet := 0 to High(Czesci) do begin
- Czesci[Pet].Czesc[Czesci[Pet].High].BaseNote := Base[Pet];
- Czesci[Pet].Czesc[Czesci[Pet].High].LyricWidth := glTextWidth(PChar(Czesci[Pet].Czesc[Czesci[Pet].High].Lyric));
+ for Pet := 0 to High(Lines) do begin
+ Lines[Pet].Line[Lines[Pet].High].BaseNote := Base[Pet];
+ Lines[Pet].Line[Lines[Pet].High].LyricWidth := glTextWidth(PChar(Lines[Pet].Line[Lines[Pet].High].Lyric));
//Total Notes Patch
- Czesci[Pet].Czesc[Czesci[Pet].High].TotalNotes := 0;
- for I := low(Czesci[Pet].Czesc[Czesci[Pet].High].Nuta) to high(Czesci[Pet].Czesc[Czesci[Pet].High].Nuta) do
+ Lines[Pet].Line[Lines[Pet].High].TotalNotes := 0;
+ for I := low(Lines[Pet].Line[Lines[Pet].High].Note) to high(Lines[Pet].Line[Lines[Pet].High].Note) do
begin
- Czesci[Pet].Czesc[Czesci[Pet].High].TotalNotes := Czesci[Pet].Czesc[Czesci[Pet].High].TotalNotes + Czesci[Pet].Czesc[Czesci[Pet].High].Nuta[I].Dlugosc * Czesci[Pet].Czesc[Czesci[Pet].High].Nuta[I].Wartosc;
+ Lines[Pet].Line[Lines[Pet].High].TotalNotes := Lines[Pet].Line[Lines[Pet].High].TotalNotes + Lines[Pet].Line[Lines[Pet].High].Note[I].Dlugosc * Lines[Pet].Line[Lines[Pet].High].Note[I].Wartosc;
end;
//Total Notes Patch End
end;
@@ -578,43 +578,43 @@ begin end;
end; // case
- with Czesci[NrCzesci].Czesc[Czesci[NrCzesci].High] do begin
- SetLength(Nuta, Length(Nuta) + 1);
+ with Lines[NrCzesci].Line[Lines[NrCzesci].High] do begin
+ SetLength(Note, Length(Note) + 1);
IlNut := IlNut + 1;
- HighNut := HighNut + 1;
- Muzyka.IlNut := Muzyka.IlNut + 1;
+ HighNote := HighNote + 1;
+ Melody.IlNut := Melody.IlNut + 1;
- Nuta[HighNut].Start := StartP;
+ Note[HighNote].Start := StartP;
if IlNut = 1 then begin
- StartNote := Nuta[HighNut].Start;
- if Czesci[NrCzesci].Ilosc = 1 then
+ StartNote := Note[HighNote].Start;
+ if Lines[NrCzesci].Ilosc = 1 then
Start := -100;
-// Start := Nuta[HighNut].Start;
+// Start := Note[HighNote].Start;
end;
- Nuta[HighNut].Dlugosc := DurationP;
- Muzyka.DlugoscNut := Muzyka.DlugoscNut + Nuta[HighNut].Dlugosc;
+ Note[HighNote].Dlugosc := DurationP;
+ Melody.DlugoscNut := Melody.DlugoscNut + Note[HighNote].Dlugosc;
// back to the normal system with normal, golden and now freestyle notes
case TypeP of
- 'F': Nuta[HighNut].Wartosc := 0;
- ':': Nuta[HighNut].Wartosc := 1;
- '*': Nuta[HighNut].Wartosc := 2;
+ 'F': Note[HighNote].Wartosc := 0;
+ ':': Note[HighNote].Wartosc := 1;
+ '*': Note[HighNote].Wartosc := 2;
end;
- Czesci[NrCzesci].Wartosc := Czesci[NrCzesci].Wartosc + Nuta[HighNut].Dlugosc * Nuta[HighNut].Wartosc;
+ Lines[NrCzesci].Wartosc := Lines[NrCzesci].Wartosc + Note[HighNote].Dlugosc * Note[HighNote].Wartosc;
- Nuta[HighNut].Ton := NoteP;
- if Nuta[HighNut].Ton < Base[NrCzesci] then Base[NrCzesci] := Nuta[HighNut].Ton;
- Nuta[HighNut].TonGamy := Nuta[HighNut].TonGamy mod 12;
+ Note[HighNote].Ton := NoteP;
+ if Note[HighNote].Ton < Base[NrCzesci] then Base[NrCzesci] := Note[HighNote].Ton;
+ Note[HighNote].TonGamy := Note[HighNote].TonGamy mod 12;
- Nuta[HighNut].Tekst := Copy(LyricS, 2, 100);
- Lyric := Lyric + Nuta[HighNut].Tekst;
+ Note[HighNote].Tekst := Copy(LyricS, 2, 100);
+ Lyric := Lyric + Note[HighNote].Tekst;
if TypeP = 'F' then
- Nuta[HighNut].FreeStyle := true;
+ Note[HighNote].FreeStyle := true;
- Koniec := Nuta[HighNut].Start + Nuta[HighNut].Dlugosc;
+ Koniec := Note[HighNote].Start + Note[HighNote].Dlugosc;
end; // with
end;
@@ -624,31 +624,31 @@ I: Integer; begin
// stara czesc //Alter Satz //Update Old Part
- Czesci[NrCzesciP].Czesc[Czesci[NrCzesciP].High].BaseNote := Base[NrCzesciP];
- Czesci[NrCzesciP].Czesc[Czesci[NrCzesciP].High].LyricWidth := glTextWidth(PChar(Czesci[NrCzesciP].Czesc[Czesci[NrCzesciP].High].Lyric));
+ Lines[NrCzesciP].Line[Lines[NrCzesciP].High].BaseNote := Base[NrCzesciP];
+ Lines[NrCzesciP].Line[Lines[NrCzesciP].High].LyricWidth := glTextWidth(PChar(Lines[NrCzesciP].Line[Lines[NrCzesciP].High].Lyric));
//Total Notes Patch
- Czesci[NrCzesciP].Czesc[Czesci[NrCzesciP].High].TotalNotes := 0;
- for I := low(Czesci[NrCzesciP].Czesc[Czesci[NrCzesciP].High].Nuta) to high(Czesci[NrCzesciP].Czesc[Czesci[NrCzesciP].High].Nuta) do
+ Lines[NrCzesciP].Line[Lines[NrCzesciP].High].TotalNotes := 0;
+ for I := low(Lines[NrCzesciP].Line[Lines[NrCzesciP].High].Note) to high(Lines[NrCzesciP].Line[Lines[NrCzesciP].High].Note) do
begin
- Czesci[NrCzesciP].Czesc[Czesci[NrCzesciP].High].TotalNotes := Czesci[NrCzesciP].Czesc[Czesci[NrCzesciP].High].TotalNotes + Czesci[NrCzesciP].Czesc[Czesci[NrCzesciP].High].Nuta[I].Dlugosc * Czesci[NrCzesciP].Czesc[Czesci[NrCzesciP].High].Nuta[I].Wartosc;
+ Lines[NrCzesciP].Line[Lines[NrCzesciP].High].TotalNotes := Lines[NrCzesciP].Line[Lines[NrCzesciP].High].TotalNotes + Lines[NrCzesciP].Line[Lines[NrCzesciP].High].Note[I].Dlugosc * Lines[NrCzesciP].Line[Lines[NrCzesciP].High].Note[I].Wartosc;
end;
//Total Notes Patch End
// nowa czesc //Neuer Satz //Update New Part
- SetLength(Czesci[NrCzesciP].Czesc, Czesci[NrCzesciP].Ilosc + 1);
- Czesci[NrCzesciP].High := Czesci[NrCzesciP].High + 1;
- Czesci[NrCzesciP].Ilosc := Czesci[NrCzesciP].Ilosc + 1;
- Czesci[NrCzesciP].Czesc[Czesci[NrCzesciP].High].HighNut := -1;
+ SetLength(Lines[NrCzesciP].Line, Lines[NrCzesciP].Ilosc + 1);
+ Lines[NrCzesciP].High := Lines[NrCzesciP].High + 1;
+ Lines[NrCzesciP].Ilosc := Lines[NrCzesciP].Ilosc + 1;
+ Lines[NrCzesciP].Line[Lines[NrCzesciP].High].HighNote := -1;
if self.Relative then
begin
- Czesci[NrCzesciP].Czesc[Czesci[NrCzesciP].High].Start := Param1;
+ Lines[NrCzesciP].Line[Lines[NrCzesciP].High].Start := Param1;
Rel[NrCzesciP] := Rel[NrCzesciP] + Param2;
end
else
- Czesci[NrCzesciP].Czesc[Czesci[NrCzesciP].High].Start := Param1;
+ Lines[NrCzesciP].Line[Lines[NrCzesciP].High].Start := Param1;
Base[NrCzesciP] := 100; // high number
end;
|