Commit graph

160 commits

Author SHA1 Message Date
tryptz
0652aa4866 style: auto-fix linting issues 2026-04-02 11:05:12 +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
c8f64a52e8
tilting + background play fixes 2026-04-01 14:47:37 +00:00
Samidy
edc0b5d1bd Fix(Blocked Content): Manage System Not Working 2026-03-29 18:05:05 +03:00
Daniel
9c34dd4b9d feat(downloads): add check box for atmos, and fallback to desired quality if unavailable 2026-03-28 15:26:55 -05:00
Eduard Prigoana
e809d1443f fix trackers, remove AI slop 2026-03-28 01:04:30 +02:00
Eduard Prigoana
b962853b69 weights 2026-03-26 20:36:42 +02:00
Daniel
397fc53a46 feat(downloads): add local media folder bulk download options and folder template paths
This also implements a ModernSettings class for a more streamlined settings API.
2026-03-20 18:00:14 -05:00
edidealt
ab11ff6a37 multi-track selection 2026-03-20 22:28:08 +00:00
edidealt
7bcb9e1fb5 listenbrainz love on like 2026-03-20 18:07:06 +00:00
Daniel
e2a09b9b32 refactor: externalize svg images and add new vite plugin
The plugin runs all imported SVG files through svgo.

For index.html, you can use the following syntax:
```html
<use svg="file.svg" size="24" />
```

For scripts, use the `?svg` import query
```javascript
import SVG_FILE from './file.svg?svg&size=24
```

Note: size is shorthand for specifying both width and height individually.  You can also set any property of the base SVG element.

You can also use the `?svg&icon` query to return a function that allows dynamically resizing the SVG string.
2026-03-19 15:28:33 -05:00
Nohan-V2
a18e865906 Fix settings persistence: ReplayGain Pre-Amp and Gapless Playback 2026-03-17 22:13:02 +01:00
Samidy
b7aaa37578 add new pinkhamster instance 2026-03-16 23:46:27 +03:00
edideaur
5c7776abb7 actually refresh instances on refresh... 2026-03-16 19:41:01 +00:00
edideaur
6e39cad73d fix (remove spotisaver blacklist) 2026-03-16 16:16:57 +00:00
Samidy
99debbb7b2 feat(APIs): custom api instances 2026-03-14 02:58:22 +03:00
edideaur
b31be7dc80 Fix bulk download edge cases and improve robustness
- FolderPickerWriter: throw AbortError on cancel instead of returning null
- FolderPickerWriter: add try/catch with abort() to release file locks on failure
- ZipNeutralinoWriter: move writeBinaryFile after response.body validation
- bulkDownloadSettings: migrate legacy key and validate stored values
- download-utils: catch ffmpeg cancellation via signal.aborted
- downloads.js: use consistent Neutralino detection with bridge module
- download-utils: use strict equality for flac extension check
2026-03-12 19:35:23 +00:00
edideaur
a776e24aee
Merge pull request #303 from DanTheMan827/copilot/extract-duplicated-code-to-ts
Extract shared download utilities and abstract bulk download handlers + new folder picker support
2026-03-12 21:18:47 +02:00
Samidy
3fc74738a5 this barely ever worked anyways lets just remove smooth scrolling 2026-03-12 10:16:38 +03:00
Daniel
b04019f282 fix(downloads): mp4 files with flac audio are now tagged
This is resolved by using ffmpeg to copy the audio data into a new mp4 container file before passing it to taglib.
2026-03-12 06:43:45 +00:00
Daniel
c1552980eb feat: extract bulk download handlers into bulk-download-writer.ts and add folder picker + settings 2026-03-12 06:04:59 +00:00
Daniel
3f2651633b
feat(downloads): add custom download formats 2026-03-11 19:26:05 +00:00
Samidy
473e5ba8b6 feat(recommendations): Infinite Radio 2026-03-10 04:58:17 +03:00
Samidy
83c705a60a Merge branch 'main' of github.com:monochrome-music/monochrome 2026-03-09 03:03:59 +03:00
Julien Maille
473d63c899 reorganize settings menu, add playback speed reset and instances tab 2026-03-08 18:35:07 +01:00
Samidy
4762dea607 feat(visualizer): visualizer dimming 2026-03-08 02:55:51 +03:00
edideaur
f967d29c52 donate and about page changes 2026-03-03 20:47:49 +00:00
edideaur
b29160385a keybind rebinding 2026-03-03 12:20:42 +00:00
edidealt
5e437d4019 fullscreen mode settings 2026-03-02 20:14:25 +00:00
edidealt
5cac487c0f pitch shit 2026-03-01 10:52:03 +00:00
Daniel
07422debb9
feat(downloads): add lossless container option
This uses ffmpeg to ensure that the downloaded lossless audio is in the desired container format.
2026-02-27 21:23:33 +00:00
Samidy
7d4294f906 my free trial ran out 2026-02-24 19:58:19 +03:00
Julien Maille
bf346f756e Add multi-disc ZIP folders and fix playlist extension paths 2026-02-22 00:32:45 +01:00
binimum
1188a2dcce style: auto-fix linting issues 2026-02-21 14:57:44 +00:00
binimum
01309a9a15
Change instances.json in favour of Workers which have live API uptime 2026-02-21 14:56:55 +00:00
Julien Maille
ae853636ce IMP: 192kHz playback, adapted visualizers 2026-02-21 00:07:00 +01:00
Samidy
790a3b7f94 lol 2026-02-20 20:42:12 +03:00
BlackSigkill
bddf5a0d73 fix linting errors/warnings 2026-02-20 15:48:23 +01:00
Samidy
04e4de0fb8 fix(APIs): remove now broken free tier API, oh and other stuff but idc 2026-02-20 16:22:13 +03:00
Samidy
5eba6aa224 Merge branch 'main' of github.com:monochrome-music/monochrome 2026-02-19 16:55:02 +03:00
Samidy
250ebb9f99 feat(social): profiles feature 2026-02-19 16:54:58 +03:00
Eduard Prigoana
a9f3acb289 fix4dwayne 2026-02-18 04:19:12 +00:00
Eduard Prigoana
64ff09910b close modals on navigation 2026-02-18 03:50:00 +00:00
Eduard Prigoana
03a7dcda52 fix codeql suggestions 2026-02-18 03:30:20 +00:00
Eduard Prigoana
58b77e904b fix codeql stuff 2026-02-18 03:17:37 +00:00
Eduard Prigoana
f20f3dbb9d EQ changes 2026-02-17 20:22:47 +00:00
IsraelGPT
a6b27fbfc3 clear queue on navigation 2026-02-16 00:48:05 +00:00
IsraelGPT
084bf957f5 FMCL 2026-02-15 23:57:06 +00:00
Gareth Dawson
bd2ef5d8d5 fix(settings): restrict sidebar reorder to main vs bottom sections 2026-02-15 21:06:48 +00:00