Commit graph

352 commits

Author SHA1 Message Date
windigerbus
24aa18054c fix ai slop part 2 2026-04-27 09:02:46 +03:00
windigerbus
b9fb5a335d fix ai slop 2026-04-27 09:02:46 +03:00
windbus
f351116a90 okkayy
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-04-27 09:02:46 +03:00
windbus
9b9b3c8d96 oops
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-04-27 09:02:46 +03:00
windigerbus
ad1915e510 fix formatting part 2 2026-04-27 09:02:46 +03:00
windigerbus
6e3dc47c0c add cd thing kinda cool 2026-04-27 09:02:46 +03:00
Dorian Gironde
049c0cf83e fix(lyrics): gate japanese font stack with :lang(ja), fix dead rules 2026-04-27 09:01:48 +03:00
Dorian Gironde
37b7cf84d9 fix(lyrics): render Japanese kanji with correct JP glyphs (#571) 2026-04-27 09:01:48 +03:00
Dorian Gironde
20cf96bbd9 fix(lyrics): force Japanese font shaping for am-lyrics component
Fixes kanji characters like 刀 rendering as simplified Chinese instead
of Japanese when displayed in lyrics. The root cause is the document
lang="en" attribute causing the browser to use English font shaping.

Added font-language-override: 'JA' to am-lyrics elements so the
browser treats lyric text as Japanese regardless of the page's lang
attribute. Applied to both side panel and fullscreen lyrics views.
2026-04-27 09:01:48 +03:00
binimum
4b6f81b2ec style: auto-fix linting issues 2026-04-17 21:40:59 +00:00
uimaxbai
274baa2a79 fix EVERYTHING 2026-04-17 22:40:15 +01:00
uimaxbai
de4871ac69 add fallback fonts for international languages 2026-04-13 20:58:35 +01:00
SamidyFR
3e85941229 style: auto-fix linting issues 2026-04-13 19:02:42 +00:00
edideaur
411681a3cd
one line fix btw 2026-04-13 18:42:26 +03:00
Samidy
83403d43a6 fuck mobile 2026-04-13 15:06:26 +03:00
Samidy
7dd38bac80 feat(artists): Artist Banners 2026-04-13 14:55:13 +03:00
tryptz
a0e587eb97 style: fix no-descending-specificity for .binaural-sub-setting rules
Move .binaural-sub-setting select before .info/.label/.description so
selector specificity only increases, resolving the stylelint violation.
2026-04-10 16:06:04 +03:00
tryptz
5bbc36cdb1 feat: add binaural/spatial DSP with multichannel HRTF rendering
Implement a complete binaural audio processing pipeline that sits before
EQ Studio in the signal chain. Supports multichannel (5.1) HRTF
binauralization for Dolby Atmos and Apple 3D Audio content, with
crossfeed and stereo widening for regular stereo content.

New modules:
- hrtf-generator.js: Procedural HRTF impulse response synthesis using
  Woodworth head model (ITD, ILD, head shadow, pinna coloring)
- binaural-dsp.js: BinauralDSP engine with multichannel splitter,
  per-channel ConvolverNode HRTF rendering, Bauer-style crossfeed
  (low/medium/high), and M/S stereo widener

Integration:
- Audio graph: binaural block inserted before preamp/EQ, multichannel
  passthrough via MediaElementSource channelCount=6
- Storage: binauralDspSettings with full persistence (JSON in localStorage)
- UI: toggle + sub-controls (crossfeed level, HRTF preset, width slider)
  placed before EQ Studio in settings
- Player: auto-enables binaural DSP when Atmos content detected,
  shows binaural badge on Atmos tracks
2026-04-10 16:06:04 +03:00
tryptz
2cc95c0ca0 feat: add channel select (ST/M/S) to parametric EQ band editor 2026-04-10 16:06:04 +03:00
tryptz
44e811f56d feat: per-band Mid/Side EQ, context menus, shelf presets, performance fix
- Add per-band M/S processing with full encoder/decoder matrix in Web Audio API
- Right-click context menu on EQ nodes for filter type and channel switching
- Right-click empty graph space to add nodes
- Remove nearest-node snap-click interaction
- Replace IIR shelf filters with native BiquadFilter for glitch-free updates
- Add 6 M/S showcase presets with research-informed mastering values
- Add 5 shelf-based stereo presets (Warm, Bright, Hi-Fi, Dark, Radio Ready)
- Standard presets now reset all bands to stereo/peaking
- Graph contrast fix for light themes using color-mix()
- Colored help button and rewritten how-to documentation
- Default graph zoom changed to ±16 dB
2026-04-10 16:06:04 +03:00
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
cb49904a21 fix: address remaining PR #519 review comments
- Preserve existing preamp when importing files without Preamp line
- Extend import regex to accept k/kHz/Hz suffixes and +signed gains
- Rename localStorage key to monochrome- prefix for backup/restore compat
- Add try/catch to localStorage writes for quota/disabled storage
- Validate custom preset gains array before applying
- Fix delete button visibility for all preset change paths
- Add overflow-x: auto for mobile EQ band scrolling
- Add flex-wrap and responsive sizing for bottom controls on mobile
2026-04-10 16:06:04 +03:00
tryptz
1a6214f3ea fix: restore legacy 16-band graphic EQ CSS removed by PR #509
The visualizer/mobile support PR inadvertently deleted the entire
legacy graphic EQ stylesheet block. This restores vertical slider
bands, preamp, preset row, and mobile responsive styles.
2026-04-10 16:06:04 +03:00
SamidyFR
f65af3fb10 style: auto-fix linting issues 2026-04-08 22:39:36 +00:00
Samidy
493ac9f175 mobile contribs 2026-04-09 01:38:52 +03:00
a
1edbcc454e
fix: enable mobile fullscreen visualizer (#517) 2026-04-06 15:15:20 -04:00
SamidyFR
77ffff3a85 style: auto-fix linting issues 2026-04-06 15:54:39 +00:00
Alan Brooks
4dba288592 fix: honor selected visualizer & fix scrollbar bug and lyrics shortcut bug 2026-04-06 11:50:48 -04:00
ap5z
d031c44a40 style: auto-fix linting issues 2026-04-06 03:47:25 +00:00
a
f2135cc455
fix: visualizer bugs and better mobile support (#509)
* Refine fullscreen player to look more like apple music

* fix: buttons when in visualizer only mode

* fix: mobile sizing

* Update styles.css

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update js/ui.js

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: refine fullscreen apple player

* fix: add lyrics toggle for mobile

* add lyrics toggle for mobile

* wrong branch oops 😭

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-05 23:46:50 -04:00
Alan Brooks
daa553488f add lyrics toggle for mobile 2026-04-05 23:41:34 -04:00
Alan Brooks
4dd3ec1a0c fix: add lyrics toggle for mobile 2026-04-05 23:03:59 -04:00
Alan Brooks
a09f0cc356 Merge origin/fullscreen-apple into fullscreen-apple 2026-04-05 22:50:14 -04:00
Alan Brooks
2573870004 feat: refine fullscreen apple player 2026-04-05 22:37:10 -04:00
edideaur
a73a7f11cb style: auto-fix linting issues 2026-04-05 17:13:07 +00:00
a
a9018436d5 Update styles.css
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-05 20:12:29 +03:00
Alan Brooks
85d198c8c3 fix: mobile sizing 2026-04-05 20:12:29 +03:00
Alan Brooks
9d1e4871e2 fix: buttons when in visualizer only mode 2026-04-05 20:12:29 +03:00
Alan Brooks
2bb06f1159 Refine fullscreen player to look more like apple music 2026-04-05 20:12:29 +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
Samidy
e1ce5293e9 Merge branch 'main' of github.com:monochrome-music/monochrome 2026-04-05 17:55:03 +03:00
Samidy
6015904a38 mobile contributors list fixes (diddy bro !) 2026-04-05 17:54:59 +03:00
binimum
014d1ef74e
feat: change loading eagerness to make lcp faster 2026-04-05 14:44:40 +00:00
a
02021691ca
Update styles.css
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-05 09:12:35 -04:00
Alan Brooks
e00368597d fix: mobile sizing 2026-04-05 00:37:43 -04:00
Alan Brooks
759d9b75e2 fix: buttons when in visualizer only mode 2026-04-05 00:29:58 -04:00
Alan Brooks
0b1bb3cd11 Refine fullscreen player to look more like apple music 2026-04-05 00:18:34 -04:00
edideaur
c73572e195
lint: fix JS errors and duplicate CSS selectors 2026-04-04 21:41:37 +00:00
SamidyFR
ad605c903b style: auto-fix linting issues 2026-04-04 19:50:46 +00:00