Sindre Sorhus
Sindre Sorhus
The audio preservation is complicating this a lot, when it's not directly needed for Gifski. Maybe we should just drop it? We could show an alert once, the first time...
Also try to clean up and simplify the code more.
https://github.com/sindresorhus/Gifski/pull/339#discussion_r2217805519 is not done.
That's not what the link points to. It's: > This is an unrelated independent state and should not be here.
No, that's not it. The comment is on the `case audioWarning` line. And I meant that that case is not related to the state and should be a independent boolean...
If I trim a video, and then change the speed, the saved video does not seem to respect the trim. The speed also seems to be additive, so if I...
> Fix: The speed also seems to be additive, so if I drag it to faster multiple times, it just gets faster. One way to reproduce each time is to...
* Crop API typos. `unormalziedCropFor` → `unnormalizedCropRect`, `prefferedSize` → `preferredSize`, `origninalSize` → `originalSize`. * Wrong math for crop transform. `CGRect(origin:.zero,size:preferredSize).applying(trackPreferredTransform.inverted()).size` to derive “original size” is bogus for 90° rotations (you...
Suggestions for some more tests: ```ts expectType(boolean); expectType(boolean); expectType(false); expectType(true); expectType(false); expectType(true); expectType(true); expectType(false); expectType(true); expectType(false); expectType(true); ```
@som-sm `Includes` here is exact-equality (`IsEqual`) based. No assignability, no distribution over `Item`. So I feel like this is correct: - `Includes` ⇒ false* - `Includes` ⇒ true - It...