|
- #!/usr/bin/env sh
-
- # Description: Appends and optionally plays music in MOC
- #
- # Notes:
- # - if selection is available, plays it, else plays the current file or directory
- # - appends tracks and exits is MOC is running, else clears playlist and adds tracks
- #
- # Shell: POSIX compliant
- # Author: Arun Prakash Jana
-
- selection=${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection
- cmd=$(pgrep -x mocp 2>/dev/null)
- ret=$cmd
-
- if [ -s "$selection" ]; then
- # try selection first
- if [ -z "$ret" ]; then
- # mocp not running
- mocp -S
-
- # clear selection and play
- cat "$selection" | xargs -0 mocp -acp
- else
- # mocp running, just append
- cat "$selection" | xargs -0 mocp -a
- fi
- else
- # ensure a file/dir is passed
- if ! [ -z "$1" ]; then
- if [ -z "$ret" ]; then
- # mocp not running
- mocp -S
-
- # clear selection and play
- mocp -acp "$1"
- else
- # mocp running, just append
- mocp -a "$1"
- fi
- fi
- fi
-
- # uncomment the line below to show mocp interface after appending
- # mocp
|