From bb64e99825121cfe68d1139fff855dd44a43674a Mon Sep 17 00:00:00 2001
From: brunzelchen <brunzelchen@b956fd51-792f-4845-bead-9b4dfca2ff2c>
Date: Thu, 30 Dec 2010 07:56:51 +0000
Subject: increase/decrease just one line of a song

git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/1.0.1 Challenge MOD@2782 b956fd51-792f-4845-bead-9b4dfca2ff2c
---
 Game/Code/Screens/UScreenEditSub.pas |  67 ++++++++++++++++++++++++++++-------
 Game/Output/Languages/English.ini    |  12 ++++---
 Game/Output/Languages/German.ini     |  14 +++++---
 Game/Output/Languages/Languages.xls  | Bin 209920 -> 261120 bytes
 Game/Output/Languages/Magyar.ini     |  32 ++++++++---------
 5 files changed, 88 insertions(+), 37 deletions(-)

diff --git a/Game/Code/Screens/UScreenEditSub.pas b/Game/Code/Screens/UScreenEditSub.pas
index 941a6a1b..fe6993f7 100644
--- a/Game/Code/Screens/UScreenEditSub.pas
+++ b/Game/Code/Screens/UScreenEditSub.pas
@@ -115,6 +115,7 @@ type
       procedure DeleteSentence;
       procedure TransposeNote(Transpose: integer);
       procedure ChangeWholeTone(Tone: integer);
+      procedure ChangeWholeToneActLine(Tone: integer);
       procedure MoveAllToEnd(Move: integer);
       procedure MoveTextToRight;
       procedure MarkSrc;
@@ -1376,19 +1377,49 @@ begin
       //MP3-Volume Up
       SDLK_PAGEUP:
         begin
-          if (MP3Volume<100) then
-            MP3Volume := MP3Volume+5;
+          if (SDL_ModState = 0) then
+          begin
+            if (MP3Volume<100) then
+              MP3Volume := MP3Volume+5;
             Music.SetMusicVolume(MP3Volume);
             Text[TextDebug].Text := 'MP3 Volume: ' + IntToStr(MP3Volume) + '%';
+          end;
+
+          // Increase tone of all notes
+          if (SDL_ModState = KMOD_LCTRL or KMOD_LALT) then
+            ChangeWholeTone(1);
+          if (SDL_ModState = KMOD_LCTRL or KMOD_LSHIFT or KMOD_LALT) then
+            ChangeWholeTone(12);
+
+          // Increase tone of all notes of actual line
+          if (SDL_ModState = KMOD_LCTRL) then
+            ChangeWholeToneActLine(1);
+          if (SDL_ModState = KMOD_LCTRL or KMOD_LSHIFT) then
+            ChangeWholeToneActLine(12);
         end;
 
       //MP3-Volume Down
       SDLK_PAGEDOWN:
         begin
-          if (MP3Volume>0) then
-            MP3Volume := MP3Volume-5;
+          if (SDL_ModState = 0) then
+          begin
+            if (MP3Volume>0) then
+              MP3Volume := MP3Volume-5;
             Music.SetMusicVolume(MP3Volume);
             Text[TextDebug].Text := 'MP3 Volume: ' + IntToStr(MP3Volume) + '%';
+          end;
+
+          // Decrease tone of all notes
+          if (SDL_ModState = KMOD_LCTRL or KMOD_LALT) then
+            ChangeWholeTone(-1);
+          if (SDL_ModState = KMOD_LCTRL or KMOD_LSHIFT or KMOD_LALT) then
+            ChangeWholeTone(-12);
+
+          // Decrease tone of all notes of actual line
+          if (SDL_ModState = KMOD_LCTRL) then
+            ChangeWholeToneActLine(-1);
+          if (SDL_ModState = KMOD_LCTRL or KMOD_LSHIFT) then
+            ChangeWholeToneActLine(-12);
         end;
       end;
     end;
@@ -2257,21 +2288,33 @@ end;
 
 procedure TScreenEditSub.ChangeWholeTone(Tone: integer);
 var
