dam/src/print_meta_flac
ayakael 72aac8134f
Deprecations in favour of changes in deployment workflow:
[is_selected] Deprecated (and exterminated)
[deploy_imageid] Deprecated in favor of deploy_cp, deploy_rm and deploy_meta
[deploy_trackid] Deprecated in favor of deploy_cp, deploy_rm and deploy_meta

Misc changes and bugfixes for print functions
[print_future_path] In the event that TITLE is not set, TITLE will now be ALBUM, for tracks without titles.
[print_meta_flac] Track TITLES with colons are now kept
[print_present_path] Now needs IMAGEID and TRACKID in argument for TRACKID wasn't unique enough
[print_trackids_to_imageids] Prints the IMAGEIDs of all TRACKIDs

New functions for new deployment workflow that allows for deletion first, copying later, and smarter metadata adjustments
[deploy_rm] Removes all given TRACKIDs (i.e, what FILE_DB defines as false, but target_dir is not null)
[deploy_cp] Function copies TRACKIDs on a IMAGEID by IMAGEID basis to TARGET
[deploy_meta] Function applies metadata to IMAGEID tracks
[cmd_deploy] Rewrote cmd_deploy for use of new deploy functions

Bug fixes to db selections and db update
[db_set] Now ignores all lines that have LAST_DEPLOY and LAST_UPDATE
[db_update] Added function to report a file as removed from git dir. (null in selection column)
[cmd_update] LAST_COMMIT is now LAST_UPDATE in favour of LAST_DEPLOY, which is for commit of when last deployment occured
[cmd_update] Gawk is now used for inplace editing of database

Misc. adjustements
[cmd_deploy] Rewrote disk usage check
2018-04-06 18:55:34 -04:00

28 lines
810 B
Bash

#!/bin/bash
# doc print_meta_flac {
#
# DESCRIPTION
# print_meta_flac - Prints metadata of remote flac in FIELD=VALUE; format.
#
# USAGE
# print_meta_flac </path/to/flac> [<field_1> <field_2> <...>]
#
# }
print_meta_flac() {
local FILE="${1}"; shift
local tagList=(${@})
[[ ! -f ${FILE} ]] && return 1
local METADATA=$(awk 'BEGIN{FS="]: ";ORS=";"}{if($1 ~ /comment\[/){print $2}}' <<< $(metaflac --list --block-type=VORBIS_COMMENT "${FILE}"))
if [[ -z "${tagList[@]}" ]]; then
echo -n ${METADATA} | sed 's|.$||'
else
for tag in ${tagList[@]}; do
local SEL_METADATA="${SEL_METADATA}$(awk -v tag=${tag} 'BEGIN{FS="=";RS=";";ORS=";"}{if($1==tag){print $0}}' <<< ${METADATA})"
done
echo -n "${SEL_METADATA}" | sed 's|.$||'
fi
}