/* * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or * its licensors. * * For complete copyright and license terms please see the LICENSE at the root of this * distribution (the "License"). All use of this software is governed by the License, * or, if provided, by the license below or the license accompanying this file. Do not * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * */ #pragma once #include #include namespace Audio::Wwise { static constexpr const char DefaultBanksPath[] = "sounds/wwise/"; static constexpr const char ExternalSourcesPath[] = "external"; static constexpr const char ConfigFile[] = "wwise_config.json"; static constexpr const char BankExtension[] = ".bnk"; static constexpr const char MediaExtension[] = ".wem"; static constexpr const char InitBank[] = "init.bnk"; //! Banks path that's set after reading the configuration settings. //! This might be different than the DefaultBanksPath. const AZStd::string_view GetBanksRootPath(); void SetBanksRootPath(const AZStd::string_view path); /** * ConfigurationSettings */ struct ConfigurationSettings { AZ_TYPE_INFO(ConfigurationSettings, "{6BEEC05E-C5AE-4270-AAAD-08E27A6B5341}"); AZ_CLASS_ALLOCATOR(ConfigurationSettings, AZ::SystemAllocator, 0); struct PlatformMapping { AZ_TYPE_INFO(PlatformMapping, "{9D444546-784B-4509-A8A5-8E174E345097}"); AZ_CLASS_ALLOCATOR(PlatformMapping, AZ::SystemAllocator, 0); PlatformMapping() = default; ~PlatformMapping() = default; // Serialized Data... AZStd::string m_assetPlatform; // LY Asset Platform name (i.e. "pc", "osx_gl", "es3", ...) AZStd::string m_altAssetPlatform; // Some platforms can be run using a different asset platform. Useful for builder worker. AZStd::string m_enginePlatform; // LY Engine Platform name (i.e. "Windows", "Mac", "Android", ...) AZStd::string m_wwisePlatform; // Wwise Platform name (i.e. "Windows", "Mac", "Android", ...) AZStd::string m_bankSubPath; // Wwise Banks Sub-Path (i.e. "windows", "mac", "android", ...) }; ConfigurationSettings() = default; ~ConfigurationSettings() = default; static void Reflect(AZ::ReflectContext* context); bool Load(const AZStd::string& filePath); bool Save(const AZStd::string& filePath); // Serialized Data... AZStd::vector m_platformMappings; }; } // namespace Audio::Wwise