summaryrefslogtreecommitdiff
path: root/heutigeBachkantateAbspielen
blob: d3c7128c3ac4697b6fb146f4606e2dc3571ba887 (plain)
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/bash

LC_ALL=C

listenVerzeichnis="/home/musix/.moc/Listen"
bachVerzeichnis="/home/musix/.moc/_lokal_/Bach_2000"

nummern=$(
  "$(dirname "$(readlink -e "$0")")/heutigeBachkantaten"
)

if [ -z "${nummern}" ]; then
  >&2 echo 'heute keine Bachkantate'
  exit 1
fi

liste="_lokal_BWV${nummern}.m3u"

if ! [ -e "${listenVerzeichnis}/${liste}" ]; then
  {
    head -n1 "${listenVerzeichnis}/gut.m3u"
    for nummer in $(echo "${nummern}" | tr "," " ")
    do
      echo ${bachVerzeichnis}/Geistliche_Kantaten_BWV_*/*.mp3 | \
        tr " " "\n" | \
        grep -a "\(BWV\|Kantate_Nr\.\|Cantata\)\(_\|0*\)${nummer}_[^/]*\$" | \
        sort -n
    done
  } > "${listenVerzeichnis}/${liste}"
fi

sed '
  s#^/home/musix/\.moc/_lokal_/#/mnt/ftp/musik/#
' "${listenVerzeichnis}/${liste}" \
  > "${listenVerzeichnis}/BWV${nummern}.m3u"

nummer="$(
  ls -1 "${listenVerzeichnis}" | \
    grep -a "^_lokal_" | \
    grep -an "^${liste}\$" | \
    head -n1 | \
    cut -d : -f 1
  )"

playlist "${nummer}"