Audio plugin host https://kx.studio/carla
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
2.4KB

  1. //------------------------------------------------------------------------
  2. // Project : VST SDK
  3. // Version : 3.6.7
  4. //
  5. // Category : Interfaces
  6. // Filename : pluginterfaces/vst/ivstautomationstate.h
  7. // Created by : Steinberg, 02/2015
  8. // Description : VST Automation State Interface
  9. //
  10. //-----------------------------------------------------------------------------
  11. // This file is part of a Steinberg SDK. It is subject to the license terms
  12. // in the LICENSE file found in the top-level directory of this distribution
  13. // and at www.steinberg.net/sdklicenses.
  14. // No part of the SDK, including this file, may be copied, modified, propagated,
  15. // or distributed except according to the terms contained in the LICENSE file.
  16. //-----------------------------------------------------------------------------
  17. #pragma once
  18. #include "pluginterfaces/vst/vsttypes.h"
  19. //------------------------------------------------------------------------
  20. #include "pluginterfaces/base/falignpush.h"
  21. //------------------------------------------------------------------------
  22. //------------------------------------------------------------------------
  23. namespace Steinberg {
  24. namespace Vst {
  25. //------------------------------------------------------------------------
  26. /** Extended IComponent interface for a component.
  27. \ingroup vstIPlug vst365
  28. - [plug imp]
  29. - [extends IComponent]
  30. - [released: 3.6.5]
  31. - [optional]
  32. Hosts could inform the Plug-in about its current automation state (Read/Write/Nothing).
  33. */
  34. //------------------------------------------------------------------------
  35. class IAutomationState : public FUnknown
  36. {
  37. public:
  38. //------------------------------------------------------------------------
  39. enum AutomationStates
  40. {
  41. kNoAutomation = 0, ///< Not Read and not Write
  42. kReadState = 1 << 0, ///< Read state
  43. kWriteState = 1 << 1, ///< Write state
  44. kReadWriteState = kReadState | kWriteState, ///< Read and Write enable
  45. };
  46. /** Sets the current Automation state. */
  47. virtual tresult PLUGIN_API setAutomationState (int32 state) = 0;
  48. //------------------------------------------------------------------------
  49. static const FUID iid;
  50. };
  51. DECLARE_CLASS_IID (IAutomationState, 0xB4E8287F, 0x1BB346AA, 0x83A46667, 0x68937BAB)
  52. } // namespace Vst
  53. } // namespace Steinberg
  54. //------------------------------------------------------------------------
  55. #include "pluginterfaces/base/falignpop.h"
  56. //------------------------------------------------------------------------