two new patches
authorAnders Rune Jensen <arj@gentoo.org>
Sat, 15 Jan 2005 04:48:31 +0000 (04:48 +0000)
committerAnders Rune Jensen <arj@gentoo.org>
Sat, 15 Jan 2005 04:48:31 +0000 (04:48 +0000)
Package-Manager: portage-2.0.51-r12

media-video/cxfe/ChangeLog
media-video/cxfe/Manifest
media-video/cxfe/cxfe-0.9.1-r1.ebuild [new file with mode: 0644]
media-video/cxfe/files/digest-cxfe-0.9.1-r1 [new file with mode: 0644]
media-video/cxfe/files/disable-dpms.patch [new file with mode: 0644]
media-video/cxfe/files/position-osd.patch [new file with mode: 0644]

index 3dcbb6e7e93401a74d1d7b9d6b319d4ce96c5826..6ff35adeada3953dae531d075f36957526c63aab 100644 (file)
@@ -1,7 +1,11 @@
 # ChangeLog for media-video/cxfe
 # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/cxfe/ChangeLog,v 1.6 2005/01/13 03:17:28 arj Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/cxfe/ChangeLog,v 1.7 2005/01/15 04:48:31 arj Exp $
 
+  15 Jan 2005; Anders Rune Jensen <arj@gentoo.org> +cxfe-0.9.1-r1.ebuild:
+  Two more patches, one to disable dpms in x11 fullscreen and another to
+  add a status button.
+       
   13 Jan 2005; Anders Rune Jensen <arj@gentoo.org> cxfe-0.9.1.ebuild:
   Tested and works on amd64. 3 Patches, one to fix OSD, another to 
   make it compile on gcc 2.95 and the last to make xv the default output 
index 3eac8cbb36a87cfcffb95e0a78a0bf98ef66ef0b..9a7d0911c5a9d4c9620abd87ea96facac3cad191 100644 (file)
@@ -1,9 +1,13 @@
+MD5 548bc0365bacecc9bfae8ae63cde8aa7 cxfe-0.9.1-r1.ebuild 860
 MD5 5bf3ce68ed1923dc3a3996a58987a360 metadata.xml 247
 MD5 61fb77a7bb61267e9b13868822cb977b cxfe-0.7.5.ebuild 726
 MD5 2cb0434e33ab18e72b127dee21def79b cxfe-0.9.1.ebuild 777
-MD5 4b571621fc4ad4fa7d44eec1671c6b27 ChangeLog 986
+MD5 b150b3f07e31f4717ae8cbb62ddbf41a ChangeLog 1158
+MD5 d0c0290cd640b2146b22461991dcd224 files/digest-cxfe-0.9.1-r1 61
+MD5 0d403e10e19e0524e5687b7dcdc710c2 files/disable-dpms.patch 3277
 MD5 d0c0290cd640b2146b22461991dcd224 files/digest-cxfe-0.9.1 61
 MD5 8b9e755c332942ee010472cb4db6a68f files/Makefile-fix.patch 1509
+MD5 ff4bdfd3b211f4b6a82e9e01ba4e9151 files/position-osd.patch 2771
 MD5 d75978f6e55a95ec4a87ba6144aaea71 files/digest-cxfe-0.7.5 61
 MD5 aa89d08a6f878178dee16433cc4a194c files/gcc-2.95-fix.patch 606
 MD5 b3b0eb83642ffd1d2e89799f70169edb files/xv-default.patch 650
