cuetter.sh

cuetter.sh — это скрипт, написанный на bash, и предназначенный для преобразования в cue-формат файлов со списком треков из больших миксов. Cue-файлы позволяют видеть в проигрывателе (например, amaroK’е или foobar’e) какой именно трек в миксе сейчас играет. Более подробную информацию о cue sheet’ах можно найти на википедии.

Чтобы скрипт создал правильный cue-файл, записи в треклистинге должны иметь определённый формат:
ВРЕМЯ — НОМЕР ТРЕКА — ИСПОЛНИТЕЛЬ — НАЗВАНИЕ ТРЕКА

ВРЕМЯ имеет формат ММ:СС, например 05:37
НОМЕР ТРЕКА — двузначное число, типа 01, 02 и т.д.

Название файла так же несёт определённый смысл:
ИСПОЛНИТЕЛЬ — НАЗВАНИЕ МИКСА.txt

запускается и работает скрипт очень просто:

$ cuetter "Arkon - Live @ Showcase.txt"

В результате выполнения скрипта в текущем каталоге появится файл «Arkon — Live @ Showcase.cue»
Если автором всех треков в миксе является один исполнитель, тогда из полученного cue-файла имеет смысл удалить все записи PERFORMER «Arkon» самой первой (в первой строке). Если же исполнители разные, то нужно удалить только самую первую строку PERFORMER «Arkon», иначе foobar будет ругаться на неверный формат файла (amaroK’у все эти заморочки пополам).

Ну и собственно, текст скрипта:

#!/bin/sh

FILENAME=`basename "$1" .txt`

echo $FILENAME | awk \
'BEGIN  { FS = " - " }
        {
#        print "PERFORMER \""$1"\""
        print "TITLE \""$1" - "$2"\""
        print "FILE \""$1" - "$2".mp3\" MP3"
        }' > $FILENAME.cue

awk \
'BEGIN  { FS = " - " }
        {
        print "  TRACK "$2" AUDIO"
        print "    TITLE \""$4"\""
        print "    PERFORMER \""$3"\""
        print "    INDEX 01 "$1":00"
        }' "$1" >> $FILENAME.cue

Оставить комментарий