Simple mpv script to easily customize random playlist song selection.
Every file initially has a 'rating' of 1
. Using the upvote/downvote keybindings, the rating of the currently playing file can be multiplied by 1.1 or 0.9. In RBS mode (activated by another keybinding), a new file is randomly chosen (chance [rating]/[files in playlist]) after playback of any file is completed.
Place ratings-based-shuffle.lua
in your ~/.config/mpv/scripts
.
Copy ratings-based-shuffle.conf
into ~/.config/mpv/script-opts
and adjust the option values: set directory
to the location of the files you want to play. Ratings will be saved in the file specified by ratings_file
. Example:
directory=/home/username/Music/BigPlaylist
ratings_file=/home/username/.config/mpv/rbs-ratings.txt
Set up the keybindings in your input.conf
(usually located in ~/.config/mpv
):
Alt+r script-message RBS-init
Alt+UP script-message RBS-upvote
Alt+DOWN script-message RBS-downvote
In the ratings_file
, files and associated ratings are stored:
{
"/home/username/Music/BigPlaylist/Topic/Directory/Song Name.mp3":1.100000,
"/home/username/Music/BigPlaylist/Another topic/LoremIpsum.mp3":0.810000
}
Add a mode where songs only repeat after playing ~75% of all available files (has to be persisted across mpv runs).