// Copyright (c) 2010-2014 SharpDX - Alexandre Mutel // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. //------------------------------------------------------------------------------ // // Types declaration for SharpDX.X3DAudio namespace. // This code was generated by a tool. // Date : 30/06/2015 16:02:47 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ #if WINDOWS_UWP using System; using System.Runtime.InteropServices; using System.Security; namespace SharpDX.X3DAudio { #pragma warning disable 419 #pragma warning disable 1587 #pragma warning disable 1574 /// /// Functions /// /// internal class X3DAudio29 { /// ///

Calculates DSP settings with respect to 3D parameters.

///
///

3D audio instance handle. Call to get this handle.

///

Pointer to an representing the point of reception.

///

Pointer to an representing the sound source.

///
ValueDescription
Enables matrix coefficient table calculation.?
Enables delay time array calculation (stereo only).?
Enables low pass filter (LPF) direct-path coefficient calculation.?
Enables LPF reverb-path coefficient calculation.?
Enables reverb send level calculation.?
Enables Doppler shift factor calculation.?
Enables emitter-to-listener interior angle calculation.?
Fills the center channel with silence. This flag allows you to keep a 6-channel matrix so you do not have to remap the channels, but the center channel will be silent. This flag is only valid if you also set .?
Applies an equal mix of all source channels to a low frequency effect (LFE) destination channel. It only applies to matrix calculations with a source that does not have an LFE channel and a destination that does have an LFE channel. This flag is only valid if you also set .?

?

///

Pointer to an structure that receives the calculation results.

/// ///

You typically call once for each pair of emitting objects and listeners in the scene. After each call, to apply the 3D effects, the app manually applies the calculation results at pDSPSettings to the XAUDIO2 graph. For more info, see How to: Integrate X3DAudio with XAudio2.

Important?? The listener and emitter values must be valid. Floating-point specials (NaN, QNaN, +INF, -INF) can cause the entire audio output to go silent if introduced into a running audio graph.

///
/// /// microsoft.directx_sdk.x3daudio.x3daudiocalculate /// void X3DAudioCalculate([In] const X3DAUDIOHANDLE* Instance,[In] const X3DAUDIO_LISTENER* pListener,[In] const X3DAUDIO_EMITTER* pEmitter,[In] X3DAudioCalculateFlags Flags,[In] void* pDSPSettings) /// X3DAudioCalculate public static void X3DAudioCalculate(ref SharpDX.X3DAudio.X3DAudioHandle instance, SharpDX.X3DAudio.Listener listenerRef, SharpDX.X3DAudio.Emitter emitterRef, SharpDX.X3DAudio.CalculateFlags flags, System.IntPtr dSPSettingsRef) { unsafe { var listenerRef_ = new SharpDX.X3DAudio.Listener.__Native(); listenerRef.__MarshalTo(ref listenerRef_); var emitterRef_ = new SharpDX.X3DAudio.Emitter.__Native(); emitterRef.__MarshalTo(ref emitterRef_); fixed (void* instance_ = &instance) X3DAudioCalculate_(instance_, &listenerRef_, &emitterRef_, unchecked((int)flags), (void*)dSPSettingsRef); listenerRef.__MarshalFree(ref listenerRef_); emitterRef.__MarshalFree(ref emitterRef_); } } [DllImport("xaudio2_9.dll", EntryPoint = "X3DAudioCalculate", CallingConvention = CallingConvention.Cdecl)] private unsafe static extern void X3DAudioCalculate_(void* arg0,void* arg1,void* arg2,int arg3,void* arg4); /// ///

Sets all global 3D audio constants.

///
///

Assignment of channels to speaker positions. This value must not be zero. The only permissible value on Xbox 360 is SPEAKER_XBOX.

///

Speed of sound, in user-defined world units per second. Use this value only for doppler calculations. It must be greater than or equal to FLT_MIN.

///

3D audio instance handle. Use this handle when you call .

///

This function does not return a value.

/// ///

X3DAUDIO_HANDLE is an opaque data structure. Because the operating system doesn't allocate any additional storage for the 3D audio instance handle, you don't need to free or close it.

///
/// /// microsoft.directx_sdk.x3daudio.x3daudioinitialize /// HRESULT X3DAudioInitialize([In] SPEAKER_FLAGS SpeakerChannelMask,[In] float SpeedOfSound,[Out] X3DAUDIOHANDLE* Instance) /// X3DAudioInitialize public static void X3DAudioInitialize(SharpDX.Multimedia.Speakers speakerChannelMask, float speedOfSound, out SharpDX.X3DAudio.X3DAudioHandle instance) { unsafe { instance = new SharpDX.X3DAudio.X3DAudioHandle(); SharpDX.Result __result__; fixed (void* instance_ = &instance) __result__= X3DAudioInitialize_(unchecked((int)speakerChannelMask), speedOfSound, instance_); __result__.CheckError(); } } [DllImport("xaudio2_9.dll", EntryPoint = "X3DAudioInitialize", CallingConvention = CallingConvention.Cdecl)] private unsafe static extern int X3DAudioInitialize_(int arg0,float arg1,void* arg2); } } #endif