ptgdp/ptgdp-rofi

33 lines
887 B
Bash
Executable File

#! /bin/bash
#
# ptgdp-rofi
# Uses rofi to select a ptgdp playlist in ~/Music/Playlists
# Copyright (C) 2019 Vintage Salt <rehashedsalt@cock.li>
#
# Distributed under terms of the MIT license.
#
set -e
_xdguserdirs="${XDG_CONFIG_HOME:-$HOME/.config}/user-dirs.dirs"
[ -z "$XDG_MUSIC_DIR" ] && [ -r "$_xdguserdirs" ] && source "$_xdguserdirs"
unset _xdguserdirs
playlistdir="${XDG_MUSIC_DIR:-$HOME/Music}/Playlists"
files=$(find "$playlistdir" -type f -name \*.gdp)
if [ -n "$files" ]; then
playlists=""
while read file; do
filebase="$(basename -- "$file")"
filebase="${filebase%.gdp}"
[ -n "$playlists" ] && playlists+=$'\n'
playlists+="$filebase"
done <<< "$files"
else
echo "No playlists found"
exit 1
fi
prompt="ptgdp"
choice="$(rofi -dmenu -i -no-custom -p "$prompt" <<< "$playlists" 2>/dev/null)"
[ -z "$choice" ] && exit 2
exec ptgdp -p "$playlistdir"/"$choice".gdp