All Projects → jonniek → Mpv Playlistmanager

jonniek / Mpv Playlistmanager

Licence: unlicense
Mpv lua script to create and manage playlists

Programming Languages

lua
6591 projects
script
160 projects

Projects that are alternatives of or similar to Mpv Playlistmanager

mpv-iptv
iptv script for mpv
Stars: ✭ 64 (-57.33%)
Mutual labels:  playlist, mpv
mpv-scripts
A collection of scripts for mpv player
Stars: ✭ 138 (-8%)
Mutual labels:  playlist, mpv
Play.cash
🎶 Music lovers, rejoice.
Stars: ✭ 89 (-40.67%)
Mutual labels:  playlist
Beijing Iptv
最好用的北京联通IPTV频道列表。https://bjiptv.tk
Stars: ✭ 125 (-16.67%)
Mutual labels:  playlist
Intersubs
Interactive subtitles for mpv. Instantly translate selected word/sentence.
Stars: ✭ 111 (-26%)
Mutual labels:  mpv
Node Ytpl
Anonymous YouTube playlist resolver.
Stars: ✭ 92 (-38.67%)
Mutual labels:  playlist
Plex Mpv Shim
Cast media from Plex Mobile and Web apps to MPV. (Unofficial)
Stars: ✭ 120 (-20%)
Mutual labels:  mpv
Playlistcore
Media Playlist Service With Notification and Remote View Support
Stars: ✭ 77 (-48.67%)
Mutual labels:  playlist
Musicplayer
A minimal music player built on electron.
Stars: ✭ 145 (-3.33%)
Mutual labels:  playlist
Spotify Playlist Archive
Daily snapshots of public Spotify playlists
Stars: ✭ 111 (-26%)
Mutual labels:  playlist
Favesound Redux
🎶 A SoundCloud Client in React + Redux running in production. Live Demo and Source Code to explore React + Redux as a beginner.
Stars: ✭ 1,586 (+957.33%)
Mutual labels:  playlist
Poddycast
Podcast app made with Electron, lots of ❤️ and ☕️
Stars: ✭ 111 (-26%)
Mutual labels:  playlist
Ytcc
Command line tool to keep track of your favorite playlists on YouTube and many other places.
Stars: ✭ 92 (-38.67%)
Mutual labels:  mpv
Alltomp3
Node module to download and convert in MP3 with tags an online video
Stars: ✭ 120 (-20%)
Mutual labels:  playlist
Ngx Youtube Player
YouTube player app built with Angular 7
Stars: ✭ 92 (-38.67%)
Mutual labels:  playlist
Ffplayout Engine
python and ffmpeg based playout
Stars: ✭ 128 (-14.67%)
Mutual labels:  playlist
Mpv Gallery View
Gallery-view scripts for mpv
Stars: ✭ 85 (-43.33%)
Mutual labels:  mpv
Mpvc
An mpc-like control interface for mpv.
Stars: ✭ 94 (-37.33%)
Mutual labels:  mpv
Dotfiles
If there is a shell, there is a way!
Stars: ✭ 112 (-25.33%)
Mutual labels:  mpv
Ff2mpv
A Firefox add-on for playing URLs in mpv.
Stars: ✭ 149 (-0.67%)
Mutual labels:  mpv

Mpv-Playlistmanager

Mpv lua script to create and manage playlists.

This script allows you to see and interact with your playlist in an intuitive way. The key features are removing, reordering and playing files. Additional features include resolving url titles, parsing filenames according to patterns and creating/saving/shuffling/sorting playlists.


Default visual cues:
○ default file
▷ playing file
● hovered file(for removing, playing and moving)
▶ playing and hovered file
➔ selected file(file is being moved)
➤ playing and selected file
It will make sense once you try the script!

Installation

Copy the playlistmanager.lua file to your mpv scripts directory which is usually ~/.config/mpv/scripts/ or %APPDATA%/mpv/scripts/. See https://mpv.io/manual/master/#files and https://mpv.io/manual/master/#script-location for more detailed information.

