Package: abcde
Version: 2.4.1-1
Severity: important
Tags: patch
The builtin routine to compute leadin/leadout info from cue files
leads to wrong values. The problem is that you divide before you
multiple - in that case, the division can lead to a float which
shells rounds to integer. The solution is to multiply before
doing the division.
My fix has been tested with 500 FLAC files.
Example of problem:
>>> 34722576 / 44100 * 75
59025 # wrong
>>> 34722576 * 75 / 44100
59052 # correct
--- abcde~ 2010-05-18 22:06:37.000000000 +0100
+++ abcde 2010-05-18 22:06:59.000000000 +0100
@@ -1754,8 +1754,8 @@
#OFFSETS[${#OFFSETS[*]}]=$(( 10#${OFFSETTIME:0:2} * 4500 + 10#${OFFSETTIME:3:2}
* 75 + 10#${OFFSETTIME:6:2} ))
done
- LEADOUT=$(( $(echo
"$CUESHEET" | grep lead-out | get_last) / 44100 * 75 ))
- LEADIN=$(( $(echo
"$CUESHEET" | grep lead-in | get_last) / 44100 * 75 ))
+ LEADOUT=$(( $(echo
"$CUESHEET" | grep lead-out | get_last) * 75 / 44100 ))
+ LEADIN=$(( $(echo
"$CUESHEET" | grep lead-in | get_last) * 75 / 44100 ))
makeids
;;
*)
--
Martin Michlmayr
http://www.cyrius.com/
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]