30 lines
803 B
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
|