diff options
Diffstat (limited to 'src/Screens/UScreenEditHeader.pas')
-rw-r--r-- | src/Screens/UScreenEditHeader.pas | 380 |
1 files changed, 0 insertions, 380 deletions
diff --git a/src/Screens/UScreenEditHeader.pas b/src/Screens/UScreenEditHeader.pas deleted file mode 100644 index 28bf7682..00000000 --- a/src/Screens/UScreenEditHeader.pas +++ /dev/null @@ -1,380 +0,0 @@ -unit UScreenEditHeader; - -interface - -{$I switches.inc} - -uses UMenu, - SDL, - USongs, - USong, - UThemes; - -type - TScreenEditHeader = class(TMenu) - public - CurrentSong: TSong; - TextTitle: integer; - TextArtist: integer; - TextMp3: integer; - TextBackground: integer; - TextVideo: integer; - TextVideoGAP: integer; - TextRelative: integer; - TextResolution: integer; - TextNotesGAP: integer; - TextStart: integer; - TextGAP: integer; - TextBPM: integer; - StaticTitle: integer; - StaticArtist: integer; - StaticMp3: integer; - StaticBackground: integer; - StaticVideo: integer; - StaticVideoGAP: integer; - StaticRelative: integer; - StaticResolution: integer; - StaticNotesGAP: integer; - StaticStart: integer; - StaticGAP: integer; - StaticBPM: integer; - Sel: array[0..11] of boolean; - procedure SetRoundButtons; - - constructor Create; override; - procedure onShow; override; - function ParseInput(PressedKey: Cardinal; CharCode: WideChar; PressedDown: Boolean): Boolean; override; -{ function Draw: boolean; override; - procedure Finish;} - end; - -implementation - -uses UGraphic, UMusic, SysUtils, UFiles, USkins, UTexture; - -function TScreenEditHeader.ParseInput(PressedKey: Cardinal; CharCode: WideChar; PressedDown: Boolean): Boolean; -var - T: integer; -begin - Result := true; - If (PressedDown) Then begin // Key Down - // check normal keys - case WideCharUpperCase(CharCode)[1] of - 'Q': - begin - Result := false; - Exit; - end; - end; - - // check special keys - case PressedKey of - SDLK_ESCAPE : - begin -// Music.PlayBack; -// FadeTo(@MainScreen); - Result := false; - end; - - SDLK_RETURN: - begin - if Interaction = 1 then begin -// Save; - end; - end; - - SDLK_RIGHT: - begin - case Interaction of - 0..0: InteractNext; - 1: Interaction := 0; - end; - end; - - SDLK_LEFT: - begin - case Interaction of - 0: Interaction := 1; - 1..1: InteractPrev; - end; - end; - - SDLK_DOWN: - begin - case Interaction of - 0..1: Interaction := 2; - 2..12: InteractNext; - 13: Interaction := 0; - end; - end; - - SDLK_UP: - begin - case Interaction of - 0..1: Interaction := 13; - 2: Interaction := 0; - 3..13: InteractPrev; - end; - end; - - SDLK_BACKSPACE: - begin - T := Interaction - 2 + TextTitle; - if (Interaction >= 2) and (Interaction <= 13) and (Length(Text[T].Text) >= 1) then begin - Text[T].DeleteLastL; - SetRoundButtons; - end; - end; - - end; - case CharCode of - #32..#255: - begin - if (Interaction >= 2) and (Interaction <= 13) then begin - Text[Interaction - 2 + TextTitle].Text := - Text[Interaction - 2 + TextTitle].Text + CharCode; - SetRoundButtons; - end; - end; - end; - end; -end; - -constructor TScreenEditHeader.Create; -begin - inherited Create; - - AddButton(40, 20, 100, 40, Skin.GetTextureFileName('ButtonF')); - AddButtonText(15, 5, 'Open'); - - AddButton(160, 20, 100, 40, Skin.GetTextureFileName('ButtonF')); - AddButtonText(20, 5, 'Save'); - - AddBox(80, 60, 640, 550); - - AddText(160, 110 + 0*30, 0, 10, 0, 0, 0, 'Title:'); - AddText(160, 110 + 1*30, 0, 10, 0, 0, 0, 'Artist:'); - AddText(160, 110 + 2*30, 0, 10, 0, 0, 0, 'MP3:'); - - AddText(160, 110 + 4*30, 0, 10, 0, 0, 0, 'Background:'); - AddText(160, 110 + 5*30, 0, 10, 0, 0, 0, 'Video:'); - AddText(160, 110 + 6*30, 0, 10, 0, 0, 0, 'VideoGAP:'); - - AddText(160, 110 + 8*30, 0, 10, 0, 0, 0, 'Relative:'); - AddText(160, 110 + 9*30, 0, 10, 0, 0, 0, 'Resolution:'); - AddText(160, 110 + 10*30, 0, 10, 0, 0, 0, 'NotesGAP:'); - - AddText(160, 110 + 12*30, 0, 10, 0, 0, 0, 'Start:'); - AddText(160, 110 + 13*30, 0, 10, 0, 0, 0, 'GAP:'); - AddText(160, 110 + 14*30, 0, 10, 0, 0, 0, 'BPM:'); - - TextTitle := AddText(340, 110 + 0*30, 0, 10, 0, 0, 0, ''); - TextArtist := AddText(340, 110 + 1*30, 0, 10, 0, 0, 0, ''); - TextMp3 := AddText(340, 110 + 2*30, 0, 10, 0, 0, 0, ''); - - TextBackground := AddText(340, 110 + 4*30, 0, 10, 0, 0, 0, ''); - TextVideo := AddText(340, 110 + 5*30, 0, 10, 0, 0, 0, ''); - TextVideoGAP := AddText(340, 110 + 6*30, 0, 10, 0, 0, 0, ''); - - TextRelative := AddText(340, 110 + 8*30, 0, 10, 0, 0, 0, ''); - TextResolution := AddText(340, 110 + 9*30, 0, 10, 0, 0, 0, ''); - TextNotesGAP := AddText(340, 110 + 10*30, 0, 10, 0, 0, 0, ''); - - TextStart := AddText(340, 110 + 12*30, 0, 10, 0, 0, 0, ''); - TextGAP := AddText(340, 110 + 13*30, 0, 10, 0, 0, 0, ''); - TextBPM := AddText(340, 110 + 14*30, 0, 10, 0, 0, 0, ''); - - StaticTitle := AddStatic(130, 115 + 0*30, 20, 20, 1, 1, 1, 'RoundButton', TEXTURE_TYPE_TRANSPARENT, $FF00FF); - StaticArtist := AddStatic(130, 115 + 1*30, 20, 20, 1, 1, 1, 'RoundButton', TEXTURE_TYPE_TRANSPARENT, $FF00FF); - StaticMp3 := AddStatic(130, 115 + 2*30, 20, 20, 1, 1, 1, 'RoundButton', TEXTURE_TYPE_TRANSPARENT, $FF00FF); - StaticBackground := AddStatic(130, 115 + 4*30, 20, 20, 1, 1, 1, 'RoundButton', TEXTURE_TYPE_TRANSPARENT, $FF00FF); - StaticVideo := AddStatic(130, 115 + 5*30, 20, 20, 1, 1, 1, 'RoundButton', TEXTURE_TYPE_TRANSPARENT, $FF00FF); - StaticVideoGAP := AddStatic(130, 115 + 6*30, 20, 20, 1, 1, 1, 'RoundButton', TEXTURE_TYPE_TRANSPARENT, $FF00FF); - StaticRelative := AddStatic(130, 115 + 8*30, 20, 20, 1, 1, 1, 'RoundButton', TEXTURE_TYPE_TRANSPARENT, $FF00FF); - StaticResolution := AddStatic(130, 115 + 9*30, 20, 20, 1, 1, 1, 'RoundButton', TEXTURE_TYPE_TRANSPARENT, $FF00FF); - StaticNotesGAP := AddStatic(130, 115 + 10*30, 20, 20, 1, 1, 1, 'RoundButton', TEXTURE_TYPE_TRANSPARENT, $FF00FF); - StaticStart := AddStatic(130, 115 + 12*30, 20, 20, 1, 1, 1, 'RoundButton', TEXTURE_TYPE_TRANSPARENT, $FF00FF); - StaticGAP := AddStatic(130, 115 + 13*30, 20, 20, 1, 1, 1, 'RoundButton', TEXTURE_TYPE_TRANSPARENT, $FF00FF); - StaticBPM := AddStatic(130, 115 + 14*30, 20, 20, 1, 1, 1, 'RoundButton', TEXTURE_TYPE_TRANSPARENT, $FF00FF); - - AddInteraction(iText, TextTitle); - AddInteraction(iText, TextArtist); - AddInteraction(iText, TextMp3); - AddInteraction(iText, TextBackground); - AddInteraction(iText, TextVideo); - AddInteraction(iText, TextVideoGAP); - AddInteraction(iText, TextRelative); - AddInteraction(iText, TextResolution); - AddInteraction(iText, TextNotesGAP); - AddInteraction(iText, TextStart); - AddInteraction(iText, TextGAP); - AddInteraction(iText, TextBPM); -end; - -procedure TScreenEditHeader.onShow; -begin - inherited; - -{ if FileExists(FileName) then begin // load file - CurrentSong.FileName := FileName; - SkanujPlik(CurrentSong); - - SetLength(TrueBoolStrs, 1); - TrueBoolStrs[0] := 'yes'; - SetLength(FalseBoolStrs, 1); - FalseBoolStrs[0] := 'no'; - - Text[TextTitle].Text := CurrentSong.Title; - Text[TextArtist].Text := CurrentSong.Artist; - Text[TextMP3].Text := CurrentSong.Mp3; - Text[TextBackground].Text := CurrentSong.Background; - Text[TextVideo].Text := CurrentSong.Video; - Text[TextVideoGAP].Text := FloatToStr(CurrentSong.VideoGAP); - Text[TextRelative].Text := BoolToStr(CurrentSong.Relative, true); - Text[TextResolution].Text := IntToStr(CurrentSong.Resolution); - Text[TextNotesGAP].Text := IntToStr(CurrentSong.NotesGAP); - Text[TextStart].Text := FloatToStr(CurrentSong.Start); - Text[TextGAP].Text := FloatToStr(CurrentSong.GAP); - Text[TextBPM].Text := FloatToStr(CurrentSong.BPM[0].BPM); - SetRoundButtons; - end;} - - Interaction := 0; -end; - -(*function TScreenEdit.Draw: boolean; -var - Min: integer; - Sec: integer; - Tekst: string; - Pet: integer; - AktBeat: integer; -begin -{ glClearColor(1,1,1,1); - - // control music - if PlaySentence then begin - // stop the music - if (Music.Position > PlayStopTime) then begin - Music.Stop; - PlaySentence := false; - end; - - // click - if (Click) and (PlaySentence) then begin - AktBeat := Floor(CurrentSong.BPM[0].BPM * (Music.Position - CurrentSong.GAP / 1000) / 60); - Text[TextDebug].Text := IntToStr(AktBeat); - if AktBeat <> LastClick then begin - for Pet := 0 to Czesci[0].Czesc[Czesci[0].Akt].HighNut do - if (Czesci[0].Czesc[Czesci[0].Akt].Nuta[Pet].Start = AktBeat) then begin - Music.PlayClick; - LastClick := AktBeat; - end; - end; - end; // click - end; // if PlaySentence - - Text[TextSentence].Text := IntToStr(Czesci[0].Akt + 1) + ' / ' + IntToStr(Czesci[0].Ilosc); - Text[TextNote].Text := IntToStr(AktNuta + 1) + ' / ' + IntToStr(Czesci[0].Czesc[Czesci[0].Akt].LengthNote); - - // Song info - Text[TextBPM].Text := FloatToStr(CurrentSong.BPM[0].BPM / 4); - Text[TextGAP].Text := FloatToStr(CurrentSong.GAP); - - // Note info - Text[TextNStart].Text := IntToStr(Czesci[0].Czesc[Czesci[0].Akt].Nuta[AktNuta].Start); - Text[TextNDlugosc].Text := IntToStr(Czesci[0].Czesc[Czesci[0].Akt].Nuta[AktNuta].Dlugosc); - Text[TextNTon].Text := IntToStr(Czesci[0].Czesc[Czesci[0].Akt].Nuta[AktNuta].Ton); - Text[TextNText].Text := Czesci[0].Czesc[Czesci[0].Akt].Nuta[AktNuta].Tekst; - - // draw static menu - inherited Draw; - - // draw notes - SingDrawNoteLines(20, 300, 780, 15); - SingDrawBeatDelimeters(40, 300, 760, 0); - SingDrawCzesc(40, 405, 760, 0); - - // draw text - Lyric.Draw;} - -end;*) - -procedure TScreenEditHeader.SetRoundButtons; -begin - if Length(Text[TextTitle].Text) > 0 then Static[StaticTitle].Visible := true - else Static[StaticTitle].Visible := false; - - if Length(Text[TextArtist].Text) > 0 then Static[StaticArtist].Visible := true - else Static[StaticArtist].Visible := false; - - if Length(Text[TextMp3].Text) > 0 then Static[StaticMp3].Visible := true - else Static[StaticMp3].Visible := false; - - if Length(Text[TextBackground].Text) > 0 then Static[StaticBackground].Visible := true - else Static[StaticBackground].Visible := false; - - if Length(Text[TextVideo].Text) > 0 then Static[StaticVideo].Visible := true - else Static[StaticVideo].Visible := false; - - try - StrToFloat(Text[TextVideoGAP].Text); - if StrToFloat(Text[TextVideoGAP].Text)<> 0 then Static[StaticVideoGAP].Visible := true - else Static[StaticVideoGAP].Visible := false; - except - Static[StaticVideoGAP].Visible := false; - end; - - if LowerCase(Text[TextRelative].Text) = 'yes' then Static[StaticRelative].Visible := true - else Static[StaticRelative].Visible := false; - - try - StrToInt(Text[TextResolution].Text); - if (StrToInt(Text[TextResolution].Text) <> 0) and (StrToInt(Text[TextResolution].Text) >= 1) - then Static[StaticResolution].Visible := true - else Static[StaticResolution].Visible := false; - except - Static[StaticResolution].Visible := false; - end; - - try - StrToInt(Text[TextNotesGAP].Text); - Static[StaticNotesGAP].Visible := true; - except - Static[StaticNotesGAP].Visible := false; - end; - - // start - try - StrToFloat(Text[TextStart].Text); - if (StrToFloat(Text[TextStart].Text) > 0) then Static[StaticStart].Visible := true - else Static[StaticStart].Visible := false; - except - Static[StaticStart].Visible := false; - end; - - // GAP - try - StrToFloat(Text[TextGAP].Text); - Static[StaticGAP].Visible := true; - except - Static[StaticGAP].Visible := false; - end; - - // BPM - try - StrToFloat(Text[TextBPM].Text); - if (StrToFloat(Text[TextBPM].Text) > 0) then Static[StaticBPM].Visible := true - else Static[StaticBPM].Visible := false; - except - Static[StaticBPM].Visible := false; - end; - -end; - -(*procedure TScreenEdit.Finish; -begin -// -end;*) - -end. |