diff --git a/media-video/cxfe/cxfe-0.9.1-r1.ebuild b/media-video/cxfe/cxfe-0.9.1-r1.ebuild
new file mode 100644 (file)
index 0000000..7a1e8ae
--- /dev/null
@@ -0,0 +1,36 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-video/cxfe/cxfe-0.9.1-r1.ebuild,v 1.1 2005/01/15 04:48:31 arj Exp $
+
+inherit eutils
+
+DESCRIPTION="A command line interface for xine."
+HOMEPAGE="http://www.rtwnetwork.com/cxfe/"
+
+SRC_URI="ftp://ftp.rtwnetwork.com/pub/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="lirc"
+
+DEPEND=">=media-libs/xine-lib-1_rc1
+          virtual/x11
+          lirc? ( app-misc/lirc )
+          sys-libs/ncurses"
+
+src_unpack() {
+       unpack ${A}
+       mv cxfe ${P}
+       cd ${P}
+       epatch ${FILESDIR}/gcc-2.95-fix.patch
+       epatch ${FILESDIR}/max-osd-fix.patch
+       epatch ${FILESDIR}/xv-default.patch
+       epatch ${FILESDIR}/disable-dpms.patch
+       epatch ${FILESDIR}/position-osd.patch
+}
+
+src_install() {
+       dobin cxfe
+       dodoc COPYING README TODO lircrc-example
+}
diff --git a/media-video/cxfe/files/digest-cxfe-0.9.1-r1 b/media-video/cxfe/files/digest-cxfe-0.9.1-r1
new file mode 100644 (file)
index 0000000..f1f0f36
--- /dev/null
@@ -0,0 +1 @@
+MD5 9c38ddaea38a5d330c3610e2f3d3afae cxfe-0.9.1.tar.gz 91650
diff --git a/media-video/cxfe/files/disable-dpms.patch b/media-video/cxfe/files/disable-dpms.patch
new file mode 100644 (file)
index 0000000..e9a8bcd
--- /dev/null
@@ -0,0 +1,111 @@
+Common subdirectories: cxfe/CVS and cxfe-mod/CVS
+diff -uN cxfe/cxfe.c cxfe-mod/cxfe.c
+--- cxfe/cxfe.c        2004-11-27 03:07:59.000000000 +0100
++++ cxfe-mod/cxfe.c    2005-01-15 06:40:05.724443072 +0100
+@@ -103,8 +103,57 @@
+   uint32_t  status;
+ } MWMHints;
+ 
++static int dpms_disabled=0;
++static int timeout_save=0;
+ 
++void wsScreenSaverOn( Display *mDisplay )
++{
++ int nothing;
++ if ( dpms_disabled )
++  {
++   if ( DPMSQueryExtension( mDisplay,&nothing,&nothing ) )
++    {
++     if ( !DPMSEnable( mDisplay ) ) printf("DPMS restoring failed.\n"); // restoring power saving settings
++      else
++       {
++        // DPMS does not seem to be enabled unless we call DPMSInfo
++        BOOL onoff;
++        CARD16 state;
++        DPMSInfo( mDisplay,&state,&onoff );
++        if ( onoff ) printf("Successfully enabled DPMS.\n");
++         else printf("DPMS not enabled.\n");
++       }
++    }
++  }
++ if ( timeout_save )
++  {
++   int dummy, interval, prefer_blank, allow_exp;
++   XGetScreenSaver( mDisplay,&dummy,&interval,&prefer_blank,&allow_exp );
++   XSetScreenSaver( mDisplay,timeout_save,interval,prefer_blank,allow_exp );
++   XGetScreenSaver( mDisplay,&timeout_save,&interval,&prefer_blank,&allow_exp );
++  }
++}
+ 
++void wsScreenSaverOff( Display * mDisplay )
++{
++ int interval,prefer_blank,allow_exp,nothing;
++ if ( DPMSQueryExtension( mDisplay,&nothing,&nothing ) )
++  {
++   BOOL onoff;
++   CARD16 state;
++   DPMSInfo( mDisplay,&state,&onoff );
++   if ( onoff )
++    {
++      Status stat;
++      printf("Disabling DPMS.\n");
++      dpms_disabled=1;
++      stat=DPMSDisable( mDisplay );  // monitor powersave off
++      //mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"stat: %d.\n",stat );
++   }
++  }
++ XGetScreenSaver( mDisplay,&timeout_save,&interval,&prefer_blank,&allow_exp );
++ if ( timeout_save ) XSetScreenSaver( mDisplay,0,interval,prefer_blank,allow_exp ); // turning off screensaver
++}
+ 
+ static void *osd_loop(void *dummy)
+ {
+@@ -755,6 +804,10 @@
+              XLockDisplay(display);
+              XUnmapWindow(display, window[fullscreen]);
+              fullscreen = !fullscreen;
++             if (fullscreen)
++               wsScreenSaverOff(display);
++             else
++               wsScreenSaverOn(display);
+              XMapRaised(display, window[fullscreen]);
+              XSync(display, False);
+              XTranslateCoordinates(display, window[fullscreen],
+@@ -920,6 +973,7 @@
+          }     
+    }
+ }
++
+ char* makestring(char *string, int len)
+ {
+    int i;
+@@ -1134,6 +1188,9 @@
+     else
+        completion_event = -1;
+ 
++    if (fullscreen)
++      wsScreenSaverOff(display);
++
+     XMapRaised(display, window[fullscreen]);
+ 
+     res_h = (DisplayWidth(display, screen) * 1000 / DisplayWidthMM(display, screen));
+@@ -1293,6 +1350,7 @@
+   
+   if (x11) {
+      XLockDisplay(display);
++     wsScreenSaverOn(display);
+      XUnmapWindow(display,  window[fullscreen]);
+      XDestroyWindow(display,  window[0]);
+      XDestroyWindow(display,  window[1]);
+diff -uN cxfe/main.h cxfe-mod/main.h
+--- cxfe/main.h        2004-11-27 02:32:28.000000000 +0100
++++ cxfe-mod/main.h    2005-01-15 06:40:29.770787472 +0100
+@@ -43,6 +43,7 @@
+ #include <X11/Xatom.h>
+ #include <X11/Xutil.h>
+ #include <X11/extensions/XShm.h>
++#include <X11/extensions/dpms.h>
+ #include <xine.h>
+ #include <xine/xineutils.h>
+ 
+Common subdirectories: cxfe/termio and cxfe-mod/termio
diff --git a/media-video/cxfe/files/position-osd.patch b/media-video/cxfe/files/position-osd.patch
new file mode 100644 (file)
index 0000000..00faa4b
--- /dev/null
@@ -0,0 +1,92 @@
+Common subdirectories: cxfe/CVS and cxfe-mod/CVS
+diff -uN cxfe/README cxfe-mod/README
+--- cxfe/README        2004-11-27 03:32:10.000000000 +0100
++++ cxfe-mod/README    2005-01-15 06:26:10.714383896 +0100
+@@ -91,6 +91,7 @@
+ Up Arrow - increases Volume
+ Down Arrow - decrease Volume
+ f - Full Screen/Window Toggle (X only)
++o - Display position in stream
+ d - Toggle Deinterlace/post processing (uses default or post set with
+     -p switch)
+ s - Skip to next MRL if multiple MRLS supplied.  If only one
+diff -uN cxfe/cxfe.c cxfe-mod/cxfe.c
+--- cxfe/cxfe.c        2004-11-27 03:07:59.000000000 +0100
++++ cxfe-mod/cxfe.c    2005-01-15 06:30:27.162397872 +0100
+@@ -476,6 +476,27 @@
+    percent_done = (ltime/llength)*100;
+    printf("Time:%d sec Length:%d sec \n",ltime/1000,llength/1000);
+ }
++static void print_osd_status()
++{
++   int               lpos, ltime, llength;
++   int             percent_done;
++   
++   
++   (void)get_pos_length(cxfe.stream, &lpos, &ltime, &llength);
++
++   percent_done = (int)(((double)ltime/(double)llength)*100);
++
++   int cur_hour = ltime/1000/60/60;
++   int cur_min = (ltime/1000-cur_hour*60*60)/60;
++   int cur_sec= ltime/1000-cur_hour*60*60-cur_min*60;
++
++   int tot_hour = llength/1000/60/60;
++   int tot_min = (llength/1000-tot_hour*60*60)/60;
++   int tot_sec= llength/1000-tot_hour*60*60-tot_min*60;
++   
++   osd_display_info("%d:%d:%d / %d:%d:%d (%d%%)", cur_hour, cur_min, cur_sec, 
++                  tot_hour, tot_min, tot_sec, percent_done);
++}
+ #ifdef HAVE_LIBLIRC_CLIENT
+ static void *process_lirc_thread()
+ {
+@@ -518,6 +539,8 @@
+                 if (!strcmp(c,"Quit")){
+                     running = 0;
+                     next_mrl = FALSE;}
++              if (!strcmp(c,"STATUS"))
++                  print_osd_status();
+               if (!strcmp(c,"ASPECT_CHANGE"))
+                   aspect_change();
+               if (!strcmp(c,"Menu"))
+@@ -679,6 +702,10 @@
+       case 'D':
+               toggle_deinterlace();
+               break;
++      case 'o':
++      case 'O':
++              print_osd_status();
++              break;
+         case 'l':
+         case 13:
+               send_event(XINE_EVENT_INPUT_SELECT);
+@@ -864,6 +891,10 @@
+            case XK_M:
+              send_event(XINE_EVENT_INPUT_DOWN);
+              break;
++         case XK_o:
++         case XK_O:
++           print_osd_status();
++           break;
+            case XK_Return:
+              send_event(XINE_EVENT_INPUT_SELECT);
+              break;
+diff -uN cxfe/lircrc-example cxfe-mod/lircrc-example
+--- cxfe/lircrc-example        2004-11-15 15:44:06.000000000 +0100
++++ cxfe-mod/lircrc-example    2005-01-15 06:29:39.959573792 +0100
+@@ -99,6 +99,13 @@
+ end
+ begin
+         remote = REALmagic
++      button = OSD
++        prog   = cxfe
++        repeat = 0
++        config = STATUS
++end
++begin
++        remote = REALmagic
+       button = 1
+         prog   = cxfe
+         repeat = 0
+Common subdirectories: cxfe/termio and cxfe-mod/termio