--- sourcemage/src/sharpmusique-1.0/src/SharpMusique.cs 2005-09-17 02:44:11.000000000 +0200 +++ Desktop/SharpMusique.cs 2006-06-26 16:12:08.000000000 +0200 @@ -526,10 +526,18 @@ class SharpMusique string strSongName; string strExplicit = String.Empty; - Hashtable meta = dict[ "metaData" ] != null ? - (Hashtable)dict[ "metaData" ] : dict; + Hashtable meta; + + if( dict[ "metaData" ] != null ) { + meta = (Hashtable)dict[ "metaData" ]; + } else if( dict[ "metadata" ] != null ) { + meta = (Hashtable)dict[ "metadata" ]; + } else { + meta = dict; + } + + strSongName = (string)meta[ "itemName" ]; - strSongName = (string)meta[ "songName" ]; strTime = TimeSpan.FromSeconds( (int)meta[ "duration" ] / 1000 ).ToString(); if( strTime.StartsWith( "00:" ) ) @@ -613,11 +621,18 @@ class SharpMusique if( song[ "downloadKey" ] == null ) { - Hashtable meta = song[ "metaData" ] != null ? - (Hashtable)song[ "metaData" ] : song; + Hashtable meta; PurchaseDialog dlg = new PurchaseDialog( MainWindow ); + if( song[ "metaData" ] != null ) { + meta = (Hashtable)song[ "metaData" ]; + } else if( song[ "metadata" ] != null ) { + meta = (Hashtable)song[ "metadata" ]; + } else { + meta = song; + } + if( song[ "isAlbum" ] != null && (bool)song[ "isAlbum" ] == true ) { dlg.Title = "*"; @@ -625,7 +640,7 @@ class SharpMusique } else { - dlg.Title = (string)meta[ "songName" ]; + dlg.Title = (string)meta[ "itemName" ]; dlg.Artist = (string)meta[ "artistName" ]; } dlg.Album = (string)meta[ "playlistName" ]; @@ -696,15 +711,12 @@ class SharpMusique RunOnMainThread.Run( this, "DoStatusbarUpdate", new object[] { cidProgress, "Downloading", 2 } ); - Hashtable meta = song[ "metaData" ] != null ? - (Hashtable)song[ "metaData" ] : song; + Hashtable meta; byte [] sb = Store.DownloadSong( song, new FairStore.Progress( DoProgressUpdate ) ); - string strFileName = String.Format( "{0} - {1} - {2}.m4a", - meta[ "playlistArtistName" ], meta[ "playlistName" ], - meta[ "songName" ] ); + string strFileName; string [,] strReps = new string[,] { @@ -713,6 +725,18 @@ class SharpMusique { "<", "" }, { ">", "" }, { "|", "" } }; + if( song[ "metaData" ] != null ) { + meta = (Hashtable)song[ "metaData" ]; + } else if( song[ "metadata" ] != null ) { + meta = (Hashtable)song[ "metadata" ]; + } else { + meta = song; + } + + strFileName = String.Format( "{0} - {1} - {2}.m4a", + meta[ "playlistArtistName" ], meta[ "playlistName" ], + meta[ "itemName" ] ); + for( int i = 0; i < strReps.Length / 2; i++ ) { strFileName = strFileName.Replace( strReps[ i, 0 ], @@ -1168,7 +1192,7 @@ class SharpMusique private void ViewAlbumThread( object State ) { - string strPlaylistId = (string)State; + string strPlaylistId = State.ToString(); try { .