Index: trunk/flactrack
===================================================================
--- trunk/flactrack	(revision 12)
+++ trunk/flactrack	(revision 13)
@@ -37,8 +37,17 @@
 my $info;
 if ($ALL || $TYPE eq 'mp3') {
-    my $discid = $flac->tags('MBZ_DISCID') or warn "No MBZ_DISCID tag in $FLAC_FILE\n" if $flac;
-    #TODO: calculate TOC and DISCID from cuesheet if there is no MBZ_DISCID tag present
+    (my $properties_file = $FLAC_FILE) =~ s/\.flac$/.properties/;
+    if (-e $properties_file) {
+        require Config::Properties;
 
-    $info = get_musicbrainz_info($discid);
+        my $properties = Config::Properties->new(file => $properties_file);
+        $info = $properties->getProperties;
+    } else {
+
+        my $discid = $flac->tags('MBZ_DISCID') or warn "No MBZ_DISCID tag in $FLAC_FILE\n" if $flac;
+        #TODO: calculate TOC and DISCID from cuesheet if there is no MBZ_DISCID tag present
+
+        $info = get_musicbrainz_info($discid);
+    }
     exit unless $info;
 
@@ -63,5 +72,5 @@
     #TODO: default to just 01, 02, etc. if there is no $info
     %TRACKS = map {
-        $_ => catfile($DIRECTORY, sprintf('%02d.%s', $_, to_filename($info->{TRACKS}[$_]{TITLE})))
+        $_ => catfile($DIRECTORY, sprintf('%02d.%s', $_, to_filename($info->{sprintf 'TRACK%02d.TITLE', $_})))
     } (1 .. $count);
     #print Dump(\%TRACKS);
@@ -93,8 +102,8 @@
         # if there is track info, add it as ID3 tags
         if ($info) {
-            my $track = $info->{TRACKS}[$tracknum];
+            my $track_key = sprintf 'TRACK%02d', $tracknum;
             $cmd .= sprintf q{ --tt %s --ta %s --tl %s --tn %d},
-                quote($track->{TITLE}),
-                quote($track->{ARTIST}),
+                quote($info->{"$track_key.TITLE"}),
+                quote($info->{"$track_key.ARTIST"}),
                 quote($info->{ALBUM}),
                 $tracknum;
