Repository navigation
What Changed?
Lots and lots of bug fixes and internal improvements.
Changelog
fad3d89 chore: update deps, bump version
ca8b8d0 docs: fix typos
faea294 refactor: cleanups, fixes
9d7cd0a fix(stereometer): read zero correlation over digital silence
8315946 refactor(waveform): inline unnecessary things, cleanup
53b980c fix(waveform): prevent single pixel snaps when paused
095e153 refactor(oscilloscope): inline unnecessary helpers
cdbe779 fix(oscilloscope): compare fractional zero crossings for the capture span
0cfee6c fix(oscilloscope): also refine the best interior peak of the coarse search
bd65b96 fix(oscilloscope): learn template at its fractional offset
ca69eb2 fix(oscilloscope): wait for a full search span before locking
493dda6 fix(oscilloscope): compare interpolated NSDF peaks when picking the period
4454840 refactor(spectrogram): inline unnecessary helpers
e34cedc fix(spectrogram): zoom and pan fixes
29ab6bf fix(spectrogram): clamp the accumulation texture to the device limit
aaba007 fix(visuals): prune cached geometry in the pipeline's trim
f2cfb34 fix(spectrogram): free the GPU history once the visual's history is gone
4b90c50 fix(visuals): drop a visual's audio when it is disabled
2dd23a6 fix(spectrogram): retain pending GPU uploads until a frame prepares them
90b2d47 fix(spectrogram): reworkings, DC fixes
e93934a refactor(spectrum): inline single-use helpers
9cd94e4 fix(spectrum): draw the secondary trace's bar marks from each bar's maximum
e214b2e fix(spectrum): locate the peak label through the window's response
004c56b fix(spectrum): treat a zero FFT size as unset
65ec6f6 fix(spectrum): keep averaging state in f64 so slow averages settle
6504a40 fix(spectrum): analyze only the newest window when not averaging
35bde7e fix(spectrum,spectrogram): estimate DC over a longer history
aff6601 refactor(util): compute FFT windows on demand instead of caching them
64c2047 refactor(loudness): inline per-block state setup and simplify peak math
46cca29 fix(loudness): hold and decay peak markers in audio time
3f2c7bc fix(loudness): keep the 48 kHz K-weighting response at other sample rates
918a39b refactor(util): move the Kaiser window into the shared window module
32c39c5 refactor(dsp): drop a redundant clamp and tighten channel tests
6e5cd66 fix(waveform): average band colors over at least one column
568edf4 refactor(dsp): start running means full of silence
b711440 refactor(meter): inline batch sizing and simplify pause handling
2e2cfcc refactor(persistence): tidy loading and share the test settings loader
41d7fc1 fix(ui): keep a theme's name and author when saving over it
158b778 fix(theme): recreate a custom theme that is missing on update
426aa22 fix(theme): load themes field by field to prevent invalidating entire thing
b676361 fix(theme): read background and palettes only from the active theme
2b0ad74 fix(persistence): debounce settings saves per file
073e31b fix(persistence): ignore an empty or relative XDG_CONFIG_HOME
7bfa944 fix(persistence): sync settings to disk before replacing them
e376e4e fix(persistence): write settings through symlinks
45986cf refactor(pipewire): drop redundant stream flags, status writes, fallbacks
5ea54b8 fix(pipewire): list virtual sinks and sources as capture devices
331f6de fix(pipewire): identify streams by application name, then node name
998e97f fix(pipewire): recognize FLC, FRC and RC channel positions
837a924 refactor(pipewire): return the capped layout from port_layout
c6ac992 fix(pipewire): widen the idle watchdog
45f30c5 fix(pipewire): re-anchor continuous packets when the device clock drifts
adf4ba4 fix(pipewire): drop skipped quiet audio
98f5a44 fix(pipewire): close the lost wakeup between a ring push and the reader's sleep
18c15b3 fix(pipewire): notice links removed by others and back off re-creating them
bd5c0cf fix(pipewire): reset the stream retry backoff only once a stream proves itself
cd50cf7 fix(pipewire): keep the session on relatively harmless "unknown resource" errors
b0eb9d8 fix(util): honor width and alignment when formatting notes (padding)
8a798d0 fix(util): format durations that round to 60s as minutes
572b554 docs: reword configuration section in readme
f18aba6 docs: add stable AUR package to README's install section
c67a91f refactor(spectrogram): cleanup
c18a94c refactor(oscilloscope): dead code removal, cleanups
319a85d refactor(oscilloscope): dead code removal