Settings

You can modify behaviour of the script in the settings variable in the lua file or a playlistmanager.conf lua-setting file inscript-opts directory. Note: the conf file will override any changed setting in the lua file. There is a playlistmanager.conf file in this repo with the default values of the script. You can pass settings from the command line on startup such as mpv --idle=once --script-opts=playlistmanager-loadfiles_on_start=yes. You can also change settings during runtime with a keybind or command like KEY change-list script-opts append playlistmanager-showamount=10.

Url title resolving

If you want playlistmanager to fetch and display titles of all playlist urls(mpv defaults to current file only) you will need to use resolve_titles = yes(default is no) setting. Title resolving requires youtube-dl to be in PATH to work.

Keybinds

Static keybindings

  • sortplaylist(CTRL+p)

    • Sorts the current playlist with stripped values from filename(not media title, no paths, usercreated strips applied). To start playlist from start you can use a script message KEY script-message sortplaylist startover. Settings involving sort include alphanumeric sort(nonpadded numbers in order, case insensitivity), sort on mpv start and sort on file added to playlist.
  • shuffleplaylist(CTRL+P)

    • Shuffles the current playlist. Stops currently playing file and starts playlist from start of new playlist unlike native shuffle that doesn't shuffle current file.
  • reverseplaylist(CTRL+R)

    • Reverses the current playlist. Does not stop playing the current file.
  • loadfiles(P)

    • Attempts to load all files from the currently playing files directory to the playlist keeping the order. Option to run at startup if 0 or 1 files are opened, with 0 opens files from working directory. On startup with no file requires --idle=yes or --idle=once.
  • saveplaylist(p)

    • Saves the current playlist to m3u file. Saves to mpv/playlists/ by default.
  • showplaylist(SHIFT+ENTER)

    • Displays the current playlist and loads the dynamic keybinds for navigating

    If you want to use the above controls from a "gui" rather than keybinds, then you can check out mpv-menu and use the menu.json found in this repository.

Dynamic keybindings

  • moveup(UP)
    • Moves the cursor up in playlist, if at first entry loops to end of playlist.
  • movedown(DOWN)
    • Moves the cursor down in playlist, if at last entry loops to start of playlist.
  • removefile(Backspace)
    • Removes the file currently selected with the cursor from the playlist
  • playfile(Enter)
    • Opens the file currently selected with the cursor, if cursor on playing file, open the next file
  • selectfile(RIGHT or LEFT)
    • Selects or unselects the file under the cursor
    • When moving the cursor the selected file will follow, allowing reordering of the playlist
  • unselectfile(no default bind)
    • Unselects the file under the cursor if it was selected
  • closeplaylist(ESC)
    • closes the playlist if it is open

Dynamic keybinds will only work when playlist is visible. There is a setting toggle to change them to static ones. You can override keybindings by their names above by adding the following in your input.conf SPACE script-binding showplaylist. However, Dynamic keybindings should be rebound in the settings to avoid overriding other conflicting keybinds and to support multiple keys per bind.

There is also a few script messages you can send to control the script:
KEY script-message playlistmanager command value value2

List of commands, values and their effects:

Command Value Value2 Effect
show playlist - / duration / toggle show for default duration, show for given seconds, toggle playlist visibility
show filename - / seconds shows stripped filename for default or set seconds
sort startover - Sorts the playlist, any value will start playlist from start on sort
shuffle - - Shuffles the playlist
reverse - - Reverses the playlist
loadfiles - / path - Loads files from playing files dir(default), or specified path
save - - Saves the playlist
playlist-next - - Plays next item in playlist (position of current file saved)
playlist-prev - - Plays previous item in playlist (position of current file saved)

examples:
RIGHT playlist-next ; script-message playlistmanager show playlist Shows the playlist after playlist-next
KEY show-text "Shuffled playlist" ; script-message playlistmanager shuffle Text message on shuffle

My other mpv scripts

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].