Skip to content

MixPill 3.2.2

Choose a tag to compare

@kuntayerkus kuntayerkus released this 15 Aug 18:59

Two fixes, both found by measurement rather than by reading.

Apps that were playing showed up as quiet. macOS accepts a listener on an audio process's IsRunningOutput property and then never posts it, so MixPill only ever re-read play state when an app launched or quit. A browser creates its audio process objects when a page loads — before any sound — so Chrome was read as silent once and filed under Quiet Apps for the rest of the session. MixPill now listens to the property macOS does post, and also counts the tap's own pre-fader level, so an app that starts playing appears immediately and one that stops drops out ten seconds later instead of leaving its row the instant a track ends.

The menu bar app used 18-23% of a CPU core with the popover closed. A MenuBarExtra in window style keeps its content alive after it is dismissed, and the level meters kept animating the whole mixer at the display's refresh rate at a screen nobody was looking at. Meters now stop when they are not visible and run at the rate the audio engine actually sends. Measured on the same machine: 18.4% to 0.0%.

What's Changed

  • Resample between the two audio clocks instead of splicing by @kuntayerkus in #3
  • Draw a new mark, and drop the gradient it used to sit on by @kuntayerkus in #4

Full Changelog: v3.2.0...v3.2.2