[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