[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