#!/bin/bash # doc gen_cue { # # DESCRIPTION # gen_cue - Generates cue file from print_meta function # # USAGE # gen_cue [] [<...>] # # DEPENDENCIES src/print_cue_breaklist # # } 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 breakList=($(print_cue_breaklist ${fileList[@]})) [[ ! -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}\"" 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 }