LibAudio: Make AudioLoaders return float instead of double

AudioBuffers already use floats internally so there is no need for
loaders to produces doubles
This commit is contained in:
2026-07-02 19:55:12 +03:00
parent 4473ee4d49
commit 0a8b03d349
3 changed files with 6 additions and 6 deletions

View File

@@ -105,17 +105,17 @@ namespace LibAudio
} }
template<typename T> template<typename T>
static double read_sample(BAN::ConstByteSpan data) static float read_sample(BAN::ConstByteSpan data)
{ {
if constexpr(BAN::is_same_v<float, T> || BAN::is_same_v<double, T>) if constexpr(BAN::is_same_v<float, T> || BAN::is_same_v<double, T>)
return data.as<const T>(); return data.as<const T>();
else if constexpr(BAN::is_signed_v<T>) else if constexpr(BAN::is_signed_v<T>)
return data.as<const T>() / static_cast<double>(BAN::numeric_limits<T>::max()); return data.as<const T>() / static_cast<float>(BAN::numeric_limits<T>::max());
else else
return data.as<const T>() / (BAN::numeric_limits<T>::max() / 2.0) - 1.0; return data.as<const T>() / (BAN::numeric_limits<T>::max() / 2.0f) - 1.0f;
} }
double WAVAudioLoader::get_sample() float WAVAudioLoader::get_sample()
{ {
ASSERT(samples_remaining() > 0); ASSERT(samples_remaining() > 0);

View File

@@ -19,7 +19,7 @@ namespace LibAudio
virtual uint32_t sample_rate() const = 0; virtual uint32_t sample_rate() const = 0;
virtual uint32_t samples_remaining() const = 0; virtual uint32_t samples_remaining() const = 0;
virtual double get_sample() = 0; virtual float get_sample() = 0;
protected: protected:
AudioLoader() = default; AudioLoader() = default;

View File

@@ -24,7 +24,7 @@ namespace LibAudio
uint32_t sample_rate() const override { return m_sample_rate; } uint32_t sample_rate() const override { return m_sample_rate; }
uint32_t samples_remaining() const override { return m_total_samples - m_current_sample; } uint32_t samples_remaining() const override { return m_total_samples - m_current_sample; }
double get_sample() override; float get_sample() override;
private: private:
uint32_t m_channels { 0 }; uint32_t m_channels { 0 };