diff options
author | basisbit <basisbit@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2015-08-28 01:45:23 +0000 |
---|---|---|
committer | basisbit <basisbit@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2015-08-28 01:45:23 +0000 |
commit | ebac563f0f8f4fba120cee79e8e6a7973e394677 (patch) | |
tree | 66c330cf4c5dbe0d3b618d2eb1ae25f0dff338c7 /src/base/UNote.pas | |
parent | 5eadb894728d5a285e0272c007bdeeb0d5bdf59d (diff) | |
download | usdx-ebac563f0f8f4fba120cee79e8e6a7973e394677.tar.gz usdx-ebac563f0f8f4fba120cee79e8e6a7973e394677.tar.xz usdx-ebac563f0f8f4fba120cee79e8e6a7973e394677.zip |
* first usable implementation of the JukeBox mode, work in progress - you can start it by pressing "j" in the main menu
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@3128 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to '')
-rw-r--r-- | src/base/UNote.pas | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/base/UNote.pas b/src/base/UNote.pas index c82cc2e3..dc2c6922 100644 --- a/src/base/UNote.pas +++ b/src/base/UNote.pas @@ -44,6 +44,7 @@ uses ULyrics, URecord, UScreenSing, + UScreenJukebox, USong, UTime; @@ -135,6 +136,8 @@ procedure NewNote(Screen: TScreenSing); // detect note function GetMidBeat(Time: real): real; function GetTimeFromBeat(Beat: integer; SelfSong: TSong = nil): real; +procedure SingJukebox(Screen: TScreenJukebox); + implementation uses @@ -325,6 +328,33 @@ begin NewBeatDetect(Screen); end; +procedure SingJukebox(Screen: TScreenJukebox); +var + Count: integer; + CountGr: integer; + CP: integer; +begin + LyricsState.UpdateBeats(); + + // sentences routines + for CountGr := 0 to 0 do //High(Lines) + begin; + CP := CountGr; + // old parts + LyricsState.OldLine := Lines[CP].Current; + + // choose current parts + for Count := 0 to Lines[CP].High do + begin + if LyricsState.CurrentBeat >= Lines[CP].Line[Count].Start then + Lines[CP].Current := Count; + end; + end; // for CountGr + + // on sentence change... + Screen.onSentenceChange(Lines[0].Current); +end; + procedure NewSentence(Screen: TScreenSing); var i: integer; |