/** * Copyright 1998-2013 Epic Games, Inc. All Rights Reserved. */ class SoundMode extends Object native( AudioDevice ) dontsortcategories( SoundMode ) dependson( AudioDevice, SoundClass ) hidecategories( object ); struct native AudioEQEffect { /** Start time of effect */ var native transient double RootTime; /** High frequency filter cutoff frequency (Hz) */ var( HighPass ) float HFFrequency; /** High frequency gain */ var( HighPass ) float HFGain; /** Middle frequency filter cutoff frequency (Hz) */ var( BandPass ) float MFCutoffFrequency; /** Middle frequency filter bandwidth frequency (Hz) */ var( BandPass ) float MFBandwidth; /** Middle frequency filter gain */ var( BandPass ) float MFGain; /** Low frequency filter cutoff frequency (Hz) */ var( LowPass ) float LFFrequency; /** Low frequency filter gain */ var( LowPass ) float LFGain; structcpptext { // Cannot use strcutdefaultproperties here as this class is a member of a native class FAudioEQEffect( void ) : RootTime( 0.0 ), HFFrequency( DEFAULT_HIGH_FREQUENCY ), HFGain( 1.0f ), MFCutoffFrequency( DEFAULT_MID_FREQUENCY ), MFBandwidth( 1.0f ), MFGain( 1.0f ), LFFrequency( DEFAULT_LOW_FREQUENCY ), LFGain( 1.0f ) { } /** * Interpolate EQ settings based on time */ void Interpolate( FLOAT InterpValue, const FAudioEQEffect& Start, const FAudioEQEffect& End ); /** * Validate all settings are in range */ void ClampValues( void ); } }; /** * Elements of data for sound group volume control */ struct native SoundClassAdjuster { var() transient ESoundClassName SoundClassName; var() editconst name SoundClass; var() float VolumeAdjuster; var() float PitchAdjuster; var() bool bApplyToChildren; var() float VoiceCenterChannelVolumeAdjuster; structdefaultproperties { SoundClassName="Master" SoundClass=Master VolumeAdjuster=1 PitchAdjuster=1 VoiceCenterChannelVolumeAdjuster=1 bApplyToChildren=false; } }; /** Whether to apply the EQ effect */ var( EQ ) bool bApplyEQ; var( EQ ) AudioEQEffect EQSettings; /** Array of changes to be applied to groups */ var( SoundClasses ) array SoundClassEffects; var() float InitialDelay; var() float FadeInTime; var() float Duration; var() float FadeOutTime; defaultproperties { bApplyEQ=FALSE InitialDelay=0.0 Duration=-1.0 FadeInTime=0.2 FadeOutTime=0.2 }