AkSettingsPerUser.h 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. /*******************************************************************************
  2. The content of this file includes portions of the proprietary AUDIOKINETIC Wwise
  3. Technology released in source code form as part of the game integration package.
  4. The content of this file may not be used without valid licenses to the
  5. AUDIOKINETIC Wwise Technology.
  6. Note that the use of the game engine is subject to the Unreal(R) Engine End User
  7. License Agreement at https://www.unrealengine.com/en-US/eula/unreal
  8. License Usage
  9. Licensees holding valid licenses to the AUDIOKINETIC Wwise Technology may use
  10. this file in accordance with the end user license agreement provided with the
  11. software or, alternatively, in accordance with the terms contained
  12. in a written agreement between you and Audiokinetic Inc.
  13. Copyright (c) 2023 Audiokinetic Inc.
  14. *******************************************************************************/
  15. #pragma once
  16. #include "Engine/EngineTypes.h"
  17. #include "AkWaapiClient.h"
  18. #include "AkSettingsPerUser.generated.h"
  19. DECLARE_EVENT(UAkSettingsPerUser, AutoConnectChanged);
  20. DECLARE_EVENT(UAkSettingsPerUser, AutoSyncWaapiNamesChanged);
  21. DECLARE_MULTICAST_DELEGATE(FOnSoundBanksPathChangedDelegate);
  22. UCLASS(config = EditorPerProjectUserSettings)
  23. class AKAUDIO_API UAkSettingsPerUser : public UObject
  24. {
  25. GENERATED_BODY()
  26. public:
  27. UAkSettingsPerUser(const FObjectInitializer& ObjectInitializer);
  28. // Wwise Installation Path (Root folder containing the Authoring, SDK, etc folders)
  29. UPROPERTY(Config, EditAnywhere, Category = "Installation")
  30. FDirectoryPath WwiseWindowsInstallationPath;
  31. // Wwise Installation Path (Root folder containing the Authoring, SDK, etc folders)
  32. UPROPERTY(Config, EditAnywhere, Category = "Installation", meta = (FilePathFilter = "app", AbsolutePath))
  33. FFilePath WwiseMacInstallationPath;
  34. //Override the Generated Soundbanks Path in the project settings
  35. UPROPERTY(Config, EditAnywhere, Category = "Installation")
  36. FDirectoryPath GeneratedSoundBanksFolderUserOverride;
  37. // IP Address used to connect to WAAPI. Changing this requires Editor restart
  38. UPROPERTY(Config, EditAnywhere, Category = "WAAPI")
  39. FString WaapiIPAddress = WAAPI_LOCAL_HOST_IP_STRING;
  40. // Network Port used to connect to WAAPI. Changing this requires Editor restart
  41. UPROPERTY(Config, EditAnywhere, Category = "WAAPI")
  42. uint32 WaapiPort = WAAPI_PORT;
  43. // Whether to connect to WAAPI or not
  44. UPROPERTY(Config, EditAnywhere, Category = "WAAPI")
  45. bool bAutoConnectToWAAPI = false;
  46. // Whether to synchronize the selection between the WAAPI picker and the Wwise Project Explorer
  47. UPROPERTY(Config, EditAnywhere, Category = "WAAPI")
  48. bool AutoSyncSelection = true;
  49. // Time out value for the waapi error message translator to translate an error message (in ms). If set to 0, disable the translator entirely
  50. UPROPERTY(Config, EditAnywhere, Category = "Error Message Translator")
  51. uint32 WaapiTranslatorTimeout = 0;
  52. UPROPERTY(Config)
  53. bool SuppressGeneratedSoundBanksPathWarnings = false;
  54. UPROPERTY(Config)
  55. bool SoundDataGenerationSkipLanguage = false;
  56. //Opens a notification that the user must accept before reloading Wwise Asset Data
  57. UPROPERTY(Config, EditAnywhere, Category = "Asset Reload")
  58. bool AskForWwiseAssetReload = false;
  59. #if WITH_EDITOR
  60. public:
  61. mutable AutoConnectChanged OnAutoConnectToWaapiChanged;
  62. FOnSoundBanksPathChangedDelegate OnGeneratedSoundBanksPathChanged;
  63. protected:
  64. void PostEditChangeProperty(struct FPropertyChangedEvent& PropertyChangedEvent) override;
  65. void PreEditChange(FProperty* PropertyAboutToChange) override;
  66. private:
  67. FString PreviousWwiseWindowsInstallationPath;
  68. FString PreviousWwiseMacInstallationPath;
  69. FString PreviousGeneratedSoundBanksFolder;
  70. #endif
  71. };