Version
menu_open
link

include/AK/Plugin/AstoundSoundRTIFXFactory.h

Go to the documentation of this file.
00001 /*******************************************************************************
00002 The content of this file includes portions of the AUDIOKINETIC Wwise Technology
00003 released in source code form as part of the SDK installer package.
00004 
00005 Commercial License Usage
00006 
00007 Licensees holding valid commercial licenses to the AUDIOKINETIC Wwise Technology
00008 may use this file in accordance with the end user license agreement provided
00009 with the software or, alternatively, in accordance with the terms contained in a
00010 written agreement between you and Audiokinetic Inc.
00011 
00012 Apache License Usage
00013 
00014 Alternatively, this file may be used under the Apache License, Version 2.0 (the
00015 "Apache License"); you may not use this file except in compliance with the
00016 Apache License. You may obtain a copy of the Apache License at
00017 http://www.apache.org/licenses/LICENSE-2.0.
00018 
00019 Unless required by applicable law or agreed to in writing, software distributed
00020 under the Apache License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
00021 OR CONDITIONS OF ANY KIND, either express or implied. See the Apache License for
00022 the specific language governing permissions and limitations under the License.
00023 
00024 Version: <VERSION>  Build: <BUILDNUMBER>
00025 Copyright (c) <COPYRIGHTYEAR> Audiokinetic Inc.
00026 *******************************************************************************/
00027 
00028 //////////////////////////////////////////////////////////////////////
00029 //
00030 // © 2013 GenAudio
00031 //
00032 //////////////////////////////////////////////////////////////////////
00033 
00034 // AstoundSoundRTIFXFactory.h
00035 
00036 /// \file
00037 /// Plug-in unique ID and creation functions (hooks) necessary to register the GenAudio RTI plug-in in the sound engine.
00038 /// <br><b>Wwise effect name:</b>  AstoundSound RTI
00039 /// <br><b>Library file:</b> AstoundsoundRTIFX.lib
00040 
00041 #ifndef _ASTOUNDSOUND_RTIFXFACTORY_H_
00042 #define _ASTOUNDSOUND_RTIFXFACTORY_H_
00043 
00044 
00045 
00046 ///
00047 /// - This is the plug-in's unique ID (combined with the AKCOMPANYID_GENAUDIO company ID)
00048 /// - This ID must be the same as the plug-in ID in the plug-in's XML definition file, and is persisted in project files. 
00049 /// \akwarning
00050 /// Changing this ID will cause existing projects not to recognize the plug-in anymore.
00051 /// \endakwarning
00052 const unsigned long AKEFFECTID_GENAUDIORTI = 0;// Legacy RTI out of place effect
00053 const unsigned long AKEFFECTID_GENAUDIORTI_MIXER = 3;
00054 const unsigned long AKEFFECTID_GENAUDIORTI_MIXERATTACHABLE = 4;
00055 
00056 typedef enum 
00057 {
00058     AstoundSoundRTI_CullingType_ByVolume,
00059     AstoundSoundRTI_CullingType_ByDistance,
00060     AstoundSoundRTI_CullingType_ByWwisePriority,
00061 
00062 }AstoundSoundRTI_CullingType;
00063 
00064 typedef enum
00065 {
00066     AstoundSoundRTI_BypassType_Auto,
00067     AstoundSoundRTI_BypassType_Bypass,
00068 }AstoundSoundRTI_BypassType;
00069 
00070 namespace AK
00071 {
00072     /// Use this function to initialize the RTIMixer plugin.
00073     AK_FUNC(AKRESULT, InitAstoundsoundRTIFX(AK::IAkGlobalPluginContext* in_pReg));
00074 
00075     /// Use this function to initialize the RTIMixer plugin.
00076     AK_FUNC(AKRESULT, InitAstoundsoundRTILegacy(AK::IAkGlobalPluginContext* in_pReg));  
00077 }
00078 
00079 /// Set the number of simultaneous RTI effects that can be simultaneously spawned.
00080 /// Returns true if there's an error.
00081 AK_FUNC( bool, AstoundSoundRTI_UpdateAvailableSlots )(
00082     AkInt32 in_availableslotsrank0,                 ///< Must be greater than 0.
00083         AkInt32 in_availableslotsrank1              ///< Must be greater than 0.
00084     );
00085 
00086 /// Set the type of algorithm being used for Full3D culling.
00087 AK_FUNC( void, AstoundSoundRTI_SetFull3DCullingType )(
00088     AstoundSoundRTI_CullingType in_cullingtype      ///< Culling Type
00089     );
00090 
00091 /// Set the type of algorithm being used for Full3D culling. (legacy)
00092 AK_FUNC( void, AstoundSoundRTI_SetFull3DCullingType )(
00093     int in_cullingtype                              ///< Culling Type
00094     );
00095 
00096 /// Globally bypass or enable the AstoundSound RTI processing.
00097 AK_FUNC( void, AstoundSoundRTI_SetRTIMixerPluginsBypassType )(
00098     AstoundSoundRTI_BypassType in_bypasstype        ///< Bypass Type
00099     );
00100 
00101 /// Static creation function that returns an instance of the sound engine plug-in parameter node to be hooked by the sound engine's plug-in manager.
00102 AK_FUNC( AK::IAkPluginParam *, CreateAstoundSoundRTIMixerAttachmentParams )(
00103     AK::IAkPluginMemAlloc * in_pAllocator           ///< Memory allocator interface
00104     );
00105 
00106 /*
00107 Use the following code to register your plug-in
00108 
00109 AK::SoundEngine::RegisterPlugin( AkPluginTypeEffect, 
00110                                  AKCOMPANYID_GENAUDIO, 
00111                                  AKEFFECTID_GENAUDIORTI_MIXERATTACHABLE,
00112                                  NULL,
00113                                  CreateAstoundSoundRTIMixerAttachmentParams );
00114 */
00115 
00116 #endif // _ASTOUNDSOUND_RTIFXFACTORY_H_
00117 

Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise