Fix Musicbrainz ID calculation in makeids()
authorSteve McIntyre <steve@einval.com>
Wed, 21 Feb 2018 20:57:23 +0000 (20:57 +0000)
committerSteve McIntyre <steve@einval.com>
Wed, 21 Feb 2018 20:58:55 +0000 (20:58 +0000)
Apply fix suggested by petecollins24@gmail.com; add PREGAP to LEADOUT
to correct Musicbrainz ID calculation. Hopefully closes Issue 54:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=54

abcde
changelog

diff --git a/abcde b/abcde
index 12cdf05..02847f0 100755 (executable)
--- a/abcde
+++ b/abcde
@@ -487,6 +487,8 @@ makeids ()
        PREGAP=$(($(echo $OFFSETS | cut -f1 -d' ')))
        TOTALTIME=$(( (($LEADOUT + $LEADIN + $PREGAP) / $CDFRAMES) - (($LEADIN + $PREGAP) / $CDFRAMES)))
 
+       vvecho "makeids: PREGAP $PREGAP, LEADIN $LEADIN, LEADOUT $LEADOUT"
+
        # Calculate both the cddb discid *and* the musicbrainz discid
        # now. We'll use the cddb discid for reference in most cases
        # for consistency, but we also have the musicbrainz discid for
@@ -497,7 +499,7 @@ makeids ()
        case $CDDBMETHOD in
                *musicbrainz*)
                        # FIXME: don't assume the first track is 1
-                       MBDISCID=$($MUSICBRAINZ --command calcid --discinfo 1 $TRACKS $LEADIN $LEADOUT $OFFSETS)
+                       MBDISCID=$($MUSICBRAINZ --command calcid --discinfo 1 $TRACKS $LEADIN $(($PREGAP + $LEADOUT)) $OFFSETS)
                        MBTRACKINFO="${MBDISCID} $((TRACKS)) ${COOKEDOFFSETS} $((($LEADOUT + $LEADIN + $IDMAGICNUM) / $CDFRAMES))"
                        ;;
        esac
index 185d131..5a419f6 100644 (file)
--- a/changelog
+++ b/changelog
@@ -46,7 +46,6 @@ abcde 2.8.2
        abcde -o ogg -B
     
     Or the appropriate settings in an ~/.abcde.conf file.
-
  * Massive rework of CD lookup code so support multiple sources
    better. Thanks to Gabriel Rosenkoetter for his initial idea in this
    area, and to Tomasz GoliƄski on irc for initial inspiration on how
@@ -57,6 +56,10 @@ abcde 2.8.2
    listed. All the results will be combined into one list at the end for
    the user to select, just like would have previously worked for one
    source only.
+ * Fix Musicbrainz ID calculation in makeids()
+   Apply fix suggested by petecollins24@gmail.com; add PREGAP to
+   LEADOUT to correct Musicbrainz ID calculation. Hopefully closes
+   Issue 54: https://abcde.einval.com/bugzilla/show_bug.cgi?id=54
    
 abcde 2.8.1.