5#define WWISE_DB_STANDARD_TYPES
6#include <WwiseProjectDatabase/WwiseProjectDatabase.h>
12struct WwiseCRefSoundBank;
19 WwiseProjectDBDataSource(
const std::string& rootOutputPath,
const std::string& platform)
21 Init(rootOutputPath.c_str(), platform.c_str());
23 ~WwiseProjectDBDataSource() =
default;
25 virtual void InitializeSource()
override
29 virtual void RefreshSource()
override
33 m_treeRoot->IsInBank =
true;
37 PopulateSwitchGroups();
40 PopulateStateGroups();
43 PopulateGameParameters();
49 void PopulateSoundbanks()
51 uint32_t count = (uint32_t)GetSoundBankCount();
52 void* arr = (
void*)GetAllSoundBanksRef();
53 for (uint32_t i = 0; i < count; i++)
55 const ::WwiseCRefSoundBank* ref = GetSoundBankRefIndex(arr, i);
59 item->IsInitBank = ref->bIsInitBank;
60 item->IsUserBank = ref->bIsUserBank;
61 item->IsValid = ref->bIsValid;
62 item->GUID = ref->guid->ToString().String;
63 item->ShortID = (uint32_t)ref->shortId;
64 item->Language = ref->language;
65 item->Name = ref->name;
66 item->Path = ref->path;
67 item->ObjectPath = ref->objectPath;
68 m_treeRoot->AddChildren(item);
72 DeleteSoundBanksArrayRef(arr);
75 void PopulateEvents(
const WwiseCRefSoundBank* bnkRef)
77 uint32_t count = (uint32_t)bnkRef->eventsCount;
78 void* arr = (
void*)bnkRef->events;
79 for (uint32_t i = 0; i < count; i++)
81 const ::WwiseCRefEvent* ref = GetEvent(arr, i);
85 item->GUID = ref->guid->ToString().String;
86 item->MaxAttenuation = ref->maxAttenuation;
87 item->MaxDuration = ref->maxDuration;
88 item->MinDuration = ref->minDuration;
89 item->Name = ref->name;
90 item->Path = ref->path;
91 item->ShortID = (uint32_t)ref->shortId;
92 item->SoundbankShortId = (uint32_t)bnkRef->shortId;
93 m_treeRoot->AddChildren(item);
98 void PopulateSwitchGroups()
100 uint32_t count = (uint32_t)GetSwitchGroupCount();
101 void* arr = (
void*)GetAllSwitchGroupRef();
102 for (uint32_t i = 0; i < count; i++)
104 const WwiseCRefGroup* ref = GetSwitchGroup(arr, i);
108 item->GUID = ref->groupGuid->ToString().String;
109 item->Name = ref->groupName;
110 item->Path = ref->groupPath;
111 item->ShortID = (uint32_t)ref->groupShortId;
112 m_treeRoot->AddChildren(item);
115 DeleteSwitchGroupArrayRef(arr);
118 void PopulateSwitches()
120 uint32_t count = (uint32_t)GetSwitchCount();
121 void* arr = (
void*)GetAllSwitchRef();
122 for (uint32_t i = 0; i < count; i++)
124 const WwiseCRefSwitch* ref = GetSwitch(arr, i);
128 item->GUID = ref->switchGuid->ToString().String;
129 item->Name = ref->switchName;
130 item->Path = ref->switchPath;
131 item->ShortID = (uint32_t)ref->switchShortId;
132 item->GroupShortId = (uint32_t)ref->groupShortId;
133 m_treeRoot->AddChildren(item);
136 DeleteSwitchArrayRef(arr);
139 void PopulateStateGroups()
141 uint32_t count = (uint32_t)GetStateGroupCount();
142 void* arr = (
void*)GetAllStateGroupRef();
143 for (uint32_t i = 0; i < count; i++)
145 const WwiseCRefGroup* ref = GetSwitchGroup(arr, i);
149 item->GUID = ref->groupGuid->ToString().String;
150 item->Name = ref->groupName;
151 item->Path = ref->groupPath;
152 item->ShortID = (uint32_t)ref->groupShortId;
153 m_treeRoot->AddChildren(item);
156 DeleteStateGroupArrayRef(arr);
159 void PopulateStates()
161 uint32_t count = (uint32_t)GetStateCount();
162 void* arr = (
void*)GetAllStateRef();
163 for (uint32_t i = 0; i < count; i++)
165 const WwiseCRefState* ref = GetState(arr, i);
169 item->GUID = ref->stateGuid->ToString().String;
170 item->Name = ref->stateName;
171 item->Path = ref->statePath;
172 item->ShortID = (uint32_t)ref->stateShortId;
173 item->GroupShortId = (uint32_t)ref->groupShortId;
174 m_treeRoot->AddChildren(item);
177 DeleteSwitchArrayRef(arr);
180 void PopulateGameParameters()
182 uint32_t count = (uint32_t)GetGameParameterCount();
183 void* arr = (
void*)GetAllGameParameterRef();
184 for (uint32_t i = 0; i < count; i++)
186 const WwiseCRefGameParameter* ref = GetGameParameter(arr, i);
190 item->Name = std::string(GetGameParameterName((
void*)ref));
191 item->Path = GetGameParameterPath((
void*)ref);
192 item->ShortID = (uint32_t)GetGameParameterShortId((
void*)ref);
193 item->GUID = GetGameParameterGuid((
void*)ref)->Guid.ToString();
194 m_treeRoot->AddChildren(item);
197 DeleteGameParameterArrayRef(arr);
202 void PopulateBusses()
204 uint32_t count = (uint32_t)GetBusCount();
205 void* arr = (
void*)GetAllBusRef();
206 for (uint32_t i = 0; i < count; i++)
208 const WwiseCRefBus* ref = GetBus(arr, i);
212 item->GUID = ref->busGuid->ToString().String;
213 item->Name = ref->busName;
214 item->Path = ref->busPath;
215 item->ShortID = (uint32_t)ref->busShortId;
216 m_treeRoot->AddChildren(item);
219 DeleteBusArrayRef(arr);
222 void PopulateAuxBusses()
224 uint32_t count = (uint32_t)GetAuxBusCount();
225 void* arr = (
void*)GetAllAuxBusRef();
226 for (uint32_t i = 0; i < count; i++)
228 const WwiseCRefAuxBus* ref = GetAuxBus(arr, i);
232 item->GUID = ref->auxBusGuid->ToString().String;
233 item->Name = ref->auxBusName;
234 item->Path = ref->auxBusPath;
235 item->ShortID = (uint32_t)ref->auxBusShortId;
236 m_treeRoot->AddChildren(item);
239 DeleteAuxBusArrayRef(arr);
static WwiseAuxBusPtr Create()
static WwiseBusPtr Create()
static WwiseEventPtr Create()
static WwiseGameParameterPtr Create()
static WwiseSoundbankPtr Create()
static WwiseStateGroupPtr Create()
static WwiseStatePtr Create()
static WwiseSwitchGroupPtr Create()
static WwiseSwitchPtr Create()