private static void ReadAudioMetaFields(StreamBuffer sb, MusicMatchTag tag) { if (sb == null) throw new ArgumentNullException("sb"); // Single-line text fields tag.SongTitle = ReadTextField(sb); tag.AlbumTitle = ReadTextField(sb); tag.ArtistName = ReadTextField(sb); tag.Genre = ReadTextField(sb); tag.Tempo = ReadTextField(sb); tag.Mood = ReadTextField(sb); tag.Situation = ReadTextField(sb); tag.Preference = ReadTextField(sb); // Non-text fields tag.SongDuration = ReadTextField(sb); tag.CreationDate = DateTime.FromOADate(sb.ReadDouble()); tag.PlayCounter = sb.ReadInt32(); tag.OriginalFilename = ReadTextField(sb); tag.SerialNumber = ReadTextField(sb); tag.TrackNumber = sb.ReadInt16(); // Multi-line text fields tag.Notes = ReadTextField(sb); tag.ArtistBio = ReadTextField(sb); tag.Lyrics = ReadTextField(sb); // Internet addresses tag.ArtistUrl = ReadTextField(sb); tag.BuyCdUrl = ReadTextField(sb); tag.ArtistEmail = ReadTextField(sb); }
public void ReadDoubleTest() { const double Value = 1.7976931348623157E+256; const double Expected = 1.7976931348623157E+256; StreamBuffer target = new StreamBuffer(BitConverter.GetBytes(Value)) { Position = 0 }; double actual = target.ReadDouble(); Assert.AreEqual(Expected, actual); }