attach reverb

main
cosmonaut 2021-01-19 22:06:23 -08:00
parent 933c2a434a
commit 2c828e52b3
2 changed files with 8 additions and 3 deletions

View File

@ -16,7 +16,7 @@ namespace MoonWorks.Audio
public float DopplerScale = 1f; public float DopplerScale = 1f;
public float SpeedOfSound = 343.5f; public float SpeedOfSound = 343.5f;
private FAudio.FAudioVoiceSends reverbSends; internal FAudio.FAudioVoiceSends ReverbSends;
private readonly List<WeakReference<DynamicSoundInstance>> dynamicSoundInstances = new List<WeakReference<DynamicSoundInstance>>(); private readonly List<WeakReference<DynamicSoundInstance>> dynamicSoundInstances = new List<WeakReference<DynamicSoundInstance>>();
@ -180,14 +180,14 @@ namespace MoonWorks.Audio
/* Init reverb sends */ /* Init reverb sends */
reverbSends = new FAudio.FAudioVoiceSends ReverbSends = new FAudio.FAudioVoiceSends
{ {
SendCount = 2, SendCount = 2,
pSends = Marshal.AllocHGlobal( pSends = Marshal.AllocHGlobal(
2 * Marshal.SizeOf<FAudio.FAudioSendDescriptor>() 2 * Marshal.SizeOf<FAudio.FAudioSendDescriptor>()
) )
}; };
FAudio.FAudioSendDescriptor* sendDesc = (FAudio.FAudioSendDescriptor*) reverbSends.pSends; FAudio.FAudioSendDescriptor* sendDesc = (FAudio.FAudioSendDescriptor*) ReverbSends.pSends;
sendDesc[0].Flags = 0; sendDesc[0].Flags = 0;
sendDesc[0].pOutputVoice = MasteringVoice; sendDesc[0].pOutputVoice = MasteringVoice;
sendDesc[1].Flags = 0; sendDesc[1].Flags = 0;

View File

@ -198,6 +198,11 @@ namespace MoonWorks.Audio
Handle = handle; Handle = handle;
this.is3D = is3D; this.is3D = is3D;
InitDSPSettings(Parent.Format.nChannels); InitDSPSettings(Parent.Format.nChannels);
FAudio.FAudioVoice_SetOutputVoices(
handle,
ref Device.ReverbSends
);
} }
private void InitDSPSettings(uint srcChannels) private void InitDSPSettings(uint srcChannels)