2018-04-08 16:31:53 -04:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# doc gen_image {
|
|
|
|
#
|
|
|
|
# DESCRIPTION
|
|
|
|
# gen_image - Generates image from list of lossless audio files
|
|
|
|
#
|
|
|
|
# USAGE
|
2018-07-12 16:15:32 -08:00
|
|
|
# gen_image </path/to/output/file> <file_1> [<file_2>] [<...>]
|
2018-04-08 16:31:53 -04:00
|
|
|
#
|
2018-05-18 13:39:39 -07:00
|
|
|
# DEPENDENCIES src/med_convert
|
|
|
|
#
|
2018-04-08 16:31:53 -04:00
|
|
|
# }
|
|
|
|
|
|
|
|
gen_image() {
|
2018-07-12 16:15:32 -08:00
|
|
|
local TARGET="${1}"; shift
|
|
|
|
local TARGET_DIR=$(dirname "${TARGET}")
|
2018-04-08 16:31:53 -04:00
|
|
|
local fileList=("${@}")
|
|
|
|
if [[ ${#fileList[@]} -eq 1 ]]; then
|
|
|
|
cat ${fileList[@]} > joined.flac
|
|
|
|
else
|
2018-05-18 18:41:46 -07:00
|
|
|
shntool join -O always ${fileList[@]} -d "${TARGET_DIR}" -o flac -q
|
2018-04-08 16:31:53 -04:00
|
|
|
if [[ $? -ne 0 ]]; then
|
|
|
|
med_convert wav ${fileList[@]}
|
2018-05-18 12:37:03 -07:00
|
|
|
[[ $? -ne 0 ]] && return 1
|
2018-04-08 16:31:53 -04:00
|
|
|
echo ${fileList[@]}
|
|
|
|
fileList=($(printf '%s\n' ${fileList[@]} | sed 's|flac|wav|'))
|
|
|
|
echo ${fileList[@]}
|
2018-05-18 18:41:46 -07:00
|
|
|
shntool join -O always ${fileList[@]} -d "${TARGET_DIR}" -o flac -q
|
2018-05-18 12:37:03 -07:00
|
|
|
[[ $? -ne 0 ]] && return 1
|
2018-08-22 08:11:22 -08:00
|
|
|
local WARN=true
|
2018-04-08 16:31:53 -04:00
|
|
|
fi
|
|
|
|
fi
|
2018-05-18 19:23:36 -07:00
|
|
|
metaflac --remove-all --dont-use-padding "${TARGET_DIR}/joined.flac"
|
2018-07-12 16:15:32 -08:00
|
|
|
mv "${TARGET_DIR}/joined.flac" "${TARGET}"
|
2018-08-22 08:11:22 -08:00
|
|
|
[[ ${WARN} == "true" ]] && return 2 || return 0
|
2018-04-08 16:31:53 -04:00
|
|
|
}
|
|
|
|
|