MusicBrainz support

This commit is contained in:
chudov
2008-11-30 03:04:05 +00:00
parent 2db66848bf
commit c289ecce0b
26 changed files with 3292 additions and 11 deletions

View File

@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Security.Cryptography;
using System.Text;
namespace CUETools.CDImage
@@ -283,7 +284,7 @@ namespace CUETools.CDImage
}
}
public String Catalog
public string Catalog
{
get
{
@@ -295,6 +296,20 @@ namespace CUETools.CDImage
}
}
public string MusicBrainzId
{
get
{
StringBuilder mbSB = new StringBuilder();
mbSB.AppendFormat("{0:X2}{1:X2}{2:X8}", 1, AudioTracks, _tracks[(int)AudioTracks-1].End + 1 + 150);
for (int iTrack = 0; iTrack < AudioTracks; iTrack++)
mbSB.AppendFormat("{0:X8}", _tracks[iTrack].Start + 150);
mbSB.Append(new string('0', (99 - (int)AudioTracks) * 8));
byte[] hashBytes = (new SHA1CryptoServiceProvider()).ComputeHash(Encoding.ASCII.GetBytes(mbSB.ToString()));
return Convert.ToBase64String(hashBytes).Replace('+', '.').Replace('/', '_').Replace('=', '-');
}
}
public void AddTrack(CDTrack track)
{
_tracks.Add(track);