From: Bastian Dehn Date: Fri, 18 Jul 2025 10:09:17 +0000 (+0200) Subject: refactor write hex to file X-Git-Tag: v1.0.0^2~45 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=9f402a16b75b361cfec99aa77371e7da3692bbfc;p=albentohandy.git refactor write hex to file --- diff --git a/libs/voribs.sh b/libs/voribs.sh index e2295dc..09940dc 100644 --- a/libs/voribs.sh +++ b/libs/voribs.sh @@ -34,31 +34,40 @@ flac_to_vorbis() 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 } @@ -70,6 +79,7 @@ convert_flac_to_ogg() 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 \