read_flac_to_ogg_tags "$inputfile" "$outputfile"
}
+write_hex_to_file()
+{
+ local number="$1"
+ local outputfile="$2"
+ local hex_number=$(printf "%08x" "$number")
+
+ for i in {0..6..2}; do
+ printf "%b" "\x${hex_number:$i:2}" >> $outputfile
+ done
+}
+
cover_to_metadata()
{
local inputfile="$1"
local outputfile="${inputfile/.jpg/.txt}"
local filesize=$(cat $inputfile | wc -c)
- local filesizehex=$(printf "%08x" "$filesize")
# picture typ (jpg)
- printf "%b" "\x0\x0\x0\x3" > $outputfile
+ write_hex_to_file "3" "$outputfile"
# mime type (image/jpeg)
- printf "%b%s" "\x0\x0\x0\xa" "image/jpeg" >> $outputfile
+ write_hex_to_file "10" "$outputfile"
+ printf "%s" "image/jpeg" >> $outputfile
# description length (zero)
- printf "%b" "\x0\x0\x0\x0" >> $outputfile
- # Width (zero)
- printf "%b" "\x0\x0\x0\x0" >> $outputfile
- # Heigth (zero)
- printf "%b" "\x0\x0\x0\x0" >> $outputfile
- # Color depth (zero)
- printf "%b" "\x0\x0\x0\x0" >> $outputfile
- # Color Count (zero)
- printf "%b" "\x0\x0\x0\x0" >> $outputfile
- # File Size
- for i in {0..6..2}; do
- printf "%b" "\x${filesizehex:$i:2}" >> $outputfile
- done
+ write_hex_to_file "0" "$outputfile"
+ # width (zero)
+ write_hex_to_file "0" "$outputfile"
+ # heigth (zero)
+ write_hex_to_file "0" "$outputfile"
+ # color depth (zero)
+ write_hex_to_file "0" "$outputfile"
+ # color count (zero)
+ write_hex_to_file "0" "$outputfile"
+ # file size
+ write_hex_to_file "$filesize" "$outputfile"
cat $inputfile >> $outputfile
}
export -f encoding_flac_to_ogg
export -f read_flac_to_ogg_tags
export -f cover_to_metadata
+ export -f write_hex_to_file
find $workdir -name '*.jpg' \
| sort \
| parallel --will-cite --ungroup \