143 lines
6.4 KiB
XML
143 lines
6.4 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
// 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.
|
|
-->
|
|
<config id="sharpdx-xapo" xmlns="urn:SharpGen.Config">
|
|
<depends>sharpdx</depends>
|
|
|
|
<namespace>SharpDX.XAPO</namespace>
|
|
<assembly>SharpDX.XAudio2</assembly>
|
|
|
|
<include file="xaudio2.h">
|
|
</include>
|
|
|
|
<!-- XAPO includes -->
|
|
<include file="xapo.h" attach="true" output="XAPO">
|
|
<!-- Define XAPO_FLAG_DEFAULT -->
|
|
<post>
|
|
#define XAPO_FLAG_DEFAULT (XAPO_FLAG_CHANNELS_MUST_MATCH|XAPO_FLAG_FRAMERATE_MUST_MATCH|XAPO_FLAG_BITSPERSAMPLE_MUST_MATCH|XAPO_FLAG_BUFFERCOUNT_MUST_MATCH|XAPO_FLAG_INPLACE_SUPPORTED)
|
|
</post>
|
|
</include>
|
|
|
|
<include file="xapofx.h" attach="true" namespace="SharpDX.XAPO.Fx" output="XAPO\Fx">
|
|
</include>
|
|
|
|
<!-- XAPO naming -->
|
|
<naming />
|
|
|
|
<!-- XAPO extensions -->
|
|
<extension>
|
|
<context>sharpdx-xapo</context>
|
|
<context>sharpdx-xapo-ext</context>
|
|
<context>xapo</context>
|
|
<context>xapofx</context>
|
|
|
|
<create-cpp enum="XAPO_PROPERTY_TYPE" macro="XAPO_FLAG_(.*)" />
|
|
|
|
<const from-guid="CLSID_FXEQ" class="SharpDX.XAPO.Fx.XAPOFx" type="System.Guid">new System.Guid("$1")</const>
|
|
<const from-guid="CLSID_FXMasteringLimiter" class="SharpDX.XAPO.Fx.XAPOFx" type="System.Guid" >new System.Guid("$1")</const>
|
|
<const from-guid="CLSID_FXReverb" class="SharpDX.XAPO.Fx.XAPOFx" type="System.Guid" >new System.Guid("$1")</const>
|
|
<const from-guid="CLSID_FXEcho" class="SharpDX.XAPO.Fx.XAPOFx" type="System.Guid" >new System.Guid("$1")</const>
|
|
|
|
<create class="SharpDX.XAPO.Fx.MasteringLimiter" visibility="public partial" />
|
|
<create class="SharpDX.XAPO.Fx.Equalizer" visibility="public partial" />
|
|
<create class="SharpDX.XAPO.Fx.Reverb" visibility="public partial" />
|
|
<create class="SharpDX.XAPO.Fx.Echo" visibility="public partial" />
|
|
|
|
<const from-macro="FXMASTERINGLIMITER_(.*)" class="SharpDX.XAPO.Fx.MasteringLimiter" type="int" name="$1" />
|
|
<const from-macro="FXEQ_(.*)" class="SharpDX.XAPO.Fx.Equalizer" type="float" name="$1" />
|
|
<const from-macro="FXREVERB_(.*)" class="SharpDX.XAPO.Fx.Reverb" type="float" name="$1" />
|
|
<const from-macro="FXECHO_(.*)" class="SharpDX.XAPO.Fx.Echo" type="float" name="$1" />
|
|
|
|
<create class="SharpDX.XAPO.Fx.XAPOFx" />
|
|
|
|
<context-clear/>
|
|
</extension>
|
|
|
|
<!-- XAPO mapping -->
|
|
<mapping>
|
|
<context>sharpdx-xapo-ext</context>
|
|
<context>xapo</context>
|
|
<context>xapofx</context>
|
|
|
|
<!--
|
|
// *****************************************************************
|
|
// XAPO Enumerations
|
|
// *****************************************************************
|
|
-->
|
|
<map enum="XAPO_(.*)" name-tmp="$1" />
|
|
<map enum="XAPO_PROPERTY_TYPE" name="PropertyFlags" flags="true" />
|
|
<map enum-item="XAPO_FLAG_(.*)" name-tmp="$1" />
|
|
|
|
<!--
|
|
// *****************************************************************
|
|
// XAPO Structures
|
|
// *****************************************************************
|
|
-->
|
|
<map struct="XAPO_(.*)" name-tmp="$1" />
|
|
<map struct="FX(.*)" name-tmp="$1" />
|
|
<map struct="FXEQ_PARAMETERS" name-tmp="EqualizerParameters" />
|
|
<map struct="XAPO_PROCESS_BUFFER_PARAMETERS" name="BufferParameters" />
|
|
<map struct="XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS" name="LockParameters" />
|
|
<map struct="XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS" native="true" struct-to-class="false" marshal="true" new="false" />
|
|
<map field="XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS::pFormat" visibility="internal" />
|
|
<map field="XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS::pFormat" name="FormatPointer" />
|
|
<map field="XAPO_PROCESS_BUFFER_PARAMETERS::pBuffer" name="Buffer" />
|
|
<map struct="FXMASTERINGLIMITER_PARAMETERS" name="MasteringLimiterParameters" />
|
|
<map field="XAPO_REGISTRATION_PROPERTIES::Flags" type="XAPO_PROPERTY_TYPE" />
|
|
|
|
<!--
|
|
// *****************************************************************
|
|
// XAPO Interfaces
|
|
// *****************************************************************
|
|
-->
|
|
<map interface="IXAPO(.*)" name="$1" />
|
|
<map interface="IXAPO" name="AudioProcessor" />
|
|
<map interface="IXAPOParameters" name="ParameterProvider" />
|
|
<map interface="IXAPO" callback-visibility="public" callback="true" callback-dual="true" />
|
|
<map interface="IXAPOParameters" callback-visibility="internal" callback="true" callback-dual="true" />
|
|
<map interface="IXAPOParameters" visibility="internal" />
|
|
<map param="IXAPO::LockForProcess::pInputLockedParameters" attribute="in buffer" />
|
|
<map param="IXAPO::LockForProcess::pOutputLockedParameters" attribute="in buffer" />
|
|
<map param="IXAPO::Process::pOutputProcessParameters" attribute="in buffer" />
|
|
|
|
<map method="IXAPO::IsInputFormatSupported" check="false" />
|
|
<map method="IXAPO::IsOutputFormatSupported" check="false" />
|
|
|
|
<!--
|
|
// *****************************************************************
|
|
// XAPO Functions
|
|
// *****************************************************************
|
|
-->
|
|
|
|
<remove function="CreateFX"/>
|
|
<!--<ifdef name="DIRECTX11_1">
|
|
<map function="CreateFX" dll='"#(XAUDIO2_DLL_A)"' group="SharpDX.XAPO.Fx.XAPOFx" />
|
|
</ifdef>
|
|
<ifndef name="DIRECTX11_1">
|
|
<map function="CreateFX" dll='"XAPOFX1_5.dll"' group="SharpDX.XAPO.Fx.XAPOFx" />
|
|
</ifndef>
|
|
|
|
<map param="CreateFX::pEffect" attribute="out fast" />-->
|
|
|
|
<context-clear />
|
|
</mapping>
|
|
</config> |