Global input calibration, mic cal files, and calibrated frequency displays#420
Open
Skeyelab wants to merge 25 commits into
Open
Global input calibration, mic cal files, and calibrated frequency displays#420Skeyelab wants to merge 25 commits into
Skeyelab wants to merge 25 commits into
Conversation
Introduce unit tests for ring buffer, IEC metering, pitch tracker widget behavior, and splash settings; run them in GitHub Actions with coverage. Also adds dark palette fallback, configurable splash screen, dock settings Close buttons, and agent skills configuration for fork development. Co-authored-by: Cursor <cursoragent@cursor.com>
sounddevice fails to import without libportaudio2 on Ubuntu runners. Co-authored-by: Cursor <cursoragent@cursor.com>
Non-editable pip install runs site-packages code while coverage measures the checkout, reporting ~3% instead of ~15%. Co-authored-by: Cursor <cursoragent@cursor.com>
Keep test-linux on push and pull_request; Windows, Linux AppImage, macOS, and release jobs are skipped until re-enabled. Co-authored-by: Cursor <cursoragent@cursor.com>
Add test suite, CI, and Linux UX improvements
Cover audioproc FFT sizing, level meter IEC mapping, ballistic peak hold behavior, and silent pitch input; raise CI coverage floor to 16%. Co-authored-by: Cursor <cursoragent@cursor.com>
Introduce AudioHarness for pushing frames through AudioBuffer like production, cover levels/spectrum/octave widgets and settings bootstrap, exclude helpers from discovery, and raise CI coverage floor to 22%. Co-authored-by: Cursor <cursoragent@cursor.com>
Expand test suite with widget integration and core audio tests
Split PortAudio into portaudio_ingest adapter, add TestAudioIngest for tests, wire Analyzer and Settings through get_audio_ingest(), and keep AudioBackend() as a backward-compatible alias. Closes #2 Co-authored-by: Cursor <cursoragent@cursor.com>
Introduce injectable audio ingest seam
Add DockAnalysisWidget protocol, RingBufferFrameReader for FFT docks, migrate spectrum and levels helpers, wire dock typing without ignores, and document test harness conventions. Closes #3 Co-authored-by: Cursor <cursoragent@cursor.com>
Formalize dock analysis widget protocol
Move smoothing state and spectrum math out of Spectrum_Widget into a pure numpy module with unit tests; widget becomes a thin QML adapter. Closes #4 Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Extract SpectrumFrameAnalyzer module
Inject InputDeviceCatalog into Settings_Dialog, move fatal no-device policy to Analyzer, and apply saved device selection on the ingest layer at startup. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Run Windows, Linux, and macOS builds plus artifact upload when a v* tag is pushed; keep PR and master pushes on test-linux only. Co-authored-by: Cursor <cursoragent@cursor.com>
Split settings from input device catalog
Release 0.55
Introduces a live peak/RMS dock widget, moves calibration onto Long-time levels, and darkens the default UI palette for low-light use. Co-authored-by: Cursor <cursoragent@cursor.com>
dB levels dock, calibration, and 0.56 release
App-wide offset and unit flow through sidebar meters, dB levels dock, long-term levels, and frequency widgets; calibration anchors RMS to a reference while peak stays ~3 dB higher on sine tones. Co-authored-by: Cursor <cursoragent@cursor.com>
Use a three-column grid with per-channel sizing so dual readouts fit without clipping. Co-authored-by: Cursor <cursoragent@cursor.com>
Author
|
Released as v0.57 on ericdahl-dev/friture. Unable to merge here (no maintainer permissions on tlecomte/friture). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.txt/ REW.calfrequency correction files (Import microphone calibration files (.cal / factory .txt) #419) and apply scalar + frequency adjustments to FFT, spectrogram, and octave widgets.Test plan
export QT_QPA_PLATFORM=offscreen QT_QUICK_CONTROLS_STYLE=Fusion && .venv/bin/python friture/test/runner.py(117 tests)Made with Cursor