from Hacker News

I made a show shuffler that shuffles shows in order

by MountainMan1312 on 3/30/25, 11:30 PM with 18 comments

  • by MountainMan1312 on 3/30/25, 11:30 PM

    I have a bunch of (legally) ripped shows. I use VLC to watch them. I like to make big playlists full of many shows like a TV channel.

    I hate the fact that when I shuffle, the shows end up in any old order. I could have S8E2 right before S1E1. Not cool.

    So I made one that shuffles shows but maintains episode order between them, and takes number of episodes in each show into account to get an even spread so the playlist feels the same throughout. If a show has a ton of episodes it will show up more. Less shows up less. All my testing resulted in the top of the list looking almost identical to the bottom of the list. Mission accomplished.

    It works by deploying symlinks to a playlist folder, all named 0, 1, 2, 3, etc. Slap all those symlinks in the VLC playlist and you got yourself a TV channel.

    I made it for me, so it's designed for a specific file layout. It could be easily adapted to fit other organization methods.

    I have plans to expand on it. I want to add functionality to detect multi-part episodes and keep them together, as well as some kind of "too many of one show in a row" feature.

  • by Larrikin on 4/1/25, 4:11 PM

    The ideal setup for this would be faux channels on Plex but I haven't found anything that is quite right.

    My ideal setup would be channels generated by shows in a random order like this. But I don't actually want my hard drives constantly spinning and Plex playing to nobody, which is what the channels seem to do. It would just track time and when you tune in, then it actually streams to you.

    Mix in some commercials from 20+ years ago between shows optionally.

  • by onionisafruit on 4/1/25, 2:04 PM

    I expected to see an April fools joke about a no-op shuffler but found something pretty neat instead. I don’t usually have enough unwatched shows that I would want to shuffle them, but if I did I would want them in order like this.