-  P:  integer;
   C:  integer;
   N:  integer;
 begin
-  for P := 0 to Length(Czesci) - 1 do
-  begin
-    for C := 0 to Czesci[P].High do
+
+    for C := 0 to Czesci[CP].High do
     begin
-      if (Length(Czesci[P].Czesc[C].Nuta)>0) then
+      if (Length(Czesci[CP].Czesc[C].Nuta)>0) then
       begin
-        Czesci[P].Czesc[C].BaseNote := Czesci[P].Czesc[C].BaseNote + Tone;
-        for N := 0 to Czesci[P].Czesc[C].HighNut do
-          Czesci[P].Czesc[C].Nuta[N].Ton := Czesci[P].Czesc[C].Nuta[N].Ton + Tone;
+        Czesci[CP].Czesc[C].BaseNote := Czesci[CP].Czesc[C].BaseNote + Tone;
+        for N := 0 to Czesci[CP].Czesc[C].HighNut do
+          Czesci[CP].Czesc[C].Nuta[N].Ton := Czesci[CP].Czesc[C].Nuta[N].Ton + Tone;
       end;
     end;
+end;
+
+procedure TScreenEditSub.ChangeWholeToneActLine(Tone: integer);
+var
+  C:  integer;
+  N:  integer;
+
+begin
+  C := Czesci[CP].Akt;
+  if (Length(Czesci[CP].Czesc[C].Nuta)>0) then
+  begin
+    Czesci[CP].Czesc[C].BaseNote := Czesci[CP].Czesc[C].BaseNote + Tone;
+    for N := 0 to Czesci[CP].Czesc[C].HighNut do
+      Czesci[CP].Czesc[C].Nuta[N].Ton := Czesci[CP].Czesc[C].Nuta[N].Ton + Tone;
   end;
 end;
 
diff --git a/Game/Output/Languages/English.ini b/Game/Output/Languages/English.ini
index ee27a924..8973abac 100644
--- a/Game/Output/Languages/English.ini
+++ b/Game/Output/Languages/English.ini
@@ -118,17 +118,13 @@ PLUGIN_MEDLEYSURPRISEBLIND_DESC = 5-song medley (1st picked, rest random) withou
 PLUGIN_MEDLEYSURPRISEBLIND_NAME = Blind Medley Surprise
 PLUGIN_MEHRALS500_DESC = Um zu gewinnen, muss man am Ende mindestens 500 Punkte Vorsprung haben.
 PLUGIN_MEHRALS500_NAME = Sieg 500+
-PLUGIN_MORE1000_DESC = Ziel: 1000 Punkte Vorsprung zum Sieg. Ansonsten gewinnt h�chste Punktzahl.
 PLUGIN_MORE1000_DESC = Random song, first to 1000-point lead wins
-PLUGIN_MORE1000_NAME = 
 PLUGIN_MORE1000_NAME = Lead by 1000
 PLUGIN_MORE2000_DESC = Ziel: 2000 Punkte Vorsprung zum Sieg. Ansonsten gewinnt h�chste Punktzahl.
 PLUGIN_MORE2000_NAME = 2K Vorsprung
 PLUGIN_MORE3000_DESC = Ziel: 3000 Punkte Vorsprung zum Sieg. Ansonsten gewinnt h�chste Punktzahl.
 PLUGIN_MORE3000_NAME = 3K Vorsprung
-PLUGIN_MORE500_DESC = Ziel: 500 Punkte Vorsprung zum Sieg. Ansonsten gewinnt h�chste Punktzahl.
 PLUGIN_MORE500_DESC = Random song, first to 500-point lead wins
-PLUGIN_MORE500_NAME = 
 PLUGIN_MORE500_NAME = Lead by 500
 PLUGIN_MORETHAN1000_DESC = Wer mehr als 1000 Punkte zur�ckliegt, fliegt raus.
 PLUGIN_MORETHAN1000_NAME = R�ckstand 1K
