2018-05-18 12:37:03 -07:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# doc import_dir {
|
|
|
|
#
|
|
|
|
# DESCRIPTION
|
|
|
|
# import_dir - Imports consolidated tracks into git repository
|
|
|
|
#
|
|
|
|
# USAGE
|
|
|
|
# import_dir </path/to/git/dir> </path/to/track/dir>
|
|
|
|
#
|
2018-05-18 16:37:07 -07:00
|
|
|
# DEPENDENCIES src/gen_mtag
|
|
|
|
#
|
2018-05-18 12:37:03 -07:00
|
|
|
# }
|
|
|
|
|
|
|
|
import_dir() {
|
|
|
|
local GIT_DIR="${1}"
|
|
|
|
local TRACK_DIR="${2}"
|
2018-05-18 19:12:08 -07:00
|
|
|
local SOURCE=FLAC
|
2018-05-18 12:37:03 -07:00
|
|
|
|
2018-05-18 18:41:18 -07:00
|
|
|
local trackList=($(find ${TRACK_DIR} -maxdepth 1 -name '*.flac' -printf '%p\t'))
|
2018-05-18 16:37:07 -07:00
|
|
|
|
|
|
|
# Join trackList
|
|
|
|
_msg EXEC "Generating joined image"
|
2018-05-18 18:44:21 -07:00
|
|
|
gen_image "${TRACK_DIR}" $(printf "%s\t" ${trackList[@]}) > ${STDERR} 2>&1
|
2018-05-18 16:37:07 -07:00
|
|
|
local EXIT="$?"
|
|
|
|
[[ $? -eq 0 ]] && _msg OK || { _msg WARN; return 1; }
|
|
|
|
|
|
|
|
|
|
|
|
# Generates IMAGEID
|
2018-05-18 18:44:21 -07:00
|
|
|
_msg EXEC "Generating IMAGEID"
|
2018-05-18 16:37:07 -07:00
|
|
|
for track in ${trackList[@]}; do
|
2018-05-18 19:12:08 -07:00
|
|
|
local TRACK_EXT="$(basename ${track} | cut -d. -f2)"
|
2018-05-18 16:37:07 -07:00
|
|
|
[[ "${TRACK_EXT}" != "FLAC" ]] && SOURCE="${TRACK_EXT}"
|
|
|
|
done
|
2018-05-18 19:12:08 -07:00
|
|
|
local IMAGEID="SHA256-${SOURCE}--$(sha256sum "${TRACK_DIR}/joined.flac" | cut -d' ' -f1)"
|
2018-05-18 18:44:21 -07:00
|
|
|
_msg OK
|
2018-05-18 16:37:07 -07:00
|
|
|
|
|
|
|
# Generate metadata_trackList
|
|
|
|
local COUNT=0
|
|
|
|
for track in ${trackList[@]}; do
|
|
|
|
local TRACKID=$(metaflac --list --block-number=0 "${track}" | awk 'BEGIN{FS=": "}{if($1==" MD5 signature") {print $2}}')
|
2018-05-18 17:06:00 -07:00
|
|
|
local DURATION=$(soxi -D "${track}")
|
|
|
|
local metadata_trackList[${COUNT}]="$(print_meta_flac "${track}");DURATION=${DURATION};IMAGEID=${IMAGEID};TRACKID=${TRACKID};"
|
2018-05-18 16:37:07 -07:00
|
|
|
local COUNT=$(( ${COUNT} + 1 ))
|
|
|
|
done
|
|
|
|
|
|
|
|
# Generate cuesheet
|
2018-05-18 18:06:19 -07:00
|
|
|
_msg EXEC "Generating cue file"
|
2018-05-18 17:41:49 -07:00
|
|
|
gen_cue "${TRACK_DIR}" $(printf '%s\t' ${metadata_trackList[@]}) > "${GIT_DIR}/${IMAGEID}.cue"
|
2018-05-18 18:06:19 -07:00
|
|
|
local EXIT=$?
|
|
|
|
[[ $? -eq 0 ]] && _msg OK || { _msg WARN; return 1; }
|
2018-05-18 12:37:03 -07:00
|
|
|
|
2018-05-18 16:37:07 -07:00
|
|
|
# Generate tags file
|
2018-05-18 18:06:19 -07:00
|
|
|
_msg EXEC "Generating tags file"
|
2018-05-18 16:37:07 -07:00
|
|
|
gen_mtag $(printf '%s\t' ${metadata_trackList[@]}) > "${GIT_DIR}/${IMAGEID}.tags"
|
2018-05-18 18:06:19 -07:00
|
|
|
local EXIT=$?
|
|
|
|
[[ $? -eq 0 ]] && _msg OK || { _msg WARN; return 1; }
|
|
|
|
|
|
|
|
|
|
|
|
# Move joined.flac to GIT_DIR
|
2018-05-18 19:12:08 -07:00
|
|
|
mv "${TRACK_DIR}/joined.flac" "${GIT_DIR}/${IMAGEID}.flac"
|
2018-05-18 19:40:32 -07:00
|
|
|
|
|
|
|
# Generate cover images
|
|
|
|
gen_cover ${TRACK_DIR} > ${GIT_DIR}/${IMAGEID}.png
|
|
|
|
gen_small_cover ${TRACK_DIR} > ${GIT_DIR}/${IMAGEID}.jpg
|
2018-05-18 18:06:19 -07:00
|
|
|
return 0
|
2018-05-18 12:37:03 -07:00
|
|
|
}
|