move default reverb params to a static var
							parent
							
								
									be77e8bad1
								
							
						
					
					
						commit
						1bff459be6
					
				|  | @ -8,6 +8,33 @@ namespace MoonWorks.Audio | ||||||
| 	/// </summary> | 	/// </summary> | ||||||
| 	public unsafe class ReverbEffect : SubmixVoice | 	public unsafe class ReverbEffect : SubmixVoice | ||||||
| 	{ | 	{ | ||||||
|  | 		// Defaults based on FAUDIOFX_I3DL2_PRESET_GENERIC | ||||||
|  | 		public static FAudio.FAudioFXReverbParameters DefaultParams = new FAudio.FAudioFXReverbParameters | ||||||
|  | 		{ | ||||||
|  | 			WetDryMix = 100.0f, | ||||||
|  | 			ReflectionsDelay = 7, | ||||||
|  | 			ReverbDelay = 11, | ||||||
|  | 			RearDelay = FAudio.FAUDIOFX_REVERB_DEFAULT_REAR_DELAY, | ||||||
|  | 			PositionLeft = FAudio.FAUDIOFX_REVERB_DEFAULT_POSITION, | ||||||
|  | 			PositionRight = FAudio.FAUDIOFX_REVERB_DEFAULT_POSITION, | ||||||
|  | 			PositionMatrixLeft = FAudio.FAUDIOFX_REVERB_DEFAULT_POSITION_MATRIX, | ||||||
|  | 			PositionMatrixRight = FAudio.FAUDIOFX_REVERB_DEFAULT_POSITION_MATRIX, | ||||||
|  | 			EarlyDiffusion = 15, | ||||||
|  | 			LateDiffusion = 15, | ||||||
|  | 			LowEQGain = 8, | ||||||
|  | 			LowEQCutoff = 4, | ||||||
|  | 			HighEQGain = 8, | ||||||
|  | 			HighEQCutoff = 6, | ||||||
|  | 			RoomFilterFreq = 5000f, | ||||||
|  | 			RoomFilterMain = -10f, | ||||||
|  | 			RoomFilterHF = -1f, | ||||||
|  | 			ReflectionsGain = -26.0200005f, | ||||||
|  | 			ReverbGain = 10.0f, | ||||||
|  | 			DecayTime = 1.49000001f, | ||||||
|  | 			Density = 100.0f, | ||||||
|  | 			RoomSize = FAudio.FAUDIOFX_REVERB_DEFAULT_ROOM_SIZE | ||||||
|  | 		}; | ||||||
|  | 
 | ||||||
| 		public ReverbEffect(AudioDevice audioDevice, uint processingStage) : base(audioDevice, 1, audioDevice.DeviceDetails.OutputFormat.Format.nSamplesPerSec, processingStage) | 		public ReverbEffect(AudioDevice audioDevice, uint processingStage) : base(audioDevice, 1, audioDevice.DeviceDetails.OutputFormat.Format.nSamplesPerSec, processingStage) | ||||||
| 		{ | 		{ | ||||||
| 			/* Init reverb */ | 			/* Init reverb */ | ||||||
|  | @ -15,11 +42,12 @@ namespace MoonWorks.Audio | ||||||
| 			FAudio.FAudioCreateReverb(out reverb, 0); | 			FAudio.FAudioCreateReverb(out reverb, 0); | ||||||
| 
 | 
 | ||||||
| 			var chain = new FAudio.FAudioEffectChain(); | 			var chain = new FAudio.FAudioEffectChain(); | ||||||
| 			var descriptor = new FAudio.FAudioEffectDescriptor(); | 			var descriptor = new FAudio.FAudioEffectDescriptor | ||||||
| 
 | 			{ | ||||||
| 			descriptor.InitialState = 1; | 				InitialState = 1, | ||||||
| 			descriptor.OutputChannels = 1; | 				OutputChannels = 1, | ||||||
| 			descriptor.pEffect = reverb; | 				pEffect = reverb | ||||||
|  | 			}; | ||||||
| 
 | 
 | ||||||
| 			chain.EffectCount = 1; | 			chain.EffectCount = 1; | ||||||
| 			chain.pEffectDescriptors = (nint) (&descriptor); | 			chain.pEffectDescriptors = (nint) (&descriptor); | ||||||
|  | @ -31,34 +59,7 @@ namespace MoonWorks.Audio | ||||||
| 
 | 
 | ||||||
| 			FAudio.FAPOBase_Release(reverb); | 			FAudio.FAPOBase_Release(reverb); | ||||||
| 
 | 
 | ||||||
| 			/* Init reverb params */ | 			SetParams(DefaultParams); | ||||||
| 			// Defaults based on FAUDIOFX_I3DL2_PRESET_GENERIC |  | ||||||
| 
 |  | ||||||
| 			FAudio.FAudioFXReverbParameters reverbParams; |  | ||||||
| 			reverbParams.WetDryMix = 100.0f; |  | ||||||
| 			reverbParams.ReflectionsDelay = 7; |  | ||||||
| 			reverbParams.ReverbDelay = 11; |  | ||||||
| 			reverbParams.RearDelay = FAudio.FAUDIOFX_REVERB_DEFAULT_REAR_DELAY; |  | ||||||
| 			reverbParams.PositionLeft = FAudio.FAUDIOFX_REVERB_DEFAULT_POSITION; |  | ||||||
| 			reverbParams.PositionRight = FAudio.FAUDIOFX_REVERB_DEFAULT_POSITION; |  | ||||||
| 			reverbParams.PositionMatrixLeft = FAudio.FAUDIOFX_REVERB_DEFAULT_POSITION_MATRIX; |  | ||||||
| 			reverbParams.PositionMatrixRight = FAudio.FAUDIOFX_REVERB_DEFAULT_POSITION_MATRIX; |  | ||||||
| 			reverbParams.EarlyDiffusion = 15; |  | ||||||
| 			reverbParams.LateDiffusion = 15; |  | ||||||
| 			reverbParams.LowEQGain = 8; |  | ||||||
| 			reverbParams.LowEQCutoff = 4; |  | ||||||
| 			reverbParams.HighEQGain = 8; |  | ||||||
| 			reverbParams.HighEQCutoff = 6; |  | ||||||
| 			reverbParams.RoomFilterFreq = 5000f; |  | ||||||
| 			reverbParams.RoomFilterMain = -10f; |  | ||||||
| 			reverbParams.RoomFilterHF = -1f; |  | ||||||
| 			reverbParams.ReflectionsGain = -26.0200005f; |  | ||||||
| 			reverbParams.ReverbGain = 10.0f; |  | ||||||
| 			reverbParams.DecayTime = 1.49000001f; |  | ||||||
| 			reverbParams.Density = 100.0f; |  | ||||||
| 			reverbParams.RoomSize = FAudio.FAUDIOFX_REVERB_DEFAULT_ROOM_SIZE; |  | ||||||
| 
 |  | ||||||
| 			SetParams(reverbParams); |  | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		public void SetParams(in FAudio.FAudioFXReverbParameters reverbParams) | 		public void SetParams(in FAudio.FAudioFXReverbParameters reverbParams) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue