1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Global: Avoid floating-point equality checks where possible

This commit is contained in:
reuk 2023-03-23 12:02:38 +00:00
parent 081b1ff216
commit 28414a6af8
No known key found for this signature in database
GPG key ID: FCB43929F012EE5C
150 changed files with 762 additions and 672 deletions

View file

@ -109,7 +109,7 @@ struct VideoComponent::Pimpl : public Base
}
bool isOpen() const noexcept { return playerController.getPlayer() != nil; }
bool isPlaying() const noexcept { return getSpeed() != 0; }
bool isPlaying() const noexcept { return ! approximatelyEqual (getSpeed(), 0.0); }
void play() noexcept { [playerController.getPlayer() play]; setSpeed (playSpeedMult); }
void stop() noexcept { [playerController.getPlayer() pause]; }
@ -236,9 +236,9 @@ private:
auto oldRate = [[change objectForKey: NSKeyValueChangeOldKey] floatValue];
auto newRate = [[change objectForKey: NSKeyValueChangeNewKey] floatValue];
if (oldRate == 0 && newRate != 0)
if (approximatelyEqual (oldRate, 0.0f) && ! approximatelyEqual (newRate, 0.0f))
owner.playbackStarted();
else if (oldRate != 0 && newRate == 0)
else if (! approximatelyEqual (oldRate, 0.0f) && approximatelyEqual (newRate, 0.0f))
owner.playbackStopped();
}
else if ([keyPath isEqualToString: nsStringLiteral ("status")])
@ -299,7 +299,9 @@ private:
void loadAsync (URL url)
{
auto nsUrl = [NSURL URLWithString: juceStringToNS (url.toString (true))];
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wnullable-to-nonnull-conversion")
asset.reset ([[AVURLAsset alloc] initWithURL: nsUrl options: nil]);
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
[asset.get() loadValuesAsynchronouslyForKeys: assetKeys.get()
completionHandler: ^() { checkAllKeysReadyFor (asset.get(), url); }];