banshee r4044 - in trunk/banshee: . src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler



Author: gburt
Date: Fri May 30 22:15:24 2008
New Revision: 4044
URL: http://svn.gnome.org/viewvc/banshee?rev=4044&view=rev

Log:
2008-05-30  Gabriel Burt  <gabriel burt gmail com>

	* src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/Queue.cs:
	Don't use Hyena.DateTimeUtil since it has a bug with
	timezone/daylight-savings that reports times an hour off in some cases.
	Should fix BGO #528195.


Modified:
   trunk/banshee/ChangeLog
   trunk/banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/Queue.cs

Modified: trunk/banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/Queue.cs
==============================================================================
--- trunk/banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/Queue.cs	(original)
+++ trunk/banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/Queue.cs	Fri May 30 22:15:24 2008
@@ -52,6 +52,8 @@
     {
         internal class QueuedTrack
         {
+            private static DateTime epoch = DateTimeUtil.LocalUnixEpoch.ToUniversalTime ();
+
             public QueuedTrack (TrackInfo track, DateTime start_time)
             {
                 this.artist = track.ArtistName;
@@ -59,7 +61,10 @@
                 this.title = track.TrackTitle;
                 this.track_number = (int) track.TrackNumber;
                 this.duration = (int) track.Duration.TotalSeconds;
-                this.start_time = DateTimeUtil.ToTimeT(start_time.ToLocalTime ());
+                // Idealy would use Hyena's DateTimeUtil, but it is broken since the "unix epoch" it uses is
+                // not UTC, so depending on whether jan 1 1970 was in day-light savings and whether the user's
+                // current timezone is in DLS, we'll be an hour off.
+                this.start_time = (long) (start_time.ToUniversalTime () - epoch).TotalSeconds;
                 // TODO
                 //this.musicbrainzid = track.MusicBrainzId;
                 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]