The JUCE cross-platform C++ framework, with DISTRHO/KXStudio specific changes
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.

34 lines
904B

  1. /*!
  2. @file AudioUnitSDK/AUOutputElement.h
  3. @copyright © 2000-2021 Apple Inc. All rights reserved.
  4. */
  5. #ifndef AudioUnitSDK_AUOutputElement_h
  6. #define AudioUnitSDK_AUOutputElement_h
  7. #include <AudioUnitSDK/AUBuffer.h>
  8. #include <AudioUnitSDK/AUScopeElement.h>
  9. namespace ausdk {
  10. /*!
  11. @class AUOutputElement
  12. @brief Implements an audio unit output element.
  13. */
  14. class AUOutputElement : public AUIOElement {
  15. public:
  16. explicit AUOutputElement(AUBase& audioUnit);
  17. AUOutputElement(AUBase& audioUnit, const AudioStreamBasicDescription& format);
  18. AUSDK_DEPRECATED("Construct with a reference")
  19. explicit AUOutputElement(AUBase* audioUnit) : AUOutputElement(*audioUnit) {}
  20. // AUElement override
  21. OSStatus SetStreamFormat(const AudioStreamBasicDescription& desc) override;
  22. [[nodiscard]] bool NeedsBufferSpace() const override { return true; }
  23. };
  24. } // namespace ausdk
  25. #endif // AudioUnitSDK_AUOutputElement_h