Commit graph

983 commits

Author SHA1 Message Date
Daniel
5b727a103e feat(downloads): allow writing multiple artists to metadata
This will write each artist separately to the metadata rather than as a single concatenated string.  This allows for better library searching if the player supports it.

If multiple artists are written to an m4a file, iTunes will only show the first artist.
2026-04-03 14:31:19 +03:00
Daniel
51e5e1973f fix: update taglib-ts 2026-04-03 14:31:19 +03:00
edideaur
2ddf26ec4c
feat: right clicking context menu on miniplayer 2026-04-02 18:52:38 +00:00
edideaur
2183610df1
further:allow right clicking blocked content for easier unblocking 2026-04-02 18:44:13 +00:00
edideaur
a6082a5288
fix:blocking 2026-04-02 18:32:48 +00:00
edideaur
bdde8fdb6a
fix: l opens lyrics 2026-04-02 18:28:46 +00:00
edideaur
fd1300fcb7
i understand i did u wrong but thats not all 2026-04-02 17:18:52 +00:00
edideaur
8ceaffe757
tilt settings 2026-04-02 16:09:58 +00:00
edideaur
c8b7a9cd17
tilting, rounding, and new trackerapi instance 2026-04-02 12:08:05 +00:00
edideaur
e71c989319
editor pick changes 2026-04-02 09:09:13 +00:00
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
77f9e10fdc style: auto-fix linting issues 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
Daniel
6e98830fdd fix(downloads): change FLAC ffmpegArgs to use 'copy' codec 2026-04-02 10:40:45 +03:00
edideaur
b199844d07
Merge pull request #474 from DanTheMan827/vitest
feat(vitest): add vitest config and tests
2026-04-02 10:27:51 +03:00
SamidyFR
b00cb086f4 style: auto-fix linting issues 2026-04-01 21:02:31 +00:00
Samidy
2a6c763176 Merge branch 'main' of github.com:monochrome-music/monochrome 2026-04-02 00:02:01 +03:00
Samidy
6ad728d106 feat(social): Listening Parties 2026-04-02 00:01:57 +03:00
Daniel
b94a832d2e feat(vitest): add vitest config and tests
Add tests for HiFi, ffmpeg, and download api functions.
2026-04-01 12:46:30 -05:00
edideaur
c8f64a52e8
tilting + background play fixes 2026-04-01 14:47:37 +00:00
SamidyFR
c17c249ca9 style: auto-fix linting issues 2026-03-31 17:09:15 +00:00
Daniel
bb387ac30b fix(downloads): pass DOLBY_ATMOS to applyAudioPostProcessing if track is atmos 2026-03-31 12:07:31 -05:00
Daniel
88ec8feb6b fix(downloads): improve ffmpeg logging 2026-03-31 10:23:03 -05:00
Daniel
286a123e02 fix(downloads): actually return the encoded blob 2026-03-31 09:56:04 -05:00
Daniel
39163fa4b6 fix(downloads): applyAudioPostProcessing now uses lookup audio quality to determine if the available track is lossless 2026-03-30 21:10:48 -05:00
IsraelGPT
386c6123d8 add new slop 2026-03-29 21:29:24 +00:00
SamidyFR
a63f87410f style: auto-fix linting issues 2026-03-29 18:58:24 +00:00
Samidy
edc0b5d1bd Fix(Blocked Content): Manage System Not Working 2026-03-29 18:05:05 +03:00
edideaur
022c27056b
Merge pull request #417 from DanTheMan827/download-fixes
Download fixes
2026-03-29 13:59:45 +03:00
SamidyFR
3d74bdb579 style: auto-fix linting issues 2026-03-29 10:10:07 +00:00
Samidy
1a63b898cc Merge branch 'main' of github.com:monochrome-music/monochrome 2026-03-29 13:09:36 +03:00
Samidy
8ed52d8843 Bye Bye Desktop App 2026-03-29 13:09:32 +03:00
Daniel
113d0c513f fix(ffmpeg): pass abort signal from ffmpegInfo to inner ffmpeg call 2026-03-28 19:27:31 -05:00
Daniel
cde606b5cc fix(downloads): pass abort signal to atmos manifest fetch 2026-03-28 19:25:55 -05:00
Daniel
e21f0f5153 fix(player): fix video preload 2026-03-28 19:21:36 -05:00
Daniel
a9798007cc fix(api): ensure all tracks are prepared 2026-03-28 19:21:18 -05:00
Daniel
1b5385d1ec fix(api): remove allowedDomains for getVideo
- Removed 'allowedDomains' parameter from the fetchWithRetry method call in getVideoStreamUrl.
2026-03-28 15:33:14 -05:00
Daniel
9b7e1e2369 refactor(downloads): rename functions to remove AsZip from names 2026-03-28 15:26:55 -05:00
Daniel
2923757029 fix(settings): organize downloads tab 2026-03-28 15:26:55 -05: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
Daniel
6e517fcb9b fix(downloads): check codec info in applyAudioPostProcessing if quality is in question 2026-03-28 15:26:55 -05:00
Daniel
9f7b0ff525 refactor(ffmpeg): add ffmpegInfo function and refactor ffmpeg usage 2026-03-28 15:26:55 -05:00
Mrigakshi Roy Choudhury
417d98c011 fix(api): format image url for the api to recognize it and to save the user details 2026-03-28 22:50:32 +05:30
edideaur
81ea141d48 style: auto-fix linting issues 2026-03-28 13:33:03 +00:00
Eduard Prigoana
0424e6bea7 add commit ID embedding for easier debugging 2026-03-28 15:31:18 +02:00
edideaur
27defce9b0 style: auto-fix linting issues 2026-03-28 13:19:22 +00:00
Eduard Prigoana
0b6262cdca re-add auth sources 2026-03-28 15:18:54 +02:00
edidealt
416f2ca6aa style: auto-fix linting issues 2026-03-28 09:42:05 +00:00
edidealt
6ace8e19be
Merge branch 'main' into fix/ui-ux-video-library-fullscreen 2026-03-28 11:28:38 +02:00
Eduard Prigoana
e809d1443f fix trackers, remove AI slop 2026-03-28 01:04:30 +02:00
Thiago Vinícius
8cf7010e7f 🐛 fix: library liked track card link (grid plays like list); my playlists grid layout 2026-03-27 18:32:13 -03:00
Thiago Vinícius
5be3d39b1b 🐛 fix: CodeRabbit review (library search, covers, likes, layout classes, clear-btn, styles) and lint workflow; keep scroll on list/grid toggle
Made-with: Cursor
2026-03-27 18:20:11 -03:00
Thiago Vinícius
2e92a34b00 🐛 fix: issues flagged by CodeRabbit
Made-with: Cursor
2026-03-27 18:11:12 -03:00
Thiago Vinícius
75a1465977 fix(ui): drop empty playlists placeholder and fix inline-like track grid on narrow viewports
Made-with: Cursor
2026-03-27 17:15:22 -03:00
Samidy
628b8ae017
Merge pull request #435 from vladbrox/main
HOTFIX: Fix track validation in loveTrack method
2026-03-27 22:32:05 +03:00
Thiago Vinícius
520c778f84 fix(ui): video library cards, fullscreen layout, and search UX
Made-with: Cursor
2026-03-27 16:26:51 -03:00
David Zeng
09bc49bd60
Merge branch 'monochrome-music:main' into fix-local-folder 2026-03-27 19:59:11 +01:00
David ZENG
d15a99dad8 fix(library) fixed undefined error, when importing local music folder 2026-03-27 19:55:09 +01:00
SamidyFR
4a38afe810 style: auto-fix linting issues 2026-03-27 18:52:20 +00:00
Mrigakshi Roy Choudhury
65d0eadb71 fix(library): share playlist with the correct url 2026-03-28 00:13:36 +05:30
.vlad
2b67fc2609
Fix condition in loveTrack method 2026-03-27 18:45:57 +03:00
SamidyFR
121aa44fd1 style: auto-fix linting issues 2026-03-27 15:42:30 +00:00
Samidy
b7be5a6556
Merge pull request #434 from vladbrox/main
Listebrainz improvments
2026-03-27 18:42:00 +03:00
.vlad
8177cc4789
Fix artist name check in loveTrack method
Add null check for artist name in loveTrack method.
2026-03-27 18:35:48 +03:00
.vlad
c3c3005428
fix issues. now use set for lovingTracks, lbid album check, const and let var fix 2026-03-27 18:21:22 +03:00
Samidy
68512c957a
Merge pull request #430 from vladbrox/main
Refactor MBID lookup and add love lock
2026-03-27 18:18:48 +03:00
.vlad
27c2a7b092
Refactor MBID lookup and add loving functionality 2026-03-27 17:26:35 +03:00
Samidy
4e75a734a2 remove qobuz 2026-03-27 14:30:39 +03:00
Eduard Prigoana
b962853b69 weights 2026-03-26 20:36:42 +02:00
Daniel
80cd8b2f9b refactor(downloads): cleanup downloads and add mp4 stik atom 2026-03-24 14:10:28 -05:00
edideaur
23c5baae5f style: auto-fix linting issues 2026-03-23 20:01:26 +00:00
Eduard Prigoana
1e8e62dbee remove unexistent instances from tracker.js and add new instance 2026-03-23 22:00:53 +02:00
edideaur
7f61e723da
Merge pull request #401 from DanTheMan827/hifi-update
Refactor HiFi.ts and add trackManifests route
2026-03-23 21:57:34 +02:00
Daniel
2440939f4b refactor(hifi): update HiFi.ts to add trackManifests route and refactor 2026-03-23 13:42:03 -05:00
Daniel
21cbfcdbf4 fix(hifi): throw errors instead of returning json with the error 2026-03-23 09:35:04 -05:00
edideaur
15e6e99269 d-d-d-d-drop that bitch 2026-03-23 16:30:51 +02:00
binimum
ef142f2ff0 style: auto-fix linting issues 2026-03-22 20:38:39 +00:00
binimum
44d92b46dc
feat: implement side panel resizer and responsive styles 2026-03-22 20:38:08 +00:00
binimum
d9878596e2 style: auto-fix linting issues 2026-03-22 20:13:27 +00:00
binimum
98cc3b9391
Merge branch 'main' of https://github.com/monochrome-music/monochrome 2026-03-22 20:11:37 +00:00
binimum
d783642401
feat: add Atmos support, use new API endpoint, streamline API caching 2026-03-22 20:08:30 +00:00
edidealt
6ed58333e7 style: auto-fix linting issues 2026-03-22 19:13:04 +00:00
Daniel
111ade245f
fix(metadata): lyrics are now fetched 2026-03-22 14:05:07 -05:00
edideaur
b6e8068652 capacitor app 2026-03-22 20:59:00 +02:00
edidealt
4d18704e2e sure this works i guess 2026-03-22 04:57:18 +00:00
edidealt
c2f8d3fca1 feat: podcasts 2026-03-22 04:32:20 +00:00
Samidy
3cd54a2b5f fix(reset password): change reset-password link to remove .html (causes issues) 2026-03-22 07:30:22 +03:00
edidealt
7e16dc23c2
Merge pull request #380 from DanTheMan827/singleton
Convert classes to singleton pattern
2026-03-22 03:36:13 +02:00
edidealt
6f8b479d0f infinite track playing for popular tracks 2026-03-21 23:25:16 +00:00
Daniel
e32fbc3813 refactor(UIRenderer): convert to singleton 2026-03-21 18:14:48 -05:00
Daniel
2fdd169ba0 refactor(Hifi): convert to singleton 2026-03-21 18:05:09 -05:00
Daniel
aa1c6944d2 feat: expose certain classes under the monochrome object when in dev mode 2026-03-21 17:41:19 -05:00
Daniel
c768f8d675 refactor(lyrics): convert to singleton 2026-03-21 17:36:23 -05:00
Daniel
fb4b72bc39 refactor(music-api): convert to singleton 2026-03-21 17:29:04 -05:00
Daniel
852baeaa17 refactor(player): convert to singleton 2026-03-21 17:21:09 -05:00
Daniel
6728b17efe fix: bun format 2026-03-21 16:56:05 -05:00
akane
7008de33b0 fix(ui): revert history dedup to preserve play frequency 2026-03-21 12:33:25 -07:00
akane
446b6fff55 fix(ui): deduplicate recommended songs on homepage 2026-03-21 12:30:38 -07:00
akane
da5ade79a7 perf(ui): cache settings Fuse instance in command palette 2026-03-21 12:04:25 -07:00