Commit Graph

41 Commits

Author SHA1 Message Date
Ryan Kupka 26eea7422d fix: recover mpv playback after the OS resumes from sleep (#2172)
mpv/ffmpeg had no network-level timeout or reconnect options, so a
network stream left open across a system sleep would block forever on
the now-dead TCP connection instead of failing or reconnecting. Since
Node-MPV's IPC commands only resolve when mpv replies, a wedged mpv
process also made quit()/restart hang indefinitely, so the only way
out was to kill the whole app.

- Add --network-timeout and ffmpeg reconnect options to mpv's default
  parameters so a stalled stream fails fast instead of hanging.
- Make the quit() helper resilient to an unresponsive mpv process by
  racing it against a timeout and force-killing as a fallback.
- Listen for Electron's powerMonitor 'resume' event and tell the
  renderer to reload mpv, so playback recovers automatically instead
  of requiring a manual app restart.
2026-06-26 19:18:27 -07:00
keebsxd 2107d1c928 Added Graphic EQ and Compressor (#1972)
* Adding Graphic Eq and Compressor with presets
2026-06-16 00:38:40 -07:00
jeffvli 755f0aab9d fix mediasession breaking on player repeat (#1472)
- switch to single web player instance for loop instead of dual-player
- this fixes the issue, but does have a breaking change if using the crossfade player
2026-05-22 01:32:22 -07:00
jeffvli 3b2aab74ac enforce web player seek by seconds when less than 1 (#1993) 2026-05-01 21:12:20 -07:00
jeffvli f3a6027e6d fix mpv progress interval still running after queue ends 2026-04-03 18:58:58 -07:00
jeffvli a30b1ec90b add OS transcoding extension 2026-03-31 20:45:22 -07:00
jeffvli ee04878580 set mpv audio device to auto if undefined 2026-03-15 20:17:59 -07:00
jeffvli d318e6d341 ensure no concurrent playback on non-transition state on web player (#1829) 2026-03-15 18:00:51 -07:00
Kendall Garner 81cd0722b1 fix(mpv): replace mpv queue when restoring queue 2026-03-11 21:42:16 -07:00
jeffvli 6ef9efc8bf add 10s retry for playback on network err (#1779) 2026-03-04 22:32:33 -08:00
Kendall Garner 0620b096db fix(mpv): only check player time when there is an item in the track (#1639) 2026-02-02 20:49:34 -08:00
jeffvli ad83e95a46 decouple audio device setting property depending on player type (#1617) 2026-01-30 17:55:25 -08:00
jeffvli ef5daad1dd add more dynamic imports to optimize bundle 2026-01-17 07:32:16 -08:00
jeffvli 431ff76e19 clean up old logs 2026-01-16 11:05:33 -08:00
jeffvli 41054ed819 add audio device selection for mpv 2026-01-14 19:12:36 -08:00
jeffvli 0596faf51e readd mpv reload handler 2026-01-04 01:01:01 -08:00
jeffvli bc898d6097 properly set mpv volume on init 2025-12-15 01:01:00 -08:00
Jeff 7ed847fecb Add internet radio (#1384) 2025-12-13 21:26:33 -08:00
jeffvli a546a4d57b handle player stop on queue clear 2025-12-13 00:15:20 -08:00
jeffvli 29a5fa3f74 fix mpv autoNext and next song replacement behavior 2025-12-12 18:25:06 -08:00
jeffvli 4b66c86fd6 prevent mpv from reinitializing on volume, speed, and transcoding 2025-12-11 21:39:49 -08:00
jeffvli a4dbeff5ea fix missing emitters from onPlayerPlay 2025-12-11 21:00:00 -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 a02fc28785 fix preserve pitch on player start, add to player config (#1349) 2025-12-09 17:57:56 -08:00
Kendall Garner bc5d0cf994 fix(player): restore preserving html audio pitch 2025-12-02 07:52:21 -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 d66b1c1bbb add error handler to web player 2025-11-29 19:33:39 -08:00
jeffvli 3a2c5f7b11 handle cleaner switch between mpv/web 2025-11-29 19:33:39 -08:00
jeffvli 42e90734b2 random cleanup 2025-11-29 19:33:37 -08:00
jeffvli 7b9007c699 add waveform playerbar slider 2025-11-29 19:33:33 -08:00
jeffvli 05deafdffb disable bugged react-hooks rules 2025-11-29 19:33:33 -08:00
jeffvli a78d917fd2 move timestamp update to separate effect 2025-11-29 19:33:32 -08:00
jeffvli 1ab9012446 fix mpv queue initialization running multiple times 2025-11-29 19:32:23 -08:00
jeffvli d25b62f7d9 set queue on mpv initialization if available 2025-11-29 19:32:23 -08:00
jeffvli a566509f5b remove preexisting save/restore playqueue handlers 2025-11-29 19:32:17 -08:00
jeffvli 070bf7c0f9 move mpv initialization into player implementation 2025-11-29 19:30:47 -08:00
jeffvli 7224255775 re-add conditional render to ReactPlayer components which causes crossfade error 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 7717bff367 re-implement playerbar controls 2025-11-29 19:30:47 -08:00
jeffvli e02a518583 reorganize 2025-11-29 19:30:47 -08:00