[Pkg-mono-svn-commits] rev 2561 - in
non-group/banshee/trunk/debian: . patches
Sebastian Dröge
slomo-guest at costa.debian.org
Wed Jun 7 18:34:07 UTC 2006
Author: slomo-guest
Date: 2006-06-07 18:34:06 +0000 (Wed, 07 Jun 2006)
New Revision: 2561
Added:
non-group/banshee/trunk/debian/banshee.menu
non-group/banshee/trunk/debian/banshee.xpm
non-group/banshee/trunk/debian/patches/04_total-play-time.diff
non-group/banshee/trunk/debian/patches/05_cover-popup-scaling.diff
Modified:
non-group/banshee/trunk/debian/banshee.install
non-group/banshee/trunk/debian/changelog
non-group/banshee/trunk/debian/control
non-group/banshee/trunk/debian/patches/03_cvs-backports.diff
Log:
* updated banshee to 0.10.10-3
Modified: non-group/banshee/trunk/debian/banshee.install
===================================================================
--- non-group/banshee/trunk/debian/banshee.install 2006-06-07 18:32:57 UTC (rev 2560)
+++ non-group/banshee/trunk/debian/banshee.install 2006-06-07 18:34:06 UTC (rev 2561)
@@ -19,3 +19,4 @@
debian/tmp/etc/gconf/schemas/mmkeys.schemas
debian/tmp/usr/lib/banshee/Banshee.Plugins/NotificationAreaIcon.dll*
debian/tmp/etc/gconf/schemas/banshee-notificationareaicon.schemas
+debian/banshee.xpm /usr/share/pixmaps
Added: non-group/banshee/trunk/debian/banshee.menu
===================================================================
--- non-group/banshee/trunk/debian/banshee.menu 2006-06-07 18:32:57 UTC (rev 2560)
+++ non-group/banshee/trunk/debian/banshee.menu 2006-06-07 18:34:06 UTC (rev 2561)
@@ -0,0 +1,5 @@
+?package(banshee):needs="X11" \
+ section="Apps/Sound" \
+ title="Banshee" \
+ command="/usr/bin/banshee" \
+ icon="/usr/share/pixmaps/banshee.xpm"
Added: non-group/banshee/trunk/debian/banshee.xpm
===================================================================
--- non-group/banshee/trunk/debian/banshee.xpm 2006-06-07 18:32:57 UTC (rev 2560)
+++ non-group/banshee/trunk/debian/banshee.xpm 2006-06-07 18:34:06 UTC (rev 2561)
@@ -0,0 +1,282 @@
+/* XPM */
+static char * banshee_xpm[] = {
+"32 32 247 2",
+" c None",
+". c #3465A4",
+"+ c #3B6BA8",
+"@ c #4070AC",
+"# c #3566A5",
+"$ c #4676B0",
+"% c #5E8CC1",
+"& c #6D9ACC",
+"* c #729FCF",
+"= c #3868A6",
+"- c #396AA7",
+"; c #608EC3",
+"> c #3869A7",
+", c #6593C6",
+"' c #6694C7",
+") c #5887BD",
+"! c #5E8DC1",
+"~ c #3768A6",
+"{ c #6391C4",
+"] c #6997C9",
+"^ c #4877B2",
+"/ c #4978B2",
+"( c #3667A5",
+"_ c #5382B9",
+": c #4C7CB5",
+"< c #4878B2",
+"[ c #74A0CF",
+"} c #4A79B3",
+"| c #74A0D0",
+"1 c #77A2D1",
+"2 c #4C7BB3",
+"3 c #75A1D0",
+"4 c #7AA5D2",
+"5 c #3A6AA7",
+"6 c #4E7CB4",
+"7 c #7EA7D3",
+"8 c #5379AB",
+"9 c #CDCDCD",
+"0 c #DADADA",
+"a c #DEDEDE",
+"b c #DBDBDB",
+"c c #D2D2D2",
+"d c #BABABA",
+"e c #A1A1A1",
+"f c #507DB5",
+"g c #79A3D1",
+"h c #80A9D4",
+"i c #6087B8",
+"j c #FBFBFB",
+"k c #F5F5F5",
+"l c #F3F3F3",
+"m c #F4F4F4",
+"n c #F8F8F8",
+"o c #F9F9F9",
+"p c #D3D3D3",
+"q c #A8A8A8",
+"r c #A3A7AC",
+"s c #527FB5",
+"t c #84ABD5",
+"u c #6187B8",
+"v c #F2F2F2",
+"w c #F1F1F1",
+"x c #F0F0F0",
+"y c #F6F6F6",
+"z c #BCBCBC",
+"A c #B5B5B5",
+"B c #EAEDF2",
+"C c #5480B6",
+"D c #7CA6D2",
+"E c #87ADD6",
+"F c #6188B9",
+"G c #EFEFEF",
+"H c #C5C5C5",
+"I c #ABABAB",
+"J c #E6E9EE",
+"K c #5681B7",
+"L c #8AB0D7",
+"M c #6288B9",
+"N c #FCFCFC",
+"O c #F7F7F7",
+"P c #EDEDED",
+"Q c #BBBBBB",
+"R c #9E9E9E",
+"S c #E1E1E1",
+"T c #E5E9ED",
+"U c #5883B8",
+"V c #7FA8D4",
+"W c #8DB2D8",
+"X c #FDFDFD",
+"Y c #EBEEF3",
+"Z c #BCCBDF",
+"` c #9EB5D2",
+" . c #83A0C5",
+".. c #7E9CC3",
+"+. c #85A1C5",
+"@. c #ACBED5",
+"#. c #E3E7EB",
+"$. c #EEEEEE",
+"%. c #A3A3A3",
+"&. c #B4B4B4",
+"*. c #FAFAFA",
+"=. c #5984B8",
+"-. c #81AAD4",
+";. c #90B4D9",
+">. c #4975AE",
+",. c #5681B6",
+"'. c #6F96C4",
+"). c #82A5CE",
+"!. c #92B2D6",
+"~. c #95B5D8",
+"{. c #799EC9",
+"]. c #557FB3",
+"^. c #C2CEDD",
+"/. c #ECECEC",
+"(. c #CACACA",
+"_. c #D5D5D5",
+":. c #E6EAEE",
+"<. c #5B85B9",
+"[. c #83ABD5",
+"}. c #94B6DA",
+"|. c #8CAED4",
+"1. c #9FBDDD",
+"2. c #8BADD3",
+"3. c #799ECA",
+"4. c #7197C4",
+"5. c #789DC8",
+"6. c #8CB1D8",
+"7. c #81A9D4",
+"8. c #5780B4",
+"9. c #EAECEE",
+"0. c #EBEBEB",
+"a. c #5D87BA",
+"b. c #85ACD6",
+"c. c #97B9DC",
+"d. c #628BBC",
+"e. c #6087B9",
+"f. c #90ABCD",
+"g. c #B0C3DB",
+"h. c #C6D4E5",
+"i. c #B9CADF",
+"j. c #6B8FBD",
+"k. c #89AAD0",
+"l. c #82AAD4",
+"m. c #85ACD5",
+"n. c #799CC7",
+"o. c #C1CFE1",
+"p. c #EAEAEA",
+"q. c #A4A4A4",
+"r. c #5F88BA",
+"s. c #9BBBDD",
+"t. c #6489BA",
+"u. c #FEFEFE",
+"v. c #E4E8EE",
+"w. c #7BA5D2",
+"x. c #88A8CF",
+"y. c #AFC2DB",
+"z. c #B2B2B2",
+"A. c #6189BB",
+"B. c #89AED7",
+"C. c #9DBDDE",
+"D. c #658ABA",
+"E. c #AEC0D7",
+"F. c #7B9DC8",
+"G. c #89AFD7",
+"H. c #7499C5",
+"I. c #C8D5E6",
+"J. c #E5E8EC",
+"K. c #628ABB",
+"L. c #8BB0D7",
+"M. c #A1BFDF",
+"N. c #DCE3EB",
+"O. c #8BA6C8",
+"P. c #638ABB",
+"Q. c #A2BFDF",
+"R. c #A3BFDE",
+"S. c #5D84B7",
+"T. c #F9FAFA",
+"U. c #E9E9E9",
+"V. c #A9A9A9",
+"W. c #E0E0E0",
+"X. c #648BBC",
+"Y. c #A1BFE0",
+"Z. c #507BB1",
+"`. c #8BA7CA",
+" + c #7696C0",
+".+ c #5E85B7",
+"++ c #638BBC",
+"@+ c #94B2D5",
+"#+ c #9CBCDD",
+"$+ c #93B5DA",
+"%+ c #9FBCDC",
+"&+ c #5781B5",
+"*+ c #D9E2EE",
+"=+ c #E8E8E8",
+"-+ c #C0C0C0",
+";+ c #E2E5E9",
+">+ c #A4C1E1",
+",+ c #9AB7D8",
+"'+ c #9EBBDB",
+")+ c #AEC7E2",
+"!+ c #B3CBE5",
+"~+ c #AFC9E4",
+"{+ c #A7C3E1",
+"]+ c #9EBADB",
+"^+ c #6D93C1",
+"/+ c #678CBB",
+"(+ c #E0E7F1",
+"_+ c #D7D7D7",
+":+ c #A2A2A2",
+"<+ c #E1E4E8",
+"[+ c #4F7AB1",
+"}+ c #82A3CB",
+"|+ c #87A7CE",
+"1+ c #8BAAD0",
+"2+ c #87A8CE",
+"3+ c #80A2CB",
+"4+ c #7599C6",
+"5+ c #5E87BA",
+"6+ c #5982B6",
+"7+ c #7D9CC5",
+"8+ c #CCD8E8",
+"9+ c #F9F9FA",
+"0+ c #E7E7E7",
+"a+ c #ADADAD",
+"b+ c #E9EAEA",
+"c+ c #C7D2DF",
+"d+ c #C4D2E3",
+"e+ c #BACADF",
+"f+ c #B4C6DD",
+"g+ c #BFCEE2",
+"h+ c #CBD7E7",
+"i+ c #E7ECF3",
+"j+ c #949494",
+"k+ c #CECECE",
+"l+ c #E2E2E2",
+"m+ c #9A9A9A",
+"n+ c #CBCBCB",
+"o+ c #DCDCDC",
+"p+ c #C2C2C2",
+"q+ c #929292",
+"r+ c #B7B7B7",
+"s+ c #D6D6D6",
+"t+ c #BFBFBF",
+"u+ c #999999",
+"v+ c #939393",
+"w+ c #969696",
+"x+ c #979797",
+" . + @ # ",
+" . $ % & * * = ",
+" - ; * * * * * = ",
+" > , * ' ) ! * * = ",
+" ~ { ] ^ . / * * = ",
+" ( _ : ( < * * = ",
+" . . . < * [ = ",
+" } | 1 > ",
+" 2 3 4 5 ",
+" 6 1 7 8 9 0 a b c d e ",
+" f g h i j k l m k n o p q ",
+" r s 4 t u j m m l v w x m y z ",
+" A B C D E F j y y k m l w x G o H ",
+" I y J K 7 L M N n n O k m v w G P o Q ",
+" R S k T U V W M X Y Z ` ...+. at .#.$.P v %. ",
+" &.*.v J =.-.;.>.u ,.'.).!.~.!.{.].^./.m (. ",
+" _.k v :.<.[.}.|.1.2.3.4.5.~.6.7.1.8.9./.0.R ",
+" R G x v :.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.o q. ",
+" R n x w J r.E s.t.u.j *.n O v.r.;.w.x.y.0.O z. ",
+" R o G w T A.B.C.D.N n n O k E.F.t G.H.I.0.y A ",
+" R l $.x J.K.L.M.D.j y y N.O.P.Q.D R.S.T.U.n V. ",
+" W.x $.#.X.6.Y.Z.`. +.+++ at +#+$+%+&+*+x =+m R ",
+" -+y P ;+++$+>+,+'+)+!+~+{+]+^+/+(+l =+$._+ ",
+" :+w P <+[+}+|+1+2+3+4+5+6+7+8+9+$.U.0+n a+ ",
+" z n b+c+d+e+g.f+g+h+i+n m $.p.U.0+v c ",
+" j+k+y p.0.0././././.0.0.p.U.=+0+x l+m+ ",
+" j+n+n /.U.p.p.p.p.U.U.=+0+=+m o+R ",
+" &.U.y $.=+=+=+0+0+0.v w p+q+ ",
+" j+r+s+G O n O l o+t+u+ ",
+" v+w+m+x+j+ ",
+" ",
+" "};
Modified: non-group/banshee/trunk/debian/changelog
===================================================================
--- non-group/banshee/trunk/debian/changelog 2006-06-07 18:32:57 UTC (rev 2560)
+++ non-group/banshee/trunk/debian/changelog 2006-06-07 18:34:06 UTC (rev 2561)
@@ -1,3 +1,33 @@
+banshee (0.10.10-3) unstable; urgency=low
+
+ * Remove libmono-cairo1.0-cil from Build-Depends again. The FTBFS was only
+ caused by an too old gtk-sharp2 on powerpc and ia64
+ * Move gstreamer0.10-plugins-ugly from Depends to Recommends as it is not a
+ hard dependency but only useful to have
+ * debian/patches/04_total-play-time.diff:
+ + Incorporate patch from John Wright to fix the display of the total play
+ time if in search mode (Closes: #370202)
+ * debian/banshee.menu,
+ debian/banshee.xpm:
+ + Install a menu file and a xpm icon, generated from upstream's png
+ (Closes: #360062)
+ * debian/patches/03_cvs-backports.diff:
+ Some additional CVS backports from the stable branch:
+ - deadlock when burning CDs on SMP machines
+ - slightly optimized playlist handling and column sorting
+ - fix small usuability bug. When changing to a source that has less
+ elements than the current position in the former source was don't show
+ an empty source that would be shown correctly after scrolling.
+ - Add id3v2mux to the list of MP3 tag muxers if none was specified
+ - before burning calculate the total duration of the selection and
+ ensure the media is large enough to hold it.
+ * debian/patches/05_cover-popup-scaling.diff:
+ + Scale the cover popup if width or height are greater then 75% of the
+ available screen size. Otherwise it might fill your complete screen and
+ you have to kill banshee.
+
+ -- Sebastian Dröge <slomo at ubuntu.com> Wed, 7 Jun 2006 18:46:40 +0200
+
banshee (0.10.10-2) unstable; urgency=low
* Add libmono-cairo1.0-cil to Build-Depends to fix FTBFS on powerpc
Modified: non-group/banshee/trunk/debian/control
===================================================================
--- non-group/banshee/trunk/debian/control 2006-06-07 18:32:57 UTC (rev 2560)
+++ non-group/banshee/trunk/debian/control 2006-06-07 18:34:06 UTC (rev 2561)
@@ -2,12 +2,13 @@
Section: sound
Priority: optional
Maintainer: Sebastian Dröge <slomo at ubuntu.com>
-Build-Depends: debhelper (>= 5), cdbs, cli-common-dev (>= 0.4.0), mono-mcs (>= 1.1.10) | c-sharp-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.5.16), libdbus-1-cil (>= 0.60), libsqlite3-dev (>= 3.2), libmono-sqlite1.0-cil, 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.60), libdbus-glib-1-dev (>= 0.60), libhal-dev (>= 0.5.2), libnautilus-burn-dev (>= 2.12.0), libmusicbrainz4-dev (>= 2.1.1), libavahi1.0-cil (>= 0.6), pkg-config, intltool, mono-gmcs, libmono-cairo1.0-cil
+Build-Depends: debhelper (>= 5), cdbs, cli-common-dev (>= 0.4.0), mono-mcs (>= 1.1.10) | c-sharp-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.5.16), libdbus-1-cil (>= 0.60), libsqlite3-dev (>= 3.2), libmono-sqlite1.0-cil, 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.60), libdbus-glib-1-dev (>= 0.60), libhal-dev (>= 0.5.2), libnautilus-burn-dev (>= 2.12.0), libmusicbrainz4-dev (>= 2.1.1), libavahi1.0-cil (>= 0.6), pkg-config, intltool, mono-gmcs
Standards-Version: 3.7.2
Package: banshee
Architecture: any
-Depends: ${shlibs:Depends}, ${cli:Depends}, ${misc:Depends}, gstreamer0.10-plugins-base, gstreamer0.10-plugins-good, gstreamer0.10-plugins-ugly, gstreamer0.10-gnomevfs
+Depends: ${shlibs:Depends}, ${cli:Depends}, ${misc:Depends}, gstreamer0.10-plugins-base, gstreamer0.10-plugins-good, gstreamer0.10-gnomevfs
+Recommends: gstreamer0.10-plugins-ugly
Suggests: banshee-daap
Description: Audio Management and Playback application
Banshee is an audio management and playback application for the GNOME
Modified: non-group/banshee/trunk/debian/patches/03_cvs-backports.diff
===================================================================
--- non-group/banshee/trunk/debian/patches/03_cvs-backports.diff 2006-06-07 18:32:57 UTC (rev 2560)
+++ non-group/banshee/trunk/debian/patches/03_cvs-backports.diff 2006-06-07 18:34:06 UTC (rev 2561)
@@ -170,3 +170,498 @@
if (initial_import && !in_library) {
+===================================================================
+RCS file: /cvs/gnome/banshee/src/PlayerInterface.cs,v
+retrieving revision 1.167.2.4
+retrieving revision 1.167.2.5
+diff -u -r1.167.2.4 -r1.167.2.5
+--- src/PlayerInterface.cs 2006/05/01 16:33:17 1.167.2.4
++++ src/PlayerInterface.cs 2006/05/16 17:08:41 1.167.2.5
+@@ -404,6 +404,7 @@
+ playlistView.DragDataGet += OnPlaylistViewDragDataGet;
+ playlistView.DragDrop += OnPlaylistViewDragDrop;
+ playlistView.Selection.Changed += OnPlaylistViewSelectionChanged;
++ playlistView.Vadjustment.Changed += OnPlaylistViewVadjustmentChanged;
+
+ playlistView.EnableModelDragSource(
+ Gdk.ModifierType.Button1Mask | Gdk.ModifierType.Button3Mask,
+@@ -922,6 +923,15 @@
+ !(source is AudioCdSource || source is DapSource);
+ }
+
++ private void OnPlaylistViewVadjustmentChanged(object o, EventArgs args)
++ {
++ double max_offset = playlistView.Vadjustment.Upper - playlistView.Vadjustment.PageSize;
++
++ if(playlistView.Vadjustment.Value > max_offset) {
++ playlistView.Vadjustment.Value = max_offset;
++ }
++ }
++
+ private void OnSourceManagerActiveSourceChanged(SourceEventArgs args)
+ {
+ ThreadAssist.ProxyToMain(HandleSourceChanged);
+
+===================================================================
+RCS file: /cvs/gnome/banshee/src/Main.cs,v
+retrieving revision 1.29
+retrieving revision 1.29.2.1
+diff -u -r1.29 -r1.29.2.1
+--- src/Main.cs 2006/02/13 22:18:07 1.29
++++ src/Main.cs 2006/05/19 20:34:43 1.29.2.1
+@@ -56,6 +56,9 @@
+ #endif
+ }
+
++ [System.Runtime.InteropServices.DllImport("libdbus-glib-1")]
++ private static extern void dbus_g_thread_init();
++
+ private static void Startup(string [] args)
+ {
+ try {
+@@ -63,6 +66,7 @@
+ } catch {}
+
+ Gtk.Application.Init();
++ dbus_g_thread_init();
+
+ Globals.ArgumentQueue = new ArgumentQueue(new ArgumentLayout [] {
+ new ArgumentLayout("enqueue <files>","Files to enqueue, must be last argument specified"),
+
+===================================================================
+RCS file: /cvs/gnome/banshee/src/PlaylistView.cs,v
+retrieving revision 1.45.2.1
+retrieving revision 1.45.2.2
+diff -u -r1.45.2.1 -r1.45.2.2
+--- src/PlaylistView.cs 2006/04/05 20:26:22 1.45.2.1
++++ src/PlaylistView.cs 2006/05/19 18:24:23 1.45.2.2
+@@ -77,6 +77,14 @@
+ public PlaylistColumn PlaysColumn;
+ public PlaylistColumn LastPlayedColumn;
+
++ private class ColumnSorter : IComparer
++ {
++ public int Compare(object a, object b)
++ {
++ return (a as PlaylistColumn).Order.CompareTo((b as PlaylistColumn).Order);
++ }
++ }
++
+ public PlaylistView(PlaylistModel model)
+ {
+ // set up columns
+@@ -121,8 +129,10 @@
+ 8, (int)ColumnId.LastPlayed);
+ columns.Add(LastPlayedColumn);
+
++ columns.Sort(new ColumnSorter());
++
+ foreach(PlaylistColumn plcol in columns) {
+- InsertColumn(plcol.Column, plcol.Order);
++ AppendColumn(plcol.Column);
+ }
+
+ // FIXME: would be nice to have these as PlaylistColumns too...
+
+===================================================================
+RCS file: /cvs/gnome/banshee/src/Banshee.Base/Database.cs,v
+retrieving revision 1.6
+retrieving revision 1.6.2.1
+diff -u -r1.6 -r1.6.2.1
+--- src/Banshee.Base/Database.cs 2006/02/13 22:18:07 1.6
++++ src/Banshee.Base/Database.cs 2006/05/19 18:24:23 1.6.2.1
+@@ -1,4 +1,3 @@
+-
+ /***************************************************************************
+ * Database.cs
+ *
+@@ -94,7 +93,8 @@
+ CREATE TABLE PlaylistEntries (
+ EntryID INTEGER PRIMARY KEY,
+ PlaylistID INTEGER NOT NULL,
+- TrackID INTEGER NOT NULL
++ TrackID INTEGER NOT NULL,
++ ViewOrder INTEGER NOT NULL DEFAULT 0
+ )");
+ }
+ }
+@@ -120,6 +120,13 @@
+ } catch(ApplicationException) {
+ LogCore.Instance.PushDebug("Adding new database column", "RemoteLookupStatus INTEGER");
+ Execute("ALTER TABLE Tracks ADD RemoteLookupStatus INTEGER");
++ }
++
++ try {
++ QuerySingle("SELECT ViewOrder FROM PlaylistEntries LIMIT 1");
++ } catch(ApplicationException) {
++ LogCore.Instance.PushDebug("Adding new database column", "ViewOrder INTEGER");
++ Execute("ALTER TABLE PlaylistEntries ADD ViewOrder INTEGER NOT NULL DEFAULT 0");
+ }
+ }
+ }
+
+===================================================================
+RCS file: /cvs/gnome/banshee/src/Banshee.Base/Sources/PlaylistSource.cs,v
+retrieving revision 1.5.2.1
+retrieving revision 1.5.2.2
+diff -u -r1.5.2.1 -r1.5.2.2
+--- src/Banshee.Base/Sources/PlaylistSource.cs 2006/05/01 16:33:19 1.5.2.1
++++ src/Banshee.Base/Sources/PlaylistSource.cs 2006/05/19 18:24:24 1.5.2.2
+@@ -1,9 +1,8 @@
+-
+ /***************************************************************************
+ * PlaylistSource.cs
+ *
+- * Copyright (C) 2005 Novell
+- * Written by Aaron Bockover (aaron at aaronbock.net)
++ * Copyright (C) 2005-2006 Novell, Inc.
++ * Written by Aaron Bockover <aaron at abock.org>
+ ****************************************************************************/
+
+ /* THIS FILE IS LICENSED UNDER THE MIT LICENSE AS OUTLINED IMMEDIATELY BELOW:
+@@ -52,6 +51,8 @@
+ }
+
+ private ArrayList tracks = new ArrayList();
++ private Queue remove_queue = new Queue();
++ private Queue append_queue = new Queue();
+ private int id;
+
+ public PlaylistSource() : this(0)
+@@ -84,18 +85,39 @@
+ }
+
+ private void LoadFromDatabase()
+- {
++ {
+ Name = (string)Globals.Library.Db.QuerySingle(String.Format(
+ @"SELECT Name
+ FROM Playlists
+ WHERE PlaylistID = '{0}'",
+ id
+ ));
+-
++
++ // check to see if ViewOrder has ever been set, if not, perform
++ // a default ordering as a compatibility update
++ if(Convert.ToInt32(Globals.Library.Db.QuerySingle(String.Format(
++ @"SELECT COUNT(*)
++ FROM PlaylistEntries
++ WHERE PlaylistID = '{0}'
++ AND ViewOrder > 0",
++ id))) <= 0) {
++ Console.WriteLine("Performing compatibility update on playlist '{0}'", Name);
++ Globals.Library.Db.Execute(String.Format(
++ @"UPDATE PlaylistEntries
++ SET ViewOrder = (ROWID -
++ (SELECT COUNT(*)
++ FROM PlaylistEntries
++ WHERE PlaylistID < '{0}'))
++ WHERE PlaylistID = '{0}'",
++ id
++ ));
++ }
++
+ IDataReader reader = Globals.Library.Db.Query(String.Format(
+ @"SELECT TrackID
+ FROM PlaylistEntries
+- WHERE PlaylistID = '{0}'",
++ WHERE PlaylistID = '{0}'
++ ORDER BY ViewOrder",
+ id
+ ));
+
+@@ -143,6 +165,7 @@
+ if(track is LibraryTrackInfo) {
+ lock(TracksMutex) {
+ tracks.Add(track);
++ append_queue.Enqueue(track);
+ }
+ OnUpdated();
+ }
+@@ -152,6 +175,7 @@
+ {
+ lock(TracksMutex) {
+ tracks.Remove(track);
++ remove_queue.Enqueue(track);
+ }
+ }
+
+@@ -169,36 +193,88 @@
+ id
+ ));
+
++ tracks.Clear();
++ append_queue.Clear();
++ remove_queue.Clear();
++
+ SourceManager.RemoveSource(this);
+ playlists.Remove(this);
+ }
+
+ public override void Commit()
+ {
+- Globals.Library.Db.Execute(String.Format(
+- @"DELETE FROM PlaylistEntries
+- WHERE PlaylistID = '{0}'",
+- id
+- ));
++ if(remove_queue.Count > 0) {
++ lock(TracksMutex) {
++ while(remove_queue.Count > 0) {
++ TrackInfo track = remove_queue.Dequeue() as TrackInfo;
++ Globals.Library.Db.Execute(String.Format(
++ @"DELETE FROM PlaylistEntries
++ WHERE PlaylistID = '{0}'
++ AND TrackID = '{1}'",
++ id, track.TrackId
++ ));
++ }
++ }
++ }
+
+- lock(TracksMutex) {
+- foreach(TrackInfo track in Tracks) {
+- if(track.TrackId <= 0)
+- continue;
+-
+- Globals.Library.Db.Execute(String.Format(
+- @"INSERT INTO PlaylistEntries
+- VALUES (NULL, '{0}', '{1}')",
+- id, track.TrackId
+- ));
++ if(append_queue.Count > 0) {
++ lock(TracksMutex) {
++ while(append_queue.Count > 0) {
++ TrackInfo track = append_queue.Dequeue() as TrackInfo;
++ Globals.Library.Db.Execute(String.Format(
++ @"INSERT INTO PlaylistEntries
++ VALUES (NULL, '{0}', '{1}', (
++ SELECT CASE WHEN MAX(ViewOrder)
++ THEN MAX(ViewOrder) + 1
++ ELSE 1 END
++ FROM PlaylistEntries
++ WHERE PlaylistID = '{0}')
++ )", id, track.TrackId
++ ));
++ }
+ }
+ }
+ }
+
+ public override void Reorder(TrackInfo track, int position)
+ {
+- RemoveTrack(track);
+ lock(TracksMutex) {
++ int sql_position = 1;
++
++ if(position > 0) {
++ TrackInfo sibling = tracks[position] as TrackInfo;
++ if(sibling == track || sibling == null) {
++ return;
++ }
++
++ sql_position = Convert.ToInt32(Globals.Library.Db.QuerySingle(String.Format(
++ @"SELECT ViewOrder
++ FROM PlaylistEntries
++ WHERE PlaylistID = '{0}'
++ AND TrackID = '{1}'
++ LIMIT 1", id, sibling.TrackId)
++ ));
++ } else if(tracks[position] == track) {
++ return;
++ }
++
++ Globals.Library.Db.Execute(String.Format(
++ @"UPDATE PlaylistEntries
++ SET ViewOrder = ViewOrder + 1
++ WHERE PlaylistID = '{0}'
++ AND ViewOrder >= '{1}'",
++ id, sql_position
++ ));
++
++ Globals.Library.Db.Execute(String.Format(
++ @"UPDATE PlaylistEntries
++ SET ViewOrder = '{1}'
++ WHERE PlaylistID = '{0}'
++ AND TrackID = '{2}'",
++ id, sql_position, track.TrackId
++ ));
++
++ tracks.Remove(track);
+ tracks.Insert(position, track);
+ }
+ }
+@@ -223,10 +299,13 @@
+
+ int removed_count = 0;
+
+- foreach(TrackInfo track in args.Tracks) {
+- if(tracks.Contains(track)) {
+- tracks.Remove(track);
+- removed_count++;
++ lock(TracksMutex) {
++ foreach(TrackInfo track in args.Tracks) {
++ if(tracks.Contains(track)) {
++ tracks.Remove(track);
++ remove_queue.Enqueue(track);
++ removed_count++;
++ }
+ }
+ }
+
+
+--- src/banshee.exe.config.in.old 2006-05-22 21:13:16.504959272 +0200
++++ src/banshee.exe.config.in 2006-05-22 21:13:59.524419320 +0200
+@@ -6,4 +6,5 @@
+ <dllmap dll="gdk-x11-2.0" target="libgdk-x11-2.0.so.0" />
+ <dllmap dll="libbanshee" target="@expanded_libdir@/@PACKAGE@/libbanshee.so" />
+ <dllmap dll="libX11" target="libX11.so.6" />
++ <dllmap dll="libdbus-glib-1" target="libdbus-glib-1.so.2" />
+ </configuration>
+
+===================================================================
+RCS file: /cvs/gnome/banshee/libbanshee/gst-cd-rip-0.10.c,v
+retrieving revision 1.4.2.1
+retrieving revision 1.4.2.2
+diff -u -r1.4.2.1 -r1.4.2.2
+--- libbanshee/gst-cd-rip-0.10.c 2006/04/03 21:33:27 1.4.2.1
++++ libbanshee/gst-cd-rip-0.10.c 2006/05/29 19:05:12 1.4.2.2
+@@ -197,8 +197,8 @@
+ g_warning("vorbisenc added without oggmux, attempting to insert oggmux element in pipeline");
+ pipeline = g_strdup_printf("audioconvert ! %s ! oggmux", encoder_pipeline);
+ } else if((strstr(encoder_pipeline, "lame") != NULL || strstr(encoder_pipeline, "xingenc") != NULL) &&
+- strstr(encoder_pipeline, "id3mux") == NULL) {
+- const gchar *muxer_names [] = { "taglibid3mux", "id3mux", NULL};
++ strstr(encoder_pipeline, "mux") == NULL) {
++ const gchar *muxer_names [] = { "id3v2mux", "taglibid3mux", "id3mux", NULL};
+ gint i;
+
+ for(i = 0; muxer_names[i] != NULL; i++) {
+
+===================================================================
+RCS file: /cvs/gnome/banshee/src/BurnCore.cs,v
+retrieving revision 1.28.2.3
+retrieving revision 1.28.2.4
+diff -u -r1.28.2.3 -r1.28.2.4
+--- src/BurnCore.cs 2006/04/07 21:33:55 1.28.2.3
++++ src/BurnCore.cs 2006/05/29 20:03:03 1.28.2.4
+@@ -1,8 +1,8 @@
+ /***************************************************************************
+ * BurnCore.cs
+ *
+- * Copyright (C) 2005 Novell
+- * Written by Aaron Bockover (aaron at aaronbock.net)
++ * Copyright (C) 2005-2006 Novell, Inc.
++ * Written by Aaron Bockover <aaron at abock.org>
+ ****************************************************************************/
+
+ /* THIS FILE IS LICENSED UNDER THE MIT LICENSE AS OUTLINED IMMEDIATELY BELOW:
+@@ -72,10 +72,18 @@
+
+ canceled = false;
+
++ double total_seconds = 0;
++
+ foreach(TrackInfo track in encodeQueue) {
+- // 44.1 kHz sample rate * 16 bit channel resolution * 2 channels (stereo)
+- estimated_encoded_bytes += track.Duration.TotalSeconds * 176400.0;
++ total_seconds += track.Duration.TotalSeconds;
++ }
++
++ if(!HaveRequiredSpace(total_seconds)) {
++ return;
+ }
++
++ // 44.1 kHz sample rate * 16 bit channel resolution * 2 channels (stereo)
++ estimated_encoded_bytes = total_seconds * 176400.0;
+
+ long free_space = PathUtil.GetDirectoryAvailableSpace(Paths.TempDir);
+ if(free_space >= 0 && estimated_encoded_bytes >= free_space) {
+@@ -159,6 +167,49 @@
+ Catalog.GetString("None of the songs selected for this CD could be found."));
+ }
+ }
++
++ private bool HaveRequiredSpace(double totalduration)
++ {
++ string selected_burner_id = null;
++ try {
++ selected_burner_id = (string)Globals.Configuration.Get(GConfKeys.CDBurnerId);
++ } catch {
++ }
++
++ BurnDrive drive = BurnUtil.GetDriveByIdOrDefault(selected_burner_id);
++
++ if(drive == null) {
++ LogCore.Instance.PushWarning(
++ Catalog.GetString("Problem creating CD"),
++ Catalog.GetString("No CD writers were found on your system."));
++ return false;
++ }
++
++ if(drive.MediaSize <= 0) {
++ LogCore.Instance.PushWarning(
++ Catalog.GetString("Insert Blank CD"),
++ Catalog.GetString("Please insert a blank CD disk for the write process."));
++ return false;
++ }
++
++ long available = (long)(((drive.MediaSize / 1024 / 1024) - 1) * 48 / 7);
++ long remaining = (long)(available - totalduration);
++
++ if(remaining < 0) {
++ int minutes = (int)(-remaining / 60);
++ string msg = String.Format(
++ Catalog.GetString("The inserted media is not large enough to hold your selected music.") + " " +
++ Catalog.GetPluralString(
++ "{0} more minute is needed on the media.",
++ "{0} more minutes are needed on the media.",
++ minutes), minutes);
++
++ LogCore.Instance.PushWarning(Catalog.GetString("Not Enough Space on Disc"), msg);
++ return false;
++ }
++
++ return true;
++ }
+
+ private void OnFileEncodeComplete(object o, FileCompleteArgs args)
+ {
+@@ -301,7 +352,6 @@
+ private BurnDrive drive;
+ private BurnRecorder recorder;
+ private BurnRecorderActions currentAction;
+- private long TotalDuration;
+ private ActiveUserEvent user_event;
+
+ public Burner(BurnCore.DiskType diskType, Queue burnQueue)
+@@ -333,27 +383,6 @@
+ }
+ }
+
+- private bool HaveRequiredSpace()
+- {
+- long available = (long)(((drive.MediaSize / 1024 / 1024) - 1) * 48 / 7);
+- long remaining = (long)(available - TotalDuration);
+-
+- if(remaining < 0) {
+- int minutes = (int)(-remaining / 60);
+- string msg =
+- Catalog.GetString("The inserted media is not large enough to hold your selected music.") + " " +
+- Catalog.GetPluralString(
+- "{0} more minute is needed on the media.",
+- "{0} more minutes are needed on the media.",
+- minutes);
+-
+- LogCore.Instance.PushWarning(Catalog.GetString("Not Enough Space on Disc"), msg);
+- return false;
+- }
+-
+- return true;
+- }
+-
+ private void BurnThread()
+ {
+ ArrayList tracks = new ArrayList();
+
Added: non-group/banshee/trunk/debian/patches/04_total-play-time.diff
===================================================================
--- non-group/banshee/trunk/debian/patches/04_total-play-time.diff 2006-06-07 18:32:57 UTC (rev 2560)
+++ non-group/banshee/trunk/debian/patches/04_total-play-time.diff 2006-06-07 18:34:06 UTC (rev 2561)
@@ -0,0 +1,12 @@
+diff -Nur banshee-0.10.10.orig/src/PlayerInterface.cs banshee-0.10.10/src/PlayerInterface.cs
+--- banshee-0.10.10.orig/src/PlayerInterface.cs 2006-05-01 09:56:52.000000000 -0600
++++ banshee-0.10.10/src/PlayerInterface.cs 2006-06-03 19:17:07.000000000 -0600
+@@ -1316,7 +1316,7 @@
+ return;
+ }
+
+- playlistModel.Clear();
++ playlistModel.ClearModel();
+
+ if(!searchEntry.IsQueryAvailable) {
+ playlistModel.ReloadSource();
Added: non-group/banshee/trunk/debian/patches/05_cover-popup-scaling.diff
===================================================================
--- non-group/banshee/trunk/debian/patches/05_cover-popup-scaling.diff 2006-06-07 18:32:57 UTC (rev 2560)
+++ non-group/banshee/trunk/debian/patches/05_cover-popup-scaling.diff 2006-06-07 18:34:06 UTC (rev 2561)
@@ -0,0 +1,30 @@
+--- banshee-0.10.10.orig/src/Banshee.Widgets/CoverArtThumbnail.cs
++++ banshee-0.10.10/src/Banshee.Widgets/CoverArtThumbnail.cs
+@@ -289,9 +289,24 @@
+
+ public Pixbuf Image {
+ set {
+- image.Pixbuf = value;
+- SetSizeRequest(value.Width, value.Height);
+- Resize(value.Width, value.Height);
++ int width = value.Width, height = value.Height;
++ if (height >= Screen.Height * 0.75) {
++ width = (int) (width * ((Screen.Height * 0.75) / height));
++ height = (int) (Screen.Height * 0.75);
++ }
++
++ if (width >= Screen.Width * 0.75) {
++ height = (int) (height * ((Screen.Width * 0.75) / width));
++ width = (int) (Screen.Width * 0.75);
++ }
++
++ if ((width != value.Width) || (height != value.Height))
++ image.Pixbuf = value.ScaleSimple(width, height, InterpType.Bilinear);
++ else
++ image.Pixbuf = value;
++
++ SetSizeRequest(image.Pixbuf.Width, image.Pixbuf.Height);
++ Resize(image.Pixbuf.Width, image.Pixbuf.Height);
+ }
+ }
+
More information about the Pkg-mono-svn-commits
mailing list