@@ -496,6 +492,14 @@ KPPLUS = Increase all notes by 1 semitone
 KPMINUS = Decrease all notes by 1 semitone
 SHIFT_KPPLUS = Increase all notes by 12 semitones (1 octave)
 SHIFT_KPMINUS = Decrease all notes by 12 semitones (1 octave)
+CTRL_ALT_PAGEUP = Increase all notes by 1 semitone
+CTRL_ALT_PAGEDOWN = Decrease all notes by 1 semitone
+CTRL_SHIFT_ALT_PAGEUP = Increase all notes by 12 semitones (1 octave)
+CTRL_SHIFT_ALT_PAGEDOWN = Decrease all notes by 12 semitones (1 octave)
+CTRL_PAGEUP = Increase all notes of actual line by 1 semitone
+CTRL_PAGEDOWN = Decrease all notes of actual line by 1 semitone
+CTRL_SHIFT_PAGEUP = Increase all notes of actual line by 12 semitones (1 octave)
+CTRL_SHIFT_PAGEDOWN = Decrease all notes of actual line by 12 semitones (1 octave)
 #-------------------------------------------------------#
 SEC_042 = Voice Pitch Recording
 N = Set note pitch of current note to the last detected voice pitch.
diff --git a/Game/Output/Languages/German.ini b/Game/Output/Languages/German.ini
index 6d9350f9..e01b6f95 100644
--- a/Game/Output/Languages/German.ini
+++ b/Game/Output/Languages/German.ini
@@ -118,17 +118,13 @@ PLUGIN_MEDLEYSURPRISEBLIND_DESC = Nur das erste Lied darf man aussuchen, blind.
 PLUGIN_MEDLEYSURPRISEBLIND_NAME = Medley Surprise 2
 PLUGIN_MEHRALS500_DESC = Um zu gewinnen, muss man am Ende mindestens 500 Punkte Vorsprung haben.
 PLUGIN_MEHRALS500_NAME = Sieg 500+
-PLUGIN_MORE1000_DESC = Ziel: 1000 Punkte Vorsprung zum Sieg. Ansonsten gewinnt h�chste Punktzahl.
 PLUGIN_MORE1000_DESC = Erreiche einen Abstand von 1000 Punkten.
-PLUGIN_MORE1000_NAME = 1K Vorsprung
 PLUGIN_MORE1000_NAME = Mehr als 1000
 PLUGIN_MORE2000_DESC = Ziel: 2000 Punkte Vorsprung zum Sieg. Ansonsten gewinnt h�chste Punktzahl.
 PLUGIN_MORE2000_NAME = 2K Vorsprung
 PLUGIN_MORE3000_DESC = Ziel: 3000 Punkte Vorsprung zum Sieg. Ansonsten gewinnt h�chste Punktzahl.
 PLUGIN_MORE3000_NAME = 3K Vorsprung
-PLUGIN_MORE500_DESC = Ziel: 500 Punkte Vorsprung zum Sieg. Ansonsten gewinnt h�chste Punktzahl.
 PLUGIN_MORE500_DESC = Erreiche einen Abstand von 500 Punkten.
-PLUGIN_MORE500_NAME = 500 Vorsprung
 PLUGIN_MORE500_NAME = Mehr als 500
 PLUGIN_MORETHAN1000_DESC = Wer mehr als 1000 Punkte zur�ckliegt, fliegt raus.
 PLUGIN_MORETHAN1000_NAME = R�ckstand 1K
@@ -496,6 +492,14 @@ KPPLUS = Tonh
 KPMINUS = Tonh�he aller Noten um einen Halbtonschritt verringern
 SHIFT_KPPLUS = Tonh�he aller Noten um eine Oktave (12 Halbtonschritte) erh�hen
 SHIFT_KPMINUS = Tonh�he aller Noten um eine Oktave (12 Halbtonschritte) verringern
