From 050df381b014ba0977d40126b667dffde6a3bd00 Mon Sep 17 00:00:00 2001 From: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> Date: Sun, 2 Mar 2025 03:18:37 +0530 Subject: [PATCH] Fix Clang warning due to implicit conversion from int to float for the RAND_MAX macro (#7717) * fix compiler warning due to implicit conversion * fix warnings from plugins too --- include/Oscillator.h | 2 +- plugins/Organic/Organic.cpp | 4 ++-- plugins/Vibed/VibratingString.cpp | 4 ++-- plugins/Vibed/VibratingString.h | 8 ++++---- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/include/Oscillator.h b/include/Oscillator.h index 648fe3bb8..13d8264be 100644 --- a/include/Oscillator.h +++ b/include/Oscillator.h @@ -163,7 +163,7 @@ public: static inline sample_t noiseSample( const float ) { - return 1.0f - rand() * 2.0f / RAND_MAX; + return 1.0f - rand() * 2.0f / static_cast(RAND_MAX); } static sample_t userWaveSample(const SampleBuffer* buffer, const float sample) diff --git a/plugins/Organic/Organic.cpp b/plugins/Organic/Organic.cpp index 558a7d542..b9e7716ef 100644 --- a/plugins/Organic/Organic.cpp +++ b/plugins/Organic/Organic.cpp @@ -236,9 +236,9 @@ void OrganicInstrument::playNote( NotePlayHandle * _n, for( int i = m_numOscillators - 1; i >= 0; --i ) { static_cast( _n->m_pluginData )->phaseOffsetLeft[i] - = rand() / ( RAND_MAX + 1.0f ); + = rand() / (static_cast(RAND_MAX) + 1.0f); static_cast( _n->m_pluginData )->phaseOffsetRight[i] - = rand() / ( RAND_MAX + 1.0f ); + = rand() / (static_cast(RAND_MAX) + 1.0f); // initialise ocillators diff --git a/plugins/Vibed/VibratingString.cpp b/plugins/Vibed/VibratingString.cpp index e4bb760e2..5a09a4549 100644 --- a/plugins/Vibed/VibratingString.cpp +++ b/plugins/Vibed/VibratingString.cpp @@ -40,7 +40,7 @@ VibratingString::VibratingString(float pitch, float pick, float pickup, const fl m_oversample{2 * oversample / static_cast(sampleRate / Engine::audioEngine()->baseSampleRate())}, m_randomize{randomize}, m_stringLoss{1.0f - stringLoss}, - m_choice{static_cast(m_oversample * static_cast(std::rand()) / RAND_MAX)}, + m_choice{static_cast(m_oversample * static_cast(std::rand()) / static_cast(RAND_MAX))}, m_state{0.1f}, m_outsamp{std::make_unique(m_oversample)} { @@ -78,7 +78,7 @@ std::unique_ptr VibratingString::initDelayLine(int l dl->data = std::make_unique(len); for (int i = 0; i < dl->length; ++i) { - float r = static_cast(std::rand()) / RAND_MAX; + float r = static_cast(std::rand()) / static_cast(RAND_MAX); float offset = (m_randomize / 2.0f - m_randomize) * r; dl->data[i] = offset; } diff --git a/plugins/Vibed/VibratingString.h b/plugins/Vibed/VibratingString.h index 0ad5a6e6e..d1691415b 100644 --- a/plugins/Vibed/VibratingString.h +++ b/plugins/Vibed/VibratingString.h @@ -107,13 +107,13 @@ private: { for (int i = 0; i < pick; ++i) { - float r = static_cast(std::rand()) / RAND_MAX; + float r = static_cast(std::rand()) / static_cast(RAND_MAX); float offset = (m_randomize / 2.0f - m_randomize) * r; dl->data[i] = scale * values[dl->length - i - 1] + offset; } for (int i = pick; i < dl->length; ++i) { - float r = static_cast(std::rand()) / RAND_MAX; + float r = static_cast(std::rand()) / static_cast(RAND_MAX); float offset = (m_randomize / 2.0f - m_randomize) * r; dl->data[i] = scale * values[i - pick] + offset; } @@ -124,7 +124,7 @@ private: { for (int i = pick; i < dl->length; ++i) { - float r = static_cast(std::rand()) / RAND_MAX; + float r = static_cast(std::rand()) / static_cast(RAND_MAX); float offset = (m_randomize / 2.0f - m_randomize) * r; dl->data[i] = scale * values[i - pick] + offset; } @@ -133,7 +133,7 @@ private: { for (int i = 0; i < len; ++i) { - float r = static_cast(std::rand()) / RAND_MAX; + float r = static_cast(std::rand()) / static_cast(RAND_MAX); float offset = (m_randomize / 2.0f - m_randomize) * r; dl->data[i+pick] = scale * values[i] + offset; }