diff -u banshee-0.12.1+dfsg/debian/control banshee-0.12.1+dfsg/debian/control --- banshee-0.12.1+dfsg/debian/control +++ banshee-0.12.1+dfsg/debian/control @@ -1,7 +1,7 @@ Source: banshee Section: sound Priority: optional -Maintainer: Sebastian Dröge +Maintainer: Sebastian Dröge Build-Depends: debhelper (>= 5), cdbs, cli-common-dev (>= 0.4.4), mono-gmcs (>= 1.1.10) | c-sharp-2.0-compiler, libmono-dev (>= 1.1.10), libgtk2.0-cil (>= 2.8.0), libglib2.0-cil (>= 2.8.0), libgnome2.0-cil (>= 2.8.0), libgconf2.0-cil (>= 2.8.0), libglade2.0-cil (>= 2.8.0), libipod-cil (>= 0.6.3), libipodui-cil (>= 0.6.3), libnjb-cil (>= 0.3.0), libsqlite3-dev (>= 3.2), libmono-sqlite2.0-cil, gstreamer0.10-tools, gstreamer0.10-plugins-base-apps, gstreamer0.10-plugins-base, gstreamer0.10-plugins-good, gstreamer0.10-gnomevfs, libgstreamer0.10-dev (>= 0.10.3), libgstreamer-plugins-base0.10-dev (>= 0.10.3), libglib2.0-dev, libgnome2-dev, libgnomeui-dev, libgconf2-dev, gconf2, libgtk2.0-dev (>= 2.8), libgnomevfs2-dev, libgnome-desktop-dev, libdbus-1-dev (>= 0.90), libdbus-glib-1-dev (>= 0.70), libnautilus-burn-dev (>= 2.12.0), libmusicbrainz4-dev (>= 2.1.1), libavahi1.0-cil (>= 0.6), pkg-config, intltool (>= 0.35.0), libmono-cairo2.0-cil, libmono2.0-cil, libmono-system-web2.0-cil, libmono-system-data2.0-cil, boo (>= 0.7.6), libtotem-plparser-dev, libndesk-dbus1.0-cil (>= 0.4), libndesk-dbus-glib1.0-cil (>= 0.3) Standards-Version: 3.7.2 diff -u banshee-0.12.1+dfsg/debian/changelog banshee-0.12.1+dfsg/debian/changelog --- banshee-0.12.1+dfsg/debian/changelog +++ banshee-0.12.1+dfsg/debian/changelog @@ -1,3 +1,13 @@ +banshee (0.12.1+dfsg-2ubuntu1) feisty; urgency=low + + * Merge from Debian + * debian/patches/03_fix_2.18_multimedia_keys + + Rename (from 02_...) to make room for new debian patch + * debian/control + + Use slomo's Ubuntu address. + + -- Christopher James Halse Rogers (RAOF) Sat, 14 Apr 2007 18:56:33 +1000 + banshee (0.12.1+dfsg-2) unstable; urgency=low * Upload to unstable @@ -22,6 +32,35 @@ -- Sebastian Dröge Mon, 12 Mar 2007 17:40:00 +0100 +banshee (0.12.0+dfsg-1ubuntu3) feisty; urgency=low + + * 04_dont_append_commas_on_broken_id3v2 + + Patch from Gnome bugzilla (#410116) + Work-around for importing broken ID3v2 tags which use null-terminated + strings. Prevents Banshee from adding ", " to all such files when they + are imported. Fixes LP: #99938 + + -- Christopher James Halse Rogers (RAOF) Tue, 3 Apr 2007 16:50:57 +1000 + +banshee (0.12.0+dfsg-1ubuntu2) feisty; urgency=low + + * debian/patches/02_fix_2.18_multimedia_keys + + Patch from Gnome bugzilla (# 395433) to update multimedia + key plugin to new 2.18 API (LP: #87299) + + -- Christopher James Halse Rogers (RAOF) Fri, 30 Mar 2007 16:40:10 +1000 + +banshee (0.12.0+dfsg-1ubuntu1) feisty; urgency=low + + * Sync with Debian: + + debian/rules, + debian/control: + - Link with external ndesk-dbus + + debian/control: + - Update Maintainer field + + -- Sebastian Dröge Mon, 5 Mar 2007 20:32:43 +0100 + banshee (0.12.0+dfsg-1) experimental; urgency=low * New upstream release only in patch2: unchanged: --- banshee-0.12.1+dfsg.orig/debian/patches/03_fix_2.18_multimedia_keys.patch +++ banshee-0.12.1+dfsg/debian/patches/03_fix_2.18_multimedia_keys.patch @@ -0,0 +1,216 @@ +diff -Nur banshee-0.12.0+dfsg/src/Plugins/Banshee.Plugins.MMKeys/Makefile.in banshee-0.12.0+dfsg.new/src/Plugins/Banshee.Plugins.MMKeys/Makefile.in +--- banshee-0.12.0+dfsg/src/Plugins/Banshee.Plugins.MMKeys/Makefile.in 2007-03-06 02:36:33.000000000 +1100 ++++ banshee-0.12.0+dfsg.new/src/Plugins/Banshee.Plugins.MMKeys/Makefile.in 2007-03-30 16:57:02.000000000 +1000 +@@ -67,7 +67,7 @@ + $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +-mkinstalldirs = $(install_sh) -d ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs + CONFIG_HEADER = $(top_builddir)/config.h + CONFIG_CLEAN_FILES = Banshee.Plugins.MMKeys.dll.config + am__installdirs = "$(DESTDIR)$(fsmondir)" "$(DESTDIR)$(schemadir)" +@@ -626,7 +626,7 @@ + + + $(ASSEMBLY): $(ASSEMBLY_SOURCES) +- $(BUILD_LIB_BANSHEE_CORE) -out:$@ $(LINK_GTK) $(LINK_MONO_UNIX) $(ASSEMBLY_SOURCES) ++ $(BUILD_LIB_BANSHEE_CORE) -out:$@ $(LINK_DBUS) $(LINK_GTK) $(LINK_MONO_UNIX) $(ASSEMBLY_SOURCES) + + $(srcdir)/$(ASSEMBLY_GCONF_SCHEMA): $(ASSEMBLY) + if test -w $@ -o \( ! -e $@ -a -w $(srcdir) \); then \ +diff -Nur banshee-0.12.0+dfsg/src/Plugins/Banshee.Plugins.MMKeys/MMKeysPlugin.cs banshee-0.12.0+dfsg.new/src/Plugins/Banshee.Plugins.MMKeys/MMKeysPlugin.cs +--- banshee-0.12.0+dfsg/src/Plugins/Banshee.Plugins.MMKeys/MMKeysPlugin.cs 2007-01-02 05:25:56.000000000 +1100 ++++ banshee-0.12.0+dfsg.new/src/Plugins/Banshee.Plugins.MMKeys/MMKeysPlugin.cs 2007-03-30 16:55:44.000000000 +1000 +@@ -2,6 +2,7 @@ + * MMKeysPlugin.cs + * + * Written by Danilo Reinhardt (danilo.reinhardt@gmx.net) ++ * Jan Arne Petersen (jap@gnome.org) + ****************************************************************************/ + + /* THIS FILE IS LICENSED UNDER THE MIT LICENSE AS OUTLINED IMMEDIATELY BELOW: +@@ -31,90 +32,112 @@ + using Gdk; + using Mono.Unix; + ++using NDesk.DBus; ++ + using Banshee.Base; + using Banshee.Configuration; + + public static class PluginModuleEntry + { +- public static Type [] GetTypes() +- { +- return new Type [] { +- typeof(Banshee.Plugins.MMKeys.MMKeysPlugin) +- }; +- } ++ public static Type [] GetTypes() ++ { ++ return new Type [] { ++ typeof(Banshee.Plugins.MMKeys.MMKeysPlugin) ++ }; ++ } + } + + namespace Banshee.Plugins.MMKeys + { ++ public delegate void MediaPlayerKeyPressedHandler(string application, string key); ++ ++ [Interface ("org.gnome.SettingsDaemon")] ++ public interface ISettingsDaemon ++ { ++ void GrabMediaPlayerKeys(string application, uint time); ++ void ReleaseMediaPlayerKeys(string application); ++ event MediaPlayerKeyPressedHandler MediaPlayerKeyPressed; ++ } ++ + public class MMKeysPlugin : Banshee.Plugins.Plugin + { +- protected override string ConfigurationName { get { return "mmkeys"; } } +- public override string DisplayName { get { return Catalog.GetString("Multimedia Keys"); } } +- ++ private const string BusName = "org.gnome.SettingsDaemon"; ++ private const string ObjectPath = "/org/gnome/SettingsDaemon"; ++ ++ protected override string ConfigurationName { get { return "mmkeys"; } } ++ public override string DisplayName { get { return Catalog.GetString("Multimedia Keys"); } } ++ + public override string Description { +- get { +- return Catalog.GetString( +- "Adds support for multimedia keys configured through GNOME." +- ); +- } +- } +- +- public override string [] Authors { +- get { +- return new string [] { +- "Danilo Reinhardt" +- }; +- } +- } ++ get { ++ return Catalog.GetString("Adds support for multimedia keys configured through GNOME."); ++ } ++ } ++ ++ public override string [] Authors { ++ get { ++ return new string [] { ++ "Danilo Reinhardt", ++ "Jan Arne Petersen" ++ }; ++ } ++ } ++ ++ private ISettingsDaemon settings_daemon; + +- private SpecialKeys special_keys; +- + protected override void PluginInitialize() +- { +- special_keys = new SpecialKeys(); +- special_keys.Delay = new TimeSpan(500 * TimeSpan.TicksPerMillisecond); +- +- special_keys.RegisterHandler(OnSpecialKeysPressed, +- SpecialKey.AudioPlay, +- SpecialKey.AudioPrev, +- SpecialKey.AudioNext +- ); +- } +- +- private void OnSpecialKeysPressed(object o, SpecialKey key) +- { +- switch(key) { +- case SpecialKey.AudioPlay: +- Globals.ActionManager["PlayPauseAction"].Activate(); +- break; +- case SpecialKey.AudioNext: +- Globals.ActionManager["NextAction"].Activate(); +- break; +- case SpecialKey.AudioPrev: +- Globals.ActionManager["PreviousAction"].Activate(); +- break; +- } +- } +- +- protected override void PluginDispose() +- { +- special_keys.UnregisterHandler(OnSpecialKeysPressed, +- SpecialKey.AudioPlay, +- SpecialKey.AudioPrev, +- SpecialKey.AudioNext); +- special_keys.Dispose(); +- } +- +- public override Gtk.Widget GetConfigurationWidget() +- { +- return new MMKeysConfigPage(); +- } +- +- public static readonly SchemaEntry EnabledSchema = new SchemaEntry( +- "plugins.mmkeys", "enabled", +- false, +- "Plugin enabled", +- "Multimedia Keys plugin enabled" +- ); ++ { ++ settings_daemon = Bus.Session.GetObject(BusName, new ObjectPath(ObjectPath));; ++ ++ settings_daemon.GrabMediaPlayerKeys("Banshee", 0); ++ settings_daemon.MediaPlayerKeyPressed += OnMediaPlayerKeyPressed; ++ } ++ ++ protected override void InterfaceInitialize() ++ { ++ InterfaceElements.MainWindow.FocusInEvent += OnFocusInEvent; ++ } ++ ++ private void OnMediaPlayerKeyPressed(string application, string key) ++ { ++ if (application != "Banshee") { ++ return; ++ } ++ switch(key) { ++ case "Play": ++ Globals.ActionManager["PlayPauseAction"].Activate(); ++ break; ++ case "Next": ++ Globals.ActionManager["NextAction"].Activate(); ++ break; ++ case "Previous": ++ Globals.ActionManager["PreviousAction"].Activate(); ++ break; ++ } ++ } ++ ++ private void OnFocusInEvent(object o, FocusInEventArgs args) ++ { ++ settings_daemon.GrabMediaPlayerKeys("Banshee", 0); ++ } ++ ++ ++ protected override void PluginDispose() ++ { ++ InterfaceElements.MainWindow.FocusInEvent -= OnFocusInEvent; ++ settings_daemon.MediaPlayerKeyPressed -= OnMediaPlayerKeyPressed; ++ settings_daemon.ReleaseMediaPlayerKeys("Banshee"); ++ } ++ ++ public override Gtk.Widget GetConfigurationWidget() ++ { ++ return new MMKeysConfigPage(); ++ } ++ ++ public static readonly SchemaEntry EnabledSchema = new SchemaEntry( ++ "plugins.mmkeys", "enabled", ++ false, ++ "Plugin enabled", ++ "Multimedia Keys plugin enabled" ++ ); + } + } only in patch2: unchanged: --- banshee-0.12.1+dfsg.orig/debian/patches/04_dont_append_commas_on_broken_id3v2.patch +++ banshee-0.12.1+dfsg/debian/patches/04_dont_append_commas_on_broken_id3v2.patch @@ -0,0 +1,15 @@ +diff -Nur banshee-0.12.0+dfsg/ext/taglib-sharp/TagLib/Id3v2/Frames/TextIdentificationFrame.cs banshee-0.12.0+dfsg.new/ext/taglib-sharp/TagLib/Id3v2/Frames/TextIdentificationFrame.cs +--- banshee-0.12.0+dfsg/ext/taglib-sharp/TagLib/Id3v2/Frames/TextIdentificationFrame.cs 2007-02-19 18:31:08.000000000 +1100 ++++ banshee-0.12.0+dfsg.new/ext/taglib-sharp/TagLib/Id3v2/Frames/TextIdentificationFrame.cs 2007-04-03 15:59:52.000000000 +1000 +@@ -117,6 +117,11 @@ + field_list = new StringList (); + text_encoding = StringType.UTF8; + ParseFields (FieldData (data, offset)); ++ ++ // Remove the last string if it's empty. (Workaround for defective ++ // nul terminated tags.) ++ if (field_list.Count != 0 && field_list [field_list.Count - 1] == "") ++ field_list.RemoveAt (field_list.Count - 1); + } + } +