From a5a50b95ad673170c0087ca58a4d2b70e874f599 Mon Sep 17 00:00:00 2001 From: brunzelchen Date: Sun, 17 Apr 2011 15:55:51 +0000 Subject: add: paste notes only (with ctrl+alt+v) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/1.0.1 Challenge MOD@2822 b956fd51-792f-4845-bead-9b4dfca2ff2c --- Game/Code/Screens/UScreenEditSub.pas | 36 +++++++++++++++++++++++++++++++++++ Game/Output/Languages/English.ini | 5 ++++- Game/Output/Languages/German.ini | 5 ++++- Game/Output/Languages/Languages.xls | Bin 261120 -> 253440 bytes Game/Output/Languages/Magyar.ini | 3 +++ Game/Output/Languages/Polish.ini | 1 + 6 files changed, 48 insertions(+), 2 deletions(-) diff --git a/Game/Code/Screens/UScreenEditSub.pas b/Game/Code/Screens/UScreenEditSub.pas index 8443b233..fc2f9364 100644 --- a/Game/Code/Screens/UScreenEditSub.pas +++ b/Game/Code/Screens/UScreenEditSub.pas @@ -121,6 +121,7 @@ type procedure MarkSrc; procedure PasteText; procedure CopySentence(Src, Dst: integer); + procedure CopySentenceNotes(Src, Dst: integer); procedure CopySentences(Src, Dst, Num: integer); function GetMedleyLength: real; //returns if availible the length of the medley in seconds, else 0 procedure DrawInfoBar(P, x, y, w, h: integer); @@ -775,6 +776,12 @@ begin Text[TextDebug].Text := 'Line pasted'; end; + if (SDL_ModState = KMOD_LCTRL + KMOD_LALT) then + begin + CopySentenceNotes(CopySrcLine, Czesci[CP].Akt); + Text[TextDebug].Text := 'Notes pasted'; + end; + if SDL_ModState = 0 then StartVideo; @@ -2478,6 +2485,35 @@ begin EditorLyric[CP].AddCzesc(CP, Czesci[CP].Akt); end; +procedure TScreenEditSub.CopySentenceNotes(Src, Dst: integer); +var + N: integer; + Time1: integer; + Time2: integer; + TD: integer; +begin + Time1 := Czesci[CopySrcCP].Czesc[Src].Nuta[0].Start; + Time2 := Czesci[CP].Czesc[Dst].Nuta[0].Start; + TD := Time2-Time1; + + SetLength(Czesci[CP].Czesc[Dst].Nuta, Czesci[CopySrcCP].Czesc[Src].IlNut); + Czesci[CP].Czesc[Dst].IlNut := Czesci[CopySrcCP].Czesc[Src].IlNut; + Czesci[CP].Czesc[Dst].HighNut := Czesci[CopySrcCP].Czesc[Src].HighNut; + for N := 0 to Czesci[CopySrcCP].Czesc[Src].HighNut do + begin + Czesci[CP].Czesc[Dst].Nuta[N].Dlugosc := Czesci[CopySrcCP].Czesc[Src].Nuta[N].Dlugosc; + Czesci[CP].Czesc[Dst].Nuta[N].Ton := Czesci[CopySrcCP].Czesc[Src].Nuta[N].Ton; + Czesci[CP].Czesc[Dst].Nuta[N].Wartosc := Czesci[CopySrcCP].Czesc[Src].Nuta[N].Wartosc; + Czesci[CP].Czesc[Dst].Nuta[N].Start := Czesci[CopySrcCP].Czesc[Src].Nuta[N].Start + TD; + end; + N := Czesci[CopySrcCP].Czesc[Src].HighNut; + Czesci[CP].Czesc[Dst].Koniec := Czesci[CP].Czesc[Dst].Nuta[N].Start + Czesci[CP].Czesc[Dst].Nuta[N].Dlugosc; + + Refresh; + Czesci[CP].Czesc[Czesci[CP].Akt].Nuta[AktNuta[CP]].Color := 2; + EditorLyric[CP].AddCzesc(CP, Czesci[CP].Akt); +end; + procedure TScreenEditSub.CopySentences(Src, Dst, Num: integer); var C: integer; diff --git a/Game/Output/Languages/English.ini b/Game/Output/Languages/English.ini index 8973abac..694b5316 100644 --- a/Game/Output/Languages/English.ini +++ b/Game/Output/Languages/English.ini @@ -577,6 +577,7 @@ SEC_090 = Other CTRL_C = Copy current line CTRL_V = Paste LYRICS over current line CTRL_SHIFT_V = Paste LYRICS+NOTES over current line +CTRL_ALT_V = Paste NOTES over current line CTRL_SHIFT_4 = Paste LYRICS+NOTES over each of the next 4 lines CTRL_SHIFT_ALT_4 = Paste LYRICS+NOTES+LINE-END 4 times CTRL_SHIFT_5 = Paste LYRICS+NOTES over each of the next 5 lines @@ -1517,4 +1518,6 @@ PAGEUP = Increase song volume PAGEDOWN = Decrease song volume #-------------------------------------------------------# # ID_034: ScreenSongMenu Medley # -#-------------------------------------------------------# \ No newline at end of file +#-------------------------------------------------------# + + diff --git a/Game/Output/Languages/German.ini b/Game/Output/Languages/German.ini index e01b6f95..9287bd57 100644 --- a/Game/Output/Languages/German.ini +++ b/Game/Output/Languages/German.ini @@ -577,6 +577,7 @@ SEC_090 = Sonstiges CTRL_C = Zeile kopieren CTRL_V = Text in Zeile einfügen CTRL_SHIFT_V = Text+Noten in Zeile einfügen +CTRL_ALT_V = Noten in Zeile einfügen CTRL_SHIFT_4 = Text+Noten in aktuelle Zeile und die nächsten 3 einfügen CTRL_SHIFT_ALT_4 = unbekannt CTRL_SHIFT_5 = unbekannt @@ -1517,4 +1518,6 @@ PAGEUP = MP3-Lautst PAGEDOWN = MP3-Lautstärke reduzieren #-------------------------------------------------------# # ID_034: ScreenSongMenu Medley # -#-------------------------------------------------------# \ No newline at end of file +#-------------------------------------------------------# + + diff --git a/Game/Output/Languages/Languages.xls b/Game/Output/Languages/Languages.xls index e08a035e..8244099d 100644 Binary files a/Game/Output/Languages/Languages.xls and b/Game/Output/Languages/Languages.xls differ diff --git a/Game/Output/Languages/Magyar.ini b/Game/Output/Languages/Magyar.ini index b2d10b09..1b4824ff 100644 --- a/Game/Output/Languages/Magyar.ini +++ b/Game/Output/Languages/Magyar.ini @@ -577,6 +577,7 @@ SEC_090 = Egyebek CTRL_C = Aktuális sor másolása CTRL_V = Másolt sor beillesztése az aktuális sor helyére (csak dalszöveg) CTRL_SHIFT_V = Másolt sor beillesztése az aktuális sor helyére (hang és dalszöveg) +CTRL_ALT_V = Paste NOTES over current line CTRL_SHIFT_4 = Másolt sor belillesztése a következő négy sorba (hang és dalszöveg) CTRL_SHIFT_ALT_4 = Másolt sor belillesztése a következő négy sorba (hang és dalszöveg, a sor végi töréssel) CTRL_SHIFT_5 = Másolt sor belillesztése a következő öt sorba (hang és dalszöveg) @@ -1518,3 +1519,5 @@ PAGEDOWN = Dal hangerej #-------------------------------------------------------# # ID_034: ScreenSongMenu Medley # #-------------------------------------------------------# + + diff --git a/Game/Output/Languages/Polish.ini b/Game/Output/Languages/Polish.ini index 13e5ec95..b8a4a22d 100644 --- a/Game/Output/Languages/Polish.ini +++ b/Game/Output/Languages/Polish.ini @@ -568,6 +568,7 @@ SEC_090 = Pozosta CTRL_C = Kopiowanie linii tekstu CTRL_V = Wklejenie linii tekstu CTRL_SHIFT_V = Wklejenie TEKSTU + NUT w danej linii +CTRL_ALT_V = Wklejenie linii nuta CTRL_SHIFT_4 = Wklejenie TEKSTU + NUT w 4 następnych liniach CTRL_SHIFT_ALT_4 = Wklejenie TEKSTU + NUT + LINII-END 4 razy CTRL_SHIFT_5 = Wklejenie TEKSTU + NUT w 5 następnych liniach -- cgit v1.2.3