Commit Graph

165 Commits

Author SHA1 Message Date
jeffvli 355257104d reorganize external link settings 2025-12-02 20:25:42 -08:00
jeffvli cab16b0893 add configuration for audio status fade 2025-12-02 16:59:36 -08:00
jeffvli c7bf0d8fb8 add visualizer to sidebar 2025-11-30 18:14:05 -08:00
Kendall Garner dd3d05c813 add web audio, replaygain, visualizer (#1289)
* add web audio, replaygain, visualizer

* remove volume multiplication in gain

---------

Co-authored-by: Jeff <42182408+jeffvli@users.noreply.github.com>
2025-11-30 03:25:12 -08:00
jeffvli cb3c0fe0d4 add favorites list 2025-11-30 01:12:29 -08:00
jeffvli c5112e5031 use consistent width on settings modal 2025-11-29 22:25:09 -08:00
jeffvli 801e2cdcf4 use % height for settings modal 2025-11-29 21:45:38 -08:00
jeffvli 108ba53be2 lint all files 2025-11-29 19:33:42 -08:00
jeffvli 96e9d54f4e add sidebar panel lyrics 2025-11-29 19:33:41 -08:00
jeffvli 6094a520e2 support custom smart playlist tags 2025-11-29 19:33:41 -08:00
jeffvli f448572e0a adjust settings modal sizing 2025-11-29 19:33:41 -08:00
jeffvli 9e1cdcc93e remove max width from list pages 2025-11-29 19:33:40 -08:00
jeffvli 10c9bec2cf disable fullscreen from settings modal 2025-11-29 19:33:39 -08:00
jeffvli ffa9d165f2 refactor shuffle all modal for styles and loading state 2025-11-29 19:33:39 -08:00
jeffvli 778d878349 add umami analytics integration 2025-11-29 19:33:39 -08:00
jeffvli 8ad5e26c2f move remote settings to window tab 2025-11-29 19:33:39 -08:00
jeffvli a2926ef47e reorganize and redesign settings 2025-11-29 19:33:38 -08:00
jeffvli 54a8c8c3a4 move settings page to modal instead of route 2025-11-29 19:33:37 -08:00
jeffvli c5c3c596a0 wrap all page routes in LibraryContainer 2025-11-29 19:33:37 -08:00
jeffvli 0dff13c43f crossfade player enhancements, reorganize settings 2025-11-29 19:33:35 -08:00
jeffvli 31d9ab048d fix container ref instances 2025-11-29 19:33:32 -08:00
jeffvli 8eb90ebf06 add new context menu implementation 2025-11-29 19:32:24 -08:00
jeffvli 9e508f0a02 fix crossfade settings to update player store 2025-11-29 19:30:47 -08:00
jeffvli 9fd4abec25 re-implement mpv with new player 2025-11-29 19:30:47 -08:00
jeffvli 550ba4f768 temporarily remove old player implementations to prevent broken app 2025-11-29 19:30:46 -08:00
jeffvli b685ec370a remove barrel files in renderer 2025-11-02 01:39:01 -07:00
Xudong Zhou 829c27a5e9 Prevent Media Session Handling on MPV (#1212)
* Remove MediaSession Handling on MPV

* Add playbackType to config.json for Main Thread Access

* Disabling settings without Hiding
2025-11-01 18:26:16 -07:00
jeffvli 3d66a15ae6 fix setting description for sidebar (collapsed) nav (#1218) 2025-10-31 17:28:36 -07:00
Xudong Zhou dd34888961 Fix Lyric Translation Not Resetting (#1208)
* Refactor lyrics translation and index handling

* Add auto translation toggle to lyric settings

* Add enableAutoTranslation setting to lyrics
2025-10-31 17:08:10 -07:00
Jake King a9f2b083fa Import / Export Feishin Settings (#1163)
* Create a shared DragDrop Zone

- This zone allows the dropping of files
- The zone allows validation by parent
- The zone allows customisation like icon shown

* Import Settings

- Ability to import settings from a JSON file
- Validation to ensure file compatibility
- Visualiser for viewing string differences

* i18n

- Moved all hardcoded values to be en localised

* Zod / Validation

This commit contains the code to move settings to using ZOD, the reason for this is so that we can validate the settings schema that is being imported.

This commit also adds various validation and transforms to ensure the settings being reimported match values we expect.

I also removed the original crude validation and replaced it with the new ZOD parser that will handle this for us.

Finally the "styles-settings" component will listen to any external content updates and update its value, the reasoning is the external import wouldn't update the existing value.


- Split Settings schema into two parts, schema that is validated on import and schema that is not
- Schemas are merged to make the full SettingsStateSchema

* Migrate during validation

- Migration is done as part of validation
- Updated the store version to v10 as there has been changes to the settings
- Migrate will now add the fields from v9 to v10


- the build was failing due to ids not being mapped to their enum values

---------

Co-authored-by: Jeff <42182408+jeffvli@users.noreply.github.com>
2025-10-28 20:54:13 -07:00
Tarulia a9af1e91d4 Disable Media Keys with MediaSession on Windows (#1207)
In f07393c8 we enabled the MediaSession API, which from Chromium's side
brings its own native way of handling Global Media Keys. However, it
turns out having this enabled seemingly conflicts with Windows 11's SMTC
implementation when we also bind the Media Keys using Electron's Global
Hotkeys API (Windows 10 is apparently fine, but now EOL).

Globally passing `HardwareMediaKeyHandling` to `disable-features` was
considered, however using the MediaSession API requires
`HardwareMediaKeyHandling` to be enabled, so this is not an option.

Instead, with MediaSession enabled we need to let Chromium handle the
Media Keys, while without MediaSession we bind our own Global Hot Keys
for users that have them enabled in the settings.

Co-authored-by: Xudong Zhou <godzmichael@outlook.com>
2025-10-21 21:48:09 -07:00
jeffvli b16e57710b hide mediasession setting for non-desktop 2025-10-13 12:06:03 -07:00
jeffvli 931e96b9d1 fix media session setting toggle for web 2025-10-13 12:00:42 -07:00
jeffvli c27b86d2b2 fix media session settings error on web 2025-10-13 11:49:34 -07:00
jeffvli 40e7eda882 hide mediasession setting on desktop non-windows 2025-10-12 15:53:16 -07:00
Mike Benz f07393c82a enable mediaSession api (#1040)
* enable mediaSession api
2025-10-12 14:59:30 -07:00
jeffvli 9f8d9a5b28 move update settings to advanced tab 2025-10-12 02:33:35 -07:00
jeffvli 4d12a4d6cb add release channel setting and implementation 2025-10-11 15:05:29 -07:00
Kendall Garner 452803fc72 support artist art as artist background 2025-10-10 18:26:28 -07:00
Kendall Garner 1cbb3e56bc add recently released to home page, refactor home route 2025-10-05 07:51:36 -07:00
Evelyn Gravett 1b278cb33a Feature: Add song and artist links to discord RPC (#1160)
* Add song and artist links to discord RPC

* use first artist name for artist link, full artist name for song link

* use first album artist for song link

* add discord rpc links setting

* simplify discord link settings

* fix setting description

* add musicbrainz links

* fix callback missing dependency

* use encodeURIComponent for lastfm links

Co-authored-by: Kendall Garner <17521368+kgarner7@users.noreply.github.com>

* split musicbrainz ids

* combine link settings

---------

Co-authored-by: Kendall Garner <17521368+kgarner7@users.noreply.github.com>
2025-10-04 03:27:59 +00:00
jeffvli 4a28e7230a add hotkey to navigate to home route (#1074) 2025-09-06 01:01:48 -07:00
jeffvli b00305cc86 add setting to prevent sleep on playback (#1072) 2025-09-06 00:56:06 -07:00
Kendall Garner 2cf0027419 only show translation when api key and provider are picked, and fix eslint vscode 2025-09-05 19:55:58 -07:00
jeffvli 878e0007d9 fix typo 2025-09-04 19:38:17 -07:00
mae taylor 76770de7d8 feat: discord presence display type 2025-08-01 16:43:34 +01:00
jeffvli 8b141d652c disable single attribute per line 2025-07-12 11:17:54 -07:00
Kendall Garner 92ed8e20c9 fix custom path 2025-07-12 07:21:34 -07:00
jeffvli e28dad3f84 add code to language select label 2025-07-08 00:11:37 -07:00
Kendall Garner e00aeb2b67 enable notify, simplify use-scrobble with types, remove unused check 2025-07-07 19:25:25 -07:00