~jmillikin/banshee/bug-389537_export-xspf-playlists

« back to all changes in this revision

Viewing changes to src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs

  • Committer: gburt
  • Date: 2009-02-17 20:00:07 UTC
  • Revision ID: svn-v4:62b1da36-d725-0410-9188-c7f0e034c824:trunk/banshee:5040
2009-02-17  Gabriel Burt  <gabriel.burt@gmail.com>

        * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdDiscModel.cs: Use
        the SortName information from MusicBrainz, and detect if an album is a
        compilation album and set the album and all the tracks appropriate if it
        is.

        * src/Extensions/Banshee.AudioCd/Banshee.AudioCd/AudioCdRipper.cs: Set the
        FileModifiedStamp and LastSyncedStamp when a track is ripped.

Show diffs side-by-side

added added

removed removed

Lines of Context:
156
156
            
157
157
            DatabaseArtistInfo artist = new DatabaseArtistInfo ();
158
158
            artist.Name = release.Artist.Name;
 
159
            artist.NameSort = release.Artist.SortName;
159
160
            artist.MusicBrainzId = release.Artist.Id;
 
161
            bool is_compilation = false;
160
162
            
161
163
            DatabaseAlbumInfo album = new DatabaseAlbumInfo ();
162
164
            album.Title = release.Title;
165
167
            album.ReleaseDate = release_date;
166
168
            
167
169
            i = 0;
168
 
            
 
170
 
169
171
            foreach (Track track in release.Tracks) {
170
172
                AudioCdTrackInfo model_track = (AudioCdTrackInfo)this[i++];
171
173
                
174
176
                model_track.ArtistName = track.Artist.Name;
175
177
                model_track.AlbumTitle = release.Title;
176
178
                model_track.DiscNumber = disc_number;
177
 
                
178
179
                model_track.Album = album;
 
180
 
179
181
                model_track.Artist = new DatabaseArtistInfo ();
180
182
                model_track.Artist.Name = track.Artist.Name;
 
183
                model_track.Artist.NameSort = track.Artist.SortName;
181
184
                model_track.Artist.MusicBrainzId = track.Artist.Id;
182
185
                
183
186
                if (!release_date.Equals (DateTime.MinValue)) {
184
187
                    model_track.Year = release_date.Year;
185
188
                }
 
189
 
 
190
                if (!is_compilation && track.Artist.Id != artist.MusicBrainzId) {
 
191
                    is_compilation = true;
 
192
                }
 
193
            }
 
194
 
 
195
            if (is_compilation) {
 
196
                album.IsCompilation = true;
 
197
                for (i = 0; i < release.Tracks.Count; i++) {
 
198
                    AudioCdTrackInfo model_track = (AudioCdTrackInfo)this[i++];
 
199
                    model_track.IsCompilation = true;
 
200
                    model_track.AlbumArtist = artist.Name;
 
201
                    model_track.AlbumArtistSort = artist.NameSort;
 
202
                }
186
203
            }
187
204
            
188
205
            OnMetadataQueryFinished (true);