35 lines
1 KiB
Bash
35 lines
1 KiB
Bash
#!/bin/bash
|
|
|
|
# doc print_cue_breaklist {
|
|
#
|
|
# DESCRIPTION
|
|
# print_cue_breaklist - Prints breaklist from files
|
|
#
|
|
# USAGE
|
|
# print_cue_breaklist <file_1> [<...>]
|
|
#
|
|
# DEPENDENCIES src/print_sec_to_min
|
|
#
|
|
# }
|
|
|
|
print_cue_breaklist() {
|
|
local fileList=("${@}")
|
|
local breakList=(0:00:00)
|
|
if shntool cue ${fileList[@]} >/dev/null 2>&1; then
|
|
shntool cue ${fileList[@]} > joined.cue
|
|
local breakList=(${breakList[@]} $(cuebreakpoints joined.cue | sed 's|\.|:|g'))
|
|
rm joined.cue
|
|
else
|
|
local durList=($(soxi -D "${fileList[@]}"))
|
|
local breaksecList=(0)
|
|
local COUNT=0
|
|
while [[ $(( ${COUNT} + 1 )) -lt ${#durList[@]} ]]; do
|
|
local breaksecList=(${breaksecList[@]} $(awk "BEGIN {printf ${breaksecList[-1]} + ${durList[${COUNT}]}}" ))
|
|
local COUNT=$(( ${COUNT} + 1 ))
|
|
done
|
|
local breaksecList=($(printf "%s\n" ${breaksecList[@]} | sed 's|\..*||g'))
|
|
local breakList=($(print_sec_to_min ${breaksecList[@]}))
|
|
fi
|
|
printf '%s\n' ${breakList[@]}
|
|
}
|
|
|