Commit graph

37 commits

Author SHA1 Message Date
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