Hello all,
I just came across the breaking change in Version 5.4.6 that getRawParameterValue now returns a std::atomic* instead of a float*.
With good hopes I tried to adopt that change in my plugin. But after several hours I found that this bascially changes larger parts of my code, probably with unexpected side-effects all over the place. Am I the only one with this trouble caused by that change?
Best regards, Tobias
Version 5.4.6
Change
AudioProcessorValueTreeState::getRawParameterValue now returns a
std::atomic* instead of a float*.
Possible Issues
Existing code which explicitly mentions the type of the returned value, or
interacts with the dereferenced float in ways unsupported by the std::atomic
wrapper, will fail to compile. Certain evaluation-reordering compiler
optimisations may no longer be possible.
Workaround
Update your code to deal with a std::atomic* instead of a float*.
Rationale
Returning a std::atomic* allows the JUCE framework to have much stronger
guarantees about thread safety.