Commit Graph

44 Commits

Author SHA1 Message Date
jeffvli 578083d994 fix mpv autoNext and next song replacement behavior (part 2) 2025-12-12 18:44:14 -08:00
jeffvli 61e70342a4 fix mpv player queue behavior to handle gapless playback 2025-12-11 20:36:47 -08:00
Jeff eeb0a786fd potential fix for mpv clear (#1360) 2025-12-10 01:49:45 -08:00
jeffvli 816df56ef1 attempt to improve mpv exit handlers (#1348) 2025-12-09 18:07:54 -08:00
jeffvli 4d626377ef fix mediasession controls 2025-12-04 01:31:57 -08:00
jeffvli 550ba4f768 temporarily remove old player implementations to prevent broken app 2025-11-29 19:30:46 -08: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
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
Kendall Garner 63e3b97bca log -> error, remove unnecesary logs 2025-06-26 21:17:59 -07:00
jeffvli 930165d006 fix all imports for new structure 2025-05-26 17:20:02 -07:00
jeffvli 1cf587bc8f restructure files onto electron-vite boilerplate 2025-05-26 17:18:55 -07:00
Kendall Garner 528bef01f0 provide transcoding support 2024-09-01 08:26:30 -07:00
Kendall Garner e68847f50a slightly better error handling 2024-08-27 21:27:49 -07:00
Kendall Garner d57b4b4b68 [bugfix]: properly clean up MPV on quit, use pid for socket (#627)
* fix cleanup

* don't delete file if windows
2024-07-03 01:36:01 -07:00
Kendall Garner 0d03b66fe5 prevent change of media state with empty queue 2024-04-20 22:01:29 -07:00
Kendall Garner ebd2f07447 show macOS warning one, don't show artist link if invalid 2024-04-17 22:44:35 -07:00
Kendall Garner 9339c08777 [bugfix]: handle unclean MPV exit with existing content 2024-04-10 21:18:47 -07:00
jeffvli 9a43ea0e4a Attempt to fix player unresponsive on first start 2024-02-16 22:12:28 -08:00
Kendall Garner ce9c03b0e1 [bugfix]: Macos trusted accessibility (#512)
* [bugfix]: macos trusted accessibility

* update readme
2024-02-17 03:55:57 +00:00
jeffvli 9b0c9ba3ac Fallback to web player if mpv fails to run 2024-02-13 02:05:59 -08:00
jeffvli fb08502e51 Add mpv path reload and clear functionality 2024-02-12 21:21:17 -08:00
jeffvli dcd130fb6c Refactor mpv log to allow for custom toast 2024-02-12 20:50:09 -08:00
jeffvli 60105103f3 Improve mpv error logging 2024-02-12 20:11:55 -08:00
jeffvli 69f82a9427 Add logger functions and move player functions to feature 2024-02-12 13:58:50 -08:00
jeffvli ca39409cc3 Respect order of set-queue function (fix race condition) 2023-10-07 16:46:23 -07:00
jeffvli 5e1059870c Fix second song on startup not playing 2023-10-05 21:54:11 -07:00
jeffvli d75ea94161 Fix first launch mpv playback (#210) 2023-09-15 03:08:17 -07:00
Kendall Garner c9dbf9b5be Add remote control (#164)
* draft add remotes

* add favorite, rating

* add basic auth
2023-07-23 05:23:18 -07:00
jeffvli 30e52ebb54 Lint all files 2023-07-01 19:14:12 -07:00
jeffvli c3c1f4cc5f Refactor mpv initialization/cleanup
- Don't re-initialize the player on re-render
- Fixes the player potentially crashing on hot reload
2023-06-06 10:48:47 -07:00
Kendall Garner 85d2576bdc Improved lyric syncing, fetch
- uses a somewhat more sane way to parse lyrics and teardown timeouts
- adds 'seeked' to setCurrentTime to make detecting seeks in lyric much easier
- adds ability to fetch lyrics from genius/netease (desktop only)
2023-06-04 16:46:05 -07:00
jeffvli 4f21c26e5d Fix double play trigger (maybe) 2023-05-21 19:44:32 -07:00
jeffvli fed96d1fce Additional player adjustments
- Set volume on play
- Explicitly pause/play on set queue
2023-05-21 03:08:25 -07:00
Kendall Garner 106fc90c4a Add ability to save/restore queue (#111)
* add ability to save/restore play queue

* Add restoreQueue action

* Add optional pause param on setQueue

---------

Co-authored-by: jeffvli <jeffvictorli@gmail.com>
2023-05-21 02:29:58 -07:00
jeffvli 0320fe6dcc Add mpv load error notification
- Add retry limit on error
2023-05-20 20:19:41 -07:00
jeffvli 6a01d44600 Clean up mpv startup 2023-05-20 19:56:17 -07:00
jeffvli 77bfb916ba MPV player enhancements
- start the player from the renderer
- dynamically modify settings without restart
2023-04-02 21:41:32 -07:00
jeffvli cf00992d71 Fix song repeating when disabled (#55) 2023-03-29 18:17:56 -07:00
jeffvli 275d68ec5b Fix mpv stopping after first playback
- On startup, the first time a song is played, mpv will stop after playback
- This adds a loop to the queue handler to automatically retry when failing to add to the queue
2023-03-09 12:45:13 -08:00
jeffvli 60219c2522 Minor player adjustments 2023-02-09 00:36:55 -08:00
Jeff 23f84d68e8 Add MPRIS support (#25)
* Stop mpv on app close for linux/macOS (#20)

* Add initial MPRIS support

* Fix mpv path check
2023-02-08 23:57:06 -08:00
jeffvli 4614358163 Force quit mpv on app close (#4) 2022-12-25 00:56:16 -08:00
jeffvli 6685bfe9d3 Use relative imports on main 2022-12-21 01:28:59 -08:00
jeffvli e87c814068 Add files 2022-12-19 17:44:40 -08:00