dont steal chars from my stdin

This commit is contained in:
Luke Tidd 2023-04-26 10:48:16 -04:00
parent ae5287d830
commit b93e88999b
Signed by: luke
GPG Key ID: 75D6600BEF4E8E8F

View File

@ -77,9 +77,17 @@ type -P 'demucs' &>/dev/null || (
exit 1 exit 1
) )
find "$src_library" -type f -name '*.flac' | while read -r file; do find "$src_library" -type f -name '*.flac' | while read file; do
if find "$work_dir" -type f &>/dev/null; then rm -rf "${work_dir}"/*; fi if find "$work_dir" -type f &>/dev/null; then rm -rf "${work_dir}"/*; fi
echo $file echo "file: $file"
if [[ ! -f "$file" ]]; then
file="${file//ome\/luket/\/home\/luket}"
echo "new file: $file"
if [[ ! -f "$file" ]]; then
echo 'shits broke' >&2
exit 1
fi
fi
# file is full original path + filename # file is full original path + filename
src_dir="$(dirname "$file")" src_dir="$(dirname "$file")"
file_name="$(basename "$file")" file_name="$(basename "$file")"
@ -101,6 +109,7 @@ find "$src_library" -type f -name '*.flac' | while read -r file; do
tags[$tag_type]="$tag_val" tags[$tag_type]="$tag_val"
done < <(metaflac --list --block-type=VORBIS_COMMENT "$file" | grep 'comment\[' | cut -d: -f2- | sed 's/^ //') done < <(metaflac --list --block-type=VORBIS_COMMENT "$file" | grep 'comment\[' | cut -d: -f2- | sed 's/^ //')
declare -a ensure declare -a ensure
ensure=( TRACKNUMBER TITLE DATE ALBUM ARTIST ) ensure=( TRACKNUMBER TITLE DATE ALBUM ARTIST )
for tag_type in "${ensure[@]}"; do for tag_type in "${ensure[@]}"; do
@ -114,25 +123,25 @@ find "$src_library" -type f -name '*.flac' | while read -r file; do
dest_dir['drums only']="${src_dir//flac/drums only}" dest_dir['drums only']="${src_dir//flac/drums only}"
dest_dir['no drums']="${src_dir//flac/no drums}" dest_dir['no drums']="${src_dir//flac/no drums}"
demucs -n htdemucs_ft -o "$work_dir" --filename '{track} {stem}.{ext}' -j2 -d cpu --clip-mode rescale -- "$file" demucs -n htdemucs_ft -o "$work_dir" --filename '{track} {stem}.{ext}' -j2 -d cpu --clip-mode rescale -- "$file" < /dev/tty
unset files karaoke nodrums unset files karaoke nodrums
declare -a files karaoke nodrums declare -a files karaoke nodrums
readarray -t files < <(find "$work_dir" -type f -name '*.wav') readarray -t files < <(find "$work_dir" -type f -name '*.wav')
unset vocal_track unset vocal_track
unset drum_track unset drum_track
for file in "${files[@]}"; do for cur_file in "${files[@]}"; do
echo file: "$file" echo current file: "$cur_file"
if ! grep -Eq 'drums\.wav$' <<< "$file"; then if ! grep -Eq 'drums\.wav$' <<< "$cur_file"; then
nodrums+=("$file") nodrums+=("$cur_file")
else else
drum_track="$file" drum_track="$cur_file"
fi fi
if ! grep -Eq 'vocals\.wav$' <<< "$file"; then if ! grep -Eq 'vocals\.wav$' <<< "$cur_file"; then
karaoke+=("$file") karaoke+=("$cur_file")
else else
vocal_track="$file" vocal_track="$cur_file"
fi fi
done done