16 virtual void Create()
override;
17 virtual void Destroy()
override;
24 void SetPcmData(uint8_t* data, uint32_t size, uint32_t numSamples, uint32_t bitsPerSample, uint32_t numChannels, uint32_t sampleRate);
30 static bool LoadFromMemory(
const uint8_t* data,
size_t size,
const char* formatHint,
SoundWave& out);
32 void SetVolumeMultiplier(
float volume);
33 float GetVolumeMultiplier()
const;
35 void SetPitchMultiplier(
float pitch);
36 float GetPitchMultiplier()
const;
38 void SetAudioClass(int8_t audioClass);
39 int8_t GetAudioClass()
const;
41 uint8_t* GetWaveData()
const;
42 uint32_t GetWaveDataSize()
const;
51 uint32_t GetNumChannels()
const;
52 uint32_t GetBitsPerSample()
const;
53 uint32_t GetSampleRate()
const;
54 uint32_t GetNumSamples()
const;
55 uint32_t GetBlockAlign()
const;
56 uint32_t GetByteRate()
const;
58 float GetDuration()
const;
62 static bool HandlePropChange(
Datum* datum, uint32_t index,
const void* newValue);
64 uint8_t* mWaveData =
nullptr;
65 uint32_t mWaveDataSize = 0;
67 uint8_t* mCompressedData =
nullptr;
68 uint32_t mCompressedSize = 0;
71 float mVolumeMultiplier = 1.0f;
72 float mPitchMultiplier = 1.0f;
73 int8_t mAudioClass = 0;
74 bool mCompress =
false;
75 bool mCompressInternal =
false;
76 bool mStreaming =
false;
80 uint64_t mStreamPcmOffset = 0;
81 uint32_t mStreamPcmSize = 0;
84 uint32_t mNumChannels = 1;
85 uint32_t mBitsPerSample = 8;
86 uint32_t mSampleRate = 22050;
87 uint32_t mNumSamples = 0;
88 uint32_t mBlockAlign = 0;
89 uint32_t mByteRate = 0;