#### ------- Mpv-Playlistmanager configuration ------- ####

#navigation keybindings force override only while playlist is visible
#if "no" then you can display the playlist by any of the navigation keys
dynamic_binds=yes

# To bind multiple keys separate them by a space

# main key to show playlist
key_showplaylist=SHIFT+ENTER

# display playlist while key is held down
key_peek_at_playlist=

# dynamic keys
key_moveup=UP
key_movedown=DOWN
key_movepageup=PGUP
key_movepagedown=PGDWN
key_movebegin=HOME
key_moveend=END
key_selectfile=RIGHT LEFT
key_unselectfile=
key_playfile=ENTER
key_removefile=BS
key_closeplaylist=ESC SHIFT+ENTER

# extra functionality keys
key_sortplaylist=
key_shuffleplaylist=
key_reverseplaylist=
key_loadfiles=
key_saveplaylist=

#json format for replacing, check .lua for explanation
#example json=[{"ext":{"all":true},"rules":[{"_":" "}]},{"ext":{"mp4":true,"mkv":true},"rules":[{"^(.+)%..+$":"%1"},{"%s*[%[%(].-[%]%)]%s*":""},{"(%w)%.(%w)":"%1 %2"}]},{"protocol":{"http":true,"https":true},"rules":[{"^%a+://w*%.?":""}]}]
#empty for no replace
filename_replace=[{"protocol":{"all":true},"rules":[{"%%(%x%x)":"hex_to_char"}]}]

#filetypes to search from directory
loadfiles_filetypes=["jpg","jpeg","png","tif","tiff","gif","webp","svg","bmp","mp3","wav","ogm","flac","m4a","wma","ogg","opus","mkv","avi","mp4","ogv","webm","rmvb","flv","wmv","mpeg","mpg","m4v","3gp"]

#loadfiles at startup if 1 or more items in playlist
loadfiles_on_start=no
#loadfiles from working directory on idle startup
loadfiles_on_idle_start=no
#always put loaded files after currently playing file
loadfiles_always_append=no

#sort playlist when any files are added to playlist after initial load
sortplaylist_on_file_add=no

#default sorting method, must be one of: "name-asc", "name-desc", "date-asc", "date-desc", "size-asc", "size-desc".
default_sort=name-asc

#linux | windows | auto
system=auto

#Use ~ for home directory. Leave as empty to use mpv/playlists
playlist_savepath=

#constant filename to save playlist as. Note that it will override existing playlist. Leave empty for generated name.
playlist_save_filename=

#save playlist automatically after current file was unloaded
save_playlist_on_file_end=no

#show file title every time a new file is loaded
show_title_on_file_load=no
#show playlist every time a new file is loaded
show_playlist_on_file_load=no
#close playlist when selecting file to play
close_playlist_on_playfile=no

#sync cursor when file is loaded from outside reasons(file-ending, playlist-next shortcut etc.)
sync_cursor_on_load=yes

#allow the playlist cursor to loop from end to start and vice versa
loop_cursor=yes

#allow playlistmanager to write watch later config when navigating between files
allow_write_watch_later_config=yes

#reset cursor navigation when closing or opening playlist
reset_cursor_on_close=yes
reset_cursor_on_open=yes

#prefer to display titles for following files: "all", "url", "none". Sorting still uses filename
prefer_titles=url

#youtube-dl executable for title resolving if enabled, probably "youtube-dl" or "yt-dlp", can be absolute path
youtube_dl_executable=yt-dlp

#call youtube-dl to resolve the titles of urls in the playlist
#if yes, prefer_titles must be set to "url" or "all" for this to work
resolve_url_titles=no

#call ffprobe to resolve the titles of local files in the playlist (if they exist in the metadata)
#if yes, prefer_titles must be set to "all" for this to work
resolve_local_titles=no

#timeout in seconds for url title resolving
resolve_title_timeout=15

#how many url titles can be resolved at a time. Higher number might lead to stutters.
concurrent_title_resolve_limit=10

#osd timeout on inactivity in seconds, use 0 for no timeout
playlist_display_timeout=0

#when peeking at playlist, show playlist at the very least for display timeout
peek_respect_display_timeout=no

#the maximum amount of lines playlist will render. -1 will automatically calculate lines.
showamount=-1

#playlist ass style overrides
#example {\q2\an7\fnUbuntu\fs10\b0\bord1} equals: line-wrap=no, align=top left, font=Ubuntu, size=10, bold=no, border=1
#read http://docs.aegisub.org/3.2/ASS_Tags/ for reference of tags
#undeclared tags will use default osd settings
#these styles will be used for the whole playlist
#\q2 style is recommended since filename wrapping may lead to unexpected rendering
#\an7 style is recommended to align to top left, otherwise osd-align-x/y is respected
style_ass_tags={\q2\an7}
#paddings for left right and top bottom
text_padding_x=30
text_padding_y=60

#screen dim when menu is open 0.0 - 1.0 (0 is no dim, 1 is black)
curtain_opacity=0.0

#set title of window with stripped name
set_title_stripped=no
title_prefix=
title_suffix= - mpv

#slice long filenames, and how many chars to show
slice_longfilenames=no
slice_longfilenames_amount=70

#Playing header. One newline will be added after the string.
#%mediatitle or %filename = title or name of playing file
#%pos = position of playing file
#%cursor = position of navigation
#%plen = playlist lenght
#%N = newline
playlist_header=[%cursor/%plen]

#Playlist file templates
#%pos = position of file with leading zeros
#%name = title or name of file
#%N = newline
#you can also use the ass tags mentioned above. For example:
#  selected_file={\c&HFF00FF&}➔ %name   | to add a color for selected file. However, if you
#  use ass tags you need to reset them for every line (see https://github.com/jonniek/mpv-playlistmanager/issues/20)
normal_file=○ %name
hovered_file=● %name
selected_file=➔ %name
playing_file=▷ %name
playing_hovered_file=▶ %name
playing_selected_file=➤ %name

#what to show when playlist is truncated
playlist_sliced_prefix=...
playlist_sliced_suffix=...

#output visual feedback to OSD when saving, shuffling, reversing playlists
display_osd_feedback=yes

