BsAudioClipImportOptions.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsCorePrerequisites.h"
  5. #include "BsImportOptions.h"
  6. #include "BsAudioClip.h"
  7. namespace BansheeEngine
  8. {
  9. /** @addtogroup Importer
  10. * @{
  11. */
  12. /** Contains import options you may use to control how an audio clip is imported. */
  13. class BS_CORE_EXPORT AudioClipImportOptions : public ImportOptions
  14. {
  15. public:
  16. AudioFormat getFormat() const { return mFormat; }
  17. void setFormat(AudioFormat format) { mFormat = format; }
  18. AudioReadMode getReadMode() const { return mReadMode; }
  19. void setReadMode(AudioReadMode readMode) { mReadMode = readMode; }
  20. bool getIs3D() const { return mIs3D; }
  21. void setIs3D(bool is3d) { mIs3D = is3d; }
  22. UINT32 getBitDepth() const { return mBitDepth; }
  23. void setBitDepth(UINT32 bitDepth) { mBitDepth = bitDepth; }
  24. // Note: Add options to resample to a different frequency, reduce/increase bit depth
  25. private:
  26. AudioFormat mFormat = AudioFormat::PCM;
  27. AudioReadMode mReadMode = AudioReadMode::LoadDecompressed;
  28. bool mIs3D = true;
  29. UINT32 mBitDepth = 16;
  30. /************************************************************************/
  31. /* SERIALIZATION */
  32. /************************************************************************/
  33. public:
  34. friend class AudioClipImportOptionsRTTI;
  35. static RTTITypeBase* getRTTIStatic();
  36. RTTITypeBase* getRTTI() const override;
  37. };
  38. /** @} */
  39. }