+CTRL_ALT_PAGEUP = Tonh�he aller Noten um einen Halbtonschritt erh�hen
+CTRL_ALT_PAGEDOWN = Tonh�he aller Noten um einen Halbtonschritt verringern
+CTRL_SHIFT_ALT_PAGEUP = Tonh�he aller Noten um eine Oktave (12 Halbtonschritte) erh�hen
+CTRL_SHIFT_ALT_PAGEDOWN = Tonh�he aller Noten um eine Oktave (12 Halbtonschritte) verringern
+CTRL_PAGEUP = Tonh�he aller Noten der aktuellen Zeile um einen Halbtonschritt erh�hen
+CTRL_PAGEDOWN = Tonh�he aller Noten der aktuellen Zeile um einen Halbtonschritt verringern
+CTRL_SHIFT_PAGEUP = Tonh�he aller Noten der aktuellen Zeile um eine Oktave (12 Halbtonschritte) erh�hen
+CTRL_SHIFT_PAGEDOWN = Tonh�he aller Noten der aktuellen Zeile um eine Oktave (12 Halbtonschritte) verringern
 #-------------------------------------------------------#
 SEC_042 = Tonh�hen singen / Aufnahme
 N = Tonh�he der markierten Note auf die zuletzt eingesungene H�he setzen.
@@ -1513,4 +1517,4 @@ 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 375d721e..e08a035e 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 7d110076..b2d10b09 100644
--- a/Game/Output/Languages/Magyar.ini
+++ b/Game/Output/Languages/Magyar.ini
@@ -79,16 +79,12 @@ PARTY_WIN_WHEREAMI = A parti gy
 PLAYLIST_CATTEXT = Lista: %s
 PLUGIN_ATLEAST3500_DESC = 3500 pontot kell el�rni
 PLUGIN_ATLEAST3500_NAME = 3500-t�l
-PLUGIN_ATLEAST4500_DESC = 4500 pontot kell el�rni
-PLUGIN_ATLEAST4500_NAME = 4500-t�l
 PLUGIN_ATLEAST5000_DESC = 5000 pontot kell el�rni
 PLUGIN_ATLEAST5000_NAME = 5000-t�l
 PLUGIN_ATLEAST7500_DESC = 7500 pontot kell el�rni
 PLUGIN_ATLEAST7500_NAME = 7500-t�l
 PLUGIN_BLIND_DESC = Dal a hangok mutat�sa n�lk�l
 PLUGIN_BLIND_NAME = Vakon
-PLUGIN_BLINDBIS5000_DESC = Dal a hangok mutat�sa n�lk�l 5000-ig
-PLUGIN_BLINDBIS5000_NAME = Vakon 5000-ig
 PLUGIN_BLIND_NOSCORE_DESC = Dal a hangok �s pontsz�m mutat�sa n�lk�l
 PLUGIN_BLIND_NOSCORE_NAME = Vakon, pont n�lk�l
 PLUGIN_BLIND_NOSCORE2_DESC = Dal a hangok, a pontsz�m �s a b�nusz n�lk�l.
@@ -105,12 +101,11 @@ PLUGIN_HAUDENLUKAS_DESC = T
 PLUGIN_HAUDENLUKAS_NAME = Felt�lt�s
 PLUGIN_HDL_DESC = Maradj a piros jel felett, k�l�nben kiesel!
 PLUGIN_HDL_NAME = S�vtart�
-PLUGIN_IDONTSEEMYSCORE_DESC = Verseny, a pontsz�mokat nem mutatjuk.
-PLUGIN_IDONTSEEMYSCORE_NAME = Pont n�lk�l
 PLUGIN_JOKER_DESC = 4 vagy t�bb jokerrel 5%-kal t�bb pont j�r.
 PLUGIN_JOKER_NAME = Jokeres
 PLUGIN_LINE-BONUS_DESC = Pont csak a hib�tlan sor�rt j�r
 PLUGIN_LINE-BONUS_NAME = Sorb�nusz
