internal static Track FromNode(ContentNode node)
{
Track track = new Track ();
foreach (ContentNode field in (ContentNode[]) node.Value) {
switch (field.Name) {
case "dmap.itemid":
track.id = (int) field.Value;
break;
case "daap.songartist":
track.artist = (string) field.Value;
break;
case "dmap.itemname":
track.title = (string) field.Value;
break;
case "daap.songalbum":
track.album = (string) field.Value;
break;
case "daap.songtime":
track.duration = TimeSpan.FromMilliseconds ((int) field.Value);
break;
case "daap.songformat":
track.format = (string) field.Value;
break;
case "daap.songgenre":
track.genre = (string) field.Value;
break;
case "daap.songsize":
track.size = (int) field.Value;
break;
case "daap.songtrackcount":
track.trackCount = (short) field.Value;
break;
case "daap.songtracknumber":
track.trackNumber = (short) field.Value;
break;
case "daap.bitrate":
track.bitrate = (short) field.Value;
break;
case "daap.songdateadded":
track.dateAdded = (DateTime) field.Value;
break;
case "daap.songdatemodified":
track.dateModified = (DateTime) field.Value;
break;
default:
break;
}
}
return track;
}