[Pkg-mono-svn-commits] rev 3199 - in non-group/banshee/trunk/debian: . patches

Sebastian Dröge slomo at alioth.debian.org
Thu Jun 14 20:32:17 UTC 2007


Author: slomo
Date: 2007-06-14 20:32:17 +0000 (Thu, 14 Jun 2007)
New Revision: 3199

Added:
   non-group/banshee/trunk/debian/patches/10_branch-0.12.x-2007-06-14.patch
Modified:
   non-group/banshee/trunk/debian/changelog
Log:
* debian/patches/10_branch-0.12.x-2007-06-14.patch:
  + Update 0.12.x branch 2007-06-14 for some bugfixes.

Modified: non-group/banshee/trunk/debian/changelog
===================================================================
--- non-group/banshee/trunk/debian/changelog	2007-06-14 16:41:19 UTC (rev 3198)
+++ non-group/banshee/trunk/debian/changelog	2007-06-14 20:32:17 UTC (rev 3199)
@@ -1,3 +1,10 @@
+banshee (0.12.1+dfsg-5) unstable; urgency=low
+
+  * debian/patches/10_branch-0.12.x-2007-06-14.patch:
+    + Update 0.12.x branch 2007-06-14 for some bugfixes.
+
+ -- Sebastian Dröge <slomo at debian.org>  Thu, 14 Jun 2007 22:31:35 +0200
+
 banshee (0.12.1+dfsg-4) unstable; urgency=low
 
   * debian/control:

