I'm using the Groove music player on Windows 10. I have a lot of songs; the main playlist has 5500 entries. I'd noticed that the shuffle option produced a more restricted set of music than I expected.
It seems this is a known feature - see this post: playlist limit. I considered reverting to Windows Media Player, but one nice feature of Groove is that the controls are presented on the lock screen. I figured I could perform my own shuffle of the playlist.
I run Debian under Windows System for Linux (WSL). It turns out there is a utility to do exactly what is required, shuf. One shell script, and a batch file to invoke it from Windows, later I had my musical horizons expanded.
A question remains; does Groove consider the playlist finished when it reaches the thousandth song? Maybe I won't live long enough to find out.
Here's the shell script and matching batch file:
#!/bin/sh # # Shuffle +jazz+ playlist, as Groove can only shuffle up to 1000 songs. # Strip out #EXTINF lines prior to shuffle, or Groove is not happy. # PL_DIR=/mnt/c/Users/mark/Music/playlists grep -v "^#" ${PL_DIR}/+jazz+.m3u|shuf >${PL_DIR}/shuffle.m3u
REM Assumes shuffle.sh is in the PATH and executable start C:\Windows\System32\wsl.exe -d debian "shuffle.sh"