aboutsummaryrefslogtreecommitdiffstats
path: root/us_maker_edition/src
diff options
context:
space:
mode:
authordavidus01 <davidus01@b956fd51-792f-4845-bead-9b4dfca2ff2c>2010-08-06 22:36:43 +0000
committerdavidus01 <davidus01@b956fd51-792f-4845-bead-9b4dfca2ff2c>2010-08-06 22:36:43 +0000
commit2c701447a512c2d8c5bcea6fa8ced67a9f22478c (patch)
treeae7c0792ce7fa3589611dd4978b1545cf99d8384 /us_maker_edition/src
parentdebbdd3c1cfe9ff74c02a282ade69dd0dcbbc2a1 (diff)
downloadusdx-2c701447a512c2d8c5bcea6fa8ced67a9f22478c.tar.gz
usdx-2c701447a512c2d8c5bcea6fa8ced67a9f22478c.tar.xz
usdx-2c701447a512c2d8c5bcea6fa8ced67a9f22478c.zip
editor: buttons (play, play with midi, midi, undo, NextSentence, PreviousSentence)
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/experimental@2608 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'us_maker_edition/src')
-rw-r--r--us_maker_edition/src/base/UThemes.pas18
-rw-r--r--us_maker_edition/src/screens/UScreenEditSub.pas120
2 files changed, 136 insertions, 2 deletions
diff --git a/us_maker_edition/src/base/UThemes.pas b/us_maker_edition/src/base/UThemes.pas
index 49340038..db850be2 100644
--- a/us_maker_edition/src/base/UThemes.pas
+++ b/us_maker_edition/src/base/UThemes.pas
@@ -510,6 +510,16 @@ type
BackgroundImage: TThemeStatic;
ButtonCurrentLine: TThemeButton;
ButtonCurrentNote: TThemeButton;
+ // buttons
+ PlayOnly: TThemeButton;
+ PlayWithNote: TThemeButton;
+ PlayNote: TThemeButton;
+ previousseq: TThemeButton;
+ nextseq: TThemeButton;
+ undo: TThemeButton;
+ gold: TThemeButton;
+ freestyle: TThemeButton;
+
SlideTitle: TThemeSelectSlide;
SlideArtist: TThemeSelectSlide;
SlideMP3: TThemeSelectSlide;
@@ -1412,6 +1422,14 @@ begin
// current position in editor
ThemeLoadButton(EditSub.ButtonCurrentLine, 'EditSubButtonCurrentLine');
ThemeLoadButton(EditSub.ButtonCurrentNote, 'EditSubButtonCurrentNote');
+ ThemeLoadButton(EditSub.PlayOnly, 'EditSubBarStatic1');
+ ThemeLoadButton(EditSub.PlayWithNote, 'EditSubBarStatic2');
+ ThemeLoadButton(EditSub.PlayNote, 'EditSubBarStatic3');
+ ThemeLoadButton(EditSub.previousseq, 'EditSubBarStatic4');
+ ThemeLoadButton(EditSub.nextseq, 'EditSubBarStatic5');
+ ThemeLoadButton(EditSub.gold, 'EditSubBarStatic6');
+ ThemeLoadButton(EditSub.freestyle, 'EditSubBarStatic7');
+ ThemeLoadButton(EditSub.undo, 'EditSubBarStatic8');
ThemeLoadSelectSlide(EditSub.SlideTitle, 'EditSubTitle');
ThemeLoadSelectSlide(EditSub.SlideArtist, 'EditSubArtist');
ThemeLoadSelectSlide(EditSub.SlideMP3, 'EditSubMP3');
diff --git a/us_maker_edition/src/screens/UScreenEditSub.pas b/us_maker_edition/src/screens/UScreenEditSub.pas
index aab5d9bd..920b8172 100644
--- a/us_maker_edition/src/screens/UScreenEditSub.pas
+++ b/us_maker_edition/src/screens/UScreenEditSub.pas
@@ -117,7 +117,7 @@ type
LastPressedMouseType: integer;
LastPressedNote: integer;
PressedNoteId: integer;
-
+
TextPosition: integer;
TextEditMode: boolean;
TitleEditMode: boolean;
@@ -198,6 +198,8 @@ type
VolumeAudio: array of UTF8String;
VolumeMidi: array of UTF8String;
VolumeClick: array of UTF8String;
+ // control buttons
+ UndoButtonId: integer;
// background image & video preview
BackgroundImageId: integer;
Empty: array of UTF8String; //temporary variable to initialize slide - todo change
@@ -211,7 +213,7 @@ type
LastX: integer;
LastY: integer;
Xmouse: integer;
-
+
resize_note_left: boolean;
resize_note_right: boolean;
move_note: boolean;
@@ -848,6 +850,110 @@ begin
TextEditMode := true;
end;
+ if Interaction = 17 then //Only Play
+ begin
+ // Play Sentence
+ Click := true;
+ AudioPlayback.Stop;
+ PlayVideo := false;
+ StopVideoPreview;
+ Lines[0].Line[Lines[0].Current].Note[CurrentNote].Color := 1;
+ CurrentNote := 0;
+ R := GetTimeFromBeat(Lines[0].Line[Lines[0].Current].Note[0].Start);
+ if R <= AudioPlayback.Length then
+ begin
+ AudioPlayback.Position := R;
+ PlayStopTime := GetTimeFromBeat(Lines[0].Line[Lines[0].Current].End_);
+ PlaySentence := true;
+ AudioPlayback.SetVolume(SelectsS[VolumeAudioSlideId].SelectedOption / 100);
+ AudioPlayback.Play;
+ LastClick := -100;
+ end;
+ Text[TextDebug].Text := Language.Translate('INFO_PLAY_SENTENCE');
+ end;
+
+ if Interaction = 18 then //Play with midi
+ begin
+ Lines[0].Line[Lines[0].Current].Note[CurrentNote].Color := 1;
+ CurrentNote := 0;
+ PlaySentenceMidi := true;
+ PlayVideo := false;
+ StopVideoPreview;
+ MidiTime := USTime.GetTime;
+ MidiStart := GetTimeFromBeat(Lines[0].Line[Lines[0].Current].Note[0].Start);
+ 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].Current].Note[0].Start)+0{-0.10};
+ PlayStopTime := GetTimeFromBeat(Lines[0].Line[Lines[0].Current].End_)+0;
+ AudioPlayback.SetVolume(SelectsS[VolumeAudioSlideId].SelectedOption / 100);
+ AudioPlayback.Play;
+ LastClick := -100;
+ Text[TextDebug].Text := Language.Translate('INFO_PLAY_SENTENCE');
+ end;
+
+ if Interaction = 19 then //Play midi
+ begin
+ Lines[0].Line[Lines[0].Current].Note[CurrentNote].Color := 1;
+ CurrentNote := 0;
+ PlaySentenceMidi := true;
+ PlayVideo := false;
+ StopVideoPreview;
+ MidiTime := USTime.GetTime;
+ MidiStart := GetTimeFromBeat(Lines[0].Line[Lines[0].Current].Note[0].Start);
+ MidiStop := GetTimeFromBeat(Lines[0].Line[Lines[0].Current].End_);
+
+ LastClick := -100;
+ Text[TextDebug].Text := Language.Translate('INFO_PLAY_SENTENCE');
+ end;
+
+ if Interaction = 20 then //previous sequence
+ begin
+ PreviousSentence;
+ end;
+
+ if Interaction = 21 then //next sequence
+ begin
+ NextSentence;
+ end;
+
+ if Interaction = 22 then //undo
+ begin
+ CopyFromUndo;
+ GoldenRec.KillAll;
+ Text[TextDebug].Text := Language.Translate('INFO_UNDO');
+ ShowInteractiveBackground;
+ end;
+
+ if Interaction = 23 then //golden note
+ begin
+ CopyToUndo;
+ if (Lines[0].Line[Lines[0].Current].Note[CurrentNote].NoteType = ntGolden) then
+ Lines[0].Line[Lines[0].Current].Note[CurrentNote].NoteType := ntNormal
+ else
+ Lines[0].Line[Lines[0].Current].Note[CurrentNote].NoteType := ntGolden;
+ GoldenRec.KillAll;
+ Exit;
+ end;
+
+ if Interaction = 24 then //freestyle note
+ begin
+ CopyToUndo;
+ if (Lines[0].Line[Lines[0].Current].Note[CurrentNote].NoteType = ntFreestyle) then
+ Lines[0].Line[Lines[0].Current].Note[CurrentNote].NoteType := ntNormal
+ else
+ Lines[0].Line[Lines[0].Current].Note[CurrentNote].NoteType := ntFreestyle;
+ GoldenRec.KillAll;
+
+ // update lyrics
+ Lyric.AddLine(Lines[0].Current);
+ Lyric.Selected := CurrentNote;
+ Exit;
+ end;
+
for i := 0 to Lines[0].High do
begin
if Interaction = InteractiveLineId[i] then
@@ -2773,6 +2879,16 @@ begin
Statics[playerIconId[2]].Reflection := false;
Statics[playerIconId[2]].Visible := false;
+ // control buttons
+ AddButton(Theme.EditSub.PlayOnly);
+ AddButton(Theme.EditSub.PlayWithNote);
+ AddButton(Theme.EditSub.PlayNote);
+ AddButton(Theme.EditSub.previousseq);
+ AddButton(Theme.EditSub.nextseq);
+ UndoButtonId := AddButton(Theme.EditSub.undo);
+ AddButton(Theme.EditSub.gold);
+ AddButton(Theme.EditSub.freestyle);
+
// debug
TextDebug := AddText(30, 550, 0, 27, 0, 0, 0, '');
// in notes place -> for move notes by mouse