Added: non-group/banshee/trunk/debian/patches/10_branch-0.12.x-2007-06-14.patch
===================================================================
--- non-group/banshee/trunk/debian/patches/10_branch-0.12.x-2007-06-14.patch	                        (rev 0)
+++ non-group/banshee/trunk/debian/patches/10_branch-0.12.x-2007-06-14.patch	2007-06-14 20:32:17 UTC (rev 3199)
@@ -0,0 +1,410 @@
+Index: ChangeLog
+===================================================================
+--- ChangeLog	(Revision 2190)
++++ ChangeLog	(Revision 2327)
+@@ -1,3 +1,41 @@
++2007-04-23  Aaron Bockover  <abock at gnome.org>
++
++	* src/Plugins/Banshee.Plugins.Recommendation/RecommendationPane.cs: 
++	Load generic-artist.png in place of the artist photo if there's a problem
++	loading the artist photo from last.fm (BGO #432200); cosmetic string
++	changes; round the similarity value to the nearest whole percentage;
++	introduce a cache wipe/versioning system to allow the cache to be wiped
++	if the code to parse it changes later on (see NOTE in code) - everyone
++	will start out with a clean cache after this update at version 2
++
++	* src/Plugins/Banshee.Plugins.Recommendation/RecommendationPlugin.cs:
++	Added schema for cache_version
++	
++	* src/Plugins/Banshee.Plugins.Recommendation/generic-artist.png: Added
++	a musician to display if an artist photo cannot be loaded from last.fm
++
++2007-04-18  Aaron Bockover  <abock at gnome.org>
++
++	Crash/Bug patches backported from trunk
++
++	* src/Plugins/Banshee.Plugins.Daap/DaapSource.cs: Crash fix (BGO #406923, 
++	Eric Butler)
++
++	* src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs: Resolve PSP Audio 
++	Device Properties crash (BGO #419163, Jason Conti)
++
++	* src/Plugins/Banshee.Plugins.Recommendation/RecommendationUtilities.cs:
++	Prevent reco cache from getting corrupt (BGO #381229, Pepijn van de Geer)
++
++	* src/Core/Banshee.Base/Dap/Dap.cs: Fixed NJB syncing (BGO #405289, 
++	Mitch Reierson)
++
++	* src/Core/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileComboBox.cs:
++	Do not forget profile setting (BGO #410498, Lauri Kotilainen)
++
++	* src/Core/Banshee.Base/Gui/SourceView.cs: Ensure sources that are not
++	CanActivate really can't be activated (BGO #415138, Scott Peterson)
++
+ 2007-04-01  Aaron Bockover  <abock at gnome.org>
+ 
+ 	0.12.1 Released
+Index: src/Plugins/Banshee.Plugins.Recommendation/generic-artist.png
+===================================================================
+Kann nicht anzeigen: Dateityp ist als binär angegeben.
+svn:mime-type = application/octet-stream
+
+Eigenschaftsänderungen: src/Plugins/Banshee.Plugins.Recommendation/generic-artist.png
+___________________________________________________________________
+Name: svn:mime-type
+   + application/octet-stream
+
+Index: src/Plugins/Banshee.Plugins.Recommendation/RecommendationUtilities.cs
+===================================================================
+--- src/Plugins/Banshee.Plugins.Recommendation/RecommendationUtilities.cs	(Revision 2190)
++++ src/Plugins/Banshee.Plugins.Recommendation/RecommendationUtilities.cs	(Revision 2327)
+@@ -94,7 +94,7 @@
+             HttpWebResponse response = (HttpWebResponse)request.GetResponse();
+             Stream stream = response.GetResponseStream();
+ 
+-            FileStream file_stream = File.OpenWrite(path);
++            FileStream file_stream = File.Open(path, FileMode.Create);
+             BufferedStream buffered_stream = new BufferedStream(file_stream);
+ 
+             byte [] buffer = new byte[8192];
+Index: src/Plugins/Banshee.Plugins.Recommendation/Banshee.Plugins.Recommendation.mdp
+===================================================================
+--- src/Plugins/Banshee.Plugins.Recommendation/Banshee.Plugins.Recommendation.mdp	(Revision 2190)
++++ src/Plugins/Banshee.Plugins.Recommendation/Banshee.Plugins.Recommendation.mdp	(Revision 2327)
+@@ -14,6 +14,7 @@
+     <File name="./RecommendationMenu.xml" subtype="Code" buildaction="EmbedAsResource" />
+     <File name="./RecommendationUtilities.cs" subtype="Code" buildaction="Compile" />
+     <File name="./no-results.png" subtype="Code" buildaction="EmbedAsResource" />
++    <File name="./generic-artist.png" subtype="Code" buildaction="EmbedAsResource" />
+   </Contents>
+   <References>
+     <ProjectReference type="Gac" localcopy="True" refto="glib-sharp, Version=2.8.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+Index: src/Plugins/Banshee.Plugins.Recommendation/RecommendationPlugin.cs
+===================================================================
+--- src/Plugins/Banshee.Plugins.Recommendation/RecommendationPlugin.cs	(Revision 2190)
++++ src/Plugins/Banshee.Plugins.Recommendation/RecommendationPlugin.cs	(Revision 2327)
+@@ -274,5 +274,12 @@
+             "Plugin enabled",
+             "Recommendation plugin enabled"
+         );
++        
++        public static readonly SchemaEntry<int> CacheVersion = new SchemaEntry<int>(
++            "plugins.recommendation", "cache_version",
++            0,
++            "Cache version",
++            "Version of the cache layout on disk, located at ~/.config/banshee/plugins/recommendation"
++        );
+     }
+ }
+Index: src/Plugins/Banshee.Plugins.Recommendation/Makefile.am
+===================================================================
+--- src/Plugins/Banshee.Plugins.Recommendation/Makefile.am	(Revision 2190)
++++ src/Plugins/Banshee.Plugins.Recommendation/Makefile.am	(Revision 2327)
+@@ -9,16 +9,20 @@
+ 	$(srcdir)/RecommendationPane.cs \
+ 	$(srcdir)/RecommendationUtilities.cs
+ 
+-MENU_RESOURCE = RecommendationMenu.xml
+-NO_RESULTS_RESOURCE = no-results.png
++RESOURCES = \
++	RecommendationMenu.xml \
++	no-results.png \
++	generic-artist.png
+ 
++RESOURCES_BUILD = $(foreach resource,$(RESOURCES),$(addprefix -resource:,$(resource)),$(notdir $(resource)))
++
+ plugindir = $(pkglibdir)/Banshee.Plugins
+ plugin_SCRIPTS = $(ASSEMBLY) $(ASSEMBLY).mdb
+ 
+ all: $(ASSEMBLY)
+ 
+-$(ASSEMBLY): $(SOURCES)
+-	$(BUILD_LIB_BANSHEE_CORE) -out:$@ -resource:$(srcdir)/$(MENU_RESOURCE),$(MENU_RESOURCE) -resource:$(srcdir)/$(NO_RESULTS_RESOURCE),$(NO_RESULTS_RESOURCE) $(SOURCES) $(LINK_GTK) $(LINK_MONO_UNIX) -r:System.Web
++$(ASSEMBLY): $(SOURCES) $(RESOURCES)
++	$(BUILD_LIB_BANSHEE_CORE) -out:$@ $(RESOURCES_BUILD) $(SOURCES) $(LINK_GTK) $(LINK_MONO_UNIX) -r:System.Web
+ 
+ include $(top_srcdir)/build/gconf-schema-rules
+ 
+Index: src/Plugins/Banshee.Plugins.Recommendation/banshee-plugin-recommendation.schemas.in
+===================================================================
+--- src/Plugins/Banshee.Plugins.Recommendation/banshee-plugin-recommendation.schemas.in	(Revision 2190)
++++ src/Plugins/Banshee.Plugins.Recommendation/banshee-plugin-recommendation.schemas.in	(Revision 2327)
+@@ -2,6 +2,17 @@
+ <gconfschemafile>
+   <schemalist>
+     <schema>
++      <key>/schemas/apps/banshee/plugins/recommendation/cache_version</key>
++      <applyto>/apps/banshee/plugins/recommendation/cache_version</applyto>
++      <owner>banshee</owner>
++      <type>int</type>
++      <default>0</default>
++      <locale name="C">
++        <short>Cache version</short>
++        <long>Version of the cache layout on disk, located at ~/.config/banshee/plugins/recommendation</long>
++      </locale>
++    </schema>
++    <schema>
+       <key>/schemas/apps/banshee/plugins/recommendation/enabled</key>
+       <applyto>/apps/banshee/plugins/recommendation/enabled</applyto>
+       <owner>banshee</owner>
+Index: src/Plugins/Banshee.Plugins.Recommendation/RecommendationPane.cs
+===================================================================
+--- src/Plugins/Banshee.Plugins.Recommendation/RecommendationPane.cs	(Revision 2190)
++++ src/Plugins/Banshee.Plugins.Recommendation/RecommendationPane.cs	(Revision 2327)
+@@ -1,7 +1,7 @@
+ /***************************************************************************
+  *  RecommendationPane.cs
+  *
+- *  Copyright (C) 2006 Novell, Inc.
++ *  Copyright (C) 2006-2007 Novell, Inc.
+  *  Written by Fredrik Hedberg
+  *             Aaron Bockover
+  *             Lukas Lipka
+@@ -44,6 +44,12 @@
+ {
+     public class RecommendationPane : Frame
+     {
++        // NOTE: This is a precaution that will allow us to introduce changes in the cache system
++        // without breaking the app when it expects new changes and encounters old cache data.
++        // Whenever a fix or cache update is made in the code, increment this value to ensure 
++        // old cache data is wiped first.
++        private const int CACHE_VERSION = 2;
++    
+         private const string AUDIOSCROBBLER_SIMILAR_URL = "http://ws.audioscrobbler.com/1.0/artist/{0}/similar.xml";
+         private const string AUDIOSCROBBLER_TOP_TRACKS_URL = "http://ws.audioscrobbler.com/1.0/artist/{0}/toptracks.xml";
+         private const string AUDIOSCROBBLER_TOP_ALBUMS_URL = "http://ws.audioscrobbler.com/1.0/artist/{0}/topalbums.xml";
+@@ -68,8 +74,30 @@
+         public RecommendationPane() 
+         {
+             CreateWidget();
++            CheckForCacheWipe();
++            SetupCache();
++        }
+ 
++        private void CheckForCacheWipe()
++        {
++            bool wipe = false;
++            
+             if(!Directory.Exists(Utilities.CACHE_PATH)) {
++                return;
++            }
++            
++            if(RecommendationPlugin.CacheVersion.Get() < CACHE_VERSION) {
++                Directory.Delete(Utilities.CACHE_PATH, true);
++                LogCore.Instance.PushDebug("Recommendation Plugin", "Destroyed outdated cache");
++            }
++        }
++
++        private void SetupCache()
++        {
++            bool clean = false;
++            
++            if(!Directory.Exists(Utilities.CACHE_PATH)) {
++                clean = true;
+                 Directory.CreateDirectory(Utilities.CACHE_PATH);
+             }
+             
+@@ -86,6 +114,12 @@
+                     Directory.CreateDirectory(subdir);
+                 }
+             }
++            
++            RecommendationPlugin.CacheVersion.Set(CACHE_VERSION);
++            
++            if(clean) {
++                LogCore.Instance.PushDebug("Recommendation Plugin", "Created a new cache layout");
++            }
+         }
+ 
+         private void CreateWidget()
+@@ -327,9 +361,14 @@
+             artist_tile.PrimaryText = node.SelectSingleNode("name").InnerText.Trim();
+             
+             // translators: 25% similarity
+-            artist_tile.SecondaryText = String.Format(Catalog.GetString("{0}% similarity"), 
+-                node.SelectSingleNode("match").InnerText);
+-            
++            try {
++                int similarity = (int)Math.Round(Double.Parse(node.SelectSingleNode("match").InnerText));
++                artist_tile.SecondaryText = String.Format(Catalog.GetString("{0}% similarity"), similarity);
++            } catch {
++                // Reusing strings that already exist to keep string freeze
++                artist_tile.SecondaryText = String.Format(Catalog.GetString("{0}% similarity"), Catalog.GetString("Unknown"));
++            }
++
+             artist_tile.Clicked += delegate {
+                 Gnome.Url.Show(node.SelectSingleNode ("url").InnerText);
+             };
+@@ -339,6 +378,8 @@
+ 
+         private static Gdk.Pixbuf now_playing_arrow = IconThemeUtils.LoadIcon(16, "media-playback-start",
+             Stock.MediaPlay, "now-playing-arrow");
++        
++        private static Gdk.Pixbuf unknown_artist_pixbuf = null;
+ 
+         private Widget RenderTrack(XmlNode node, int rank)
+         {
+@@ -394,7 +435,22 @@
+         {
+             string path = Utilities.GetCachedPathFromUrl(url);
+             Utilities.DownloadContent(url, path, true);
+-            return new Gdk.Pixbuf(path);
++            
++            try {
++                return new Gdk.Pixbuf(path);
++            } catch {
++                // Remove the corrupt image so it may be downloaded again
++                try {
++                    File.Delete(path);
++                } catch {
++                }
++                
++                if(unknown_artist_pixbuf == null) {
++                    unknown_artist_pixbuf = Gdk.Pixbuf.LoadFromResource("generic-artist.png");
++                }
++                
++                return unknown_artist_pixbuf;
++            }
+         }
+     }
+ }
+Index: src/Plugins/Banshee.Plugins.Daap/DaapSource.cs
+===================================================================
+--- src/Plugins/Banshee.Plugins.Daap/DaapSource.cs	(Revision 2190)
++++ src/Plugins/Banshee.Plugins.Daap/DaapSource.cs	(Revision 2327)
+@@ -87,9 +87,9 @@
+             SetStatusMessage(String.Format(Catalog.GetString("Connecting to {0}"), Name));
+             
+             ThreadAssist.Spawn(delegate {
+-                client = new Client(service);
+-                client.Updated += OnClientUpdated;
+                 try {
++                    client = new Client(service);
++                    client.Updated += OnClientUpdated;
+                     if(client.AuthenticationMethod == AuthenticationMethod.None) {
+                         client.Login();
+                     } else {
+Index: src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs
+===================================================================
+--- src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs	(Revision 2190)
++++ src/Dap/Banshee.Dap.MassStorage/MassStorageDap.cs	(Revision 2327)
+@@ -173,8 +173,11 @@
+             List<string> mimetypes = new List<string>();
+             foreach(string format in PlaybackFormats) {
+                 string codec = Banshee.Dap.CodecType.GetCodec(format);
+-                extensions.AddRange(CodecType.GetExtensions(codec));
+-                mimetypes.AddRange(CodecType.GetMimeTypes(codec));
++                
++                if(codec != null) {
++                    extensions.AddRange(CodecType.GetExtensions(codec));
++                    mimetypes.AddRange(CodecType.GetMimeTypes(codec));
++                }
+             }
+ 
+             SupportedExtensions = extensions.ToArray();
+Index: src/Core/Banshee.Base/Gui/SourceView.cs
+===================================================================
+--- src/Core/Banshee.Base/Gui/SourceView.cs	(Revision 2190)
++++ src/Core/Banshee.Base/Gui/SourceView.cs	(Revision 2327)
+@@ -304,7 +304,6 @@
+             if(iter.Equals(TreeIter.Zero)) {
+                 return;
+             }
+-            
+             renderer.Editable = true;
+             SetCursor(store.GetPath(iter), focus_column, true);
+             renderer.Editable = false;
+@@ -319,9 +318,13 @@
+             }
+ 
+             Source source = GetSource(path);
+-
+-            if(evnt.Button == 1 && evnt.Type == EventType.TwoButtonPress) {
++            if(evnt.Button == 1) {
+                 if(!source.CanActivate) {
++                    if(!source.Expanded) {
++                        ExpandRow(path, false);
++                    } else {
++                        CollapseRow(path);
++                    }
+                     return false;
+                 }
+                 
+@@ -329,9 +332,10 @@
+                     SourceManager.SetActiveSource(source);
+                 }
+                 
+-                OnSourceDoubleClicked();
+-
+-                return false;
++                if(evnt.Type == EventType.TwoButtonPress) {
++                    OnSourceDoubleClicked();
++                }
++                
+             } else if(evnt.Button == 3) {
+                 HighlightPath(path);
+ 
+Index: src/Core/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileComboBox.cs
+===================================================================
+--- src/Core/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileComboBox.cs	(Revision 2190)
++++ src/Core/Banshee.Base/Banshee.AudioProfiles.Gui/ProfileComboBox.cs	(Revision 2327)
+@@ -65,6 +65,7 @@
+         
+         public void ReloadProfiles()
+         {
++            Profile active_profile = ActiveProfile;
+             TreeIter active_iter;
+             store.Clear();
+             
+@@ -99,6 +100,7 @@
+             if(store.IterNthChild(out active_iter, 0)) {
+                 SetActiveIter(active_iter);
+             }
++            ActiveProfile = active_profile;
+         }
+ 
+         public void SetActiveProfile(Profile profile)
+Index: src/Core/Banshee.Base/Dap/Dap.cs
+===================================================================
+--- src/Core/Banshee.Base/Dap/Dap.cs	(Revision 2190)
++++ src/Core/Banshee.Base/Dap/Dap.cs	(Revision 2327)
+@@ -383,7 +383,7 @@
+             Queue remove_queue = new Queue();
+             
+             foreach(TrackInfo track in Tracks) {
+-                if(track == null || track.Uri == null) {
++                if(track == null || track.Uri == null || !track.Uri.IsFile) {
+                     continue;
+                 }
+             
+
+Eigenschaftsänderungen: ext/taglib-sharp
+___________________________________________________________________
+Name: svn:externals
+   - TagLib svn://svn.myrealbox.com/source/tags/taglib-sharp-banshee-0.11.7/src/TagLib
+
+   + TagLib svn://anonsvn.mono-project.com/source/tags/taglib-sharp-banshee-0.11.7/src/TagLib
+
+
+Index: NEWS
+===================================================================
+--- NEWS	(Revision 2190)
++++ NEWS	(Revision 2327)
+@@ -50,7 +50,7 @@
+  * The banshee-official-plugins module has been merged with core, so 
+    banshee-official-plugins is now obsolete
+  
+- * libipoddevice (0.5.2) and ipod-sharp (0.6.2) are required for iPod support
++ * libipoddevice (0.5.3) and ipod-sharp (0.6.3) are required for iPod support
+ 
+  * Helix support has been removed from core and is now available from
+    the Helix Banshee community project. More information regarding Helix
+@@ -114,7 +114,7 @@
+ BUG[ZILLA] OVERVIEW
+ ===============================================================================
+ 
+- * This release requires ipod-sharp 0.6.3, libipoddevice 0.5.2 for iPod support
++ * This release requires ipod-sharp 0.6.3, libipoddevice 0.5.3 for iPod support
+    - Support iPods used with iTunes 7.1
+    - Much better HFS+ iPod support in read only mode
+    - Support second generation iPod shuffles




More information about the Pkg-mono-svn-commits mailing list