버전
menu_open
알림: 고객님의 주요 출시 버전( 2023.1.4.8496 )에 해당하는 최신 설명서로 이동했습니다. 특정 버전의 설명서를 보시려면 Audiokinetic 런처에서 오프라인 설명서를 다운로드하고 Wwise Authoring의 Offline Documentation을 확인하세요.
link
Wwise SDK 2023.1.4
PluginContainer.h
이 파일의 문서화 페이지로 가기
1 /*******************************************************************************
2 The content of this file includes portions of the AUDIOKINETIC Wwise Technology
3 released in source code form as part of the SDK installer package.
4 
5 Commercial License Usage
6 
7 Licensees holding valid commercial licenses to the AUDIOKINETIC Wwise Technology
8 may use this file in accordance with the end user license agreement provided
9 with the software or, alternatively, in accordance with the terms contained in a
10 written agreement between you and Audiokinetic Inc.
11 
12 Apache License Usage
13 
14 Alternatively, this file may be used under the Apache License, Version 2.0 (the
15 "Apache License"); you may not use this file except in compliance with the
16 Apache License. You may obtain a copy of the Apache License at
17 http://www.apache.org/licenses/LICENSE-2.0.
18 
19 Unless required by applicable law or agreed to in writing, software distributed
20 under the Apache License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
21 OR CONDITIONS OF ANY KIND, either express or implied. See the Apache License for
22 the specific language governing permissions and limitations under the License.
23 
24  Copyright (c) 2024 Audiokinetic Inc.
25 *******************************************************************************/
26 
27 /**
28  * \brief Wwise Authoring Plug-ins - Root interface allowing a logical unit (variable, library) to contain more than one interface.
29  * \file AK/Wwise/Plugin/PluginContainer.h
30  */
31 
32 #pragma once
33 
34 #include "PluginInfo.h"
35 
36 /**
37  * \brief Root interface allowing a logical unit (variable, library) to contain more than one interface.
38  *
39  * The container is a required element to define the base of a logical unit. It contains basic information on the
40  * build being used by the enclosed plug-ins. This allows the host to quickly determine if it should pursue
41  * loading this container or not, and might need to apply patches to fix interface variations appearing
42  * between SDK versions.
43  *
44  * The container being versioned means this format could eventually change, but the goal was to make it generic
45  * enough to keep it stable. It's easier to add up plug-ins to extend the format than to modify it.
46  */
48 #ifdef __cplusplus
50 #endif
51 {
52 #ifndef __cplusplus
53  struct ak_wwise_plugin_base_interface m_baseInterface;
54 #endif
55 
56  uint64_t m_wwiseSdkVersion; ///< Wwise Authoring version included with this SDK.
57 
58  struct ak_wwise_plugin_info* m_pluginInfos; ///< A chained list of all the plug-ins embedded in this container
59 
60 #ifdef __cplusplus
61  // Must not go higher than 18 44674 407 370 9551615 (ULLONG_MAX)
62  // aaaaa iii sss bbbbbbb
63 
64  constexpr inline static uint64_t SdkVersionBuildMultiplier() { return 1; }
65  constexpr inline static uint64_t SdkVersionBuildMax() { return 9999999; }
66  constexpr inline static uint64_t SdkVersionSubminorMultiplier() { return SdkVersionBuildMultiplier() * (SdkVersionBuildMax() + 1); }
67  constexpr inline static uint64_t SdkVersionSubminorMax() { return 999; }
68  constexpr inline static uint64_t SdkVersionMinorMultiplier() { return SdkVersionSubminorMultiplier() * (SdkVersionSubminorMax() + 1); }
69  constexpr inline static uint64_t SdkVersionMinorMax() { return 999; }
70  constexpr inline static uint64_t SdkVersionMajorMultiplier() { return SdkVersionMinorMultiplier() * (SdkVersionMinorMax() + 1); }
71  constexpr inline static uint64_t SdkVersionMajorMax() { return 99999; }
72 
73  /// \brief (C++) Major SDK version (ex. 2020)
74  constexpr inline uint32_t MajorSdkVersion() const { return (uint32_t)(m_wwiseSdkVersion / SdkVersionMajorMultiplier()); }
75  /// \brief (C++) Minor SDK version (ex. 1)
76  constexpr inline uint32_t MinorSdkVersion() const { return (uint32_t)((m_wwiseSdkVersion % (SdkVersionMinorMultiplier() * (SdkVersionMinorMax() + 1))) / SdkVersionMinorMultiplier()); }
77  /// \brief (C++) Patch / Subminor SDK version (ex. 0)
78  constexpr inline uint32_t SubminorSdkVersion() const { return (uint32_t)((m_wwiseSdkVersion % (SdkVersionSubminorMultiplier() * (SdkVersionSubminorMax() + 1))) / SdkVersionSubminorMultiplier()); }
79  /// \brief (C++) Build number (ex. 9404)
80  constexpr inline uint32_t BuildSdkVersion() const { return (uint32_t)((m_wwiseSdkVersion % (SdkVersionBuildMultiplier() * (SdkVersionBuildMax() + 1)))); }
81 
85  m_pluginInfos(nullptr)
86  {}
90  m_pluginInfos(in_pluginInfos)
91  {}
92 #endif
93 };
94 #define AK_WWISE_PLUGIN_CONTAINER_CTOR_IDS() \
95  .m_baseInterface = AK_WWISE_PLUGIN_BASE_INTERFACE_FROM_ID(AK_WWISE_PLUGIN_INTERFACE_TYPE_PLUGIN_CONTAINER, 1), \
96  .m_wwiseSdkVersion = (uint64_t)AK_WWISESDK_VERSION_MAJOR * 1000000000 + (uint64_t)AK_WWISESDK_VERSION_MINOR * 10000000 + (uint64_t)AK_WWISESDK_VERSION_SUBMINOR * 100000 + (uint64_t)AK_WWISESDK_VERSION_BUILD
constexpr static uint64_t SdkVersionMajorMax()
@ AK_WWISE_PLUGIN_INTERFACE_TYPE_PLUGIN_CONTAINER
2021.1 Plug-in container plug-in. Contains all the other plug-ins. ak_wwise_plugin_container
constexpr static uint64_t SdkVersionMajorMultiplier()
constexpr uint32_t SubminorSdkVersion() const
(C++) Patch / Subminor SDK version (ex. 0)
ak_wwise_plugin_container(ak_wwise_plugin_info *in_pluginInfos)
struct ak_wwise_plugin_info * m_pluginInfos
A chained list of all the plug-ins embedded in this container
Root interface allowing a logical unit (variable, library) to contain more than one interface.
constexpr static uint64_t SdkVersionMinorMultiplier()
#define AK_WWISESDK_VERSION_SUBMINOR
Wwise SDK sub-minor version
constexpr static uint64_t SdkVersionSubminorMultiplier()
constexpr static uint64_t SdkVersionBuildMax()
#define AK_WWISESDK_VERSION_MINOR
Wwise SDK minor version
#define AK_WWISESDK_VERSION_MAJOR
Wwise SDK major version
constexpr uint32_t MajorSdkVersion() const
(C++) Major SDK version (ex. 2020)
uint64_t m_wwiseSdkVersion
Wwise Authoring version included with this SDK.
constexpr uint32_t MinorSdkVersion() const
(C++) Minor SDK version (ex. 1)
Interface description and base class for every Wwise Authoring plug-in interface.
#define AK_WWISESDK_VERSION_BUILD
Wwise SDK build number
constexpr static uint64_t SdkVersionBuildMultiplier()
constexpr static uint64_t SdkVersionMinorMax()
constexpr static uint64_t SdkVersionSubminorMax()
constexpr uint32_t BuildSdkVersion() const
(C++) Build number (ex. 9404)

이 페이지가 도움이 되었나요?

지원이 필요하신가요?

질문이 있으신가요? 문제를 겪고 계신가요? 더 많은 정보가 필요하신가요? 저희에게 문의해주시면 도와드리겠습니다!

지원 페이지를 방문해 주세요

작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.

프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.

Wwise를 시작해 보세요