バージョン

menu_open
Wwise SDK 2023.1.9
PlatformID.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 /// \file
28 /// Unique identifiers for platforms in the Wwise authoring application.
29 
30 #ifndef AK_WWISE_PLATFORMID_H
31 #define AK_WWISE_PLATFORMID_H
32 
33 #if defined( _MSC_VER )
34  #define AK_ID_DECLARE extern const _declspec( selectany )
35 #else
36  #define AK_ID_DECLARE extern const __attribute__( ( weak ) )
37 #endif
38 
40 {
41  BasePlatformID():guid( GUID_NULL ){}
42 
43  // The Create function is a functionnal replacement for the BasePlatformID() constructor taking a GUID in parameters.
44  // This is to avoid situations where someone would pass a GUID instead of a BasePlatformID in a function call while migrating, which would
45  // compile but would lead the user into serious errors.
46  static BasePlatformID Create( const GUID& in_BasePlatformID )
47  {
48  BasePlatformID ret;
49  ret.guid = in_BasePlatformID;
50  return ret;
51  }
52 
54  {
55  return BasePlatformID::Create(GUID_NULL);
56  }
57 
58  bool IsNull() const
59  {
60  return (guid == GUID_NULL) ? true : false;
61  }
62 
63  bool operator == ( const BasePlatformID& in_rOther ) const
64  {
65  return (in_rOther.guid == guid)? true : false;
66  }
67  bool operator != ( const BasePlatformID& in_rOther ) const
68  {
69  return (in_rOther.guid != guid)? true : false;
70  }
72 
74  {
75  bool operator()( const BasePlatformID& in_rLeft, const BasePlatformID& in_rRight ) const
76  {
77  return ( ::memcmp( &in_rLeft, &in_rRight, sizeof(BasePlatformID) ) < 0 );
78  }
79  };
80 };
81 
82 namespace PlatformID
83 {
84  // {6E0CB257-C6C8-4c5c-8366-2740DFC441EB}
85  AK_ID_DECLARE GUID Windows_unsafeguid = { 0x6E0CB257, 0xC6C8, 0x4c5c, { 0x83, 0x66, 0x27, 0x40, 0xDF, 0xC4, 0x41, 0xEB } };
87 
88  // {9C6217D5-DD11-4795-87C1-6CE02853C540}
89  AK_ID_DECLARE GUID Mac_unsafeguid = { 0x9c6217d5, 0xdd11, 0x4795, { 0x87, 0xc1, 0x6c, 0xe0, 0x28, 0x53, 0xc5, 0x40 } };
91 
92  // {3AF9B9B6-6EF1-47E9-B5FE-E30C9E602C77}
93  AK_ID_DECLARE GUID PS4_unsafeguid = { 0x3af9b9b6, 0x6ef1, 0x47e9, { 0xb5, 0xfe, 0xe3, 0xc, 0x9e, 0x60, 0x2c, 0x77 } };
95 
96  // {662A5E67-9D35-48DA-B6A8-B77C7F1D84E0}
97  AK_ID_DECLARE GUID PS5_unsafeguid = { 0x662a5e67, 0x9d35, 0x48da, { 0xb6, 0xa8, 0xb7, 0x7c, 0x7f, 0x1d, 0x84, 0xe0 } };
99 
100  // {ECE03DB4-F948-462d-B2BB-A9173012B1F8}
101  AK_ID_DECLARE GUID iOS_unsafeguid = { 0xece03db4, 0xf948, 0x462d, { 0xb2, 0xbb, 0xa9, 0x17, 0x30, 0x12, 0xb1, 0xf8 } };
103 
104  // {a2d401de-b8b6-4feb-8142-137c34d507CA}
105  AK_ID_DECLARE GUID Android_unsafeguid = { 0xa2d401de, 0xb8b6, 0x4feb, { 0x81, 0x42, 0x13, 0x7c, 0x34, 0xd5, 0x07, 0xCA } };
107 
108  // {B131584B-9961-4bb5-9C58-A3E9ABFFBBF6}
109  AK_ID_DECLARE GUID XboxOne_unsafeguid = { 0xb131584b, 0x9961, 0x4bb5, { 0x9c, 0x58, 0xa3, 0xe9, 0xab, 0xff, 0xbb, 0xf6 } };
111 
112  // {BD0BDF13-3125-454f-8BFD-319537169F81}
113  AK_ID_DECLARE GUID Linux_unsafeguid = { 0xbd0bdf13, 0x3125, 0x454f, { 0x8b, 0xfd, 0x31, 0x95, 0x37, 0x16, 0x9f, 0x81 } };
115 
116  // {874F26D2-416D-4698-BFB6-3427CAFCFF9C}
117  AK_ID_DECLARE GUID NintendoNX_unsafeguid = { 0x874f26d2, 0x416d, 0x4698, { 0xbf, 0xb6, 0x34, 0x27, 0xca, 0xfc, 0xff, 0x9c } };
119 
120  // {639AD233-23F2-4c0f-9127-79F44C15E1DA}
121  AK_ID_DECLARE GUID Web_unsafeguid = { 0x639ad233, 0x23f2, 0x4c0f, { 0x91, 0x27, 0x79, 0xf4, 0x4c, 0x15, 0xe1, 0xdA } };
123 
124  //{26352fc0-7716-4f97-8daf-3665ec2bb501}
125  AK_ID_DECLARE GUID XboxSeriesX_unsafeguid = { 0x26352fc0, 0x7716, 0x4f97, { 0x8d, 0xaf, 0x36, 0x65, 0xec, 0x2b, 0xb5, 0x01 } };
127 
128  //{f1895123-76d6-4d2c-8bb4-3650f8a463eb}
129  AK_ID_DECLARE GUID OpenHarmony_unsafeguid = { 0xf1895123, 0x76d6, 0x4d2c, { 0x8b, 0xb4, 0x36, 0x50, 0xf8, 0xa4, 0x63, 0xeb } };
131 
132  //{a3dce7a2-53e3-4347-9363-58d463b85adf}
133  AK_ID_DECLARE GUID Orca_unsafeguid = { 0xa3dce7a2, 0x53e3, 0x4347, { 0x93, 0x63, 0x58, 0x4d, 0x63, 0xb8, 0x5a, 0xdf } };
135 
136  /// Returns true if the given platform has Big Endian byte ordering.
137  inline bool IsPlatformBigEndian( const BasePlatformID & )
138  {
139  return false; // No currently supported platforms are Big Endian.
140  }
141 
142  //This helper is used for platforms that are most probably on a ARM CPU (Android being possible on x86).
143  //This is currently used to switch between Vorbis encoding algorithms, for optimisation purposes.
144  inline bool PlatformMaybeARM(const BasePlatformID & in_guidPlatform)
145  {
146  return in_guidPlatform == PlatformID::NintendoNX
147  || in_guidPlatform == PlatformID::Android
148  || in_guidPlatform == PlatformID::iOS;
149  }
150 }
151 
152 #endif // AK_WWISE_PLATFORMID_H
AK_ID_DECLARE BasePlatformID XboxSeriesX
Definition: PlatformID.h:126
AK_ID_DECLARE BasePlatformID Linux
Definition: PlatformID.h:114
AK_ID_DECLARE BasePlatformID PS4
Definition: PlatformID.h:94
AK_ID_DECLARE GUID iOS_unsafeguid
Definition: PlatformID.h:101
AK_ID_DECLARE GUID Mac_unsafeguid
Definition: PlatformID.h:89
static BasePlatformID Empty()
Definition: PlatformID.h:53
bool operator!=(const BasePlatformID &in_rOther) const
Definition: PlatformID.h:67
AK_ID_DECLARE BasePlatformID Mac
Definition: PlatformID.h:90
AK_ID_DECLARE BasePlatformID Orca
Definition: PlatformID.h:134
AK_ID_DECLARE GUID Android_unsafeguid
Definition: PlatformID.h:105
AK_ID_DECLARE BasePlatformID XboxOne
Definition: PlatformID.h:110
AK_ID_DECLARE GUID Web_unsafeguid
Definition: PlatformID.h:121
AK_ID_DECLARE BasePlatformID Web
Definition: PlatformID.h:122
AK_ID_DECLARE BasePlatformID PS5
Definition: PlatformID.h:98
AK_ID_DECLARE BasePlatformID NintendoNX
Definition: PlatformID.h:118
bool operator==(const BasePlatformID &in_rOther) const
Definition: PlatformID.h:63
AK_ID_DECLARE GUID NintendoNX_unsafeguid
Definition: PlatformID.h:117
AK_ID_DECLARE BasePlatformID Windows
Definition: PlatformID.h:86
AK_ID_DECLARE GUID Linux_unsafeguid
Definition: PlatformID.h:113
AK_ID_DECLARE GUID PS4_unsafeguid
Definition: PlatformID.h:93
AK_ID_DECLARE BasePlatformID Android
Definition: PlatformID.h:106
AK_ID_DECLARE GUID Orca_unsafeguid
Definition: PlatformID.h:133
AK_ID_DECLARE BasePlatformID OpenHarmony
Definition: PlatformID.h:130
static BasePlatformID Create(const GUID &in_BasePlatformID)
Definition: PlatformID.h:46
AK_ID_DECLARE GUID XboxSeriesX_unsafeguid
Definition: PlatformID.h:125
bool IsNull() const
Definition: PlatformID.h:58
AK_ID_DECLARE GUID Windows_unsafeguid
Definition: PlatformID.h:85
bool PlatformMaybeARM(const BasePlatformID &in_guidPlatform)
Definition: PlatformID.h:144
AK_ID_DECLARE BasePlatformID iOS
Definition: PlatformID.h:102
#define AK_ID_DECLARE
Definition: PlatformID.h:36
AK_ID_DECLARE GUID PS5_unsafeguid
Definition: PlatformID.h:97
AK_ID_DECLARE GUID XboxOne_unsafeguid
Definition: PlatformID.h:109
bool operator()(const BasePlatformID &in_rLeft, const BasePlatformID &in_rRight) const
Definition: PlatformID.h:75
bool IsPlatformBigEndian(const BasePlatformID &)
Returns true if the given platform has Big Endian byte ordering.
Definition: PlatformID.h:137
AK_ID_DECLARE GUID OpenHarmony_unsafeguid
Definition: PlatformID.h:129

このページはお役に立ちましたか?

サポートは必要ですか?

ご質問や問題、ご不明点はございますか?お気軽にお問い合わせください。

サポートページをご確認ください

あなたのプロジェクトについて教えてください。ご不明な点はありませんか。

プロジェクトを登録していただくことで、ご利用開始のサポートをいたします。

Wwiseからはじめよう