public override bool Equals(object obj) { if (obj is ReverbChannelProperties) { ReverbChannelProperties otherReverb = (ReverbChannelProperties)obj; return ( Direct == otherReverb.Direct && /* [in/out] -10000, 1000, 0, direct path level (at low and mid frequencies) (win32/xbox) */ DirectHF == otherReverb.DirectHF && /* [in/out] -10000, 0, 0, relative direct path level at high frequencies (win32/xbox) */ Room == otherReverb.Room && /* [in/out] -10000, 1000, 0, room effect level (at low and mid frequencies) (win32/xbox) */ RoomHF == otherReverb.RoomHF && /* [in/out] -10000, 0, 0, relative room effect level at high frequencies (win32/xbox) */ Obstruction == otherReverb.Obstruction && /* [in/out] -10000, 0, 0, main obstruction control (attenuation at high frequencies) (win32/xbox) */ ObstructionLFRatio == otherReverb.ObstructionLFRatio && /* [in/out] 0.0, 1.0, 0.0, obstruction low-frequency level re. main control (win32/xbox) */ Occlusion == otherReverb.Occlusion && /* [in/out] -10000, 0, 0, main occlusion control (attenuation at high frequencies) (win32/xbox) */ OcclusionLFRatio == otherReverb.OcclusionLFRatio && /* [in/out] 0.0, 1.0, 0.25, occlusion low-frequency level re. main control (win32/xbox) */ OcclusionRoomRatio == otherReverb.OcclusionRoomRatio && /* [in/out] 0.0, 10.0, 1.5, relative occlusion control for room effect (win32) */ OcclusionDirectRatio == otherReverb.OcclusionDirectRatio && /* [in/out] 0.0, 10.0, 1.0, relative occlusion control for direct path (win32) */ Exclusion == otherReverb.Exclusion && /* [in/out] -10000, 0, 0, main exlusion control (attenuation at high frequencies) (win32) */ ExclusionLFRatio == otherReverb.ExclusionLFRatio && /* [in/out] 0.0, 1.0, 1.0, exclusion low-frequency level re. main control (win32) */ OutsideVolumeHF == otherReverb.OutsideVolumeHF && /* [in/out] -10000, 0, 0, outside sound cone level at high frequencies (win32) */ DopplerFactor == otherReverb.DopplerFactor && /* [in/out] 0.0, 10.0, 0.0, like DS3D flDopplerFactor but per source (win32) */ RollOffFactor == otherReverb.RollOffFactor && /* [in/out] 0.0, 10.0, 0.0, like DS3D flRolloffFactor but per source (win32) */ RoomRollOffFactor == otherReverb.RoomRollOffFactor && /* [in/out] 0.0, 10.0, 0.0, like DS3D flRolloffFactor but for room effect (win32/xbox) */ AirAbsorptionFactor == otherReverb.AirAbsorptionFactor && /* [in/out] 0.0, 10.0, 1.0, multiplies AirAbsorptionHF member of ReverbProperties (win32) */ Flags == otherReverb.Flags ); } else { return(false); } }
internal static extern Result FMOD_ChannelGroup_OverrideReverbProperties(IntPtr channelGroupHandle, ref ReverbChannelProperties properties);
internal static extern Result FMOD_Channel_GetReverbProperties(IntPtr channelHandle, ref ReverbChannelProperties properties);