dots

my dotfiles
git clone https://git.awy.one/dots
Log | Files | Refs | Submodules | README | LICENSE

spec (634B) - View raw


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/sh
# Creates a spectrogram image from an audio file using FFmpeg
# and opens it with the preferred image viewer.

me=$(basename "$0")

if [ -z "$1" ]; then
  exit 1
fi

TEMP=$(mktemp -u -t "${me}" 2>/dev/null || mktemp -u -t "${me}"-XXXXXXXXXX)
TEMPIMG="${TEMP}.png"
TEMPTXT="${TEMP}.txt"

basename "$1" >"${TEMPTXT}"

ffmpeg -v quiet -y -i "$1" -filter_complex showspectrumpic=s=2560x1024,drawtext="expansion=none:textfile='${TEMPTXT}':x=(w-tw)/2:y=16:fontcolor='white':fontsize=20" "$TEMPIMG"
exitcode=$?
if [ $exitcode -ne 0 ]; then
  rm "$TEMPTXT"
  exit $exitcode
fi

dummy=$(xdg-open "$TEMPIMG")
rm "$TEMPIMG" "$TEMPTXT"