flac2opus/convert.fish

30 lines
803 B
Fish

#!/bin/env fish
# Requires opus-tools, golf (included in gist)
set SOURCE_DIR $argv[1]
set OUTPUT_DIR $argv[2]
set SOURCE_TREE (gold $SOURCE_DIR)
# incase I want to make any changes to the encoding.
function _encode
opusenc $argv[1] $argv[2]
end
# Create source tree structure
for folder in $SOURCE_TREE
mkdir -p $OUTPUT_DIR/$folder
set list (golf $SOURCE_DIR/$folder)
for i in $list
if test (string match -r "\.flac" $i)
set o (string replace ".flac" ".opus" $i)
if test ! -e $OUTPUT_DIR/$folder/$o
_encode $SOURCE_DIR/$folder/$i $OUTPUT_DIR/$folder/$o
end
else
if test ! -e $OUTPUT_DIR/$folder/$i
cp $SOURCE_DIR/$folder/$i $OUTPUT_DIR/$folder/$i
end
end
end
end