Wwise SDK
_sink_devices_8h_source
버전
menu_open
SinkDevices.h
이 파일의 문서화 페이지로 가기
31 * Provides a list of up-to-date device IDs that can be used to instantiate a new Sound Engine sink.
47 * Allows your plug-in to provide a list of up-to-date device IDs that can be used to instantiate a new
50 * This plug-in interface cannot be linked to a backend or a frontend plug-in, it must be standalone.
68 using Instance = ak_wwise_plugin_sink_devices_instance_v1; ///< \copydoc ak_wwise_plugin_sink_devices_instance_v1
81 * Due to the unpredictable nature of hardware configuration changes, an unpadded, basic system would return
84 * As a plug-in designer, you are responsible to address this by returning adequate values that make sense as a whole.
86 * To guide you, Sink Devices interface is used for retrieval and data copy in a tight loop over a single thread
87 * at once. Host will retrieve the count, followed by the Name (GetName) and DeviceID (GetDeviceID), in the
88 * order the compiler sees fit. Data is expected to survive for the amount of time this tight loop exists.
101 * A proposal is to use GetCount to internally retrieve the device names and IDs, make a static internal
104 * You can also spawn an event listener or an update thread, and ensure the data is up to date when the calls
116 * Provided by your plug-in, this should return a const char* in UTF-8, valid at least until the next
127 const char*(*GetName)(const struct ak_wwise_plugin_sink_devices_instance_v1* in_this, int in_num);
132 * Provided by your plug-in, this should return a uint32_t that can be understood by the Sound Engine part of
133 * your sink plug-in. It must not return duplicates or pointers, and the value should be applicable to the
142 uint32_t(*GetDeviceID)(const struct ak_wwise_plugin_sink_devices_instance_v1* in_this, int in_num);
146 #define AK_WWISE_PLUGIN_SINK_DEVICES_V1_CTOR(/* ak_wwise_plugin_info* */ in_pluginInfo, /* void* */ in_data) \
148 .m_baseInterface = AK_WWISE_PLUGIN_BASE_INTERFACE_CTOR(AK_WWISE_PLUGIN_SINK_DEVICES_V1_ID(), in_pluginInfo, in_data) \
157 using CSinkDevices = ak_wwise_plugin_sink_devices_v1; ///< \copydoc ak_wwise_plugin_sink_devices_v1
162 * Allows your plug-in to provide a list of up-to-date device IDs that can be used to instantiate a new Sound
165 * This plug-in interface cannot be linked to a backend or a frontend plug-in, it must be standalone.
188 };
198 };
208 CSinkDevices::GetCount = [](const struct ak_wwise_plugin_sink_devices_instance_v1* in_this) { return static_cast<const Instance*>(in_this)->GetCount(); };
209 CSinkDevices::GetName = [](const struct ak_wwise_plugin_sink_devices_instance_v1* in_this, int in_num) { return static_cast<const Instance*>(in_this)->GetName(in_num); };
210 CSinkDevices::GetDeviceID = [](const struct ak_wwise_plugin_sink_devices_instance_v1* in_this, int in_num) { return static_cast<const Instance*>(in_this)->GetDeviceID(in_num); };
216 * \brief Get the static Interface object, as used internally in AK::Wwise::Plugin::PluginInfoGenerator.
225 * \brief Get the static Instance object, as used internally in AK::Wwise::Plugin::PluginInfoGenerator.
233 * \brief Get the static Instance object, as used internally in AK::Wwise::Plugin::PluginInfoGenerator.
252 * Due to the unpredictable nature of hardware configuration changes, an unpadded, basic system would return
255 * As a plug-in designer, you are responsible to address this by returning adequate values that make sense as a whole.
257 * To guide you, Sink Devices interface is used for retrieval and data copy in a tight loop over a single thread
258 * at once. Host will retrieve the count, followed by the Name (GetName) and DeviceID (GetDeviceID), in the
259 * order the compiler sees fit. Data is expected to survive for the amount of time this tight loop exists.
272 * A proposal is to use GetCount to internally retrieve the device names and IDs, make a static internal
275 * You can also spawn an event listener or an update thread, and ensure the data is up to date when the calls
286 * Provided by your plug-in, this should return a const char* in UTF-8, valid at least until the next
301 * Provided by your plug-in, this should return a uint32_t that can be understood by the Sound Engine part of
C++ API to provide device enumeration for sink plug-ins.
Definition: SinkDevices.h:172
ak_wwise_plugin_sink_devices_v1()
Definition: SinkDevices.h:70
int(* GetCount)(const struct ak_wwise_plugin_sink_devices_instance_v1 *in_this)
Get a count of the number of interfaces currently available.
Definition: SinkDevices.h:111
virtual int GetCount() const =0
Get a count of the number of interfaces currently available.
ak_wwise_plugin_sink_devices_v1 CSinkDevices
Device enumerator for sink plug-ins.
Definition: SinkDevices.h:157
decltype(BaseInterface::m_version) InterfaceVersion
PluginInfoGenerator: Type for the m_version value in BaseInterface
Definition: PluginInfoGenerator.h:50
@ k_interfaceVersion
The interface version, as provided by this plug-in.
Definition: SinkDevices.h:197
@ AK_WWISE_PLUGIN_INTERFACE_TYPE_SINK_DEVICES
2021.1 Sink Devices enumeration plug-in. ak_wwise_plugin_sink_devices_v1
Definition: PluginBaseInterface.h:69
const CSinkDevices::Instance * GetInstancePointer() const
Definition: SinkDevices.h:235
Wwise Authoring Plug-ins - C++ class helper to automatically determine the plug-in interfaces used in...
The C interface, fulfilled by your plug-in.
Definition: SinkDevices.h:204
uint32_t(* GetDeviceID)(const struct ak_wwise_plugin_sink_devices_instance_v1 *in_this, int in_num)
Get a device ID for the device number in_num.
Definition: SinkDevices.h:142
Base instance type for providing a device list for your custom sink through ak_wwise_plugin_sink_devi...
Definition: PluginDef.h:897
std::underlying_type< InterfaceType >::type InterfaceTypeValue
PluginInfoGenerator: Underlying storage type for the m_interface value in BaseInterface
Definition: PluginInfoGenerator.h:49
CSinkDevices::Instance * GetInstancePointer()
Definition: SinkDevices.h:227
AK_WWISE_PLUGIN_SPECIALIZE_INTERFACE_VERSION(AudioPlugin)
const char *(* GetName)(const struct ak_wwise_plugin_sink_devices_instance_v1 *in_this, int in_num)
Get a user-presentable name for the device number in_num.
Definition: SinkDevices.h:127
virtual const char * GetName(int in_num) const =0
Get a user-presentable name for the device number in_num.
Interface description and base class for every Wwise Authoring plug-in interface.
Definition: PluginBaseInterface.h:120
ak_wwise_plugin_sink_devices_instance_v1 Instance
Base instance type for providing a device list for your custom sink through ak_wwise_plugin_sink_devi...
Definition: SinkDevices.h:68
virtual uint32_t GetDeviceID(int in_num) const =0
Get a device ID for the device number in_num.
InterfacePtr GetInterfacePointer()
Definition: SinkDevices.h:218
V1::SinkDevices SinkDevices
Latest version of the C++ SinkDevices interface.
Definition: SinkDevices.h:317
AK_WWISE_PLUGIN_SPECIALIZE_INTERFACE_CLASS(AudioPlugin)
Definition: AudioPlugin.h:111
이 페이지가 도움이 되었나요?
작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.
프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.
Wwise를 시작해 보세요