cowbell r41 - in trunk: . base gui
- From: btaylor svn gnome org
- To: svn-commits-list gnome org
- Subject: cowbell r41 - in trunk: . base gui
- Date: Tue, 3 Jun 2008 03:35:02 +0000 (UTC)
Author: btaylor
Date: Tue Jun 3 03:35:02 2008
New Revision: 41
URL: http://svn.gnome.org/viewvc/cowbell?rev=41&view=rev
Log:
2008-06-02 Brad Taylor <brad getcoded net>
* base/services/:
* gui/services/: Move services into their own directory.
* base/MusicBrainzMetadataProxy.cs: Change GlobalData also when calling
Import (). This causes the artist, album and year to update on the
right hand side of the window.
Modified:
trunk/ChangeLog
trunk/base/MusicBrainzMetadataProxy.cs
trunk/gui/MainWindow.cs
Modified: trunk/base/MusicBrainzMetadataProxy.cs
==============================================================================
--- trunk/base/MusicBrainzMetadataProxy.cs (original)
+++ trunk/base/MusicBrainzMetadataProxy.cs Tue Jun 3 03:35:02 2008
@@ -85,6 +85,7 @@
#region private delegates
private delegate void DatabaseUpdateHandler (int i, Song s);
+ private delegate void GlobalDataUpdateHandler (string artist, string album, uint year);
#endregion
#region private fields
@@ -108,6 +109,16 @@
private void MatchTracks (Artist artist, Release release,
IDatabaseService db_svc, out int num_matches)
{
+ string artist_name = artist.GetName ();
+ string album_name = release.GetTitle ();
+ uint year = 0;
+
+ ReadOnlyCollection<Event> events = release.GetEvents ();
+ if (events.Count > 0) {
+ // just blindly pick the first release event
+ year = GetMusicBrainzYearFromDate (events[0].Date);
+ }
+
num_matches = 0;
ReadOnlyCollection<Track> tracks = release.GetTracks ();
@@ -154,14 +165,13 @@
Song temp = (Song)db_svc.Items[i];
// dump the amazon supplied information into the song
- temp.Artist = artist.GetName ();
+ temp.Artist = artist_name;
temp.TrackNumber = Convert.ToUInt32 (pos + 1);
temp.Title = tracks[pos].GetTitle ();
- temp.Album = release.GetTitle ();
+ temp.Album = album_name;
- ReadOnlyCollection<Event> events = release.GetEvents ();
- if (events.Count > 0) {
- temp.Year = GetMusicBrainzYearFromDate (events[0].Date);
+ if (year > 0) {
+ temp.Year = year;
}
dispatch_svc.GuiDispatch (new DatabaseUpdateHandler (UpdateDatabase),
@@ -170,6 +180,9 @@
num_matches++;
}
}
+
+ dispatch_svc.GuiDispatch (new GlobalDataUpdateHandler (UpdateGlobalData),
+ artist_name, album_name, year);
}
private void FindClosestAlbumAndRelease (out Artist artist, out Release release)
@@ -356,6 +369,20 @@
db_svc.Items[i] = s;
}
+ private void UpdateGlobalData (string artist, string album, uint year)
+ {
+ if (db_svc.GlobalData == null) {
+ return;
+ }
+
+ db_svc.GlobalData.Artist = artist;
+ db_svc.GlobalData.Album = album;
+
+ if (year > 0) {
+ db_svc.GlobalData.Year = year;
+ }
+ }
+
/**
* Gets the year part of a MusicBrainz event date. This is
* supposed to be in the format YYYY-MM-DD.
Modified: trunk/gui/MainWindow.cs
==============================================================================
--- trunk/gui/MainWindow.cs (original)
+++ trunk/gui/MainWindow.cs Tue Jun 3 03:35:02 2008
@@ -142,11 +142,6 @@
Freeze ();
}
- public void SaveCoverImage (string filename)
- {
- cover.Save (filename);
- }
-
/* private fields */
[Glade.Widget] Window window;
[Glade.Widget] AlbumCoverImage cover;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]