From 226ecf542b83fdbe1fa78534dab30082c98603ce Mon Sep 17 00:00:00 2001 From: mogguh Date: Fri, 15 Aug 2008 14:45:34 +0000 Subject: 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 --- Game/Code/Classes/UIni.pas | 11 ++++++++++- Game/Code/Classes/URecord.pas | 6 +++--- Game/Code/Classes/UThemes.pas | 28 +++++++++++++++------------- Game/Code/Screens/UScreenOptionsSound.pas | 9 +++++---- 4 files changed, 33 insertions(+), 21 deletions(-) (limited to 'Game') 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); -- cgit v1.2.3