audioDescriptions.cc 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #ifndef _AUDIODESCRIPTION_H_
  2. #include "audio/audioDescriptions.h"
  3. #endif
  4. #include "audio/audio.h"
  5. #include "console/consoleTypes.h"
  6. #include "platform/platformAL.h"
  7. IMPLEMENT_CO_DATABLOCK_V1(AudioDescription);
  8. AudioDescription::AudioDescription()
  9. {
  10. mVolume = 1.f; // 0-1 1=loudest volume
  11. mVolumeChannel = 1;
  12. mIsLooping = false;
  13. mIsStreaming = false;
  14. mIs3D = true; //The default class is used with SceneObject.Playsound
  15. mReferenceDistance = 25.f;
  16. mRollOffFactor = 5.0f;
  17. mMaxDistance = 50.f;
  18. mConeInsideAngle = 360;
  19. mConeOutsideAngle = 360;
  20. mConeOutsideVolume = 1.0f;
  21. mConeVector = { 0.f, 0.f, 1.f };
  22. // environment info
  23. mEnvironmentLevel = 0.f;
  24. }
  25. void AudioDescription::initPersistFields()
  26. {
  27. Parent::initPersistFields();
  28. addField("Volume", TypeF32, Offset(mVolume, AudioDescription));
  29. addField("VolumeChannel", TypeS32, Offset(mVolumeChannel, AudioDescription));
  30. addField("isLooping", TypeBool, Offset(mIsLooping, AudioDescription));
  31. addField("isStreaming", TypeBool, Offset(mIsStreaming, AudioDescription));
  32. addField("is3D", TypeBool, Offset(mIs3D, AudioDescription));
  33. addField("ReferenceDistance", TypeF32, Offset(mReferenceDistance, AudioDescription));
  34. addField("RolloffFactor", TypeF32, Offset(mRollOffFactor, AudioDescription));
  35. addField("MaxDistance", TypeF32, Offset(mMaxDistance, AudioDescription));
  36. addField("ConeInsideAngle", TypeS32, Offset(mConeInsideAngle, AudioDescription));
  37. addField("ConeOutsideAngle", TypeS32, Offset(mConeOutsideAngle, AudioDescription));
  38. addField("ConeOutsideVolume", TypeF32, Offset(mConeOutsideVolume, AudioDescription));
  39. addField("ConeVector", TypeF32Vector, Offset(mConeVector, AudioDescription));
  40. addField("EnvironmentLevel", TypeF32, Offset(mEnvironmentLevel, AudioDescription));
  41. }
  42. //--------------------------------------------------------------------------
  43. IMPLEMENT_CONSOLETYPE(AudioDescription)
  44. IMPLEMENT_GETDATATYPE(AudioDescription)
  45. IMPLEMENT_SETDATATYPE(AudioDescription)