+PLUGIN_LOCURA3000_DESC = 
 PLUGIN_MEDLEY_DESC = 5 dalr�szlet
 PLUGIN_MEDLEY_NAME = V�logat�s
 PLUGIN_MEDLEYBLIND_DESC = 5 dalr�szlet, vakon
@@ -146,20 +141,12 @@ PLUGIN_RANDPOINTS_DESC = A pontsz
 PLUGIN_RANDPOINTS_NAME = V�letlen
 PLUGIN_REGULA_DESC = Az utols� helyen �ll� 10 %-kal t�bb pontot kap.
 PLUGIN_REGULA_NAME = Szolidarit�s
-PLUGIN_SPEED_DESC = 1 pont j�r minden ezres hat�r el�r�sekor
-PLUGIN_SPEED_NAME = Hat�rvad�szat
 PLUGIN_TEAMDUELL_DESC = Az eg�sz csapat �nekel
 PLUGIN_TEAMDUELL_NAME = K�rbej�r a mikrofon
 PLUGIN_UNTIL5000_DESC = Az nyer, aki el�sz�r el�ri az 5000 pontot.
 PLUGIN_UNTIL5000_NAME = 5000-ig
-PLUGIN_UNTIL5000BLIND_DESC = Vak j�t�k: az nyer, aki el�sz�r el�ri az 5000 pontot.
-PLUGIN_UNTIL5000BLIND_NAME = 5000-ig vakon
-PLUGIN_UNTIL5000BLINDSCORE_DESC = Pont n�lk�l: az nyer, aki el�sz�r el�ri az 5000 pontot.
-PLUGIN_UNTIL5000BLINDSCORE_NAME = 5000-ig pont n�lk.
 PLUGIN_ZIEL_DESC = 1 pont j�r minden ezres el�r�sekor
 PLUGIN_ZIEL_NAME = 1000 pontos hat�r
-PLUGIN_CANTHEARMUSIC_NAME=Zene n�lk�l
-PLUGIN_CANTHEARMUSIC_DESC=N�h�nyszor elt�nik a zene - csak a hangotok marad.
 POPUP_AWESOME = Hihetetlen!
 POPUP_AWFUL = Sz�rny�!
 POPUP_BAD = Rossz!
@@ -505,8 +492,21 @@ KPPLUS = Minden hang n
 KPMINUS = Minden hang cs�kkent�se 1 f�lhanggal
 SHIFT_KPPLUS = Minden hang emel�se 12 f�lhanggal (1 okt�vval)
 SHIFT_KPMINUS = Minden hang cs�kkent�se 12 f�lhanggal (1 okt�vval)
-#-------------------------------------------------------#
-SEC_042 = Hang helyzete
+CTRL_ALT_PAGEUP = Minden hang n�vel�se 1 f�lhanggal
+CTRL_ALT_PAGEDOWN = Minden hang cs�kkent�se 1 f�lhanggal
+CTRL_SHIFT_ALT_PAGEUP = Minden hang emel�se 12 f�lhanggal (1 okt�vval)
+CTRL_SHIFT_ALT_PAGEDOWN = Minden hang cs�kkent�se 12 f�lhanggal (1 okt�vval)
+CTRL_PAGEUP = Increase all notes of actual line by 1 semitone
+CTRL_PAGEDOWN = Decrease all notes of actual line by 1 semitone
+CTRL_SHIFT_PAGEUP = Increase all notes of actual line by 12 semitones (1 octave)
+CTRL_SHIFT_PAGEDOWN = Decrease all notes of actual line by 12 semitones (1 octave)
+#-------------------------------------------------------#
+SEC_042 = Voice Pitch Recording
+N = Set note pitch of current note to the last detected voice pitch.
+SHIFT_N = Record voice pitch for actual line.
+ALT_N = Start voice pitch recording from current position.
+#-------------------------------------------------------#
+SEC_043 = Hang helyzete
 SHIFT_DELETE = Sor t�rl�se
 CTRL_DELETE = Hang t�rl�se
 CTRL_SLASH = Hangok oszt�sa kett�vel
-- 
cgit v1.2.3