Index: trunk/mbz
===================================================================
--- trunk/mbz	(revision 31)
+++ trunk/mbz	(revision 40)
@@ -12,15 +12,20 @@
 
 GetOptions(
-    'flac=s' =>\my $FLAC_FILE,
+    'flac=s'         => \my $FLAC_FILE,
+    'barcode=s'      => \my $BARCODE,
     'get-release-id' => \my $GET_RELEASE_ID,
-    'xml' =>\my $GET_XML,
+    'xml'            => \my $GET_XML,
 );
 
 my $discid;
+my $barcode;
 
 if ($FLAC_FILE) {
-    $discid = DiscFlacFile->new({ file => $FLAC_FILE })->discid;
+    my $flac_disc = DiscFlacFile->new({ file => $FLAC_FILE });
+    $discid  = $flac_disc->discid;
+    $barcode = $flac_disc->barcode;
 } else {
-    $discid = shift;
+    $discid  = shift;
+    $barcode = $BARCODE;
 }
 
@@ -35,5 +40,8 @@
 
 # otherwise, do the full parsing of the data
-my $info = get_musicbrainz_info($discid);
+my $info = get_musicbrainz_info({
+    discid  => $discid,
+    barcode => $barcode,
+});
 
 exit unless $info;
