2018-04-08 20:31:53 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# doc gen_cue {
|
|
|
|
#
|
|
|
|
# DESCRIPTION
|
|
|
|
# gen_cue - Generates cue file from print_meta function
|
|
|
|
#
|
|
|
|
# USAGE
|
|
|
|
# gen_cue <output from file_name> <output from print_meta_tracks> <file_1> [<file_2>] [<...>]
|
|
|
|
#
|
2018-05-18 20:54:43 +00:00
|
|
|
# DEPENDENCIES src/print_cue_breaklist
|
2018-05-18 20:39:39 +00:00
|
|
|
#
|
2018-04-08 20:31:53 +00:00
|
|
|
# }
|
|
|
|
|
|
|
|
gen_cue() {
|
|
|
|
local FILE_NAME="${1}"
|
|
|
|
local METADATA="${2}"; shift 2
|
|
|
|
local fileList=("${@}")
|
|
|
|
|
|
|
|
# Metadata Parsing
|
|
|
|
metadataList=($(echo ${METADATA} | sed 's|;| |g'))
|
|
|
|
for metadata in ${metadataList[@]}; do
|
|
|
|
eval local ${metadata}
|
|
|
|
done
|
|
|
|
|
|
|
|
for file in ${fileList[@]}; do
|
|
|
|
local trackList=(${trackList[@]} $(echo ${file} | sed 's|.*/||' | awk 'BEGIN{ FS="-"; OFS=":"}{$1=""}{print $0}' | sed 's|: ||'))
|
|
|
|
done
|
|
|
|
|
|
|
|
# Generates breaklist
|
2018-05-18 20:54:43 +00:00
|
|
|
breakList=($(print_cue_breaklist ${fileList[@]}))
|
2018-04-08 20:31:53 +00:00
|
|
|
|
2018-05-18 19:37:03 +00:00
|
|
|
[[ ! -z "${DATE+x}" ]] && echo "REM DATE ${DATE}"
|
|
|
|
[[ ! -z "${COMPOSER+x}" ]] && echo "PERFORMER \"${COMPOSER}\""
|
|
|
|
[[ ! -z "${CONDUCTOR+x}" ]] && echo "REM CONDUCTOR \"${CONDUCTOR}\""
|
|
|
|
[[ ! -z "${ORCHESTRA+x}" ]] && echo "REM ORCHESTRA \"${ORCHESTRA}\""
|
|
|
|
[[ ! -z "${ARTIST+x}" ]] && echo "PERFORMER \"${ARTIST}\""
|
|
|
|
[[ ! -z "${ALBUM+x}" ]] && echo "TITLE \"${ALBUM}\""
|
2018-04-08 20:31:53 +00:00
|
|
|
echo "FILE \"${FILE_NAME}.flac\" WAVE"
|
|
|
|
local COUNT=0
|
|
|
|
while [[ ${COUNT} -lt ${#breakList[@]} ]]; do
|
|
|
|
[[ ${COUNT} -le 8 ]] && local TRACK_NO="0$(( ${COUNT} + 1 ))" || local TRACK_NO="$(( ${COUNT} + 1 ))"
|
|
|
|
echo " TRACK ${TRACK_NO} AUDIO"
|
|
|
|
echo " TITLE \"${trackList[${COUNT}]}\""
|
|
|
|
echo " INDEX 01 ${breakList[${COUNT}]}"
|
|
|
|
local COUNT=$(( ${COUNT} + 1 ))
|
|
|
|
done
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|