aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormogguh <mogguh@b956fd51-792f-4845-bead-9b4dfca2ff2c>2008-08-15 14:45:34 +0000
committermogguh <mogguh@b956fd51-792f-4845-bead-9b4dfca2ff2c>2008-08-15 14:45:34 +0000
commit226ecf542b83fdbe1fa78534dab30082c98603ce (patch)
tree0332ce309d3a30f5d332cbe0dcad422cb345dbab
parent73f3681047e8ae3ceeafab97c92578f341b7a9e9 (diff)
downloadusdx-226ecf542b83fdbe1fa78534dab30082c98603ce.tar.gz
usdx-226ecf542b83fdbe1fa78534dab30082c98603ce.tar.xz
usdx-226ecf542b83fdbe1fa78534dab30082c98603ce.zip
VoicePassthrough is now available at the options, turns playback from the microphone on/off
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1261 b956fd51-792f-4845-bead-9b4dfca2ff2c
-rw-r--r--Game/Code/Classes/UIni.pas11
-rw-r--r--Game/Code/Classes/URecord.pas6
-rw-r--r--Game/Code/Classes/UThemes.pas28
-rw-r--r--Game/Code/Screens/UScreenOptionsSound.pas9
-rw-r--r--Languages/English.ini1
-rw-r--r--Languages/German.ini1
-rw-r--r--Themes/Deluxe.ini33
7 files changed, 61 insertions, 28 deletions
diff --git a/Game/Code/Classes/UIni.pas b/Game/Code/Classes/UIni.pas
index 2c01a652..64fa2da3 100644
--- a/Game/Code/Classes/UIni.pas
+++ b/Game/Code/Classes/UIni.pas
@@ -82,6 +82,7 @@ type
SavePlayback: integer;
ThresholdIndex: integer;
AudioOutputBufferSizeIndex: integer;
+ VoicePassthrough: integer;
//Song Preview
PreviewVolume: integer;
@@ -175,6 +176,8 @@ const
IThreshold: array[0..3] of string = ('5%', '10%', '15%', '20%');
IThresholdVals: array[0..3] of single = (0.05, 0.10, 0.15, 0.20);
+ IVoicePassthrough: array[0..1] of string = ('Off', 'On');
+
IAudioOutputBufferSize: array[0..9] of string = ('Auto', '256', '512', '1024', '2048', '4096', '8192', '16384', '32768', '65536');
IAudioOutputBufferSizeVals: array[0..9] of integer = ( 0, 256, 512 , 1024 , 2048 , 4096 , 8192 , 16384 , 32768 , 65536 );
@@ -571,7 +574,10 @@ begin
//Preview Fading
PreviewFading := GetArrayIndex(IPreviewFading, IniFile.ReadString('Sound', 'PreviewFading', IPreviewFading[1]));
-
+
+ //AudioRepeat aka VoicePassthrough
+ VoicePassthrough := GetArrayIndex(IVoicePassthrough, IniFile.ReadString('Sound', 'VoicePassthrough', IVoicePassthrough[0]));
+
// Lyrics Font
LyricsFont := GetArrayIndex(ILyricsFont, IniFile.ReadString('Lyrics', 'LyricsFont', ILyricsFont[1]));
@@ -740,6 +746,9 @@ begin
// SavePlayback
IniFile.WriteString('Sound', 'SavePlayback', ISavePlayback[SavePlayback]);
+ // NoteLines
+ IniFile.WriteString('Sound', 'VoicePassthrough', IVoicePassthrough[VoicePassthrough]);
+
// Lyrics Font
IniFile.WriteString('Lyrics', 'LyricsFont', ILyricsFont[LyricsFont]);
diff --git a/Game/Code/Classes/URecord.pas b/Game/Code/Classes/URecord.pas
index 87aa6ea3..9adfebb0 100644
--- a/Game/Code/Classes/URecord.pas
+++ b/Game/Code/Classes/URecord.pas
@@ -193,12 +193,12 @@ begin
// and adjust it because capture buffers are always mono
Sound.AudioFormat.Channels := 1;
DeviceCfg := @Ini.InputDeviceConfig[CfgIndex];
-// TODO: make this an ini-var, e.g. VoicePassthrough, VoiceRepeat or LiveVoice
-{$IFDEF VOICE_PASSTHROUGH}
+//{$IFDEF VOICE_PASSTHROUGH}
+ if (Ini.VoicePassthrough = 1) then
// create a voice-stream for passthrough
// TODO: map odd players to the left and even players to the right speaker
Sound.VoiceStream := AudioPlayback.CreateVoiceStream(CHANNELMAP_FRONT, AudioFormat);
-{$ENDIF}
+//{$ENDIF}
end;
// replace old with new buffer (Note: Sound might be nil)
diff --git a/Game/Code/Classes/UThemes.pas b/Game/Code/Classes/UThemes.pas
index 31e91724..f5e15103 100644
--- a/Game/Code/Classes/UThemes.pas
+++ b/Game/Code/Classes/UThemes.pas
@@ -406,13 +406,14 @@ type
end;
TThemeOptionsSound = class(TThemeBasic)
- SelectMicBoost: TThemeSelectSlide;
- SelectClickAssist: TThemeSelectSlide;
- SelectBeatClick: TThemeSelectSlide;
- SelectThreshold: TThemeSelectSlide;
- SelectSlidePreviewVolume: TThemeSelectSlide;
- SelectSlidePreviewFading: TThemeSelectSlide;
- ButtonExit: TThemeButton;
+ SelectMicBoost: TThemeSelectSlide;
+ SelectClickAssist: TThemeSelectSlide;
+ SelectBeatClick: TThemeSelectSlide;
+ SelectThreshold: TThemeSelectSlide;
+ SelectSlidePreviewVolume: TThemeSelectSlide;
+ SelectSlidePreviewFading: TThemeSelectSlide;
+ SelectSlideVoicePassthrough: TThemeSelectSlide;
+ ButtonExit: TThemeButton;
end;
TThemeOptionsLyrics = class(TThemeBasic)
@@ -1156,13 +1157,14 @@ begin
// Options Sound
ThemeLoadBasic(OptionsSound, 'OptionsSound');
- ThemeLoadSelectSlide(OptionsSound.SelectMicBoost, 'OptionsSoundSelectMicBoost');
- ThemeLoadSelectSlide(OptionsSound.SelectClickAssist, 'OptionsSoundSelectClickAssist');
- ThemeLoadSelectSlide(OptionsSound.SelectBeatClick, 'OptionsSoundSelectBeatClick');
- ThemeLoadSelectSlide(OptionsSound.SelectThreshold, 'OptionsSoundSelectThreshold');
+ ThemeLoadSelectSlide(OptionsSound.SelectMicBoost, 'OptionsSoundSelectMicBoost');
+ ThemeLoadSelectSlide(OptionsSound.SelectClickAssist, 'OptionsSoundSelectClickAssist');
+ ThemeLoadSelectSlide(OptionsSound.SelectBeatClick, 'OptionsSoundSelectBeatClick');
+ ThemeLoadSelectSlide(OptionsSound.SelectThreshold, 'OptionsSoundSelectThreshold');
//Song Preview
- ThemeLoadSelectSlide(OptionsSound.SelectSlidePreviewVolume, 'OptionsSoundSelectSlidePreviewVolume');
- ThemeLoadSelectSlide(OptionsSound.SelectSlidePreviewFading, 'OptionsSoundSelectSlidePreviewFading');
+ ThemeLoadSelectSlide(OptionsSound.SelectSlidePreviewVolume, 'OptionsSoundSelectSlidePreviewVolume');
+ ThemeLoadSelectSlide(OptionsSound.SelectSlidePreviewFading, 'OptionsSoundSelectSlidePreviewFading');
+ ThemeLoadSelectSlide(OptionsSound.SelectSlideVoicePassthrough, 'OptionsSoundSelectVoicePassthrough');
ThemeLoadButton(OptionsSound.ButtonExit, 'OptionsSoundButtonExit');
diff --git a/Game/Code/Screens/UScreenOptionsSound.pas b/Game/Code/Screens/UScreenOptionsSound.pas
index ba487937..3a457b7a 100644
--- a/Game/Code/Screens/UScreenOptionsSound.pas
+++ b/Game/Code/Screens/UScreenOptionsSound.pas
@@ -49,7 +49,7 @@ begin
end;
SDLK_RETURN:
begin
- if SelInteraction = 6 then begin
+ if SelInteraction = 7 then begin
Ini.Save;
AudioPlayback.PlaySound(SoundLib.Back);
FadeTo(@ScreenOptions);
@@ -61,14 +61,14 @@ begin
InteractPrev;
SDLK_RIGHT:
begin
- if (SelInteraction >= 0) and (SelInteraction <= 6) then begin
+ if (SelInteraction >= 0) and (SelInteraction <= 7) then begin
AudioPlayback.PlaySound(SoundLib.Option);
InteractInc;
end;
end;
SDLK_LEFT:
begin
- if (SelInteraction >= 0) and (SelInteraction <= 6) then begin
+ if (SelInteraction >= 0) and (SelInteraction <= 7) then begin
AudioPlayback.PlaySound(SoundLib.Option);
InteractDec;
end;
@@ -85,11 +85,12 @@ begin
LoadFromTheme(Theme.OptionsSound);
+ AddSelectSlide(Theme.OptionsSound.SelectSlideVoicePassthrough, Ini.VoicePassthrough, IVoicePassthrough);
+
AddSelectSlide(Theme.OptionsSound.SelectMicBoost, Ini.MicBoost, IMicBoost); // TODO - This need moving to ScreenOptionsRecord
AddSelectSlide(Theme.OptionsSound.SelectClickAssist, Ini.ClickAssist, IClickAssist);
AddSelectSlide(Theme.OptionsSound.SelectBeatClick, Ini.BeatClick, IBeatClick);
AddSelectSlide(Theme.OptionsSound.SelectThreshold, Ini.ThresholdIndex, IThreshold);
-
//Song Preview
AddSelectSlide(Theme.OptionsSound.SelectSlidePreviewVolume, Ini.PreviewVolume, IPreviewVolume);
AddSelectSlide(Theme.OptionsSound.SelectSlidePreviewFading, Ini.PreviewFading, IPreviewFading);
diff --git a/Languages/English.ini b/Languages/English.ini
index 738f710f..44da57f1 100644
--- a/Languages/English.ini
+++ b/Languages/English.ini
@@ -55,6 +55,7 @@ SING_OPTIONS_GRAPHICS_MOVIE_SIZE=Movie size
SING_OPTIONS_SOUND_WHEREAMI=Options Sound
SING_OPTIONS_SOUND_DESC=sound settings
+SING_OPTIONS_SOUND_VOICEPASSTHROUGH=Microphone Playback
SING_OPTIONS_SOUND_MIC_BOOST=Mic boost
SING_OPTIONS_SOUND_CLICK_ASSIST=Click assist
SING_OPTIONS_SOUND_BEAT_CLICK=Beat click
diff --git a/Languages/German.ini b/Languages/German.ini
index 838b453f..c23e6dd7 100644
--- a/Languages/German.ini
+++ b/Languages/German.ini
@@ -55,6 +55,7 @@ SING_OPTIONS_GRAPHICS_MOVIE_SIZE=Videogröße
SING_OPTIONS_SOUND_WHEREAMI=Optionen Sound
SING_OPTIONS_SOUND_DESC=Einstellungen für den Sound
+SING_OPTIONS_SOUND_VOICEPASSTHROUGH=Mikrofon Wiedergabe
SING_OPTIONS_SOUND_MIC_BOOST=Mic-Anhebung
SING_OPTIONS_SOUND_CLICK_ASSIST=Click-Assistent
SING_OPTIONS_SOUND_BEAT_CLICK=Beat-Click
diff --git a/Themes/Deluxe.ini b/Themes/Deluxe.ini
index 5b39a87f..d17fa421 100644
--- a/Themes/Deluxe.ini
+++ b/Themes/Deluxe.ini
@@ -356,7 +356,6 @@ Y = 125
W = 320
H = 190
Reflections = 1
-Style=5
[SongEqualizer]
Visible = 1
@@ -3336,12 +3335,32 @@ Size = 7
Align = 0
Text = SING_LEGEND_ESC
+[OptionsSoundSelectVoicePassthrough]
+Tex = MainBar
+TexSBG = SelectBG
+Text = SING_OPTIONS_SOUND_VOICEPASSTHROUGH
+X = 70
+Y = 85
+W = 230
+H = 40
+SkipX = 10
+
+Color = ColorDark
+DColor = Gray
+TColor = White
+TDColor = White
+SBGTex = MainBar
+SBGColor = ColorDark
+SBGDColor = Gray
+STColor = White
+STDColor = GrayDark
+
[OptionsSoundSelectMicBoost]
Tex = MainBar
TexSBG = SelectBG
Text = SING_OPTIONS_SOUND_MIC_BOOST
X = 70
-Y = 85
+Y = 135
W = 230
H = 40
SkipX = 10
@@ -3361,7 +3380,7 @@ Tex = MainBar
TexSBG = SelectBG
Text = SING_OPTIONS_SOUND_CLICK_ASSIST
X = 70
-Y = 135
+Y = 185
W = 230
H = 40
SkipX = 10
@@ -3381,7 +3400,7 @@ Tex = MainBar
TexSBG = SelectBG
Text = SING_OPTIONS_SOUND_BEAT_CLICK
X = 70
-Y = 185
+Y = 235
W = 230
H = 40
SkipX = 10
@@ -3401,7 +3420,7 @@ Tex = MainBar
TexSBG = SelectBG
Text = SING_OPTIONS_SOUND_THRESHOLD
X = 70
-Y = 235
+Y = 285
W = 230
H = 40
SkipX = 10
@@ -3421,7 +3440,7 @@ Tex = MainBar
TexSBG = SelectBG
Text = SING_OPTIONS_SOUND_PREVIEWVOLUME
X = 70
-Y = 285
+Y = 335
W = 230
H = 40
SkipX = 10
@@ -3441,7 +3460,7 @@ Tex = MainBar
TexSBG = SelectBG
Text = SING_OPTIONS_SOUND_PREVIEWFADING
X = 70
-Y = 335
+Y = 385
W = 230
H = 40
SkipX = 10