AudioControlsEditorPlugin.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #pragma once
  9. #include <AzCore/std/containers/set.h>
  10. #include <AzCore/std/string/string_view.h>
  11. #include <ATLControlsModel.h>
  12. #include <AudioResourceSelectors.h>
  13. #include <IAudioInterfacesCommonData.h>
  14. #include <IAudioSystemEditor.h>
  15. #include <QATLControlsTreeModel.h>
  16. #include <IEditor.h>
  17. #include <Include/IPlugin.h>
  18. #include <QStandardItem>
  19. class CImplementationManager;
  20. //-------------------------------------------------------------------------------------------//
  21. class CAudioControlsEditorPlugin
  22. : public IPlugin
  23. {
  24. public:
  25. explicit CAudioControlsEditorPlugin(IEditor* editor);
  26. ~CAudioControlsEditorPlugin() override;
  27. void Release() override;
  28. void ShowAbout() override {}
  29. const char* GetPluginGUID() override { return "{DDD96BF3-892E-4A75-ABF7-BBAE446972DA}"; }
  30. DWORD GetPluginVersion() override { return 2; }
  31. const char* GetPluginName() override { return "AudioControlsEditor"; }
  32. bool CanExitNow() override { return true; }
  33. void OnEditorNotify([[maybe_unused]] EEditorNotifyEvent aEventId) override {}
  34. static void SaveModels();
  35. static void ReloadModels();
  36. static void ReloadScopes();
  37. static AudioControls::CATLControlsModel* GetATLModel();
  38. static AudioControls::QATLTreeModel* GetControlsTree();
  39. static CImplementationManager* GetImplementationManager();
  40. static AudioControls::IAudioSystemEditor* GetAudioSystemEditorImpl();
  41. static void ExecuteTrigger(const AZStd::string_view sTriggerName);
  42. static void StopTriggerExecution();
  43. private:
  44. static AudioControls::CATLControlsModel ms_ATLModel;
  45. static AudioControls::QATLTreeModel ms_layoutModel;
  46. static AudioControls::FilepathSet ms_currentFilenames;
  47. static CImplementationManager ms_implementationManager;
  48. static Audio::TAudioControlID ms_audioTriggerId;
  49. AudioControls::AudioControlSelectorHandler m_controlSelector;
  50. };