summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-plugins/vdr-reelbox/ChangeLog77
-rw-r--r--media-plugins/vdr-reelbox/Manifest28
-rw-r--r--media-plugins/vdr-reelbox/files/gcc-4.3.x_3.11210.diff11
-rw-r--r--media-plugins/vdr-reelbox/files/gcc-4.3.x_3.12133.diff11
-rw-r--r--media-plugins/vdr-reelbox/files/patches/vdr-1.7.x-truecolor-ehd-9302.diff1465
-rw-r--r--media-plugins/vdr-reelbox/files/reelbox-3.11210_makefile.diff38
-rw-r--r--media-plugins/vdr-reelbox/files/reelbox-3.12133_makefile.diff38
-rw-r--r--media-plugins/vdr-reelbox/files/reelbox-3.12384-vdr-1.7.4.diff42
-rw-r--r--media-plugins/vdr-reelbox/files/reelbox-3.12384_makefile.diff43
-rw-r--r--media-plugins/vdr-reelbox/files/reelbox-3.12384_p1-vdr-1.7.4.diff23
-rw-r--r--media-plugins/vdr-reelbox/files/reelbox-3.12384_reelbox_c.diff11
-rw-r--r--media-plugins/vdr-reelbox/files/reelbox-3.13986_makefile.diff43
-rw-r--r--media-plugins/vdr-reelbox/files/save-setup_3.11210.diff11
-rw-r--r--media-plugins/vdr-reelbox/files/save-setup_3.12133.diff11
-rw-r--r--media-plugins/vdr-reelbox/files/save-setup_3.12384.diff24
-rw-r--r--media-plugins/vdr-reelbox/files/save-setup_3.13986.diff24
-rw-r--r--media-plugins/vdr-reelbox/files/vdr-reelbox-3.9302_makefile.diff38
-rw-r--r--media-plugins/vdr-reelbox/metadata.xml14
-rw-r--r--media-plugins/vdr-reelbox/vdr-reelbox-3.11210.ebuild58
-rw-r--r--media-plugins/vdr-reelbox/vdr-reelbox-3.12133.ebuild56
-rw-r--r--media-plugins/vdr-reelbox/vdr-reelbox-3.12384-r1.ebuild68
-rw-r--r--media-plugins/vdr-reelbox/vdr-reelbox-3.12384.ebuild73
-rw-r--r--media-plugins/vdr-reelbox/vdr-reelbox-3.13986.ebuild52
-rw-r--r--media-plugins/vdr-reelbox/vdr-reelbox-3.9302.ebuild40
24 files changed, 0 insertions, 2299 deletions
diff --git a/media-plugins/vdr-reelbox/ChangeLog b/media-plugins/vdr-reelbox/ChangeLog
deleted file mode 100644
index dc9a671..0000000
--- a/media-plugins/vdr-reelbox/ChangeLog
+++ /dev/null
@@ -1,77 +0,0 @@
-# ChangeLog for media-plugins/vdr-reelbox
-# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: $
-
- 30 Jun 2010; Joerg Bornkessel <hd_brummy@gentoo.org>
- vdr-reelbox-3.13986.ebuild:
- compilefix for >=ffmpeg-0.6
-
- 18 Jan 2010; Joerg Bornkessel <hd_brummy@gentoo.org>
- vdr-reelbox-3.13986.ebuild:
- typo fixed in patchname
-
- 10 Jan 2010; Joerg Bornkessel <hd_brummy@gentoo.org>
- +vdr-reelbox-3.13986.ebuild, +files/reelbox-3.13986_makefile.diff,
- +files/save-setup_3.13986.diff:
- version bump
-
- 30 Nov 2009; Joerg Bornkessel <hd_brummy@gentoo.org>
- vdr-reelbox-3.12384-r1.ebuild:
- ffmpeg-0.5 fix added
-
- 17 Nov 2009; Joerg Bornkessel <hd_brummy@gentoo.org>
- vdr-reelbox-3.12384-r1.ebuild, +files/reelbox-3.12384_p1-vdr-1.7.4.diff:
- compile fix
-
- 05 Jul 2009; Joerg Bornkessel <hd_brummy@gentoo.org>
- vdr-reelbox-3.11210.ebuild, vdr-reelbox-3.12133.ebuild:
- fixed depend
-
- 21 Jun 2009; Joerg Bornkessel <hd_brummy@gentoo.org>
- +vdr-reelbox-3.12384-r1.ebuild:
- removed EHD_FRAMEBUFFER parameter, use from now /dev/fb_reel
-
- 16 Jun 2009; Joerg Bornkessel <hd_brummy@gentoo.org>
- vdr-reelbox-3.12133.ebuild, vdr-reelbox-3.12384.ebuild:
- EAPI 2 again
-
- 10 Jun 2009; Joerg Krause <joerg_pb@gmx.net> vdr-reelbox-3.12384.ebuild,
- +files/reelbox-3.12384-vdr-1.7.4.diff,
- +files/reelbox-3.12384_makefile.diff,
- +files/reelbox-3.12384_reelbox_c.diff, -files/reelbox-setup-12384.diff,
- -files/makefile.12384.diff, -files/reelbox.12384-vdr.1.7.4.diff,
- +files/save-setup_3.12384.diff:
- Fixed the plugin on non reel-vdr
-
- 05 Jun 2009; Joerg Krause <joerg_pb@gmx.net> +vdr-reelbox-3.12384.ebuild,
- +files/reelbox-setup-12384.diff, +files/makefile.12384.diff,
- +files/reelbox.12384-vdr.1.7.4.diff:
- Added reelbox svn 12384
-
- 07 May 2009; Joerg Bornkessel <hd_brummy@gentoo.org>
- +files/reelbox-3.11210_makefile.diff,
- +files/reelbox-3.12133_makefile.diff, -files/gcc-4.3.x_11210.diff,
- -files/gcc-4.3.x_12133.diff, +files/gcc-4.3.x_3.11210.diff,
- +files/gcc-4.3.x_3.12133.diff, -files/reelbox-11210_makefile.diff,
- -files/reelbox-12133_makefile.diff, -files/save-setup_11210.diff,
- -files/save-setup_12133.diff, +files/save-setup_3.11210.diff,
- +files/save-setup_3.12133.diff:
- patchname fixed
-
- 07 May 2009; Joerg Bornkessel <hd_brummy@gentoo.org>
- vdr-reelbox-3.11210.ebuild, +vdr-reelbox-3.12133.ebuild,
- +files/gcc-4.3.x_12133.diff, +files/reelbox-12133_makefile.diff,
- +files/save-setup_12133.diff:
- version bump
-
- 17 Mar 2009; Joerg Bornkessel <hd_brummy@gentoo.org>
- +vdr-reelbox-3.11210.ebuild, +files/gcc-4.3.x_11210.diff,
- +files/reelbox-11210_makefile.diff, +files/save-setup_11210.diff:
- version bump
-
- 02 Nov 2008; Joerg Bornkessel <hd_brummy@gentoo.org>
- +files/patches/vdr-1.7.x-truecolor-ehd-9302.diff,
- +vdr-reelbox-3.9302.ebuild, +files/vdr-reelbox-3.9302_makefile.diff,
- +metadata.xml:
- removed useless langfix, depend
-
diff --git a/media-plugins/vdr-reelbox/Manifest b/media-plugins/vdr-reelbox/Manifest
deleted file mode 100644
index 8e970df..0000000
--- a/media-plugins/vdr-reelbox/Manifest
+++ /dev/null
@@ -1,28 +0,0 @@
-AUX gcc-4.3.x_3.11210.diff 372 RMD160 35b5d13b483d61414397bf31402be0be8d3126d1 SHA1 afcf8128431f19997c6d44ac4de3505b08adcb7f SHA256 134dd6556519a2b16fba42b61ddcb9b0763fd62d5ab0455b19b00d7d512a5c00
-AUX gcc-4.3.x_3.12133.diff 372 RMD160 35b5d13b483d61414397bf31402be0be8d3126d1 SHA1 afcf8128431f19997c6d44ac4de3505b08adcb7f SHA256 134dd6556519a2b16fba42b61ddcb9b0763fd62d5ab0455b19b00d7d512a5c00
-AUX patches/vdr-1.7.x-truecolor-ehd-9302.diff 54271 RMD160 9dd04d0c0baf8a11e6c2064f5806b516affae5a1 SHA1 300991db319199a5d8cc5bb7c5b497d2f0cf3b9d SHA256 9fe1794c6f111b7b26606ce09ee55b66a9e2c8c1636a453848c945cd32c607a4
-AUX reelbox-3.11210_makefile.diff 1094 RMD160 69f83b118e8b2dbc7fba72631c96dd2ba81cf68b SHA1 60159e6bef9be8691708a47d6e04dd8cccd9ceed SHA256 185e7857565c0c0f32e8de7070f1f0b1481c9de544dd63c54229c4a87085c04f
-AUX reelbox-3.12133_makefile.diff 1094 RMD160 69f83b118e8b2dbc7fba72631c96dd2ba81cf68b SHA1 60159e6bef9be8691708a47d6e04dd8cccd9ceed SHA256 185e7857565c0c0f32e8de7070f1f0b1481c9de544dd63c54229c4a87085c04f
-AUX reelbox-3.12384-vdr-1.7.4.diff 1438 RMD160 8c344ed73ecdd389b7919a3e90635a7b8eabc7d4 SHA1 71b8d953af659d6061c7517ae92e25fa0f56940a SHA256 5aef1e7d9d31698ba0a2308196287e10b969f7d7324ef2a7dd206ff3e7119f14
-AUX reelbox-3.12384_makefile.diff 1324 RMD160 3f988e99feef9a0adca3b6820a17ad8503404a18 SHA1 fe8beb1bb53c0bd2783ad110fa9f5578d7c29d7a SHA256 5167dd6e203d5bf30ece6ffd6f270d0dac1ca95bedd10ce15149fb59387eee05
-AUX reelbox-3.12384_p1-vdr-1.7.4.diff 871 RMD160 75262d7d84f10b8b5b59d49456f63f4404da13eb SHA1 0b6a0fe3d462ad760803fba4f2fc898ac3b46bdf SHA256 867cb72de76a51279ea75f64ad534610b2a07219984d077c3c4d510804d0f4a0
-AUX reelbox-3.12384_reelbox_c.diff 440 RMD160 16322f469302d00c93297d7b9d894821484381d4 SHA1 5760103fd8531fbdf6e016e3a75ccaa132d0763d SHA256 37f4e64ec9aafbba8a8a66b05ca38161d6464dc71309c0ecb9fc03bea4c9da35
-AUX reelbox-3.13986_makefile.diff 1324 RMD160 3f988e99feef9a0adca3b6820a17ad8503404a18 SHA1 fe8beb1bb53c0bd2783ad110fa9f5578d7c29d7a SHA256 5167dd6e203d5bf30ece6ffd6f270d0dac1ca95bedd10ce15149fb59387eee05
-AUX save-setup_3.11210.diff 449 RMD160 451bd528f2f5b7c1d372ec143fe138be9b646a3d SHA1 927eddedc1cf38ba212df6672ac84ca3b6c625ef SHA256 0e4b142764b720df089ccba9be72c80220ce22982b72737842cfb053bb452563
-AUX save-setup_3.12133.diff 449 RMD160 451bd528f2f5b7c1d372ec143fe138be9b646a3d SHA1 927eddedc1cf38ba212df6672ac84ca3b6c625ef SHA256 0e4b142764b720df089ccba9be72c80220ce22982b72737842cfb053bb452563
-AUX save-setup_3.12384.diff 884 RMD160 690bf64f172c59710476fe595ee01f3c570db944 SHA1 55daba66fcfb61e73232cea143f5763332163058 SHA256 a8a473ee9780e6b3fa644453439cf68097bd40b4ef2ad5800b105b6ba5a64f20
-AUX save-setup_3.13986.diff 884 RMD160 690bf64f172c59710476fe595ee01f3c570db944 SHA1 55daba66fcfb61e73232cea143f5763332163058 SHA256 a8a473ee9780e6b3fa644453439cf68097bd40b4ef2ad5800b105b6ba5a64f20
-AUX vdr-reelbox-3.9302_makefile.diff 1042 RMD160 36194ad2bba086d1d53b027321cafbeb9293b4c2 SHA1 575f4adb8715a7c23f97608ae5e3c9b15ae80cbd SHA256 39b759c22d3bcecc2d116125636d85150a5e0797c8df614ae1d26236c968a5fc
-DIST vdr-reelbox-3.11210.tgz 162319 RMD160 afd1408e5aa492488a35760f9969779442a5f5d7 SHA1 566991a6da8f077417bc982f02565ddc656fe73a SHA256 598dc82124099302116b1e671ed32742f09c8d5a67bbe412419f61d99dffaf7b
-DIST vdr-reelbox-3.12133.tgz 162912 RMD160 f5351bd917079591c8a6b72f5179d6b741407efd SHA1 ff8a92e935851e5334bd4e22d01db8ca6244e6a6 SHA256 82256d4c77d27a9262546aba75f0a58ecc57f28e72ae78dee32e67ac57e51dc7
-DIST vdr-reelbox-3.12384.tgz 168266 RMD160 a138ceb62763039876b5a89f25e5a12bf37d890c SHA1 e41cec7bc9af45804122aeaa01f16863c49bb71d SHA256 e8a45adabafa26688c47987b267d5c7e4f7e6405e83bea3063e4e23689cbde96
-DIST vdr-reelbox-3.13986.tgz 169712 RMD160 b399f8f393dd2ee4c08bfd9b110ea4ef11bccd15 SHA1 bf23d2a555ee950f260bf9761a89fe4fc3b48360 SHA256 c29389e71c6bef6e20292ee088bacb94cd087e5c41465240fe2a3e0ca60aaf82
-DIST vdr-reelbox-3.9302.tgz 140337 RMD160 740c9b258f7890d6f5f00f12723b970c9da82979 SHA1 9c1fbf94c03a812e6b036ffb2ccf65665ba22326 SHA256 f91ef36ebb0da57930485394b5bc2f05b1e06b9f7a4bcc06b0aec70c5cee9c29
-EBUILD vdr-reelbox-3.11210.ebuild 1475 RMD160 60afb1900a150b880563901c3fa611fa50ae3d20 SHA1 78a71f8103396796f361e0b91f35fea5dab0006c SHA256 16578abb7c22e14240b1785faa68355fce2a7ffedd120530a2622b9382cfbc62
-EBUILD vdr-reelbox-3.12133.ebuild 1451 RMD160 7b8ad6f57d03c364b874234c915e7bbb36363f88 SHA1 59545bea7edfd29d19ea174c403e84c1b3827dbe SHA256 306abac524a4a5e495cea668b01d09531f2a846f0d2ad79fc6103cb9075b5728
-EBUILD vdr-reelbox-3.12384-r1.ebuild 1655 RMD160 ad10171e6fee373c192f4d7abfce840a192425b9 SHA1 52a22ea3e0c54acdfb906d182b127d20f9ab27ea SHA256 2a03b1258dc4455b19b11fcb9c88aa7d69ab0894aa50687443f1b3fd77adcd52
-EBUILD vdr-reelbox-3.12384.ebuild 1690 RMD160 8abbdfb00f3cb2282502bcad551e698516cc1533 SHA1 fd6ddb893462bc82103d68eecafde9e344d37d58 SHA256 4828202d56dc8aae6025e27b8679ce073e01252d1a6f27e8187bcdd0092b1139
-EBUILD vdr-reelbox-3.13986.ebuild 1188 RMD160 8d1af53885a36ffec23a59a6f31f7678c9a4d90a SHA1 2fd35f10ab9c9cebaf8c5bb1f2feae60a0ff1cac SHA256 43d3783ea5fbec05bd345bee53e334e9b878c48f0302048eeed43ff80721c72b
-EBUILD vdr-reelbox-3.9302.ebuild 982 RMD160 eb1c3942188b73e6383cb57804461c6145713498 SHA1 5d5bae21fde3d1f7398d14e897b8ea716f7ce6b7 SHA256 dd2be30eebdfe1bac7596c703a7e344638bc013190f778d3662f00efba6f248b
-MISC ChangeLog 2906 RMD160 d905d6b5f9e3fe63122dbcb6315dd98c07098640 SHA1 a6495b29afb25aa40bc0c9d9e20fc7b8b553c4d7 SHA256 5b5e0ebfa65285f738c116f51c4ed4483222b2de599a92b46be6602d94113d14
-MISC metadata.xml 352 RMD160 57a3a02b1c7da27ff3277627eed5645a1812adcc SHA1 15007ef9f352900614d270f14e511414f2669576 SHA256 54b2ad3aff6816a964885c849410e0e67777000713e98b776217b7d509ba0ad2
diff --git a/media-plugins/vdr-reelbox/files/gcc-4.3.x_3.11210.diff b/media-plugins/vdr-reelbox/files/gcc-4.3.x_3.11210.diff
deleted file mode 100644
index 980302e..0000000
--- a/media-plugins/vdr-reelbox/files/gcc-4.3.x_3.11210.diff
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Naur vdr-reelbox-3.orig/VideoPlayerPipHd.c vdr-reelbox-3/VideoPlayerPipHd.c
---- vdr-reelbox-3.orig/VideoPlayerPipHd.c 2009-03-17 15:45:21.554259015 +0100
-+++ vdr-reelbox-3/VideoPlayerPipHd.c 2009-03-17 15:48:33.715925162 +0100
-@@ -31,6 +31,7 @@
- #include <fcntl.h>
- #include <sys/mman.h>
- #include <vdr/thread.h>
-+#include <stdlib.h>
-
- extern "C" {
- #ifdef REELVDR
diff --git a/media-plugins/vdr-reelbox/files/gcc-4.3.x_3.12133.diff b/media-plugins/vdr-reelbox/files/gcc-4.3.x_3.12133.diff
deleted file mode 100644
index 980302e..0000000
--- a/media-plugins/vdr-reelbox/files/gcc-4.3.x_3.12133.diff
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Naur vdr-reelbox-3.orig/VideoPlayerPipHd.c vdr-reelbox-3/VideoPlayerPipHd.c
---- vdr-reelbox-3.orig/VideoPlayerPipHd.c 2009-03-17 15:45:21.554259015 +0100
-+++ vdr-reelbox-3/VideoPlayerPipHd.c 2009-03-17 15:48:33.715925162 +0100
-@@ -31,6 +31,7 @@
- #include <fcntl.h>
- #include <sys/mman.h>
- #include <vdr/thread.h>
-+#include <stdlib.h>
-
- extern "C" {
- #ifdef REELVDR
diff --git a/media-plugins/vdr-reelbox/files/patches/vdr-1.7.x-truecolor-ehd-9302.diff b/media-plugins/vdr-reelbox/files/patches/vdr-1.7.x-truecolor-ehd-9302.diff
deleted file mode 100644
index 8637b4e..0000000
--- a/media-plugins/vdr-reelbox/files/patches/vdr-1.7.x-truecolor-ehd-9302.diff
+++ /dev/null
@@ -1,1465 +0,0 @@
-diff -Naur vdr-1.7.0.orig/dvdIndex.c vdr-1.7.0/dvdIndex.c
---- vdr-1.7.0.orig/dvdIndex.c 1970-01-01 01:00:00.000000000 +0100
-+++ vdr-1.7.0/dvdIndex.c 2008-10-29 23:35:52.000000000 +0100
-@@ -0,0 +1,196 @@
-+#include <string.h> //strdup()
-+#include <stdio.h> //popen ()
-+#include "dvdIndex.h"
-+
-+/// computes sha1 sum of a directory by
-+// listing all files of the directory and their respective sizes
-+
-+/**
-+ * cd _mount_point_
-+ * ls -Rl | awk '{ if ( NF >= 8 ) printf "%s %s ", $5, $8}' ==> get the size ($5) and the name ($8) of all files in _mount_point_
-+ * sha1sum ==> compute SHA1 sum
-+ * ... awk to get the first column which is the sha1sum
-+ */
-+
-+std::string SHA_directory(std::string dir)
-+{
-+ char cmd [512];
-+ char* sha1_str=NULL;
-+
-+ sprintf( cmd, "cd \"%s\" ; ls -Rl |\
-+ awk '{ if ( NF >= 8 ) printf \"%%s %%s \", $5, $8}' |\
-+ sha1sum | awk '{print $1}' ",
-+ dir.c_str() );
-+
-+ FILE *p = popen(cmd, "r"); // code from devicesetup.c - device::mount()
-+ if (p) {
-+ char s[64];
-+ fscanf(p," %s", s);
-+ sha1_str = strdup(s);
-+ }
-+ pclose(p);
-+
-+ return sha1_str; // len(sha1_str) != 40 => ERROR
-+
-+}
-+
-+
-+/// ---- class cDataBaseEntry -------------
-+// one entry of DataBase
-+cDataBaseEntry::cDataBaseEntry() { }
-+cDataBaseEntry::cDataBaseEntry( string plName, string volName, long long mSize, long long t )
-+{
-+ pluginName = plName;
-+ volumeName = volName;
-+ lastMounted = t?t:time(0); // present time
-+ mediaSize = mSize;
-+}
-+
-+time_t cDataBaseEntry::LastMounted() { return lastMounted; }
-+long long cDataBaseEntry::MediaSize() { return mediaSize; }
-+string cDataBaseEntry::VolName() { return volumeName; }
-+string cDataBaseEntry::PluginName() { return pluginName; }
-+
-+
-+///---- class CMediaDataBase ----------
-+
-+cMediaDataBase::cMediaDataBase(string fileName)
-+{
-+ dbFile = fileName;
-+ mediaDB.clear();
-+ Read();
-+ dbIter=mediaDB.begin();
-+} ///
-+
-+bool cMediaDataBase::Next(cDataBaseEntry& node) // get current entry, and increament dbIter
-+{
-+ if ( mediaDB.size() <= 0 || dbIter == mediaDB.end() ) return false;
-+
-+ node = dbIter->second;
-+ dbIter++;
-+ return true;
-+}
-+
-+void cMediaDataBase::Rewind() // goto the first entry in DB
-+{
-+ dbIter = mediaDB.begin();
-+}
-+
-+
-+bool cMediaDataBase::Save() /// writes mediaDB object to the DataBase in HDD
-+{
-+ FILE *fp = fopen(dbFile.c_str(),"w+");
-+ if (!fp) return false;
-+
-+ int flag= -1; // so if for-loop is skipped => nothing written to HDD => nothing saved .ie return false
-+ map<string, cDataBaseEntry>::iterator it = mediaDB.begin();
-+
-+ for ( ; it != mediaDB.end() ; it++)
-+ {
-+ flag = fprintf(fp, "%s\t%s\t%s\t%lld\t%lld\n",
-+ it->first.c_str(), it->second.PluginName().c_str() ,
-+ it->second.VolName().c_str(), it->second.MediaSize(),
-+ (long long)it->second.LastMounted() );
-+
-+ if (flag<0) // error
-+ {
-+ printf("(%s:%d) flag < 0: not saved\n",__FILE__,__LINE__);
-+ break;
-+ }
-+ }
-+
-+ fclose(fp);
-+ return (flag >= 0);
-+
-+}
-+
-+
-+bool cMediaDataBase::Read() /// reads from HDD, and populates mediaDB object
-+{
-+
-+ if ( access( dbFile.c_str(), F_OK ) != 0 ) // file does not exist
-+ {
-+ printf("(%s:%d) db doesnot exist!! \n", __FILE__, __LINE__);
-+ mediaDB.clear();
-+ return true;
-+ }
-+ FILE *fp = fopen(dbFile.c_str(), "r");
-+ if ( !fp ) // read error!
-+ {
-+ printf("(%s:%d) read error: %s \n", __FILE__, __LINE__, dbFile.c_str());
-+ return false; // mediaDB not modified
-+ }
-+
-+ // tmp DB
-+ map<string, cDataBaseEntry> tmpDB;
-+ string plName, volName, key;
-+ long long t, s;
-+ char buffer[512];
-+ int flag = -1;
-+
-+ while( !feof(fp) )
-+ {
-+ flag = fscanf(fp, " %s",buffer); // key
-+ key = buffer;
-+ if (flag<0) break;
-+
-+ flag = fscanf(fp, " %s",buffer); // pluginName
-+ plName = buffer;
-+ if (flag<0) break;
-+
-+ flag = fscanf(fp, " %s",buffer); // VolName
-+ volName = buffer;
-+ if (flag<0) break;
-+
-+ flag = fscanf(fp, " %lld", &s); // size
-+ if (flag<0) break;
-+ flag = fscanf(fp, " %lld", &t); // time
-+ if (flag<0) break;
-+ /// TODO replace with a single fscanf()
-+
-+
-+ cDataBaseEntry node (plName, volName, s, t);
-+ tmpDB[key] = node;
-+
-+ } // end while
-+
-+ if ( flag<0 && ferror(fp) ) // flag alone might indicate EOF
-+ { fclose(fp); printf("flag=%d\n",flag); return false; }
-+
-+ fclose(fp);
-+ mediaDB.clear();
-+ mediaDB.insert( tmpDB.begin(), tmpDB.end() );
-+ return true;
-+} //end Read()
-+
-+bool cMediaDataBase::Add(string hashKey, cDataBaseEntry node)
-+{
-+ mediaDB[hashKey] = node ;
-+ return Save();
-+}
-+
-+/// add new entry into DataBase: calls Save() after updating mediaDB object
-+bool cMediaDataBase::Add(string hashKey, string plName, string volName, long long s)
-+{
-+ cDataBaseEntry node(plName, volName, s);
-+ return Add(hashKey, node);
-+}
-+
-+void cMediaDataBase::Remove(string hashKey) /// remove entry and write it to HDD
-+{
-+ mediaDB.erase(hashKey);
-+ Save();
-+}
-+
-+long cMediaDataBase::Size() /// number of entries
-+{
-+ return mediaDB.size();
-+}
-+
-+void cMediaDataBase::Clear() /// clears DataBase
-+{
-+ mediaDB.clear();
-+ Save();
-+}
-+
-+/// end class cMediaDataBase
-diff -Naur vdr-1.7.0.orig/dvdIndex.h vdr-1.7.0/dvdIndex.h
---- vdr-1.7.0.orig/dvdIndex.h 1970-01-01 01:00:00.000000000 +0100
-+++ vdr-1.7.0/dvdIndex.h 2008-10-29 23:35:52.000000000 +0100
-@@ -0,0 +1,63 @@
-+#ifndef __DVDINDEX_H__
-+#define __DVDINDEX_H__
-+
-+
-+#include <map>
-+#include <string>
-+#include <time.h>
-+
-+#define DVD_DB_FILENAME "/etc/vdr/DVD.db"
-+// TODO: replace with ConfigDirectory/DVD.db
-+
-+using namespace std;
-+
-+std::string SHA_directory(std::string);
-+
-+/// one entry in the Database
-+class cDataBaseEntry
-+{
-+ private:
-+ string pluginName; // which of the plugins of mediad accessed the medium
-+ string volumeName; //
-+ time_t lastMounted; // last-time when the media was inserted. automatically set in constructor
-+ long long mediaSize;
-+ public:
-+ cDataBaseEntry();
-+ cDataBaseEntry( string plName, string volName, long long mSize, long long t=0 );
-+ time_t LastMounted();
-+ long long MediaSize();
-+ string VolName();
-+ string PluginName();
-+};
-+
-+
-+/// The DataBase: needs a unique "key" : now using SHA1
-+class cMediaDataBase
-+{
-+ private:
-+ /// DB in data structure
-+ map<string, cDataBaseEntry> mediaDB;
-+ map<string, cDataBaseEntry>::iterator dbIter; /// DB iterator
-+ /// the database file
-+ string dbFile;
-+ public:
-+ cMediaDataBase(string fileName);
-+
-+ // get current entry, and increament dbIter
-+ bool Next(cDataBaseEntry& node);
-+ void Rewind(); // goto the first entry in DB
-+
-+ bool Save(); /// writes mediaDB object to the DataBase in HDD
-+ bool Read(); /// reads from HDD, and populates mediaDB object
-+
-+ /// add new entry into DataBase: calls Save() after updating mediaDB object
-+ bool Add(string hashKey, cDataBaseEntry node);
-+ bool Add(string hashKey, string plName, string volName, long long s); // XXX: remove this function
-+ void Remove(string hashKey); /// remove entry and write it to HDD
-+
-+ long Size(); /// number of entries
-+ void Clear(); /// clears DataBase and writes to DB
-+};
-+
-+
-+#endif
-diff -Naur vdr-1.7.0.orig/font.h vdr-1.7.0/font.h
---- vdr-1.7.0.orig/font.h 2008-10-29 23:35:40.000000000 +0100
-+++ vdr-1.7.0/font.h 2008-10-29 23:35:52.000000000 +0100
-@@ -36,6 +36,12 @@
- private:
- static cFont *fonts[];
- public:
-+ enum { NUMCHARS = 256 };
-+ typedef uint32_t tPixelData;
-+ struct tCharData {
-+ tPixelData width, height;
-+ tPixelData lines[1];
-+ };
- virtual ~cFont() {}
- virtual int Width(uint c) const = 0;
- ///< Returns the width of the given character in pixel.
-diff -Naur vdr-1.7.0.orig/Makefile vdr-1.7.0/Makefile
---- vdr-1.7.0.orig/Makefile 2008-10-29 23:35:40.000000000 +0100
-+++ vdr-1.7.0/Makefile 2008-10-29 23:35:52.000000000 +0100
-@@ -42,7 +42,7 @@
- lirc.o menu.o menuitems.o nit.o osdbase.o osd.o pat.o player.o plugin.o rcu.o\
- receiver.o recorder.o recording.o remote.o remux.o ringbuffer.o sdt.o sections.o shutdown.o\
- skinclassic.o skins.o skinsttng.o sources.o spu.o status.o svdrp.o themes.o thread.o\
-- timers.o tools.o transfer.o vdr.o videodir.o h264parser.o
-+ timers.o tools.o transfer.o vdr.o videodir.o h264parser.o dvdIndex.o
-
- ifdef WAREAGLEICON
- OBJS += iconpatch.o
-diff -Naur vdr-1.7.0.orig/Makefile.orig vdr-1.7.0/Makefile.orig
---- vdr-1.7.0.orig/Makefile.orig 1970-01-01 01:00:00.000000000 +0100
-+++ vdr-1.7.0/Makefile.orig 2008-10-29 23:35:06.000000000 +0100
-@@ -0,0 +1,284 @@
-+#
-+# Makefile for the Video Disk Recorder
-+#
-+# See the main source file 'vdr.c' for copyright information and
-+# how to reach the author.
-+#
-+# $Id: Makefile 2.0 2008/02/29 21:43:03 kls Exp $
-+
-+.DELETE_ON_ERROR:
-+
-+CC ?= gcc
-+CFLAGS ?= -g -O2 -Wall
-+
-+CXX ?= g++
-+CXXFLAGS ?= -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses
-+
-+LSIDIR = ./libsi
-+DESTDIR ?=
-+PREFIX ?= /usr/local
-+MANDIR = $(PREFIX)/share/man
-+BINDIR = $(PREFIX)/bin
-+LOCDIR = ./locale
-+INCDIR = $(PREFIX)/include
-+LIBS = -ljpeg -lpthread -ldl -lcap -lrt -lfreetype -lfontconfig
-+INCLUDES = -I/usr/include/freetype2
-+
-+PLUGINDIR= ./PLUGINS
-+PLUGINLIBDIR= $(PLUGINDIR)/lib
-+
-+VIDEODIR = /video
-+CONFDIR = $(VIDEODIR)
-+
-+DOXYGEN = /usr/bin/doxygen
-+DOXYFILE = Doxyfile
-+
-+-include Make.config
-+
-+SILIB = $(LSIDIR)/libsi.a
-+
-+OBJS = audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvb_api_wrapper.o dvbdevice.o dvbci.o dvbosd.o\
-+ dvbplayer.o dvbspu.o dvbsubtitle.o eit.o eitscan.o epg.o filter.o font.o i18n.o interface.o keys.o\
-+ lirc.o menu.o menuitems.o nit.o osdbase.o osd.o pat.o player.o plugin.o rcu.o\
-+ receiver.o recorder.o recording.o remote.o remux.o ringbuffer.o sdt.o sections.o shutdown.o\
-+ skinclassic.o skins.o skinsttng.o sources.o spu.o status.o svdrp.o themes.o thread.o\
-+ timers.o tools.o transfer.o vdr.o videodir.o h264parser.o
-+
-+ifdef WAREAGLEICON
-+OBJS += iconpatch.o
-+endif
-+
-+ifdef LIVEBUFFER
-+OBJS += livebuffer.o
-+endif
-+
-+ifdef SETUP
-+OBJS += tinystr.o tinyxml.o tinyxmlerror.o tinyxmlparser.o submenu.o
-+endif
-+
-+ifdef TTXTSUBS
-+OBJS += vdrttxtsubshooks.o
-+endif
-+
-+ifndef NO_KBD
-+DEFINES += -DREMOTE_KBD
-+endif
-+ifdef REMOTE
-+DEFINES += -DREMOTE_$(REMOTE)
-+endif
-+ifdef VDR_USER
-+DEFINES += -DVDR_USER=\"$(VDR_USER)\"
-+endif
-+
-+LIRC_DEVICE ?= /dev/lircd
-+RCU_DEVICE ?= /dev/ttyS1
-+
-+DEFINES += -DLIRC_DEVICE=\"$(LIRC_DEVICE)\" -DRCU_DEVICE=\"$(RCU_DEVICE)\"
-+
-+ifdef LIRC_PUSHFREQ
-+DEFINES += -DLIRC_PUSHFREQ=$(LIRC_PUSHFREQ)
-+endif
-+ifdef LIRC_REPEATDELAY
-+DEFINES += -DLIRCD_REPEATDELAY=$(LIRC_REPEATDELAY)
-+endif
-+ifdef LIRC_REPEATFREQ
-+DEFINES += -DLIRC_REPEATFREQ=$(LIRC_REPEATFREQ)
-+endif
-+ifdef LIRC_REPEATTIMEOUT
-+DEFINES += -DLIRC_REPEATTIMEOUT=$(LIRC_REPEATTIMEOUT)
-+endif
-+ifdef LIRC_RECONNECTDELAY
-+DEFINES += -DLIRC_RECONNECTDELAY=$(LIRC_RECONNECTDELAY)
-+endif
-+ifdef LIRC_PRIORITYBOOST
-+DEFINES += -DLIRC_PRIORITYBOOST=$(LIRC_PRIORITYBOOST)
-+endif
-+
-+DEFINES += -D_GNU_SOURCE
-+
-+DEFINES += -DVIDEODIR=\"$(VIDEODIR)\"
-+DEFINES += -DCONFDIR=\"$(CONFDIR)\"
-+DEFINES += -DPLUGINDIR=\"$(PLUGINLIBDIR)\"
-+DEFINES += -DLOCDIR=\"$(LOCDIR)\"
-+
-+# The version numbers of VDR and the plugin API (taken from VDR's "config.h"):
-+
-+VDRVERSION = $(shell sed -ne '/define VDRVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
-+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
-+
-+ifdef VFAT
-+# for people who want their video directory on a VFAT partition
-+DEFINES += -DVFAT
-+endif
-+
-+ifdef DVDARCHIVE
-+ifdef DVDCHAPJUMP
-+LIBS += -ldvdnav
-+INCLUDES += -I/usr/include/dvdnav
-+DEFINES += -DUSE_DVDCHAPJUMP
-+endif
-+endif
-+
-+all: vdr i18n
-+
-+# Implicit rules:
-+
-+%.o: %.c
-+ $(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $<
-+
-+# Dependencies:
-+
-+MAKEDEP = $(CXX) -MM -MG
-+DEPFILE = .dependencies
-+$(DEPFILE): Makefile
-+ @$(MAKEDEP) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@
-+
-+-include $(DEPFILE)
-+
-+# The main program:
-+
-+vdr: $(OBJS) $(SILIB)
-+ $(CXX) $(CXXFLAGS) -rdynamic $(OBJS) $(NCURSESLIB) $(LIBS) $(LIBDIRS) $(SILIB) -o vdr
-+
-+# The libsi library:
-+
-+$(SILIB):
-+ $(MAKE) -C $(LSIDIR) all
-+
-+# Internationalization (I18N):
-+
-+PODIR = po
-+LOCALEDIR = locale
-+I18Npo = $(wildcard $(PODIR)/*.po)
-+I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr.mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
-+I18Npot = $(PODIR)/vdr.pot
-+
-+%.mo: %.po
-+ msgfmt -c -o $@ $<
-+
-+$(I18Npot): $(wildcard *.c)
-+ xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<vdr-bugs@cadsoft.de>' -o $@ $^
-+
-+%.po: $(I18Npot)
-+ msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
-+ @touch $@
-+
-+$(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr.mo: $(PODIR)/%.mo
-+ @mkdir -p $(dir $@)
-+ cp $< $@
-+
-+.PHONY: i18n
-+i18n: $(I18Nmsgs)
-+
-+install-i18n:
-+ @mkdir -p $(DESTDIR)$(LOCDIR)
-+ @(cd $(LOCALEDIR); cp -r --parents * $(DESTDIR)$(LOCDIR))
-+
-+# The 'include' directory (for plugins):
-+
-+include-dir:
-+ @mkdir -p include/vdr
-+ @(cd include/vdr; for i in ../../*.h; do ln -fs $$i .; done)
-+ @mkdir -p include/libsi
-+ @(cd include/libsi; for i in ../../libsi/*.h; do ln -fs $$i .; done)
-+
-+# Plugins:
-+
-+ifdef PLUGINAPI
-+DEFINES += -DUSE_PLUGINAPI
-+plugins: include-dir
-+ @failed="";\
-+ noapiv="";\
-+ for i in `ls $(PLUGINDIR)/src | grep -v '[^a-z0-9]'`; do\
-+ echo "Plugin $$i:";\
-+ if ! grep -q "\$$(LIBDIR)/.*\$$(APIVERSION)" "$(PLUGINDIR)/src/$$i/Makefile" ; then\
-+ sed -i -e s/VDRVERSION/APIVERSION/g $(PLUGINDIR)/src/$$i/Makefile;\
-+ if ! grep -q "\$$(LIBDIR)/.*\$$(APIVERSION)" "$(PLUGINDIR)/src/$$i/Makefile" ; then\
-+ echo "ERROR: plugin $$i doesn't honor APIVERSION - not compiled!";\
-+ noapiv="$$noapiv $$i";\
-+ continue;\
-+ fi;\
-+ fi;\
-+ $(MAKE) -C "$(PLUGINDIR)/src/$$i" all || failed="$$failed $$i";\
-+ done;\
-+ if [ -n "$$noapiv" ] ; then echo; echo "*** plugins without APIVERSION:$$noapiv"; echo; fi;\
-+ if [ -n "$$failed" ] ; then echo; echo "*** failed plugins:$$failed"; echo; fi
-+else
-+plugins: include-dir
-+ @failed="";\
-+ noapiv="";\
-+ for i in `ls $(PLUGINDIR)/src | grep -v '[^a-z0-9]'`; do\
-+ echo "Plugin $$i:";\
-+ if ! grep -q "\$$(LIBDIR)/.*\$$(APIVERSION)" "$(PLUGINDIR)/src/$$i/Makefile" ; then\
-+ echo "ERROR: plugin $$i doesn't honor APIVERSION - not compiled!";\
-+ noapiv="$$noapiv $$i";\
-+ continue;\
-+ fi;\
-+ $(MAKE) -C "$(PLUGINDIR)/src/$$i" all || failed="$$failed $$i";\
-+ done;\
-+ if [ -n "$$noapiv" ] ; then echo; echo "*** plugins without APIVERSION:$$noapiv"; echo; fi;\
-+ if [ -n "$$failed" ] ; then echo; echo "*** failed plugins:$$failed"; echo; exit 1; fi
-+endif
-+
-+clean-plugins:
-+ @for i in `ls $(PLUGINDIR)/src | grep -v '[^a-z0-9]'`; do $(MAKE) -C "$(PLUGINDIR)/src/$$i" clean; done
-+ @-rm -f $(PLUGINDIR)/lib/lib*-*.so.$(APIVERSION)
-+
-+# Install the files:
-+
-+install: install-bin install-conf install-doc install-i18n install-header
-+
-+# VDR binary:
-+
-+install-bin: vdr
-+ @mkdir -p $(DESTDIR)$(BINDIR)
-+ @cp --remove-destination vdr svdrpsend.pl $(DESTDIR)$(BINDIR)
-+
-+# Configuration files:
-+
-+install-conf:
-+ @mkdir -p $(DESTDIR)$(VIDEODIR)
-+ @if [ ! -d $(DESTDIR)$(CONFDIR) ]; then\
-+ mkdir -p $(DESTDIR)$(CONFDIR);\
-+ cp *.conf $(DESTDIR)$(CONFDIR);\
-+ fi
-+
-+# Documentation:
-+
-+install-doc:
-+ @mkdir -p $(DESTDIR)$(MANDIR)/man1
-+ @mkdir -p $(DESTDIR)$(MANDIR)/man5
-+ @gzip -c vdr.1 > $(DESTDIR)$(MANDIR)/man1/vdr.1.gz
-+ @gzip -c vdr.5 > $(DESTDIR)$(MANDIR)/man5/vdr.5.gz
-+
-+# Plugins:
-+
-+install-plugins: plugins
-+ @mkdir -p $(DESTDIR)$(PLUGINLIBDIR)
-+ @cp --remove-destination $(PLUGINDIR)/lib/lib*-*.so.$(APIVERSION) $(DESTDIR)$(PLUGINLIBDIR)
-+
-+# Header files:
-+
-+install-header:
-+ @mkdir -p $(DESTDIR)$(INCDIR)/vdr $(DESTDIR)$(INCDIR)/vdr/libsi
-+ @cp *.h Make.config $(DESTDIR)$(INCDIR)/vdr
-+ @cp libsi/*.h $(DESTDIR)$(INCDIR)/vdr/libsi
-+
-+# Source documentation:
-+
-+srcdoc:
-+ @cp $(DOXYFILE) $(DOXYFILE).tmp
-+ @echo PROJECT_NUMBER = $(VDRVERSION) >> $(DOXYFILE).tmp
-+ $(DOXYGEN) $(DOXYFILE).tmp
-+ @rm $(DOXYFILE).tmp
-+
-+# Housekeeping:
-+
-+clean:
-+ $(MAKE) -C $(LSIDIR) clean
-+ -rm -f $(OBJS) $(DEPFILE) vdr core* *~
-+ -rm -rf $(LOCALEDIR) $(PODIR)/*.mo $(PODIR)/*.pot
-+ -rm -rf include
-+ -rm -rf srcdoc
-+CLEAN: clean
-+
-diff -Naur vdr-1.7.0.orig/osdbase.h vdr-1.7.0/osdbase.h
---- vdr-1.7.0.orig/osdbase.h 2008-10-29 23:35:40.000000000 +0100
-+++ vdr-1.7.0/osdbase.h 2008-10-29 23:35:52.000000000 +0100
-@@ -85,9 +85,7 @@
-
- class cOsdMenu : public cOsdObject, public cList<cOsdItem> {
- private:
-- static cSkinDisplayMenu *displayMenu;
- static int displayMenuCount;
-- static int displayMenuItems;
- char *title;
- int cols[cSkinDisplayMenu::MaxTabs];
- int first, current, marked;
-@@ -98,6 +96,7 @@
- bool hasHotkeys;
- protected:
- void SetDisplayMenu(void);
-+ static int displayMenuItems;
- cSkinDisplayMenu *DisplayMenu(void) { return displayMenu; }
- const char *hk(const char *s);
- void SetCols(int c0, int c1 = 0, int c2 = 0, int c3 = 0, int c4 = 0);
-@@ -124,6 +123,7 @@
- public:
- cOsdMenu(const char *Title, int c0 = 0, int c1 = 0, int c2 = 0, int c3 = 0, int c4 = 0);
- virtual ~cOsdMenu();
-+ static cSkinDisplayMenu *displayMenu;
- virtual bool NeedsFastResponse(void) { return subMenu ? subMenu->NeedsFastResponse() : cOsdObject::NeedsFastResponse(); }
- int Current(void) const { return current; }
- void Add(cOsdItem *Item, bool Current = false, cOsdItem *After = NULL);
-diff -Naur vdr-1.7.0.orig/osdbase.h.orig vdr-1.7.0/osdbase.h.orig
---- vdr-1.7.0.orig/osdbase.h.orig 1970-01-01 01:00:00.000000000 +0100
-+++ vdr-1.7.0/osdbase.h.orig 2008-10-29 23:35:11.000000000 +0100
-@@ -0,0 +1,135 @@
-+/*
-+ * osdbase.h: Basic interface to the On Screen Display
-+ *
-+ * See the main source file 'vdr.c' for copyright information and
-+ * how to reach the author.
-+ *
-+ * $Id: osdbase.h 2.0 2007/11/03 14:50:52 kls Exp $
-+ */
-+
-+#ifndef __OSDBASE_H
-+#define __OSDBASE_H
-+
-+#include "config.h"
-+#include "osd.h"
-+#include "skins.h"
-+#include "tools.h"
-+
-+
-+enum eOSState { osUnknown,
-+ osContinue,
-+ osSchedule,
-+ osChannels,
-+ osTimers,
-+ osRecordings,
-+ osPlugin,
-+ osSetup,
-+ osCommands,
-+ osPause,
-+ osRecord,
-+ osReplay,
-+ osStopRecord,
-+ osStopReplay,
-+ osCancelEdit,
-+ osSwitchDvb,
-+ osBack,
-+ osEnd,
-+ os_User, // the following values can be used locally
-+ osUser1,
-+ osUser2,
-+ osUser3,
-+ osUser4,
-+ osUser5,
-+ osUser6,
-+ osUser7,
-+ osUser8,
-+ osUser9,
-+ osUser10,
-+ };
-+
-+class cOsdItem : public cListObject {
-+private:
-+ char *text;
-+ eOSState state;
-+ bool selectable;
-+protected:
-+ bool fresh;
-+public:
-+ cOsdItem(eOSState State = osUnknown);
-+ cOsdItem(const char *Text, eOSState State = osUnknown, bool Selectable = true);
-+ virtual ~cOsdItem();
-+ bool Selectable(void) const { return selectable; }
-+ void SetText(const char *Text, bool Copy = true);
-+ void SetSelectable(bool Selectable);
-+ void SetFresh(bool Fresh);
-+ const char *Text(void) const { return text; }
-+ virtual void Set(void) {}
-+ virtual eOSState ProcessKey(eKeys Key);
-+ };
-+
-+class cOsdObject {
-+ friend class cOsdMenu;
-+private:
-+ bool isMenu;
-+ bool needsFastResponse;
-+protected:
-+ void SetNeedsFastResponse(bool NeedsFastResponse) { needsFastResponse = NeedsFastResponse; }
-+public:
-+ cOsdObject(bool FastResponse = false) { isMenu = false; needsFastResponse = FastResponse; }
-+ virtual ~cOsdObject() {}
-+ virtual bool NeedsFastResponse(void) { return needsFastResponse; }
-+ bool IsMenu(void) const { return isMenu; }
-+ virtual void Show(void);
-+ virtual eOSState ProcessKey(eKeys Key) { return osUnknown; }
-+ };
-+
-+class cOsdMenu : public cOsdObject, public cList<cOsdItem> {
-+private:
-+ static cSkinDisplayMenu *displayMenu;
-+ static int displayMenuCount;
-+ static int displayMenuItems;
-+ char *title;
-+ int cols[cSkinDisplayMenu::MaxTabs];
-+ int first, current, marked;
-+ cOsdMenu *subMenu;
-+ const char *helpRed, *helpGreen, *helpYellow, *helpBlue;
-+ char *status;
-+ int digit;
-+ bool hasHotkeys;
-+protected:
-+ void SetDisplayMenu(void);
-+ cSkinDisplayMenu *DisplayMenu(void) { return displayMenu; }
-+ const char *hk(const char *s);
-+ void SetCols(int c0, int c1 = 0, int c2 = 0, int c3 = 0, int c4 = 0);
-+ void SetHasHotkeys(bool HasHotkeys = true);
-+ virtual void Clear(void);
-+ bool SelectableItem(int idx);
-+ void SetCurrent(cOsdItem *Item);
-+ void RefreshCurrent(void);
-+ void DisplayCurrent(bool Current);
-+ void DisplayItem(cOsdItem *Item);
-+ void CursorUp(void);
-+ void CursorDown(void);
-+ void PageUp(void);
-+ void PageDown(void);
-+ void Mark(void);
-+ eOSState HotKey(eKeys Key);
-+ eOSState AddSubMenu(cOsdMenu *SubMenu);
-+ eOSState CloseSubMenu();
-+ bool HasSubMenu(void) { return subMenu; }
-+ void SetStatus(const char *s);
-+ void SetTitle(const char *Title);
-+ void SetHelp(const char *Red, const char *Green = NULL, const char *Yellow = NULL, const char *Blue = NULL);
-+ virtual void Del(int Index);
-+public:
-+ cOsdMenu(const char *Title, int c0 = 0, int c1 = 0, int c2 = 0, int c3 = 0, int c4 = 0);
-+ virtual ~cOsdMenu();
-+ virtual bool NeedsFastResponse(void) { return subMenu ? subMenu->NeedsFastResponse() : cOsdObject::NeedsFastResponse(); }
-+ int Current(void) const { return current; }
-+ void Add(cOsdItem *Item, bool Current = false, cOsdItem *After = NULL);
-+ void Ins(cOsdItem *Item, bool Current = false, cOsdItem *Before = NULL);
-+ virtual void Display(void);
-+ virtual eOSState ProcessKey(eKeys Key);
-+ };
-+
-+#endif //__OSDBASE_H
-diff -Naur vdr-1.7.0.orig/osd.c vdr-1.7.0/osd.c
---- vdr-1.7.0.orig/osd.c 2008-10-29 23:35:40.000000000 +0100
-+++ vdr-1.7.0/osd.c 2008-10-29 23:35:52.000000000 +0100
-@@ -217,8 +217,6 @@
-
- bool cBitmap::Covers(int x1, int y1, int x2, int y2) const
- {
-- if (x1 > x2 || y1 > y2) // sanity check
-- return false;
- x1 -= x0;
- y1 -= y0;
- x2 -= x0;
-@@ -228,8 +226,6 @@
-
- bool cBitmap::Intersects(int x1, int y1, int x2, int y2) const
- {
-- if (x1 > x2 || y1 > y2) // sanity check
-- return false;
- x1 -= x0;
- y1 -= y0;
- x2 -= x0;
-@@ -383,13 +379,14 @@
- if (strncmp(Xpm[i + 1], s, c) == 0) {
- if (i == NoneColorIndex)
- NoneColorIndex = MAXNUMCOLORS;
-- SetIndex(x, y, (IgnoreNone && i > NoneColorIndex) ? i - 1 : i);
-+ SetIndexFast(x, y, (IgnoreNone && i > NoneColorIndex) ? i - 1 : i);
- break;
- }
- }
- s += c;
- }
- }
-+ UpdateDirty(0,0,w-1,h-1);
- if (NoneColorIndex < MAXNUMCOLORS && !IgnoreNone)
- return SetXpm(Xpm, true);
- return true;
-@@ -398,20 +395,15 @@
- void cBitmap::SetIndex(int x, int y, tIndex Index)
- {
- if (bitmap) {
-- if (0 <= x && x < width && 0 <= y && y < height)
-- SetIndexInternal(x, y, Index);
-- }
--}
--
--void cBitmap::SetIndexInternal(int x, int y, tIndex Index)
--{
-- // this function relies on existing bitmap and valid coordinates
-- if (bitmap[width * y + x] != Index) {
-- bitmap[width * y + x] = Index;
-- if (dirtyX1 > x) dirtyX1 = x;
-- if (dirtyY1 > y) dirtyY1 = y;
-- if (dirtyX2 < x) dirtyX2 = x;
-- if (dirtyY2 < y) dirtyY2 = y;
-+ if (0 <= x && x < width && 0 <= y && y < height) {
-+ if (bitmap[width * y + x] != Index) {
-+ bitmap[width * y + x] = Index;
-+ if (dirtyX1 > x) dirtyX1 = x;
-+ if (dirtyY1 > y) dirtyY1 = y;
-+ if (dirtyX2 < x) dirtyX2 = x;
-+ if (dirtyY2 < y) dirtyY2 = y;
-+ }
-+ }
- }
- }
-
-@@ -419,147 +411,88 @@
- {
- x -= x0;
- y -= y0;
-- if (bitmap && 0 <= x && x < width && 0 <= y && y < height)
-- SetIndexInternal(x, y, Index(Color));
-+ if (0 <= x && x < width && 0 <= y && y < height)
-+ SetIndex(x, y, Index(Color));
- }
-
- void cBitmap::DrawBitmap(int x, int y, const cBitmap &Bitmap, tColor ColorFg, tColor ColorBg, bool ReplacePalette, bool Overlay)
- {
- if (bitmap && Bitmap.bitmap && Intersects(x, y, x + Bitmap.Width() - 1, y + Bitmap.Height() - 1)) {
-- bool Covered = Covers(x, y, x + Bitmap.Width() - 1, y + Bitmap.Height() - 1);
-- if (Covered)
-+ if (Covers(x, y, x + Bitmap.Width() - 1, y + Bitmap.Height() - 1))
- Reset();
- x -= x0;
- y -= y0;
-- // determine valid destination area [x1,x2]x[y1,y2] to avoid range checks inside the loops
-- int x1 = max(0, x), x2 = min(0 + width , x + Bitmap.width) - 1;
-- int y1 = max(0, y), y2 = min(0 + height, y + Bitmap.height) - 1;
--
--#define FOR_Y_LOOP0 \
-- tIndex *pRowSrc = &Bitmap.bitmap[Bitmap.width * (y1 - y) + (x1 - x)]; \
-- tIndex *pRowDst = &bitmap[width * y1 + x1]; \
-- for (int &yy = y1, ye = min(y2, dirtyY1 - 1); yy <= ye; yy++, pRowDst += width, pRowSrc += Bitmap.width)
--
--#define FOR_Y_LOOP1 \
-- tIndex *pRowSrc = &Bitmap.bitmap[Bitmap.width * (y2 - y) + (x1 - x)]; \
-- tIndex *pRowDst = &bitmap[width * y2 + x1]; \
-- for (int &yy = y2, ye = max(y1, dirtyY2 + 1); yy >= ye; yy--, pRowDst -= width, pRowSrc -= Bitmap.width)
--
--#define DETECT_DIRTY_AREA_Y(Reverse, TransferCondition, TransferOperation) \
-- do { \
-- FOR_Y_LOOP##Reverse { \
-- tIndex *pSrc = pRowSrc; \
-- tIndex *pDst = pRowDst; \
-- bool GotDirty = false; \
-- for (int xx = x1; xx <= x2; xx++) { \
-- if (TransferCondition) { \
-- if (*pDst != TransferOperation) { \
-- GotDirty = true; \
-- if (dirtyX1 > xx) dirtyX1 = xx; \
-- if (dirtyX2 < xx) dirtyX2 = xx; \
-- } \
-- } \
-- pSrc++; \
-- pDst++; \
-- } \
-- if (GotDirty) { \
-- if (dirtyY1 > yy) dirtyY1 = yy; \
-- if (dirtyY2 < yy) dirtyY2 = yy; \
-- break; \
-- } \
-- } \
-- } \
-- while (false)
--
--#define FOR_X_LOOP0 \
-- tIndex *pColSrc = &Bitmap.bitmap[Bitmap.width * (y1 - y) + (x1 - x)]; \
-- tIndex *pColDst = &bitmap[width * y1 + x1]; \
-- for (int &xx = x1, xe = min(x2, dirtyX1 - 1); xx <= xe; xx++, pColDst++, pColSrc++)
--
--#define FOR_X_LOOP1 \
-- tIndex *pColSrc = &Bitmap.bitmap[Bitmap.width * (y1 - y) + (x2 - x)]; \
-- tIndex *pColDst = &bitmap[width * y1 + x2]; \
-- for (int &xx = x2, xe = max(x1, dirtyX2 + 1); xx >= xe; xx--, pColDst--, pColSrc--)
--
--#define DETECT_DIRTY_AREA_X(Reverse, TransferCondition, TransferOperation) \
-- do { \
-- FOR_X_LOOP##Reverse { \
-- tIndex *pSrc = pColSrc; \
-- tIndex *pDst = pColDst; \
-- bool GotDirty = false; \
-- for (int yy = y1; yy <= y2; yy++) { \
-- if (TransferCondition) { \
-- if (*pDst != TransferOperation) { \
-- GotDirty = true; \
-- if (dirtyX1 > xx) dirtyX1 = xx; \
-- if (dirtyX2 < xx) dirtyX2 = xx; \
-- break; \
-- } \
-- } \
-- pSrc += Bitmap.width; \
-- pDst += width; \
-- } \
-- if (GotDirty) \
-- break; \
-- } \
-- } \
-- while (false)
--
--#define DRAW_BITMAP(TransferCondition, TransferOperation, CanUseMemCpy) \
-- do { \
-- DETECT_DIRTY_AREA_Y(0, TransferCondition, TransferOperation); /* above */ \
-- DETECT_DIRTY_AREA_Y(1, TransferCondition, TransferOperation); /* below */ \
-- if (y2 < y1) /* nothing dirty */ \
-- return; \
-- DETECT_DIRTY_AREA_X(0, TransferCondition, TransferOperation); /* left */ \
-- DETECT_DIRTY_AREA_X(1, TransferCondition, TransferOperation); /* right */ \
-- /* process dirty area now */ \
-- tIndex *pRowSrc = &Bitmap.bitmap[Bitmap.width * (y1 - y) + (x1 - x)]; \
-- tIndex *pRowDst = &bitmap[width * y1 + x1]; \
-- int n = sizeof(tIndex) * (x2 - x1 + 1); \
-- for (int yy = y1; yy <= y2; yy++) { \
-- tIndex *pSrc = pRowSrc; \
-- tIndex *pDst = pRowDst; \
-- if (CanUseMemCpy) \
-- memcpy(pDst, pSrc, n); \
-- else { \
-- for (int xx = x1; xx <= x2; xx++) { \
-- if (TransferCondition) \
-- *pDst = TransferOperation; \
-- pSrc++; \
-- pDst++; \
-- } \
-- } \
-- pRowSrc += Bitmap.width; \
-- pRowDst += width; \
-- } \
-- } \
-- while (false)
--
-- if (ReplacePalette && Covered) {
-+ if (ReplacePalette && Covers(x + x0, y + y0, x + x0 + Bitmap.Width() - 1, y + y0 + Bitmap.Height() - 1)) {
- Replace(Bitmap);
-- if (Overlay)
-- DRAW_BITMAP(*pSrc != 0, *pSrc, false);
-- else
-- DRAW_BITMAP(true, *pSrc, true);
-- }
-+ for (int iy = 0; iy < Bitmap.height; iy++) {
-+ const int lineStart = Bitmap.width * iy;
-+ for (int ix = 0; ix < Bitmap.width; ix++) {
-+ if (!Overlay || Bitmap.bitmap[lineStart + ix] != 0)
-+ SetIndexFast(x + ix, y + iy, Bitmap.bitmap[lineStart + ix]);
-+ }
-+ }
-+ }
- else {
- tIndexes Indexes;
- Take(Bitmap, &Indexes, ColorFg, ColorBg);
-- if (Overlay)
-- DRAW_BITMAP(*pSrc != 0, Indexes[(int)*pSrc], false);
-- else
-- DRAW_BITMAP(true, Indexes[(int)*pSrc], false);
-+ for (int iy = 0; iy < Bitmap.height; iy++) {
-+ const int lineStart = Bitmap.width * iy;
-+ for (int ix = 0; ix < Bitmap.width; ix++) {
-+ //SetIndex(x + ix, y + iy, Indexes[int(Bitmap.bitmap[lineStart + ix])]);
-+ SetIndexFast(x + ix, y + iy, Indexes[int(Bitmap.bitmap[lineStart + ix])]);
-+ }
- }
- }
-+ UpdateDirty(x,y,x+Bitmap.Width()-1,y+Bitmap.height-1);
-+ }
-+}
-+
-+void cBitmap::DrawBitmapHor(int x, int y, int w, const cBitmap &Bitmap)
-+{
-+ if (bitmap && Bitmap.bitmap && Intersects(x, y, x + Bitmap.Width() - 1, y + Bitmap.Height() - 1))
-+ {
-+ if (Covers(x, y, x + Bitmap.Width() - 1, y + Bitmap.Height() - 1))
-+ {
-+ Reset();
-+ }
-+ x -= x0;
-+ y -= y0;
-+ tIndexes Indexes;
-+ Take(Bitmap, &Indexes, 0, 0);
-+ for (int iy = 0; iy < Bitmap.height; iy++)
-+ {
-+ tIndex index = Indexes[int(Bitmap.bitmap[iy])];
-+ for (int ix = 0; ix < w; ix++)
-+ {
-+ SetIndexFast(x + ix, y + iy, index);
-+ }
-+ }
-+ }
-+ UpdateDirty(x,y,x+w-1,y+Bitmap.height-1);
-+}
-
--#undef DRAW_BITMAP
--#undef DETECT_DIRTY_AREA_Y
--#undef FOR_Y_LOOP0
--#undef FOR_Y_LOOP1
--#undef DETECT_DIRTY_AREA_X
--#undef FOR_X_LOOP0
--#undef FOR_X_LOOP1
-+void cBitmap::DrawBitmapVert(int x, int y, int h, const cBitmap &Bitmap)
-+{
-+ if (bitmap && Bitmap.bitmap && Intersects(x, y, x + Bitmap.Width() - 1, y + Bitmap.Height() - 1))
-+ {
-+ if (Covers(x, y, x + Bitmap.Width() - 1, y + Bitmap.Height() - 1))
-+ {
-+ Reset();
-+ }
-+ x -= x0;
-+ y -= y0;
-+ tIndexes Indexes;
-+ Take(Bitmap, &Indexes, 0, 0);
-+ for (int ix = 0; ix < Bitmap.width; ix++)
-+ {
-+ tIndex index = Indexes[int(Bitmap.bitmap[ix])];
-+ for (int iy = 0; iy < h; iy++)
-+ {
-+ SetIndexFast(x + ix, y + iy, index);
-+ }
-+ }
-+ }
-+ UpdateDirty(x,y,x+Bitmap.width-1,y+h-1);
- }
-
- void cBitmap::DrawText(int x, int y, const char *s, tColor ColorFg, tColor ColorBg, const cFont *Font, int Width, int Height, int Alignment)
-@@ -609,103 +542,60 @@
-
- void cBitmap::DrawRectangle(int x1, int y1, int x2, int y2, tColor Color)
- {
-- if (bitmap && Intersects(x1, y1, x2, y2)) {
-- if (Covers(x1, y1, x2, y2))
-- Reset();
-- x1 -= x0;
-- y1 -= y0;
-- x2 -= x0;
-- y2 -= y0;
-- x1 = max(x1, 0);
-- y1 = max(y1, 0);
-- x2 = min(x2, width - 1);
-- y2 = min(y2, height - 1);
-- tIndex c = Index(Color);
--
--#define FOR_Y_LOOP0 \
-- tIndex *pRowDst = &bitmap[width * y1 + x1]; \
-- for (int &yy = y1, ye = min(y2, dirtyY1 - 1); yy <= ye; yy++, pRowDst += width)
--
--#define FOR_Y_LOOP1 \
-- tIndex *pRowDst = &bitmap[width * y2 + x1]; \
-- for (int &yy = y2, ye = max(y1, dirtyY2 + 1); yy >= ye; yy--, pRowDst -= width)
--
--#define DETECT_DIRTY_AREA_Y(Reverse) \
-- do { \
-- FOR_Y_LOOP##Reverse { \
-- tIndex *pDst = pRowDst; \
-- bool GotDirty = false; \
-- for (int xx = x1; xx <= x2; xx++) { \
-- if (*pDst != c) { \
-- GotDirty = true; \
-- if (dirtyX1 > xx) dirtyX1 = xx; \
-- if (dirtyX2 < xx) dirtyX2 = xx; \
-- } \
-- pDst++; \
-- } \
-- if (GotDirty) { \
-- if (dirtyY1 > yy) dirtyY1 = yy; \
-- if (dirtyY2 < yy) dirtyY2 = yy; \
-- break; \
-- } \
-- } \
-- } \
-- while (false)
--
--#define FOR_X_LOOP0 \
-- tIndex *pColDst = &bitmap[width * y1 + x1]; \
-- for (int &xx = x1, xe = min(x2, dirtyX1 - 1); xx <= xe; xx++, pColDst++)
--
--#define FOR_X_LOOP1 \
-- tIndex *pColDst = &bitmap[width * y1 + x2]; \
-- for (int &xx = x2, xe = max(x1, dirtyX2 + 1); xx >= xe; xx--, pColDst--)
--
--#define DETECT_DIRTY_AREA_X(Reverse) \
-- do { \
-- FOR_X_LOOP##Reverse { \
-- tIndex *pDst = pColDst; \
-- bool GotDirty = false; \
-- for (int yy = y1; yy <= y2; yy++) { \
-- if (*pDst != c) { \
-- GotDirty = true; \
-- if (dirtyX1 > xx) dirtyX1 = xx; \
-- if (dirtyX2 < xx) dirtyX2 = xx; \
-- break; \
-- } \
-- pDst += width; \
-- } \
-- if (GotDirty) \
-- break; \
-- } \
-- } \
-- while (false)
--
-- DETECT_DIRTY_AREA_Y(0); /* above */
-- DETECT_DIRTY_AREA_Y(1); /* below */
-- if (y2 < y1) /* nothing dirty */
-- return;
-- DETECT_DIRTY_AREA_X(0); /* left */
-- DETECT_DIRTY_AREA_X(1); /* right */
-- // now fill only dirty area of rectangle
-- tIndex *pRowDst = &bitmap[width * y1 + x1];
-- tIndex *pDst = pRowDst;
-- for (int x = x1; x <= x2; x++)
-- *pDst++ = c;
-- // copy the single line above to all other lines
-- tIndex *pRowSrc = pRowDst;
-- int n = sizeof(tIndex) * (x2 - x1 + 1);
-- for (int y = y1 + 1; y <= y2; y++) {
-- pRowDst += width;
-- memcpy(pRowDst, pRowSrc, n);
-- }
-- }
-+ if (bitmap && Intersects(x1, y1, x2, y2)) {
-+ if (Covers(x1, y1, x2, y2))
-+ Reset();
-+ x1 -= x0;
-+ y1 -= y0;
-+ x2 -= x0;
-+ y2 -= y0;
-+ x1 = max(x1, 0);
-+ y1 = max(y1, 0);
-+ x2 = min(x2, width - 1);
-+ y2 = min(y2, height - 1);
-+ tIndex c = Index(Color);
-+ if (dirtyX1 > x1) dirtyX1 = x1;
-+ if (dirtyY1 > y1) dirtyY1 = y1;
-+ if (dirtyX2 < x2) dirtyX2 = x2;
-+ if (dirtyY2 < y2) dirtyY2 = y2;
-+
-+ for (int y = y1; y <= y2; y++)
-+ {
-+ if (x2 >= x1)
-+ {
-+ memset(bitmap + y * width + x1, c, x2 - x1 + 1);
-+ }
-+ //for (int x = x1; x <= x2; x++)
-+ // SetIndex(x, y, c);
-+ }
-+ }
-+}
-
--#undef DETECT_DIRTY_AREA_Y
--#undef FOR_Y_LOOP0
--#undef FOR_Y_LOOP1
--#undef DETECT_DIRTY_AREA_X
--#undef FOR_X_LOOP0
--#undef FOR_X_LOOP1
-+void cBitmap::DrawRectangle(int x1, int y1, int x2, int y2, tColor Color, int alphaGradH, int alphaGradV, int alphaGradStepH, int alphaGradStepV)
-+{
-+ if (bitmap && Intersects(x1, y1, x2, y2)) {
-+ if (Covers(x1, y1, x2, y2))
-+ Reset();
-+ x1 -= x0;
-+ y1 -= y0;
-+ x2 -= x0;
-+ y2 -= y0;
-+ x1 = max(x1, 0);
-+ y1 = max(y1, 0);
-+ x2 = min(x2, width - 1);
-+ y2 = min(y2, height - 1);
-+ tIndex c = Index(Color);
-+ if (dirtyX1 > x1) dirtyX1 = x1;
-+ if (dirtyY1 > y1) dirtyY1 = y1;
-+ if (dirtyX2 < x2) dirtyX2 = x2;
-+ if (dirtyY2 < y2) dirtyY2 = y2;
-+
-+ for (int y = y1; y <= y2; y++)
-+ {
-+ for (int x = x1; x <= x2; x++)
-+ SetIndex(x, y, c);
-+ }
-+ }
- }
-
- void cBitmap::DrawEllipse(int x1, int y1, int x2, int y2, tColor Color, int Quadrants)
-@@ -835,7 +725,7 @@
- }
- }
-
--const tIndex *cBitmap::Data(int x, int y)
-+const tIndex *cBitmap::Data(int x, int y) const
- {
- return &bitmap[y * width + x];
- }
-@@ -1045,6 +935,18 @@
- bitmaps[i]->DrawBitmap(x, y, Bitmap, ColorFg, ColorBg, ReplacePalette, Overlay);
- }
-
-+void cOsd::DrawBitmapHor(int x, int y, int w, const cBitmap &Bitmap)
-+{
-+ for (int i = 0; i < numBitmaps; i++)
-+ bitmaps[i]->DrawBitmapHor(x, y, w, Bitmap);
-+}
-+
-+void cOsd::DrawBitmapVert(int x, int y, int h, const cBitmap &Bitmap)
-+{
-+ for (int i = 0; i < numBitmaps; i++)
-+ bitmaps[i]->DrawBitmapVert(x, y, h, Bitmap);
-+}
-+
- void cOsd::DrawText(int x, int y, const char *s, tColor ColorFg, tColor ColorBg, const cFont *Font, int Width, int Height, int Alignment)
- {
- for (int i = 0; i < numBitmaps; i++)
-@@ -1057,6 +959,12 @@
- bitmaps[i]->DrawRectangle(x1, y1, x2, y2, Color);
- }
-
-+void cOsd::DrawRectangle(int x1, int y1, int x2, int y2, tColor Color, int alphaGradH, int alphaGradV, int alphaGradStepH, int alphaGradStepV)
-+{
-+ for (int i = 0; i < numBitmaps; i++)
-+ bitmaps[i]->DrawRectangle(x1, y1, x2, y2, Color, alphaGradH, alphaGradV, alphaGradStepH, alphaGradStepV);
-+}
-+
- void cOsd::DrawEllipse(int x1, int y1, int x2, int y2, tColor Color, int Quadrants)
- {
- for (int i = 0; i < numBitmaps; i++)
-@@ -1069,6 +977,16 @@
- bitmaps[i]->DrawSlope(x1, y1, x2, y2, Color, Type);
- }
-
-+void cOsd::DrawImage(u_int imageId, int x, int y, bool blend, int horRepeat, int vertRepeat) // GT: True color support.
-+{
-+ // No implementation.
-+}
-+
-+void cOsd::SetImagePath(u_int imageId, char const *path) // GT: True color support.
-+{
-+ // No implementation.
-+}
-+
- void cOsd::Flush(void)
- {
- }
-@@ -1088,6 +1006,11 @@
- osdProvider = NULL;
- }
-
-+cOsd *cOsdProvider::CreateTrueColorOsd(int Left, int Top, uint Level) // GT: True color support.
-+{
-+ return CreateOsd(Left, Top, Level);
-+}
-+
- cOsd *cOsdProvider::NewOsd(int Left, int Top, uint Level)
- {
- if (Level == OSD_LEVEL_DEFAULT && cOsd::IsOpen())
-@@ -1107,6 +1030,32 @@
- return new cOsd(Left, Top, 999); // create a dummy cOsd, so that access won't result in a segfault
- }
-
-+//cOsd *cOsdProvider::NewTrueColorOsd(int Left, int Top, bool dontHide) // GT: True color osd support.
-+cOsd *cOsdProvider::NewTrueColorOsd(int Left, int Top, int Random, uint Level, bool dontHide) // GT: True color osd support.
-+{
-+ if (Random) {
-+ // Left+=(rand()%Random)-(Random/2);
-+ // Top+=(rand()%Random)-(Random/2);
-+ Left+=(rand()%10)-(10/2);
-+ Top+=(rand()%20)-(20/2);
-+ }
-+ if (Level == OSD_LEVEL_DEFAULT && cOsd::IsOpen())
-+ esyslog("ERROR: attempt to open OSD while it is already open - using dummy OSD!");
-+ else if (osdProvider) {
-+ cOsd *ActiveOsd = cOsd::Osds.Size() ? cOsd::Osds[0] : NULL;
-+ cOsd *Osd = osdProvider->CreateTrueColorOsd(Left, Top, Level);
-+ if (Osd == cOsd::Osds[0]) {
-+ if (ActiveOsd)
-+ ActiveOsd->SetActive(false);
-+ Osd->SetActive(true);
-+ }
-+ return Osd;
-+ }
-+ else
-+ esyslog("ERROR: no OSD provider available - using dummy OSD!");
-+ return new cOsd(Left, Top, 999); // create a dummy cOsd, so that access won't result in a segfault
-+}
-+
- void cOsdProvider::Shutdown(void)
- {
- delete osdProvider;
-diff -Naur vdr-1.7.0.orig/osd.h vdr-1.7.0/osd.h
---- vdr-1.7.0.orig/osd.h 2008-10-29 23:35:40.000000000 +0100
-+++ vdr-1.7.0/osd.h 2008-10-29 23:35:52.000000000 +0100
-@@ -26,6 +26,7 @@
- //AARRGGBB
- clrTransparent = 0x00000000,
- clrGray50 = 0x7F000000, // 50% gray
-+ clrGray62 = 0xA0000000, // 62% gray
- clrBlack = 0xFF000000,
- clrRed = 0xFFFC1414,
- clrGreen = 0xFF24FC24,
-@@ -135,7 +136,6 @@
- int x0, y0;
- int width, height;
- int dirtyX1, dirtyY1, dirtyX2, dirtyY2;
-- void SetIndexInternal(int x, int y, tIndex Index);
- public:
- cBitmap(int Width, int Height, int Bpp, int X0 = 0, int Y0 = 0);
- ///< Creates a bitmap with the given Width, Height and color depth (Bpp).
-@@ -156,6 +156,15 @@
- ///< contents of the bitmap will be lost. If Width and Height are the same
- ///< as the current values, nothing will happen and the bitmap remains
- ///< unchanged.
-+ inline void SetSizeWithoutRealloc(int Width, int Height)
-+ {
-+ width = Width;
-+ height = Height;
-+ dirtyX1 = 0;
-+ dirtyY1 = 0;
-+ dirtyX2 = width - 1;
-+ dirtyY2 = height - 1;
-+ }
- bool Contains(int x, int y) const;
- ///< Returns true if this bitmap contains the point (x, y).
- bool Covers(int x1, int y1, int x2, int y2) const;
-@@ -185,6 +194,25 @@
- void SetIndex(int x, int y, tIndex Index);
- ///< Sets the index at the given coordinates to Index.
- ///< Coordinates are relative to the bitmap's origin.
-+ //void inline SetIndexFast(int x, int y, tIndex Index)
-+ inline void SetIndexFast(int x, int y, tIndex Index)
-+ {
-+ if (bitmap) {
-+ if (0 <= x && x < width && 0 <= y && y < height) {
-+ bitmap[width * y + x] = Index;
-+ }
-+ }
-+ };
-+ ///< Sets the index at the given coordinates to Index.
-+ ///< Coordinates are relative to the bitmap's origin. Does not update dirty-area.
-+ void UpdateDirty(int x1, int y1, int x2, int y2)
-+ {
-+ if (dirtyX1 > x1) dirtyX1 = x1;
-+ if (dirtyY1 > y1) dirtyY1 = y1;
-+ if (dirtyX2 < x2) dirtyX2 = x2;
-+ if (dirtyY2 < y2) dirtyY2 = y2;
-+ }
-+
- void DrawPixel(int x, int y, tColor Color);
- ///< Sets the pixel at the given coordinates to the given Color, which is
- ///< a full 32 bit ARGB value.
-@@ -199,6 +227,10 @@
- ///< area shall have its palette replaced with the one from Bitmap.
- ///< If Overlay is true, any pixel in Bitmap that has color index 0 will
- ///< not overwrite the corresponding pixel in the target area.
-+
-+ void DrawBitmapHor(int x, int y, int w, const cBitmap &Bitmap);
-+ void DrawBitmapVert(int x, int y, int h, const cBitmap &Bitmap);
-+
- void DrawText(int x, int y, const char *s, tColor ColorFg, tColor ColorBg, const cFont *Font, int Width = 0, int Height = 0, int Alignment = taDefault);
- ///< Draws the given string at coordinates (x, y) with the given foreground
- ///< and background color and font. If Width and Height are given, the text
-@@ -210,6 +242,13 @@
- ///< (x2, y2) corners with the given Color. If the rectangle covers the entire
- ///< bitmap area, the color palette will be reset, so that new colors can be
- ///< used for drawing.
-+ void DrawRectangle(int x1, int y1, int x2, int y2, tColor Color, int alphaGradH, int alphaGradV, int alphaGradStepH, int alphaGradStepV); //TB
-+ ///< Draws a filled rectangle defined by the upper left (x1, y1) and lower right
-+ ///< (x2, y2) corners with the given Color. If the rectangle covers the entire
-+ ///< bitmap area, the color palette will be reset, so that new colors can be
-+ ///< used for drawing.
-+ ///< //TB: The Alpha-Value is incremented all alphaGradStepH pixels by the value AlphaGradH in every line,
-+ ///< and all alphaGradStepV pixels by the value alphaGradV in every row.
- void DrawEllipse(int x1, int y1, int x2, int y2, tColor Color, int Quadrants = 0);
- ///< Draws a filled ellipse defined by the upper left (x1, y1) and lower right
- ///< (x2, y2) corners with the given Color. Quadrants controls which parts of
-@@ -232,7 +271,7 @@
- ///< 5: vertical, rising, upper
- ///< 6: vertical, falling, lower
- ///< 7: vertical, falling, upper
-- const tIndex *Data(int x, int y);
-+ const tIndex *Data(int x, int y) const;
- ///< Returns the address of the index byte at the given coordinates.
- tColor GetColor(int x, int y) { return Color(*Data(x, y)); }
- ///< Returns the color at the given coordinates.
-@@ -267,7 +306,6 @@
- cBitmap *savedRegion;
- cBitmap *bitmaps[MAXOSDAREAS];
- int numBitmaps;
-- int left, top, width, height;
- uint level;
- bool active;
- protected:
-@@ -298,6 +336,7 @@
- public:
- virtual ~cOsd();
- ///< Shuts down the OSD.
-+ int left, top, width, height;
- static int OsdLeft(void) { return osdLeft ? osdLeft : Setup.OSDLeft; }
- static int OsdTop(void) { return osdTop ? osdTop : Setup.OSDTop; }
- static int OsdWidth(void) { return osdWidth ? osdWidth : Setup.OSDWidth; }
-@@ -323,7 +362,7 @@
- ///< a single color combination, and may not be able to serve all
- ///< requested colors. By default the palette assumes there will be
- ///< 10 fixed colors and 10 color combinations.
-- cBitmap *GetBitmap(int Area);
-+ virtual cBitmap *GetBitmap(int Area);
- ///< Returns a pointer to the bitmap for the given Area, or NULL if no
- ///< such bitmap exists.
- virtual eOsdError CanHandleAreas(const tArea *Areas, int NumAreas);
-@@ -368,15 +407,25 @@
- ///< area shall have its palette replaced with the one from Bitmap.
- ///< If Overlay is true, any pixel in Bitmap that has color index 0 will
- ///< not overwrite the corresponding pixel in the target area.
-+ virtual void DrawBitmapHor(int x, int y, int w, const cBitmap &Bitmap);
-+ virtual void DrawBitmapVert(int x, int y, int h, const cBitmap &Bitmap);
- virtual void DrawText(int x, int y, const char *s, tColor ColorFg, tColor ColorBg, const cFont *Font, int Width = 0, int Height = 0, int Alignment = taDefault);
- ///< Draws the given string at coordinates (x, y) with the given foreground
- ///< and background color and font. If Width and Height are given, the text
- ///< will be drawn into a rectangle with the given size and the given
- ///< Alignment (default is top-left). If ColorBg is clrTransparent, no
- ///< background pixels will be drawn, which allows drawing "transparent" text.
-+ virtual void DrawImage(u_int imageId, int x, int y, bool blend, int horRepeat = 1, int vertRepeat = 1); // GT: True color support.
-+ ///< Draws a 32-Bit true color image at (x, y) (upper left).
-+
- virtual void DrawRectangle(int x1, int y1, int x2, int y2, tColor Color);
- ///< Draws a filled rectangle defined by the upper left (x1, y1) and lower right
- ///< (x2, y2) corners with the given Color.
-+ virtual void DrawRectangle(int x1, int y1, int x2, int y2, tColor Color, int alphaGradH, int alphaGradV, int alphaGradStepH, int alphaGradStepV); //TB
-+ ///< Draws a filled rectangle defined by the upper left (x1, y1) and lower right
-+ ///< (x2, y2) corners with the given Color.
-+ ///< //TB: The Alpha-Value is incremented all alphaGradStepH pixels by the value AlphaGradH in every line,
-+ ///< and all alphaGradStepV pixels by the value alphaGradV in every row.
- virtual void DrawEllipse(int x1, int y1, int x2, int y2, tColor Color, int Quadrants = 0);
- ///< Draws a filled ellipse defined by the upper left (x1, y1) and lower right
- ///< (x2, y2) corners with the given Color. Quadrants controls which parts of
-@@ -401,6 +450,8 @@
- ///< 7: vertical, falling, upper
- virtual void Flush(void);
- ///< Actually commits all data to the OSD hardware.
-+ virtual void SetImagePath(u_int imageId, char const *path); // GT: True color support.
-+ ///< Set the path of an image to be user later with DrawImage().
- };
-
- class cOsdProvider {
-@@ -410,6 +461,7 @@
- virtual cOsd *CreateOsd(int Left, int Top, uint Level) = 0;
- ///< Returns a pointer to a newly created cOsd object, which will be located
- ///< at the given coordinates.
-+ virtual cOsd *CreateTrueColorOsd(int Left, int Top, uint Level); // GT: True color support.
- public:
- cOsdProvider(void);
- //XXX maybe parameter to make this one "sticky"??? (frame-buffer etc.)
-@@ -420,6 +472,8 @@
- ///< caller must delete it. If the OSD is already in use, or there is no OSD
- ///< provider, a dummy OSD is returned so that the caller may always use the
- ///< returned pointer without having to check it every time it is accessed.
-+ //static cOsd *NewTrueColorOsd(int Left, int Top, bool dontHide = false); // GT: True color osd support.
-+ static cOsd *NewTrueColorOsd(int Left, int Top, int Random, uint Level = OSD_LEVEL_DEFAULT, bool dontHide = false); // GT: True color osd support.
- static void Shutdown(void);
- ///< Shuts down the OSD provider facility by deleting the current OSD provider.
- };
diff --git a/media-plugins/vdr-reelbox/files/reelbox-3.11210_makefile.diff b/media-plugins/vdr-reelbox/files/reelbox-3.11210_makefile.diff
deleted file mode 100644
index 83caf23..0000000
--- a/media-plugins/vdr-reelbox/files/reelbox-3.11210_makefile.diff
+++ /dev/null
@@ -1,38 +0,0 @@
-diff -Naur vdr-reelbox-3.orig/Makefile vdr-reelbox-3/Makefile
---- vdr-reelbox-3.orig/Makefile 2009-03-17 14:33:33.873629658 +0100
-+++ vdr-reelbox-3/Makefile 2009-03-17 14:37:09.940664031 +0100
-@@ -10,7 +10,7 @@
- PLUGIN = reelbox
-
- # set it if you want to compile the skin for use with the reelbox
--REELSKIN=1
-+#REELSKIN=1
-
- ### The object files (add further files here):
-
-@@ -33,13 +33,8 @@
- LIBDIR = ../../lib
- TMPDIR = /tmp
-
--BSPSHM = ../../../utils/bspshm
--HDSHM = ../../../utils/hdshm3/src
--
--BSPINCLUDE = -I$(BSPSHM) -I$(BSPSHM)/include
--HDINCLUDE = -I$(HDSHM) -I$(HDSHM)/include
--LIBMAD ?= ../../../../temp/docimage/libs/libmad
--LIBASOUND ?= ../../../../temp/docimage/libs/alsa-lib
-+BSPSHM = ../bspshm
-+HDSHM = ../hdshm3/src
-
- ### Allow user defined options to overwrite defaults:
-
-@@ -47,8 +42,7 @@
-
- ### Includes and Defines (add further entries here):
-
--INCLUDES += -I$(LIBASOUND)/include $(BSPINCLUDE) $(HDINCLUDE)
--INCLUDES += -I$(LIBMAD) `freetype-config --cflags`
-+INCLUDES += -I$(BSPSHM) -I$(HDSHM) -I/usr/include/freetype2
-
- ifdef REELSKIN
- DEFINES += -DREELSKIN
diff --git a/media-plugins/vdr-reelbox/files/reelbox-3.12133_makefile.diff b/media-plugins/vdr-reelbox/files/reelbox-3.12133_makefile.diff
deleted file mode 100644
index 83caf23..0000000
--- a/media-plugins/vdr-reelbox/files/reelbox-3.12133_makefile.diff
+++ /dev/null
@@ -1,38 +0,0 @@
-diff -Naur vdr-reelbox-3.orig/Makefile vdr-reelbox-3/Makefile
---- vdr-reelbox-3.orig/Makefile 2009-03-17 14:33:33.873629658 +0100
-+++ vdr-reelbox-3/Makefile 2009-03-17 14:37:09.940664031 +0100
-@@ -10,7 +10,7 @@
- PLUGIN = reelbox
-
- # set it if you want to compile the skin for use with the reelbox
--REELSKIN=1
-+#REELSKIN=1
-
- ### The object files (add further files here):
-
-@@ -33,13 +33,8 @@
- LIBDIR = ../../lib
- TMPDIR = /tmp
-
--BSPSHM = ../../../utils/bspshm
--HDSHM = ../../../utils/hdshm3/src
--
--BSPINCLUDE = -I$(BSPSHM) -I$(BSPSHM)/include
--HDINCLUDE = -I$(HDSHM) -I$(HDSHM)/include
--LIBMAD ?= ../../../../temp/docimage/libs/libmad
--LIBASOUND ?= ../../../../temp/docimage/libs/alsa-lib
-+BSPSHM = ../bspshm
-+HDSHM = ../hdshm3/src
-
- ### Allow user defined options to overwrite defaults:
-
-@@ -47,8 +42,7 @@
-
- ### Includes and Defines (add further entries here):
-
--INCLUDES += -I$(LIBASOUND)/include $(BSPINCLUDE) $(HDINCLUDE)
--INCLUDES += -I$(LIBMAD) `freetype-config --cflags`
-+INCLUDES += -I$(BSPSHM) -I$(HDSHM) -I/usr/include/freetype2
-
- ifdef REELSKIN
- DEFINES += -DREELSKIN
diff --git a/media-plugins/vdr-reelbox/files/reelbox-3.12384-vdr-1.7.4.diff b/media-plugins/vdr-reelbox/files/reelbox-3.12384-vdr-1.7.4.diff
deleted file mode 100644
index 5334eaf..0000000
--- a/media-plugins/vdr-reelbox/files/reelbox-3.12384-vdr-1.7.4.diff
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -ru reelbox-3.10388.orig/ReelBoxDevice.c reelbox-3.10388/ReelBoxDevice.c
---- reelbox-3.10388.orig/ReelBoxDevice.c 2009-01-19 13:22:30.000000000 +0100
-+++ reelbox-3.10388/ReelBoxDevice.c 2009-02-01 21:17:12.647764560 +0100
-@@ -568,10 +568,10 @@
- CHECK_CONCURRENCY;
-
- const tTrackId *trackId = GetTrack(GetCurrentAudioTrack());
-- if (!trackId || trackId->id != id)
-- {
-- return length;
-- }
-+// if (!trackId || trackId->id != id)
-+// {
-+// return length;
-+// }
-
-
-
-diff -ru reelbox-3.10388.orig/setupmenu.c reelbox-3.10388/setupmenu.c
---- reelbox-3.10388.orig/setupmenu.c 2009-01-19 13:22:30.000000000 +0100
-+++ reelbox-3.10388/setupmenu.c 2009-01-19 17:10:08.000000000 +0100
-@@ -27,6 +27,7 @@
-
- if (state == osUnknown && key == kOk)
- {
-+ if (HasSubMenu()) return cMenuSetupPage::ProcessKey(key);
- const char *text = Get(Current())->Text();
-
- if ( text && strstr(text, tr("Video Settings")) )
-diff -ru reelbox-3.10388.orig/VideoPlayerPipHd.c reelbox-3.10388/VideoPlayerPipHd.c
---- reelbox-3.10388.orig/VideoPlayerPipHd.c 2009-01-19 13:22:30.000000000 +0100
-+++ reelbox-3.10388/VideoPlayerPipHd.c 2009-01-19 17:03:12.000000000 +0100
-@@ -39,6 +39,8 @@
- // I like standards...
- typedef unsigned char uchar;
-
-+#include <stdlib.h>
-+
- #define PICS_BUF 16
- #define HDFB_DEVICE "/dev/fb0"
- #define ES_BUFFER_SIZE (262144)
-
diff --git a/media-plugins/vdr-reelbox/files/reelbox-3.12384_makefile.diff b/media-plugins/vdr-reelbox/files/reelbox-3.12384_makefile.diff
deleted file mode 100644
index 65ba83d..0000000
--- a/media-plugins/vdr-reelbox/files/reelbox-3.12384_makefile.diff
+++ /dev/null
@@ -1,43 +0,0 @@
---- Makefile-org 2009-03-16 23:46:28.000000000 +0100
-+++ Makefile 2009-03-16 23:48:14.000000000 +0100
-@@ -10,7 +10,7 @@
- PLUGIN = reelbox
-
- # set it if you want to compile the skin for use with the reelbox
--REELSKIN=1
-+#REELSKIN=1
-
- ### The object files (add further files here):
-
-@@ -33,13 +33,13 @@
- LIBDIR = ../../lib
- TMPDIR = /tmp
-
--BSPSHM = ../../../utils/bspshm
--HDSHM = ../../../utils/hdshm3/src
-+BSPSHM = ../bspshm
-+HDSHM = ../hdshm3/src
-
--BSPINCLUDE = -I$(BSPSHM) -I$(BSPSHM)/include
--HDINCLUDE = -I$(HDSHM) -I$(HDSHM)/include
--LIBMAD ?= ../../../../temp/docimage/libs/libmad
--LIBASOUND ?= ../../../../temp/docimage/libs/alsa-lib
-+#BSPINCLUDE = -I$(BSPSHM) -I$(BSPSHM)/include
-+#HDINCLUDE = -I$(HDSHM) -I$(HDSHM)/include
-+#LIBMAD ?= ../../../../temp/docimage/libs/libmad
-+#LIBASOUND ?= ../../../../temp/docimage/libs/alsa-lib
-
- ### Allow user defined options to overwrite defaults:
-
-@@ -47,8 +47,9 @@
-
- ### Includes and Defines (add further entries here):
-
--INCLUDES += -I$(LIBASOUND)/include $(BSPINCLUDE) $(HDINCLUDE)
--INCLUDES += -I$(LIBMAD) `freetype-config --cflags`
-+#INCLUDES += -I$(LIBASOUND)/include $(BSPINCLUDE) $(HDINCLUDE)
-+#INCLUDES += -I$(LIBMAD) `freetype-config --cflags`
-+INCLUDES += -I$(BSPSHM) -I$(HDSHM) `freetype-config --cflags`
-
- ifdef REELSKIN
- DEFINES += -DREELSKIN
diff --git a/media-plugins/vdr-reelbox/files/reelbox-3.12384_p1-vdr-1.7.4.diff b/media-plugins/vdr-reelbox/files/reelbox-3.12384_p1-vdr-1.7.4.diff
deleted file mode 100644
index 8267b33..0000000
--- a/media-plugins/vdr-reelbox/files/reelbox-3.12384_p1-vdr-1.7.4.diff
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -Naur vdr-reelbox-3.orig/VideoPlayerPipHd.c vdr-reelbox-3/VideoPlayerPipHd.c
---- vdr-reelbox-3.orig/VideoPlayerPipHd.c 2009-11-16 17:16:18.000000000 +0100
-+++ vdr-reelbox-3/VideoPlayerPipHd.c 2009-11-16 17:21:46.000000000 +0100
-@@ -45,6 +45,8 @@
- // I like standards...
- typedef unsigned char uchar;
-
-+#include <stdlib.h>
-+
- #define PICS_BUF 16
- #define HDFB_DEVICE "/dev/fb0"
- #define ES_BUFFER_SIZE (262144)
-diff -Naur vdr-reelbox-3.orig/setupmenu.c vdr-reelbox-3/setupmenu.c
---- vdr-reelbox-3.orig/setupmenu.c 2009-11-16 17:16:18.000000000 +0100
-+++ vdr-reelbox-3/setupmenu.c 2009-11-16 17:19:50.000000000 +0100
-@@ -27,6 +27,7 @@
-
- if (state == osUnknown && key == kOk)
- {
-+ if (HasSubMenu()) return cMenuSetupPage::ProcessKey(key);
- const char *text = Get(Current())->Text();
-
- if ( text && strstr(text, tr("Video Settings")) )
diff --git a/media-plugins/vdr-reelbox/files/reelbox-3.12384_reelbox_c.diff b/media-plugins/vdr-reelbox/files/reelbox-3.12384_reelbox_c.diff
deleted file mode 100644
index 1810c96..0000000
--- a/media-plugins/vdr-reelbox/files/reelbox-3.12384_reelbox_c.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- reelbox.c.org 2009-06-10 13:46:22.000000000 +0200
-+++ reelbox.c 2009-06-10 13:46:32.000000000 +0200
-@@ -162,8 +162,6 @@
- Reel::HdCommChannel::SetVideomode();
- Reel::HdCommChannel::SetPicture(&RBSetup);
- Reel::HdCommChannel::SetHWControl(&RBSetup);
-- Reel::HdCommChannel::hda->hdp_enable = 0;
-- Reel::HdCommChannel::hda->hd_shutdown = 1;
- #ifdef REELSKIN
- Reel::ResetImagePaths();
- #endif
diff --git a/media-plugins/vdr-reelbox/files/reelbox-3.13986_makefile.diff b/media-plugins/vdr-reelbox/files/reelbox-3.13986_makefile.diff
deleted file mode 100644
index 65ba83d..0000000
--- a/media-plugins/vdr-reelbox/files/reelbox-3.13986_makefile.diff
+++ /dev/null
@@ -1,43 +0,0 @@
---- Makefile-org 2009-03-16 23:46:28.000000000 +0100
-+++ Makefile 2009-03-16 23:48:14.000000000 +0100
-@@ -10,7 +10,7 @@
- PLUGIN = reelbox
-
- # set it if you want to compile the skin for use with the reelbox
--REELSKIN=1
-+#REELSKIN=1
-
- ### The object files (add further files here):
-
-@@ -33,13 +33,13 @@
- LIBDIR = ../../lib
- TMPDIR = /tmp
-
--BSPSHM = ../../../utils/bspshm
--HDSHM = ../../../utils/hdshm3/src
-+BSPSHM = ../bspshm
-+HDSHM = ../hdshm3/src
-
--BSPINCLUDE = -I$(BSPSHM) -I$(BSPSHM)/include
--HDINCLUDE = -I$(HDSHM) -I$(HDSHM)/include
--LIBMAD ?= ../../../../temp/docimage/libs/libmad
--LIBASOUND ?= ../../../../temp/docimage/libs/alsa-lib
-+#BSPINCLUDE = -I$(BSPSHM) -I$(BSPSHM)/include
-+#HDINCLUDE = -I$(HDSHM) -I$(HDSHM)/include
-+#LIBMAD ?= ../../../../temp/docimage/libs/libmad
-+#LIBASOUND ?= ../../../../temp/docimage/libs/alsa-lib
-
- ### Allow user defined options to overwrite defaults:
-
-@@ -47,8 +47,9 @@
-
- ### Includes and Defines (add further entries here):
-
--INCLUDES += -I$(LIBASOUND)/include $(BSPINCLUDE) $(HDINCLUDE)
--INCLUDES += -I$(LIBMAD) `freetype-config --cflags`
-+#INCLUDES += -I$(LIBASOUND)/include $(BSPINCLUDE) $(HDINCLUDE)
-+#INCLUDES += -I$(LIBMAD) `freetype-config --cflags`
-+INCLUDES += -I$(BSPSHM) -I$(HDSHM) `freetype-config --cflags`
-
- ifdef REELSKIN
- DEFINES += -DREELSKIN
diff --git a/media-plugins/vdr-reelbox/files/save-setup_3.11210.diff b/media-plugins/vdr-reelbox/files/save-setup_3.11210.diff
deleted file mode 100644
index 5824014..0000000
--- a/media-plugins/vdr-reelbox/files/save-setup_3.11210.diff
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Naur vdr-reelbox-3.orig/setupmenu.c vdr-reelbox-3/setupmenu.c
---- vdr-reelbox-3.orig/setupmenu.c 2009-03-17 15:45:21.444260764 +0100
-+++ vdr-reelbox-3/setupmenu.c 2009-03-17 15:46:33.234248325 +0100
-@@ -27,6 +27,7 @@
-
- if (state == osUnknown && key == kOk)
- {
-+ if (HasSubMenu()) return cMenuSetupPage::ProcessKey(key);
- const char *text = Get(Current())->Text();
-
- if ( text && strstr(text, tr("Video Settings")) )
diff --git a/media-plugins/vdr-reelbox/files/save-setup_3.12133.diff b/media-plugins/vdr-reelbox/files/save-setup_3.12133.diff
deleted file mode 100644
index 5824014..0000000
--- a/media-plugins/vdr-reelbox/files/save-setup_3.12133.diff
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Naur vdr-reelbox-3.orig/setupmenu.c vdr-reelbox-3/setupmenu.c
---- vdr-reelbox-3.orig/setupmenu.c 2009-03-17 15:45:21.444260764 +0100
-+++ vdr-reelbox-3/setupmenu.c 2009-03-17 15:46:33.234248325 +0100
-@@ -27,6 +27,7 @@
-
- if (state == osUnknown && key == kOk)
- {
-+ if (HasSubMenu()) return cMenuSetupPage::ProcessKey(key);
- const char *text = Get(Current())->Text();
-
- if ( text && strstr(text, tr("Video Settings")) )
diff --git a/media-plugins/vdr-reelbox/files/save-setup_3.12384.diff b/media-plugins/vdr-reelbox/files/save-setup_3.12384.diff
deleted file mode 100644
index a034b11..0000000
--- a/media-plugins/vdr-reelbox/files/save-setup_3.12384.diff
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -ru reelbox-3.10388.orig/setupmenu.c reelbox-3.10388/setupmenu.c
---- reelbox-3.10388.orig/setupmenu.c 2009-01-19 13:22:30.000000000 +0100
-+++ reelbox-3.10388/setupmenu.c 2009-01-19 17:10:08.000000000 +0100
-@@ -27,6 +27,7 @@
-
- if (state == osUnknown && key == kOk)
- {
-+ if (HasSubMenu()) return cMenuSetupPage::ProcessKey(key);
- const char *text = Get(Current())->Text();
-
- if ( text && strstr(text, tr("Video Settings")) )
-diff -ru reelbox-3.10388.orig/VideoPlayerPipHd.c reelbox-3.10388/VideoPlayerPipHd.c
---- reelbox-3.10388.orig/VideoPlayerPipHd.c 2009-01-19 13:22:30.000000000 +0100
-+++ reelbox-3.10388/VideoPlayerPipHd.c 2009-01-19 17:03:12.000000000 +0100
-@@ -39,6 +39,8 @@
- // I like standards...
- typedef unsigned char uchar;
-
-+#include <stdlib.h>
-+
- #define PICS_BUF 16
- #define HDFB_DEVICE "/dev/fb0"
- #define ES_BUFFER_SIZE (262144)
-
diff --git a/media-plugins/vdr-reelbox/files/save-setup_3.13986.diff b/media-plugins/vdr-reelbox/files/save-setup_3.13986.diff
deleted file mode 100644
index a034b11..0000000
--- a/media-plugins/vdr-reelbox/files/save-setup_3.13986.diff
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -ru reelbox-3.10388.orig/setupmenu.c reelbox-3.10388/setupmenu.c
---- reelbox-3.10388.orig/setupmenu.c 2009-01-19 13:22:30.000000000 +0100
-+++ reelbox-3.10388/setupmenu.c 2009-01-19 17:10:08.000000000 +0100
-@@ -27,6 +27,7 @@
-
- if (state == osUnknown && key == kOk)
- {
-+ if (HasSubMenu()) return cMenuSetupPage::ProcessKey(key);
- const char *text = Get(Current())->Text();
-
- if ( text && strstr(text, tr("Video Settings")) )
-diff -ru reelbox-3.10388.orig/VideoPlayerPipHd.c reelbox-3.10388/VideoPlayerPipHd.c
---- reelbox-3.10388.orig/VideoPlayerPipHd.c 2009-01-19 13:22:30.000000000 +0100
-+++ reelbox-3.10388/VideoPlayerPipHd.c 2009-01-19 17:03:12.000000000 +0100
-@@ -39,6 +39,8 @@
- // I like standards...
- typedef unsigned char uchar;
-
-+#include <stdlib.h>
-+
- #define PICS_BUF 16
- #define HDFB_DEVICE "/dev/fb0"
- #define ES_BUFFER_SIZE (262144)
-
diff --git a/media-plugins/vdr-reelbox/files/vdr-reelbox-3.9302_makefile.diff b/media-plugins/vdr-reelbox/files/vdr-reelbox-3.9302_makefile.diff
deleted file mode 100644
index e82346e..0000000
--- a/media-plugins/vdr-reelbox/files/vdr-reelbox-3.9302_makefile.diff
+++ /dev/null
@@ -1,38 +0,0 @@
-diff -Naur vdr-reelbox-3.orig/Makefile vdr-reelbox-3/Makefile
---- vdr-reelbox-3.orig/Makefile 2008-11-01 01:11:55.000000000 +0100
-+++ vdr-reelbox-3/Makefile 2008-11-01 01:14:52.000000000 +0100
-@@ -10,7 +10,7 @@
- PLUGIN = reelbox
-
- # set it if you want to compile the skin for use with the reelbox
--REELSKIN=1
-+#REELSKIN=1
-
- ### The object files (add further files here):
-
-@@ -33,13 +33,8 @@
- LIBDIR = ../../lib
- TMPDIR = /tmp
-
--BSPSHM = ../../../utils/bspshm
--HDSHM = ../../../utils/hdshm3/src
--
--BSPINCLUDE = -I$(BSPSHM) -I$(BSPSHM)/include
--HDINCLUDE = -I$(HDSHM) -I$(HDSHM)/include
--LIBMAD ?= ../../../../temp/docimage/libs/libmad
--LIBASOUND ?= ../../../../temp/docimage/libs/alsa-lib
-+BSPSHM = ../bspshm
-+HDSHM = ../hdshm3/src
-
- ### Allow user defined options to overwrite defaults:
-
-@@ -47,8 +42,7 @@
-
- ### Includes and Defines (add further entries here):
-
--INCLUDES += -I$(LIBASOUND)/include $(BSPINCLUDE) $(HDINCLUDE)
--INCLUDES += -I$(LIBMAD)
-+INCLUDES += -I$(BSPSHM) -I$(HDSHM)
-
- ifdef REELSKIN
- DEFINES += -DREELSKIN
diff --git a/media-plugins/vdr-reelbox/metadata.xml b/media-plugins/vdr-reelbox/metadata.xml
deleted file mode 100644
index 83928e6..0000000
--- a/media-plugins/vdr-reelbox/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>media-tv</herd>
- <maintainer>
- <email>hd_brummy@gentoo.org</email>
- <name>Joerg Bornkessel</name>
- </maintainer>
- <maintainer>
- <email>joerg_pb@gmx.net</email>
- <name>Joerg Krause</name>
- </maintainer>
-</pkgmetadata>
-
diff --git a/media-plugins/vdr-reelbox/vdr-reelbox-3.11210.ebuild b/media-plugins/vdr-reelbox/vdr-reelbox-3.11210.ebuild
deleted file mode 100644
index 5c4454c..0000000
--- a/media-plugins/vdr-reelbox/vdr-reelbox-3.11210.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI="2"
-
-inherit vdr-plugin
-
-S="${WORKDIR}/${PN}-3"
-
-DESCRIPTION="VDR Plugin: for the Reel eHD PCI card"
-HOMEPAGE="http://www.reel-multimedia.com"
-SRC_URI="http://vdr.websitec.de/download/${PN}/${P}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~x86 ~amd64"
-IUSE=""
-
-S="${WORKDIR}/${PN}-3"
-
-DEPEND=">=media-video/vdr-1.6.0
- >=media-video/reelbox-ehd-headers-11210
- media-video/ffmpeg
- media-libs/libmad
- media-libs/libpng
- media-libs/alsa-lib"
-RDEPEND=${DEPEND}
-
-src_prepare() {
- vdr-plugin_src_prepare
-
- # small compile fix
- sed -e "s:char\* fs453_settings_tab:const char\* fs453_settings_tab:" -i "${S}"/fs453settings.c
-
- epatch "${FILESDIR}/reelbox-${PV}_makefile.diff"
- epatch "${FILESDIR}/gcc-4.3.x_${PV}.diff"
- epatch "${FILESDIR}/save-setup_${PV}.diff"
-
- sed -i "${WORKDIR}"/bspshm/hostlib/bspshmlib.c \
- -e "s:\"../driver/bspshm.h\":<bspshm.h>:"
-
- sed -i "${WORKDIR}"/hdshm3/src/hostlib/hdshmlib.c \
- -e "s:\"../driver/hdshm.h\":<hdshm.h>:"
-
- if has_version ">=media-video/ffmpeg-0.4.9_p20070616"; then
- sed -i Makefile -e "s:# -lswscale: -lswscale:g"
- fi
-
- if has_version ">=media-plugins/vdr-osdpip-0.1.10261"; then
- epatch "${FILESDIR}/vdr-reelbox-pip.diff"
- fi
-
- if [ ! -z "$EHD_FRAMEBUFFER" ]; then
- einfo "Changing framebuffer device to $EHD_FRAMEBUFFER"
- find . -type f -exec sed -i "s:/dev/fb0:${EHD_FRAMEBUFFER}:g" {} \;
- fi
-}
diff --git a/media-plugins/vdr-reelbox/vdr-reelbox-3.12133.ebuild b/media-plugins/vdr-reelbox/vdr-reelbox-3.12133.ebuild
deleted file mode 100644
index 8131f89..0000000
--- a/media-plugins/vdr-reelbox/vdr-reelbox-3.12133.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI="2"
-
-inherit vdr-plugin
-
-DESCRIPTION="VDR Plugin: for the Reel eHD PCI card"
-HOMEPAGE="http://www.reel-multimedia.com"
-SRC_URI="http://vdr.websitec.de/download/${PN}/${P}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~x86 ~amd64"
-IUSE=""
-
-S="${WORKDIR}/${PN}-3"
-
-DEPEND=">=media-video/vdr-1.6.0
- >=media-video/reelbox-ehd-headers-12133
- media-video/ffmpeg
- media-libs/libmad
- media-libs/libpng
- media-libs/alsa-lib"
-RDEPEND=${DEPEND}
-
-src_prepare() {
- vdr-plugin_src_prepare
-
- # small compile fix
- sed -e "s:char\* fs453_settings_tab:const char\* fs453_settings_tab:" -i "${S}"/fs453settings.c
-
- epatch "${FILESDIR}/reelbox-${PV}_makefile.diff"
- epatch "${FILESDIR}/gcc-4.3.x_${PV}.diff"
- epatch "${FILESDIR}/save-setup_${PV}.diff"
-
- sed -i "${WORKDIR}"/bspshm/hostlib/bspshmlib.c \
- -e "s:\"../driver/bspshm.h\":<bspshm.h>:"
-
- sed -i "${WORKDIR}"/hdshm3/src/hostlib/hdshmlib.c \
- -e "s:\"../driver/hdshm.h\":<hdshm.h>:"
-
- if has_version ">=media-video/ffmpeg-0.4.9_p20070616"; then
- sed -i Makefile -e "s:# -lswscale: -lswscale:g"
- fi
-
- if has_version ">=media-plugins/vdr-osdpip-0.1.10261"; then
- epatch "${FILESDIR}/vdr-reelbox-pip.diff"
- fi
-
- if [ ! -z "$EHD_FRAMEBUFFER" ]; then
- einfo "Changing framebuffer device to $EHD_FRAMEBUFFER"
- find . -type f -exec sed -i "s:/dev/fb0:${EHD_FRAMEBUFFER}:g" {} \;
- fi
-}
diff --git a/media-plugins/vdr-reelbox/vdr-reelbox-3.12384-r1.ebuild b/media-plugins/vdr-reelbox/vdr-reelbox-3.12384-r1.ebuild
deleted file mode 100644
index 192a9d7..0000000
--- a/media-plugins/vdr-reelbox/vdr-reelbox-3.12384-r1.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI="2"
-
-inherit vdr-plugin
-
-RESTRICT="mirror"
-
-DESCRIPTION="VDR Plugin: for the Reel eHD PCI card"
-HOMEPAGE="http://www.reel-multimedia.com"
-SRC_URI="http://vdr.websitec.de/download/${PN}/${P}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~x86 ~amd64"
-IUSE=""
-
-S="${WORKDIR}/${PN}-3"
-
-DEPEND=">=media-video/vdr-1.6.0
- >=media-video/reelbox-ehd-headers-12384
- media-video/ffmpeg
- media-libs/libmad
- media-libs/libpng
- media-libs/alsa-lib"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- vdr-plugin_src_prepare
-
- # small compile fix
- sed -e "s:char\* fs453_settings_tab:const char\* fs453_settings_tab:" -i "${S}"/fs453settings.c
-
- epatch "${FILESDIR}/reelbox-3.12384_makefile.diff"
-
- epatch "${FILESDIR}/reelbox-3.12384_reelbox_c.diff"
-
- sed -i "${WORKDIR}"/bspshm/hostlib/bspshmlib.c \
- -e "s:\"../driver/bspshm.h\":<bspshm.h>:"
-
- sed -i "${WORKDIR}"/hdshm3/src/hostlib/hdshmlib.c \
- -e "s:\"../driver/hdshm.h\":<hdshm.h>:"
-
- if has_version ">=media-video/ffmpeg-0.4.9_p20070616"
- then
- # ffmpeg-0.4.9_p20081219
- #epatch "${FILESDIR}/vdr-reelbox-ffmpeg.diff"
-
- sed -i Makefile -e "s:# -lswscale: -lswscale:g"
- sed -i VideoPlayerPipHd.c -e "s:PIX_FMT_RGBA32:PIX_FMT_RGBA:"
- fi
-
- #if has_version ">=media-plugins/vdr-osdpip-0.1.10261"
- #then
- # epatch "${FILESDIR}/vdr-reelbox-pip.diff"
- #fi
-
- if has_version ">=media-video/vdr-1.7.4"
- then
- epatch "${FILESDIR}/reelbox-3.12384_p1-vdr-1.7.4.diff"
- else
- epatch "${FILESDIR}/save-setup_3.12384.diff"
- fi
-
- sed -e "s:/dev/fb0:/dev/fb_reel:g" -i HdFbTrueColorOsd.c VideoPlayerPipHd.c
-}
diff --git a/media-plugins/vdr-reelbox/vdr-reelbox-3.12384.ebuild b/media-plugins/vdr-reelbox/vdr-reelbox-3.12384.ebuild
deleted file mode 100644
index 2962bf8..0000000
--- a/media-plugins/vdr-reelbox/vdr-reelbox-3.12384.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI="2"
-
-inherit vdr-plugin
-
-RESTRICT="mirror"
-
-DESCRIPTION="VDR Plugin: for the Reel eHD PCI card"
-HOMEPAGE="http://www.reel-multimedia.com"
-SRC_URI="http://vdr.websitec.de/download/${PN}/${P}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~x86 ~amd64"
-IUSE=""
-
-S="${WORKDIR}/${PN}-3"
-
-DEPEND=">=media-video/vdr-1.6.0
- >=media-video/reelbox-ehd-headers-12384
- media-video/ffmpeg
- media-libs/libmad
- media-libs/libpng
- media-libs/alsa-lib"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- vdr-plugin_src_prepare
-
- # small compile fix
- sed -e "s:char\* fs453_settings_tab:const char\* fs453_settings_tab:" -i "${S}"/fs453settings.c
-
- epatch "${FILESDIR}/reelbox-3.12384_makefile.diff"
-
- epatch "${FILESDIR}/reelbox-3.12384_reelbox_c.diff"
-
- sed -i "${WORKDIR}"/bspshm/hostlib/bspshmlib.c \
- -e "s:\"../driver/bspshm.h\":<bspshm.h>:"
-
- sed -i "${WORKDIR}"/hdshm3/src/hostlib/hdshmlib.c \
- -e "s:\"../driver/hdshm.h\":<hdshm.h>:"
-
- if has_version ">=media-video/ffmpeg-0.4.9_p20070616"
- then
- # ffmpeg-0.4.9_p20081219
- #epatch "${FILESDIR}/vdr-reelbox-ffmpeg.diff"
-
- sed -i Makefile \
- -e "s:# -lswscale: -lswscale:g"
- fi
-
- #if has_version ">=media-plugins/vdr-osdpip-0.1.10261"
- #then
- # epatch "${FILESDIR}/vdr-reelbox-pip.diff"
- #fi
-
- if has_version ">=media-video/vdr-1.7.4"
- then
- epatch "${FILESDIR}/reelbox-3.12384-vdr-1.7.4.diff"
- else
- epatch "${FILESDIR}/save-setup_3.12384.diff"
- fi
-
- if [ ! -z "$EHD_FRAMEBUFFER" ]
- then
- einfo "Changing framebuffer device to $EHD_FRAMEBUFFER"
- find . -type f -exec sed -i "s:/dev/fb0:${EHD_FRAMEBUFFER}:g" {} \;
- fi
-
-}
diff --git a/media-plugins/vdr-reelbox/vdr-reelbox-3.13986.ebuild b/media-plugins/vdr-reelbox/vdr-reelbox-3.13986.ebuild
deleted file mode 100644
index 9038aeb..0000000
--- a/media-plugins/vdr-reelbox/vdr-reelbox-3.13986.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI="2"
-
-inherit vdr-plugin
-
-RESTRICT="mirror"
-
-DESCRIPTION="VDR Plugin: for the Reel eHD PCI card"
-HOMEPAGE="http://www.reel-multimedia.com"
-SRC_URI="http://vdr.websitec.de/download/${PN}/${P}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~x86 ~amd64"
-IUSE=""
-
-S="${WORKDIR}/${PN}-3"
-
-DEPEND=">=media-video/vdr-1.6.0
- >=media-video/reelbox-ehd-headers-${PV}
- media-video/ffmpeg
- media-libs/libmad
- media-libs/libpng
- media-libs/alsa-lib"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- vdr-plugin_src_prepare
-
- epatch "${FILESDIR}/reelbox-${PV}_makefile.diff"
-
- sed -i "${WORKDIR}"/bspshm/hostlib/bspshmlib.c \
- -e "s:\"../driver/bspshm.h\":<bspshm.h>:"
-
- sed -i "${WORKDIR}"/hdshm3/src/hostlib/hdshmlib.c \
- -e "s:\"../driver/hdshm.h\":<hdshm.h>:"
-
- if has_version ">=media-video/ffmpeg-0.4.9_p20070616"
- then
- sed -i Makefile -e "s:# -lswscale: -lswscale:g"
- fi
-
- epatch "${FILESDIR}/save-setup_${PV}.diff"
-
- sed -e "s:/dev/fb0:/dev/fb_reel:g" -i HdFbTrueColorOsd.c VideoPlayerPipHd.c
-
- # UINT64_C is needed by ffmpeg headers
- append-flags -D__STDC_CONSTANT_MACROS
-}
diff --git a/media-plugins/vdr-reelbox/vdr-reelbox-3.9302.ebuild b/media-plugins/vdr-reelbox/vdr-reelbox-3.9302.ebuild
deleted file mode 100644
index 28bd104..0000000
--- a/media-plugins/vdr-reelbox/vdr-reelbox-3.9302.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-inherit vdr-plugin
-
-S="${WORKDIR}/${PN}-3"
-
-DESCRIPTION="VDR Plugin: for the Reel eHD PCI card"
-HOMEPAGE="http://www.reel-multimedia.com"
-SRC_URI="http://quacks.fratzengeballer.org/distfiles/${P}.tgz
- http://vdr.websitec.de/download/${PN}/${P}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~x86 ~amd64"
-IUSE=""
-
-S="${WORKDIR}/${PN}-3"
-
-DEPEND=">=media-video/vdr-1.6.0
- >=media-video/reelbox-ehd-headers-9302
- media-libs/libmad
- media-libs/libpng
- media-libs/alsa-lib"
-
-src_unpack() {
- vdr-plugin_src_unpack
-
- # small compile fix
- sed -e "s:char\* fs453_settings_tab:const char\* fs453_settings_tab:" -i "${S}"/fs453settings.c
-
- epatch "${FILESDIR}/${P}"_makefile.diff
-
- sed -i "${WORKDIR}"/bspshm/hostlib/bspshmlib.c \
- -e "s:\"../driver/bspshm.h\":<bspshm.h>:"
-
- sed -i "${WORKDIR}"/hdshm3/src/hostlib/hdshmlib.c \
- -e "s:\"../driver/hdshm.h\":<hdshm.h>:"
-}