Commit graph

30 commits

Author SHA1 Message Date
tryptz
91eaa1f1dc feat: configurable band count and frequency range for legacy graphic EQ
- Add Bands/Min Hz/Max Hz controls to legacy EQ section
- Dynamic frequency generation with log spacing and auto-scaling Q
- Import/export handles variable band counts, Q optional for shelves
- Custom presets interpolate across different band counts
- Update legacy EQ tutorial for new controls
2026-04-10 16:06:04 +03:00
tryptz
0cfff0b0b2 fix: make Q optional in EQ import regex for shelf filters 2026-04-10 16:06:04 +03:00
tryptz
eae8655877 feat: add APO export for legacy EQ and fix shelf filter Q support
- Add Export APO button to legacy graphic EQ (GraphicEQ config line format)
- Fix shelf filters ignoring Q: use IIR filters with RBJ cookbook coefficients
- Update graph visualization to use actual Q for shelf curves
- Omit Q from shelf filters in all EQ text exports
2026-04-10 16:06:04 +03:00
tryptz
da6c2e2dd9 fix: address CodeRabbit review issues from PR #502
Android:
- Fix stale wake lock detection by checking isHeld() before reacquiring
- Wrap startForegroundService in try-catch to handle launch exceptions
- Add START/STOP intent actions to prevent stop/start race condition

HTML/Accessibility:
- Convert preset and preamp spans to proper <label> elements
- Add aria-controls to database collapse button
- Sync aria-expanded state when toggling database panel

JavaScript:
- Guard auto-resume with source check to avoid resuming when not playing
- Add _calculateQ() fallback in fast-path EQ filter updates
- Persist graphic EQ gains and preamp to storage from setters
- Include 'legacy' in EQ mode restoration check
- Clear container before rebuilding GEQ bands for idempotency
- Use AbortController for document-level listener cleanup
- Apply gain calculation for non-parametric modes in touch snap
- Validate stored GEQ values are finite numbers

CSS:
- Remove non-standard appearance: slider-vertical property
2026-04-05 20:07:39 +03:00
tryptz
d09e3aa72a feat: AutoEQ, speaker EQ enhancements, and audio performance fixes
- Add 16-band graphic equalizer with legacy EQ mode
- Add speaker measurement and room correction EQ
- Fix audio skipping with AutoEQ on Android background
- Improve audio performance to prevent skipping under CPU load
- Fix dual EQ applied when switching between legacy and parametric modes
- Remove redundant Equalizer settings tab
- Improve mobile EQ band layout and collapsible database section
2026-04-05 20:07:39 +03:00
tryptz
782e98061b fix: address all CodeRabbit review findings from PR #477
Engine & algorithm:
- Use default shelf Q (1/√2) in calculateBiquadResponse for shelf filters
- Compute normalization offset on measurement frequency grid to avoid bias
- Try stale cache for all fetch errors in autoeq-importer, not just timeouts

Audio pipeline:
- Pass postProcessingQuality (preserves Dolby Atmos override) in api.js
- Persist custom band frequencies in equalizerSettings storage
- Restore custom frequencies on _loadSettings instead of regenerating defaults
- Export clamped preamp value in applyAutoEQBands text output
- Propagate filter type and Q values through equalizer import chain
- Update freqRange after importing custom filter frequencies
- Remove return in finally block that hid LOSSLESS fallback failures

Data consistency:
- Normalize artist IDs with String() in blockArtist/unblockArtist

Lint & code quality:
- Annotate empty catch blocks (Atmos codec probes)
- Remove unused catch parameters

Accessibility:
- Add aria-label and for attributes to all AutoEQ form controls
- Add role="status" aria-live="polite" to feedback spans
- Update filter type documentation to reflect shelf support
- Hide parametric-only sections by default to match active tab

UI:
- Move AutoEq button directly under graph
- Hide shared button in Parametric/Speaker modes
- Replace hardcoded white legend dot with theme-adaptive color-mix
- Add pointer-events:none and focus-within to profile delete button
2026-04-02 11:05:12 +03:00
tryptz
d4d1fe8494 feat: AutoEQ and speaker EQ enhancements
Adds AutoEQ integration with interactive parametric EQ graph,
speaker/room correction with shelf filters, and improved EQ
persistence via IndexedDB.
2026-04-02 11:05:12 +03:00
edideaur
b6e8068652 capacitor app 2026-03-22 20:59:00 +02:00
Daniel
393491e2c8 refactor(platform-detection): add platform-detection.ts for browser and platform detection 2026-03-19 15:09:58 -05:00
SamidyFR
4cb8b84f91 style: auto-fix linting issues 2026-03-10 01:58:49 +00:00
Samidy
473e5ba8b6 feat(recommendations): Infinite Radio 2026-03-10 04:58:17 +03:00
JulienMaille
8731ddb502 style: auto-fix linting issues 2026-02-20 23:07:15 +00:00
Julien Maille
ae853636ce IMP: 192kHz playback, adapted visualizers 2026-02-21 00:07:00 +01:00
Eduard Prigoana
f20f3dbb9d EQ changes 2026-02-17 20:22:47 +00:00
Gareth Dawson
933d0e6a40 fix: resolve all yarn lint errors 2026-02-15 21:53:00 +00:00
IsraelGPT
0b20caff69 equalizer changes 2026-02-15 15:01:34 +00:00
Gareth Dawson
0d1910285c fix: restore iOS background play by detecting iOS before UA spoof 2026-02-14 22:56:33 +00:00
Eduard Prigoana
b47e11ef48 fix(iOS): don't set isInitialized flag when skipping Web Audio on iOS
Previously, the code was setting isInitialized = true on iOS even though
no AudioContext was created. This caused isReady() to return true, which
led other code to try to use the non-existent audio context.

Now isInitialized remains false on iOS, so isReady() returns false and
the code properly falls back to using the standard HTMLAudioElement APIs.
2026-02-14 20:01:09 +01:00
Julien Maille
02cf092904 FIX: try to fix application volume control on linux 2026-02-13 21:02:00 +01:00
Eduard Prigoana
ea005c68ad remove pitch changing and allow more granular playback speed control, remember what setting tab youre on 2026-02-10 19:57:18 +00:00
BlackSigkill
ed579624e2 fix linting 2026-02-09 20:48:02 +01:00
Eduard Prigoana
f81973af88 pitch and speed in settings, back to ko-fi 2026-02-09 14:04:40 +00:00
Eduard Prigoana
3974ec7551 feat: mono audio 2026-02-09 12:06:44 +00:00
Eduard Prigoana
c2fd81348a ACTUALLY fix butterchurn 2026-02-09 03:26:32 +00:00
Eduard Prigoana
4636ae3151 (final) implement butterchurn 2026-02-09 04:09:44 +02:00
Eduard Prigoana
44004d9c3f
Merge pull request #139 from blacksigkill/fix/linting-issues
fix all errors/warnings during linting
2026-02-04 12:50:40 +02:00
BlackSigkill
50834a48e0 fix all errors/warnings during linting 2026-02-03 15:20:50 +01:00
Eduard Prigoana
377adc8f0a fix iOS background play 2026-02-03 13:46:34 +00:00
EduardPrigoana
fc2229dbf6 style: auto-fix linting issues 2026-02-01 20:35:18 +00:00
EduardPrigoana
47cc05e60e EQUALIZER FINALLY 2026-02-01 22:14:35 +02:00