diff options
author | B. Watson <urchlay@slackware.uk> | 2022-12-28 17:38:21 +0000 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2022-12-31 09:14:40 +0700 |
commit | 1f4cc25436f81d00a8d4451912902e11ed5e5961 (patch) | |
tree | f120668277e79c6ee2a8c6ffadba041c20c7a917 /audio/asap/asap-mplayer | |
parent | aa429a232eddb1c8f36630fb66a9ae173c3791ea (diff) |
audio/asap: Added (Atari 8-bit chiptune formats player/converter)
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'audio/asap/asap-mplayer')
-rw-r--r-- | audio/asap/asap-mplayer | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/audio/asap/asap-mplayer b/audio/asap/asap-mplayer new file mode 100644 index 0000000000..66421d6c44 --- /dev/null +++ b/audio/asap/asap-mplayer @@ -0,0 +1,49 @@ +#!/bin/bash + +# 20221224 bkw: wrapper script for asapconv, part of SBo asap build. + +# Standalone player for SAP/etc files. asap's standalone player +# (asap-sdl) works, but mplayer supports pause and seeking, which +# makes it a lot nicer to use. +# I wrote this for my own use. Might as well include it in the SBo +# package, in case someone else wants it. + +SELF="$( basename $0 )" + +if [ "$#" = 0 -o "$1" = "--help" ]; then + cat <<EOF +$SELF: play Atari chiptunes via mplayer. + +Usage: $SELF [asapconv-options] filename + +"filename" must be a file supported by asapconv; usually these are +*.sap files, but other formats are supported. Run "asapconv --help" +to see the list of supported file formats. + +Any options given will be passed as-is to asapconv. This can be used +e.g. to select a subsong via "-s 2" or such. + +$SELF is part of the SlackBuilds.org asap package, and is licensed +under the WTFPL. +EOF + + exit 0 +fi + +# asapconv can write to stdout, but mplayer can't seek when it's +# reading stdin, so use a file. The name has to end in .wav because +# asapconv insists on it. Tried using a FIFO, but in that case mplayer +# can't seek backwards. The wav file isn't all that big by modern +# standards (16MB for a 3-minute song), so it doesn't matter much. + +# mktemp(3) says the -u option is "unsafe", so don't run this as root. +WAV="$( mktemp -u -t $SELF.XXXXXXXXXX.wav )" + +asapconv -o "$WAV" "$@" || exit $? + +# don't know for sure asapconv will *always* exit non-zero on failure, +# so check for the file's existence. +if [ -f "$WAV" ]; then + mplayer "$WAV" + rm -f "$WAV" +fi |