version bump
authorJoerg Bornkessel <hd_brummy@gentoo.org>
Sun, 4 Feb 2007 23:38:35 +0000 (23:38 +0000)
committerJoerg Bornkessel <hd_brummy@gentoo.org>
Sun, 4 Feb 2007 23:38:35 +0000 (23:38 +0000)
Package-Manager: portage-2.1.1-r2

media-plugins/vdr-graphlcd/ChangeLog
media-plugins/vdr-graphlcd/Manifest
media-plugins/vdr-graphlcd/files/0.1.4/graphlcd-0.1.4-better-readable-on-medium-displays.diff [new file with mode: 0644]
media-plugins/vdr-graphlcd/files/0.1.4/graphlcd-0.1.4-radiotext-lcr-service.diff [new file with mode: 0644]
media-plugins/vdr-graphlcd/files/0.1.4/graphlcd-0.1.4-span.diff [new file with mode: 0644]
media-plugins/vdr-graphlcd/files/digest-vdr-graphlcd-0.1.4 [new file with mode: 0644]
media-plugins/vdr-graphlcd/vdr-graphlcd-0.1.4.ebuild [new file with mode: 0644]

index 5b9a78f8f48c9acdd3567969e9bbe7673f24bf37..8f9c2c83957a2f06f8ed63c08a5d2a5091c17b8f 100644 (file)
@@ -1,6 +1,14 @@
 # ChangeLog for media-plugins/vdr-graphlcd
 # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-plugins/vdr-graphlcd/ChangeLog,v 1.10 2007/01/05 16:31:15 hd_brummy Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-plugins/vdr-graphlcd/ChangeLog,v 1.11 2007/02/04 23:38:35 hd_brummy Exp $
+
+*vdr-graphlcd-0.1.4 (04 Feb 2007)
+
+  04 Feb 2007; Joerg Bornkessel <hd_brummy@gentoo.org>
+  +files/0.1.4/graphlcd-0.1.4-better-readable-on-medium-displays.diff,
+  +files/0.1.4/graphlcd-0.1.4-radiotext-lcr-service.diff,
+  +files/0.1.4/graphlcd-0.1.4-span.diff, +vdr-graphlcd-0.1.4.ebuild:
+  version bump
 
   05 Jan 2007; Joerg Bornkessel <hd_brummy@gentoo.org>
   vdr-graphlcd-0.1.2_pre6-r1.ebuild, vdr-graphlcd-0.1.3.ebuild,
index d4b726eb585639e3c569fee70ec88467dfdfd6af..707a522340d9ecb4a3cf039c3abbfa8c53f891dc 100644 (file)
@@ -13,6 +13,18 @@ AUX 0.1.3/radiotext-lcr-service.diff 4307 RMD160 86bdbf240429b0ed984ae9992d080d0
 MD5 f9dbceea60471cbeb4538f2a36152e16 files/0.1.3/radiotext-lcr-service.diff 4307
 RMD160 86bdbf240429b0ed984ae9992d080d04b384d3c7 files/0.1.3/radiotext-lcr-service.diff 4307
 SHA256 59a652e77a10c2fa737368bb5a95fb59ee72c1bc15d14be705b8ac51803f7aca files/0.1.3/radiotext-lcr-service.diff 4307
+AUX 0.1.4/graphlcd-0.1.4-better-readable-on-medium-displays.diff 1510 RMD160 c773a42a33896608252b035001e48d871dea7856 SHA1 8aa69bfda3116caede5889b1b345744a46fc304a SHA256 522b6a86f283d943bc8a6969f7970633cae60afaf2f33dfbdc84eb516dd1882a
+MD5 8d5a50d57d3176ea7cb8d26df3832843 files/0.1.4/graphlcd-0.1.4-better-readable-on-medium-displays.diff 1510
+RMD160 c773a42a33896608252b035001e48d871dea7856 files/0.1.4/graphlcd-0.1.4-better-readable-on-medium-displays.diff 1510
+SHA256 522b6a86f283d943bc8a6969f7970633cae60afaf2f33dfbdc84eb516dd1882a files/0.1.4/graphlcd-0.1.4-better-readable-on-medium-displays.diff 1510
+AUX 0.1.4/graphlcd-0.1.4-radiotext-lcr-service.diff 4396 RMD160 fc9d56c25e619a366b093ca0074fa8227fc89ccf SHA1 1ceab6545461158d526ace1d7028198a20d7a8d2 SHA256 9f5d27b974c3432e2dd3c0cf9987b74ce5635ea3fa33823444b68ab8f05fc5d3
+MD5 20740cf60e47e586ce298086d47fc2db files/0.1.4/graphlcd-0.1.4-radiotext-lcr-service.diff 4396
+RMD160 fc9d56c25e619a366b093ca0074fa8227fc89ccf files/0.1.4/graphlcd-0.1.4-radiotext-lcr-service.diff 4396
+SHA256 9f5d27b974c3432e2dd3c0cf9987b74ce5635ea3fa33823444b68ab8f05fc5d3 files/0.1.4/graphlcd-0.1.4-radiotext-lcr-service.diff 4396
+AUX 0.1.4/graphlcd-0.1.4-span.diff 13307 RMD160 ad56e604871b0ad681b46d2efb8e4b934bddec8a SHA1 f0714211195f7f6da09b563734c7fba2f056c189 SHA256 20016c754c948664dd0fad53f70f68a5e9b95d1b8d14b9d0f959d664194d6876
+MD5 282df25630e2f3bf9212a6b73a9d9482 files/0.1.4/graphlcd-0.1.4-span.diff 13307
+RMD160 ad56e604871b0ad681b46d2efb8e4b934bddec8a files/0.1.4/graphlcd-0.1.4-span.diff 13307
+SHA256 20016c754c948664dd0fad53f70f68a5e9b95d1b8d14b9d0f959d664194d6876 files/0.1.4/graphlcd-0.1.4-span.diff 13307
 AUX confd 681 RMD160 db009f002ee7608a45dbfd16097d0746fb3aa14d SHA1 220bbb0afa62dad0ab384fc16e5dcc5e5f2ec2b6 SHA256 77daae38d4a0a98b214365620c4397ef81516f2f62b7a131a2d0aa1af378f4d3
 MD5 b52e340ed185e77044523dcee028aae6 files/confd 681
 RMD160 db009f002ee7608a45dbfd16097d0746fb3aa14d files/confd 681
@@ -27,6 +39,7 @@ RMD160 6f1831ed6a9ea5a08bbec7a2fa8cf10cfb84f3dd files/vdr-graphlcd-0.1.3-uint64.
 SHA256 b7144d161050ba6d0b1e05f25a974f4a4f6a5ccd9a4bfd69b89237b93532ce2d files/vdr-graphlcd-0.1.3-uint64.diff 1809
 DIST vdr-graphlcd-0.1.2-pre6.tgz 232345 RMD160 5e47c30c9a7b5f7649a8cf12c38da73fa9bf76ae SHA1 4bfe58e96964f3563d018266a472075a20608b1b SHA256 3f5d772d392373c744a2945254039cfc4846f505683d90569845ef8be8c8aafd
 DIST vdr-graphlcd-0.1.3.tgz 244387 RMD160 6856258bc3938a4a817fc583f2624c499f595013 SHA1 d8264ed9e1ceb2b5ddc8093252bfbe5d03cfa65f SHA256 70cac20084f5613b8f9a5bf08b10564c0e0ce890a87062d323e08739017c74ef
+DIST vdr-graphlcd-0.1.4.tgz 240053 RMD160 88114a3bbf68231428de441c4cf5cc45b0d2e6a4 SHA1 24caadf77e84e11df05296b9477f19ae8e8f96b0 SHA256 f5cbe57b559d5b68492301bf89eca9ec16022a4bb8c09ccd2727cfeb273ac146
 EBUILD vdr-graphlcd-0.1.2_pre6-r1.ebuild 2361 RMD160 db5131f61c5029d1b3009f5b5154de9ee4d87cd3 SHA1 c99f9aa6e45b57b87851f4d8c5777c1a3cd06ee9 SHA256 c1d0c75c3435ad41b362157369ff3cde69f2f456d57f0b8ef3e92c698f480cb4
 MD5 6b840029d1b8f94ce2461ead5e8b36aa vdr-graphlcd-0.1.2_pre6-r1.ebuild 2361
 RMD160 db5131f61c5029d1b3009f5b5154de9ee4d87cd3 vdr-graphlcd-0.1.2_pre6-r1.ebuild 2361
@@ -39,10 +52,14 @@ EBUILD vdr-graphlcd-0.1.3.ebuild 2263 RMD160 1e19002ae7ef77eab6be906d6772e072f2d
 MD5 d9bb61e1af0e81951175051abd2aa565 vdr-graphlcd-0.1.3.ebuild 2263
 RMD160 1e19002ae7ef77eab6be906d6772e072f2df41e9 vdr-graphlcd-0.1.3.ebuild 2263
 SHA256 e9499c489172147d70a3dd248decc0d04ac87a88bef36c7caee2643207ed30fb vdr-graphlcd-0.1.3.ebuild 2263
-MISC ChangeLog 2075 RMD160 dfa5cee1e4c7cfde17675401bc3b3cff1c6b764a SHA1 a0287f371254e59bb0291a7e6169fbd2913f7772 SHA256 f7b0479b591fe63f386c342b81cb98a3ac4a622e24753de5079d9c91d58d4b20
-MD5 c26cf9366a6cae76304d44a6b29b6342 ChangeLog 2075
-RMD160 dfa5cee1e4c7cfde17675401bc3b3cff1c6b764a ChangeLog 2075
-SHA256 f7b0479b591fe63f386c342b81cb98a3ac4a622e24753de5079d9c91d58d4b20 ChangeLog 2075
+EBUILD vdr-graphlcd-0.1.4.ebuild 2348 RMD160 09c9d11acbe52656da2c5bce743e5df4dd993660 SHA1 cdc280968a156d404b2a999f34592ab47b429430 SHA256 4855ca3abc8c63bcb5ca1fb2615036e98679889005043e08a74b8f8c522dcb30
+MD5 7841cc69b62f08152c1078fa68ad92f3 vdr-graphlcd-0.1.4.ebuild 2348
+RMD160 09c9d11acbe52656da2c5bce743e5df4dd993660 vdr-graphlcd-0.1.4.ebuild 2348
+SHA256 4855ca3abc8c63bcb5ca1fb2615036e98679889005043e08a74b8f8c522dcb30 vdr-graphlcd-0.1.4.ebuild 2348
+MISC ChangeLog 2379 RMD160 ab46ad53324d6da0e29bb52397584d04eb755275 SHA1 0bec6aa7ea6f73559e1a2e6da4f6c776121e6d90 SHA256 365d2dfaa787184a1ce8cb844b24f739cc41f78758ac8899e7b9b0c56c29ca0c
+MD5 ff60ee8733b51959a8b8245659cbb975 ChangeLog 2379
+RMD160 ab46ad53324d6da0e29bb52397584d04eb755275 ChangeLog 2379
+SHA256 365d2dfaa787184a1ce8cb844b24f739cc41f78758ac8899e7b9b0c56c29ca0c ChangeLog 2379
 MISC metadata.xml 399 RMD160 da803ab914b85f48f99cd09321a577b2ae2df876 SHA1 ed8cb826e20b52e381e5926e3f5df01da6d02fd8 SHA256 fb14b64f0c614498c334e60f3774e886fbb5a6143bce4f162f39bb61fee0be67
 MD5 d620f1598e91e4b0e15a579df112c8f0 metadata.xml 399
 RMD160 da803ab914b85f48f99cd09321a577b2ae2df876 metadata.xml 399
@@ -56,11 +73,14 @@ SHA256 990f5369e29f626a3f387ced1c4c22eb9bf51f888d146d00fe38da720919d914 files/di
 MD5 507d59b9796312e258732bccb923e0aa files/digest-vdr-graphlcd-0.1.3-r1 247
 RMD160 3f02a2d6d1b8c2185979c412c85d3e84d2504be6 files/digest-vdr-graphlcd-0.1.3-r1 247
 SHA256 990f5369e29f626a3f387ced1c4c22eb9bf51f888d146d00fe38da720919d914 files/digest-vdr-graphlcd-0.1.3-r1 247
+MD5 9bf29d35bc734f973ebbcb5fe8c7d586 files/digest-vdr-graphlcd-0.1.4 247
+RMD160 34b54054fdf74bfab72ea20b395317a9d48640cb files/digest-vdr-graphlcd-0.1.4 247
+SHA256 53fd99ce448b67cb1014be71d9da0ee3ff1008b65fd01cc9d4e4dafbba8bdbe0 files/digest-vdr-graphlcd-0.1.4 247
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.5 (GNU/Linux)
-Comment: GnuPG-Pack Basics: http://home.arcor.de/rose-indorf
+Comment: added by hd_brummy@gentoo.org
 
-iD8DBQFFnn2wdn07HTTCgIoRAsuBAJ9J+mG+Pjy9Lsz3Zw/8m6jsYh5pVACfZBZk
-r2CYvrLx1tTD687YNlsI+1U=
-=mDOK
+iD8DBQFFxm6Gdn07HTTCgIoRAiP8AJ9Y9kLz1Amd53m3ENCz8m8L6/lZxwCfUfGc
+QxPY9ualqP2PEF+wzIJuDPY=
+=QgUo
 -----END PGP SIGNATURE-----
diff --git a/media-plugins/vdr-graphlcd/files/0.1.4/graphlcd-0.1.4-better-readable-on-medium-displays.diff b/media-plugins/vdr-graphlcd/files/0.1.4/graphlcd-0.1.4-better-readable-on-medium-displays.diff
new file mode 100644 (file)
index 0000000..63f2d61
--- /dev/null
@@ -0,0 +1,38 @@
+--- display.c.old      2007-01-22 15:40:18.000000000 +0100
++++ display.c  2007-01-22 15:45:09.000000000 +0100
+@@ -239,7 +239,7 @@
+               TEXT_OFFSET_Y_CHANNEL = 3;
+               TEXT_OFFSET_Y_TITLE   = 3;
+               SYMBOL_SPACE          = 1;
+-              TIMEBAR_HEIGHT        = 3;
++              TIMEBAR_HEIGHT        = 6;
+       }
+       else
+       {
+@@ -1367,14 +1367,14 @@
+       if (bitmap->Height() >= MINY_L)
+               nProgressbarHeight = 15;
+       else if (bitmap->Height() >= MINY_M)
+-              nProgressbarHeight = 9;
++              nProgressbarHeight = 5; // nProgressbarHeight = 9;
+       else if (bitmap->Height() >= MINY_S)
+               nProgressbarHeight = 5;
+       else
+               nProgressbarHeight = 3;
+ 
+       if (IsLogoActive())
+-              nTopY = FRAME_SPACE_Y + logo->Height() + 2;
++              nTopY = FRAME_SPACE_Y + logo->Height() + 0; // nTopY = FRAME_SPACE_Y + logo->Height() + 2;
+       else if (GraphLCDSetup.ShowDateTime)
+               nTopY = FRAME_SPACE_Y + normalFont->TotalAscent() + 2 * TEXT_OFFSET_Y_TIME + FRAME_SPACE_YB;
+       else
+@@ -1386,7 +1386,8 @@
+ 
+               nMaxX = std::max(1, bitmap->Width() - (2 * FRAME_SPACE_X) - 2 * TEXT_OFFSET_X);
+               lineHeight = FRAME_SPACE_Y + largeFont->TotalHeight();
+-              maxLines = std::max(0, (bitmap->Height() - normalFont->TotalHeight() - FRAME_SPACE_Y - nProgressbarHeight - 2 - nTopY) / lineHeight);
++              maxLines = std::max(0, (bitmap->Height() - normalFont->TotalHeight() - FRAME_SPACE_Y - nProgressbarHeight - 0 - nTopY) / lineHeight);
++              // maxLines = std::max(0, (bitmap->Height() - normalFont->TotalHeight() - FRAME_SPACE_Y - nProgressbarHeight - 2 - nTopY) / lineHeight);
+ 
+               if (maxLines == 0)
+               {
diff --git a/media-plugins/vdr-graphlcd/files/0.1.4/graphlcd-0.1.4-radiotext-lcr-service.diff b/media-plugins/vdr-graphlcd/files/0.1.4/graphlcd-0.1.4-radiotext-lcr-service.diff
new file mode 100644 (file)
index 0000000..8c2c180
--- /dev/null
@@ -0,0 +1,126 @@
+diff -Naur graphlcd-0.1.4.orig/state.c graphlcd-0.1.4/state.c
+--- graphlcd-0.1.4.orig/state.c        2007-02-04 23:35:16.317687570 +0100
++++ graphlcd-0.1.4/state.c     2007-02-04 23:42:12.065780817 +0100
+@@ -16,6 +16,7 @@
+ 
+ #include <vdr/eitscan.h>
+ #include <vdr/i18n.h>
++#include <vdr/plugin.h>
+ 
+ #include "compat.h"
+ 
+@@ -654,6 +655,8 @@
+ 
+ void cGraphLCDState::GetProgramme()
+ {
++    bool ptitle = false;
++
+     mutex.Lock();
+ #if VDRVERSNUM < 10300
+     const cEventInfo * present = NULL, * following = NULL;
+@@ -670,9 +673,11 @@
+                 {
+                     event.presentTime = present->GetTime();
+                     event.presentTitle = "";
+-                    if (!isempty(present->GetTitle()))
++                    if (!isempty(present->GetTitle())) {
+                         event.presentTitle = present->GetTitle();
+                     event.presentSubtitle = "";
++                                      ptitle = true;
++                                      }
+                     if (!isempty(present->GetSubtitle()))
+                         event.presentSubtitle = present->GetSubtitle();
+                 }
+@@ -704,9 +709,11 @@
+                 {
+                     event.presentTime = present->StartTime();
+                     event.presentTitle = "";
+-                    if (!isempty(present->Title()))
++                    if (!isempty(present->Title())) {
+                         event.presentTitle = present->Title();
+                     event.presentSubtitle = "";
++                                      ptitle = true;
++                                      }
+                     if (!isempty(present->ShortText()))
+                         event.presentSubtitle = present->ShortText();
+                 }
+@@ -724,6 +731,54 @@
+         }
+     }
+ #endif
++
++#if VDRVERSNUM >= 10330
++   { // get&display Radiotext
++       cPlugin *p;
++       p = cPluginManager::CallFirstService("RadioTextService-v1.0", NULL);
++       if (p) {
++           RadioTextService_v1_0 rtext;
++           if (cPluginManager::CallFirstService("RadioTextService-v1.0", &rtext)) {
++               if (rtext.rds_info == 2 && strstr(rtext.rds_title, "---") == NULL) {
++                   char rtpinfo[2][65], rtstr[140];
++                   strcpy(rtpinfo[0], rtext.rds_title);
++                   strcpy(rtpinfo[1], rtext.rds_artist);
++                   sprintf(rtstr, "%02d:%02d  %s | %s", rtext.title_start->tm_hour, rtext.title_start->tm_min, trim(((std::string)(rtpinfo[0]))).c_str(), trim(((std::string)(rtpinfo[1]))).c_str());
++                       ptitle ? event.presentSubtitle = rtstr : event.presentTitle = rtstr;
++               }
++               else if (rtext.rds_info > 0) {
++                   char rtstr[65];
++                   strcpy(rtstr, rtext.rds_text);
++                   ptitle ? event.presentSubtitle = trim(rtstr) : event.presentTitle = trim(rtstr);
++               }
++           }
++       }
++   }
++#endif
++ 
++#if VDRVERSNUM >= 10330
++   { // get&display LcrData
++       cPlugin *p;
++       p = cPluginManager::CallFirstService("LcrService-v1.0", NULL);
++       if (p)
++       {
++           LcrService_v1_0 lcrData;
++           if (cPluginManager::CallFirstService("LcrService-v1.0", &lcrData))
++           {
++               if ( strstr( lcrData.destination, "---" ) == NULL )
++               {
++                   char lcrStringParts[3][25], lcrString[100];
++                   strcpy( lcrStringParts[0], (const char *)lcrData.destination );
++                   strcpy( lcrStringParts[1], (const char *)lcrData.price );
++                   strcpy( lcrStringParts[2], (const char *)lcrData.pulse );
++                   sprintf(lcrString, "%s | %s", trim((std::string)(lcrStringParts[1])).c_str(), trim((std::string)(lcrStringParts[2])).c_str());
++                   event.presentTitle = trim(lcrStringParts[0]);
++                   event.presentSubtitle = trim(lcrString);
++               }
++           }
++       }
++   }
++#endif
+     mutex.Unlock();
+ }
+ 
+diff -Naur graphlcd-0.1.4.orig/state.h graphlcd-0.1.4/state.h
+--- graphlcd-0.1.4.orig/state.h        2007-02-04 23:35:16.317687570 +0100
++++ graphlcd-0.1.4/state.h     2007-02-04 23:43:05.728759351 +0100
+@@ -130,4 +130,21 @@
+     tVolumeState GetVolumeState();
+ };
+ 
++// Radiotext
++struct RadioTextService_v1_0 {
++  int rds_info;
++  int rds_pty;
++  char *rds_text;
++  char *rds_title;
++  char *rds_artist;
++  struct tm *title_start;
++};
++
++// LcrData
++struct LcrService_v1_0 {
++  cString destination;
++  cString price;
++  cString pulse;
++};
++
+ #endif
diff --git a/media-plugins/vdr-graphlcd/files/0.1.4/graphlcd-0.1.4-span.diff b/media-plugins/vdr-graphlcd/files/0.1.4/graphlcd-0.1.4-span.diff
new file mode 100644 (file)
index 0000000..949049a
--- /dev/null
@@ -0,0 +1,356 @@
+diff -Naur graphlcd-0.1.4.orig/display.c graphlcd-0.1.4/display.c
+--- graphlcd-0.1.4.orig/display.c      2007-02-04 23:10:36.609384554 +0100
++++ graphlcd-0.1.4/display.c   2007-02-04 23:17:48.756350745 +0100
+@@ -115,6 +115,7 @@
+     nCurrentBrightness = -1;
+     LastTimeBrightness = 0;
+     bBrightnessActive = true;
++      LastTimeSA.Set(0);
+ }
+ 
+ cGraphLCDDisplay::~cGraphLCDDisplay()
+@@ -373,6 +374,11 @@
+                             update = true;
+                         }
+ 
++                                              if ( LastTimeSA.TimedOut() )
++                           {
++                               update = true;
++                               LastTimeSA.Set(1000);
++                           }
+                         // update Display every second or due to an update
+                         if (CurrTime != LastTime || update)
+                         {
+@@ -1460,6 +1466,8 @@
+                           nTopY + nProgressbarHeight,
+                           GLCD::clrBlack, false);
+ 
++      DisplaySA();
++
+     if (1 < replay.total && 1 < replay.current) // Don't show full progressbar for endless streams
+     {
+         bitmap->DrawRectangle(FRAME_SPACE_X,
+@@ -1945,3 +1953,141 @@
+     }
+     mutex.Unlock();
+ }
++
++void cGraphLCDDisplay::DisplaySA()
++{
++// Spectrum Analyzer visualization
++   if ( GraphLCDSetup.enableSpectrumAnalyzer )
++   {
++       if (cPluginManager::CallFirstService(SPAN_GET_BAR_HEIGHTS_ID, NULL))
++       {
++           Span_GetBarHeights_v1_0 GetBarHeights;
++
++           int bandsSA = 20;
++           int falloffSA = 8;
++           int channelsSA = 1;
++
++           unsigned int bar;
++           unsigned int *barHeights = new unsigned int[bandsSA];
++           unsigned int *barHeightsLeftChannel = new unsigned int[bandsSA];
++           unsigned int *barHeightsRightChannel = new unsigned int[bandsSA];
++           unsigned int volumeLeftChannel;
++           unsigned int volumeRightChannel;
++           unsigned int volumeBothChannels;
++           unsigned int *barPeaksBothChannels = new unsigned int[bandsSA];
++           unsigned int *barPeaksLeftChannel = new unsigned int[bandsSA];
++           unsigned int *barPeaksRightChannel = new unsigned int[bandsSA];
++
++           GetBarHeights.bands                     = bandsSA;
++           GetBarHeights.barHeights                = barHeights;
++           GetBarHeights.barHeightsLeftChannel     = barHeightsLeftChannel;
++           GetBarHeights.barHeightsRightChannel    = barHeightsRightChannel;
++           GetBarHeights.volumeLeftChannel         = &volumeLeftChannel;
++           GetBarHeights.volumeRightChannel        = &volumeRightChannel;
++           GetBarHeights.volumeBothChannels        = &volumeBothChannels;
++           GetBarHeights.name                      = "graphlcd";
++           GetBarHeights.falloff                   = falloffSA;
++           GetBarHeights.barPeaksBothChannels      = barPeaksBothChannels;
++           GetBarHeights.barPeaksLeftChannel       = barPeaksLeftChannel;
++           GetBarHeights.barPeaksRightChannel      = barPeaksRightChannel;
++
++           if ( cPluginManager::CallFirstService(SPAN_GET_BAR_HEIGHTS_ID, &GetBarHeights ))
++           {
++               int i;
++               int barWidth = 2;
++               int saStartX = FRAME_SPACE_X;
++               int saEndX = saStartX + barWidth*bandsSA*2 + bandsSA/4 - 1;
++               int saStartY = FRAME_SPACE_Y;
++               int saEndY = FRAME_SPACE_Y + bitmap->Height()/2 - 3;
++
++               LastTimeSA.Set(100);
++
++               if ( GraphLCDSetup.SAShowVolume )
++               {
++
++                   saStartX = FRAME_SPACE_X  + bitmap->Width()/2 - (barWidth*bandsSA*2 + bandsSA/4)/2 - 2;
++                   saEndX = saStartX + barWidth*bandsSA*2 + bandsSA/4 - 1;
++
++                   // left volume
++                   bitmap->DrawRectangle(FRAME_SPACE_X,
++                       saStartY,
++                       saStartX-1,
++                       saEndY + 1,
++                       GLCD::clrWhite, true);
++
++                   for ( i=0; (i<logo->Width()/2-2) && (i<3*(volumeLeftChannel*saStartX)/100); i++)
++                   {
++                       bitmap->DrawRectangle(saStartX - i - 2,
++                           saStartY + saEndY/2 - i,
++                           saStartX - i - 4,
++                           saStartY + saEndY/2 + i,
++                           GLCD::clrBlack, true);
++                   }
++
++                   // right volume
++                   bitmap->DrawRectangle(saEndX + 1,
++                       saStartY,
++                       bitmap->Width() - 1,
++                       saEndY + 1,
++                       GLCD::clrWhite, true);
++
++                   for ( i=0; (i<logo->Width()/2-2) && (i<3*(volumeRightChannel*saStartX)/100); i++)
++                   {
++                       bitmap->DrawRectangle(saEndX + 2 + i,
++                           saStartY + saEndY/2 - i,
++                           saEndX + i + 4,
++                           saStartY + saEndY/2 + i,
++                           GLCD::clrBlack, true);
++                   }
++               }
++               // black background
++               bitmap->DrawRectangle(saStartX,
++                   saStartY,
++                   saEndX,
++                   saEndY + 1,
++                   GLCD::clrBlack, true);
++
++               for ( i=0; i < bandsSA; i++ )
++               {
++/*                 if ( channelsSA == 2 )
++                   {
++                       bar = barHeightsLeftChannel[i];
++                       bar = barHeightsRightChannel[i];
++                   }*/
++                   if ( channelsSA == 1)
++                   {
++                       // the bar
++                       bar = (barHeights[i]*(saEndY-saStartY))/100;
++                       bitmap->DrawRectangle(saStartX + barWidth*2*(i)+ barWidth + 1,
++                           saEndY,
++                           saStartX + barWidth*2*(i) + barWidth+ barWidth + 1,
++                           saEndY - bar,
++                           GLCD::clrWhite, true);
++
++                       // the peak
++                       bar = (barPeaksBothChannels[i]*(saEndY-saStartY))/100;
++                       if ( bar > 0 )
++                       {
++                           bitmap->DrawRectangle(saStartX + barWidth*2*(i)+ barWidth + 1,
++                               saEndY - bar,
++                               saStartX + barWidth*2*(i) + barWidth+ barWidth + 1,
++                               saEndY - bar+1,
++                               GLCD::clrWhite, true);
++                       }
++                   }
++               }
++           }
++
++           delete [] barHeights;
++           delete [] barHeightsLeftChannel;
++           delete [] barHeightsRightChannel;
++           delete [] barPeaksBothChannels;
++           delete [] barPeaksLeftChannel;
++           delete [] barPeaksRightChannel;
++       }
++   }
++}
++
++//#############################################################################################
++
++
+diff -Naur graphlcd-0.1.4.orig/display.h graphlcd-0.1.4/display.h
+--- graphlcd-0.1.4.orig/display.h      2007-02-04 23:10:36.609384554 +0100
++++ graphlcd-0.1.4/display.h   2007-02-04 23:20:24.209000170 +0100
+@@ -29,10 +29,33 @@
+ #include <vdr/thread.h>
+ #include <vdr/player.h>
+ 
++#define SPAN_CLIENT_CHECK_ID   "Span-ClientCheck-v1.0"
++#define SPAN_GET_BAR_HEIGHTS_ID "Span-GetBarHeights-v1.0"
+ 
+ #define LCDMAXCARDS 4
+ static const int kMaxTabCount = 10;
+ 
++struct Span_Client_Check_1_0 {
++   bool *isActive;
++   bool *isRunning;
++};
++
++struct Span_GetBarHeights_v1_0 {
++   unsigned int bands;         // number of bands to compute
++   unsigned int *barHeights;       // the heights of the bars of the two channels combined
++   unsigned int *barHeightsLeftChannel;    // the heights of the bars of the left channel
++   unsigned int *barHeightsRightChannel;   // the heights of the bars of the right channel
++   unsigned int *volumeLeftChannel;    // the volume of the left channels
++   unsigned int *volumeRightChannel;   // the volume of the right channels
++   unsigned int *volumeBothChannels;   // the combined volume of the two channels
++   const char *name;           // name of the plugin that wants to get the data
++                       // (must be unique for each client!)
++   unsigned int falloff;                   // bar falloff value
++   unsigned int *barPeaksBothChannels;     // bar peaks of the two channels combined
++   unsigned int *barPeaksLeftChannel;      // bar peaks of the left channel
++   unsigned int *barPeaksRightChannel;     // bar peaks of the right channel
++};
++ 
+ enum ThreadState
+ {
+     Normal,
+@@ -104,6 +127,7 @@
+     time_t LastTime;
+     time_t LastTimeCheckSym;
+     time_t LastTimeModSym;
++      cTimeMs LastTimeSA;
+     struct timeval CurrTimeval;
+     struct timeval UpdateAt;
+ 
+@@ -125,6 +149,7 @@
+     void DisplayTextItem();
+     void DisplayColorButtons();
+     void DisplayVolume();
++      void DisplaySA();
+ 
+     void UpdateIn(long usec);
+     bool CheckAndUpdateSymbols();
+diff -Naur graphlcd-0.1.4.orig/i18n.c graphlcd-0.1.4/i18n.c
+--- graphlcd-0.1.4.orig/i18n.c 2007-02-04 23:10:38.792567843 +0100
++++ graphlcd-0.1.4/i18n.c      2007-02-04 23:23:31.966096053 +0100
+@@ -966,5 +966,53 @@
+ # endif
+ #endif
+     },
++{
++       "Show spectrum analyzer",
++       "Zeige Spectrum Analyzer",
++       "",// TODO Slovenski
++       "",// TODO Italiano
++       "",// TODO Nederlands
++       "",// TODO Portuguçês
++       "",// TODO Franais
++       "",// TODO Norsk
++       "",// TODO Suomi
++       "",// TODO Polski
++       "",// TODO Español
++       "",// TODO Ellinika
++       "",// TODO Svenska
++       "",// TODO Romnâã
++       "",// TODO Magyar
++       "",// TODO Catalàà
++#if VDRVERSNUM > 10302
++       "",// TODO Russian
++# if VDRVERSNUM > 10307
++       "",// TODO Croatian
++# endif
++#endif
++   },
++   {
++       "Show SA volume",
++       "Zeige SA Lautstrke",
++       "",// TODO Slovenski
++       "",// TODO Italiano
++       "",// TODO Nederlands
++       "",// TODO Portugus
++       "",// TODO Franêçais
++       "",// TODO Norsk
++       "",// TODO Suomi
++       "",// TODO Polski
++       "",// TODO Español
++       "",// TODO Ellinika
++       "",// TODO Svenska
++       "",// TODO Romnâã
++       "",// TODO Magyar
++       "",// TODO Catal
++#if VDRVERSNUM > 10302
++       "",// TODO Russian
++# if VDRVERSNUM > 10307
++       "",// TODO Croatian
++# endif
++#endif
++   },
+     { NULL }
+ };
+diff -Naur graphlcd-0.1.4.orig/menu.c graphlcd-0.1.4/menu.c
+--- graphlcd-0.1.4.orig/menu.c 2007-02-04 23:10:38.862563031 +0100
++++ graphlcd-0.1.4/menu.c      2007-02-04 23:24:53.710477952 +0100
+@@ -101,4 +101,6 @@
+     SetupStore("BrightnessActive", GraphLCDSetup.BrightnessActive = newGraphLCDSetup.BrightnessActive);
+     SetupStore("BrightnessIdle", GraphLCDSetup.BrightnessIdle = newGraphLCDSetup.BrightnessIdle);
+     SetupStore("BrightnessDelay", GraphLCDSetup.BrightnessDelay = newGraphLCDSetup.BrightnessDelay);
++      SetupStore("enableSpectrumAnalyzer", GraphLCDSetup.enableSpectrumAnalyzer = newGraphLCDSetup.enableSpectrumAnalyzer);
++      SetupStore("SAShowVolume", GraphLCDSetup.SAShowVolume = newGraphLCDSetup.SAShowVolume);
+ }
+diff -Naur graphlcd-0.1.4.orig/plugin.c graphlcd-0.1.4/plugin.c
+--- graphlcd-0.1.4.orig/plugin.c       2007-02-04 23:10:38.862563031 +0100
++++ graphlcd-0.1.4/plugin.c    2007-02-04 23:26:57.655292837 +0100
+@@ -54,6 +54,7 @@
+     virtual cOsdObject * MainMenuAction();
+     virtual cMenuSetupPage * SetupMenu();
+     virtual bool SetupParse(const char * Name, const char * Value);
++      virtual bool Service(const char *Id, void *Data);
+ };
+ 
+ cPluginGraphLCD::cPluginGraphLCD()
+@@ -243,8 +244,24 @@
+     else if (!strcasecmp(Name, "BrightnessActive")) GraphLCDSetup.BrightnessActive = atoi(Value);
+     else if (!strcasecmp(Name, "BrightnessIdle")) GraphLCDSetup.BrightnessIdle = atoi(Value);
+     else if (!strcasecmp(Name, "BrightnessDelay")) GraphLCDSetup.BrightnessDelay = atoi(Value);
++      else if (!strcasecmp(Name, "enableSpectrumAnalyzer")) GraphLCDSetup.enableSpectrumAnalyzer = atoi(Value);
++      else if (!strcasecmp(Name, "SAShowVolume")) GraphLCDSetup.SAShowVolume = atoi(Value);
+     else return false;
+     return true;
+ }
+ 
++bool cPluginGraphLCD::Service(const char *Id, void *Data)
++{
++   if (strcmp(Id, SPAN_CLIENT_CHECK_ID) == 0)
++   {
++       if ( GraphLCDSetup.enableSpectrumAnalyzer && (Data != NULL) )
++       {
++           *((Span_Client_Check_1_0*)Data)->isActive = true;
++       }
++       return true;
++   }
++
++   return false;
++}
++
+ VDRPLUGINCREATOR(cPluginGraphLCD); // Don't touch this!
+diff -Naur graphlcd-0.1.4.orig/setup.c graphlcd-0.1.4/setup.c
+--- graphlcd-0.1.4.orig/setup.c        2007-02-04 23:10:38.865896137 +0100
++++ graphlcd-0.1.4/setup.c     2007-02-04 23:27:59.671030635 +0100
+@@ -52,7 +52,9 @@
+     ScrollTime(500),
+     BrightnessActive(100),
+     BrightnessIdle(100),
+-    BrightnessDelay(30)
++    BrightnessDelay(30),
++      enableSpectrumAnalyzer(1),
++      SAShowVolume(1)
+ {
+ }
+ 
+diff -Naur graphlcd-0.1.4.orig/setup.h graphlcd-0.1.4/setup.h
+--- graphlcd-0.1.4.orig/setup.h        2007-02-04 23:10:38.865896137 +0100
++++ graphlcd-0.1.4/setup.h     2007-02-04 23:28:55.347204140 +0100
+@@ -54,6 +54,8 @@
+     int BrightnessActive;
+     int BrightnessIdle;
+     int BrightnessDelay;
++      int enableSpectrumAnalyzer;
++      int SAShowVolume;
+ 
+ public:
+     cGraphLCDSetup(void);
diff --git a/media-plugins/vdr-graphlcd/files/digest-vdr-graphlcd-0.1.4 b/media-plugins/vdr-graphlcd/files/digest-vdr-graphlcd-0.1.4
new file mode 100644 (file)
index 0000000..1252829
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 08e8645f708c7724e193399440940d76 vdr-graphlcd-0.1.4.tgz 240053
+RMD160 88114a3bbf68231428de441c4cf5cc45b0d2e6a4 vdr-graphlcd-0.1.4.tgz 240053
+SHA256 f5cbe57b559d5b68492301bf89eca9ec16022a4bb8c09ccd2727cfeb273ac146 vdr-graphlcd-0.1.4.tgz 240053
diff --git a/media-plugins/vdr-graphlcd/vdr-graphlcd-0.1.4.ebuild b/media-plugins/vdr-graphlcd/vdr-graphlcd-0.1.4.ebuild
new file mode 100644 (file)
index 0000000..c554f24
--- /dev/null
@@ -0,0 +1,84 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-plugins/vdr-graphlcd/vdr-graphlcd-0.1.4.ebuild,v 1.1 2007/02/04 23:38:35 hd_brummy Exp $
+
+inherit eutils vdr-plugin
+
+DESCRIPTION="VDR Graphical LCD Plugin"
+HOMEPAGE="http://graphlcd.berlios.de/"
+SRC_URI="http://download.berlios.de/graphlcd/${P}.tgz"
+
+KEYWORDS="~x86 ~amd64"
+
+SLOT="0"
+LICENSE="GPL-2"
+IUSE="truetype"
+
+DEPEND=">=media-video/vdr-1.2.6
+       >=app-misc/graphlcd-base-${PV}"
+
+PATCHES="
+       ${FILESDIR}/0.1.4/graphlcd-0.1.4-span.diff
+       ${FILESDIR}/0.1.4/graphlcd-0.1.4-radiotext-lcr-service.diff"
+
+src_unpack() {
+       vdr-plugin_src_unpack
+
+       sed -i "s:/usr/local:/usr:" Makefile
+}
+
+src_install() {
+       vdr-plugin_src_install
+
+       insopts -m0644 -ovdr -gvdr
+
+       insinto /usr/share/vdr/${VDRPLUGIN}/logos
+       doins -r ${VDRPLUGIN}/logos/*
+
+       insinto /usr/share/vdr/${VDRPLUGIN}/fonts
+       doins ${VDRPLUGIN}/fonts/*.fnt
+
+       if use truetype; then
+               for font in /usr/share/fonts/corefonts/*.ttf; do
+                       elog ${font}
+                       dosym ${font} /usr/share/vdr/graphlcd/fonts
+               done
+       fi
+
+       insinto /etc/vdr/plugins/${VDRPLUGIN}
+       doins ${VDRPLUGIN}/logonames.alias.*
+       doins ${VDRPLUGIN}/fonts.conf.*
+
+       dosym /usr/share/vdr/${VDRPLUGIN}/fonts /etc/vdr/plugins/${VDRPLUGIN}/fonts
+       dosym /usr/share/vdr/${VDRPLUGIN}/logos /etc/vdr/plugins/${VDRPLUGIN}/logos
+       dosym /etc/graphlcd.conf /etc/vdr/plugins/${VDRPLUGIN}/graphlcd.conf
+
+       if has_version ">=media-video/vdr-1.3.2" ; then
+               dosym /etc/vdr/plugins/${VDRPLUGIN}/logonames.alias.1.3 /etc/vdr/plugins/${VDRPLUGIN}/logonames.alias
+       else
+               dosym /etc/vdr/plugins/${VDRPLUGIN}/logonames.alias.1.2 /etc/vdr/plugins/${VDRPLUGIN}/logonames.alias
+       fi
+}
+
+pkg_preinst() {
+
+       if [[ -e /etc/vdr/plugins/graphlcd/fonts ]] && [[ ! -L /etc/vdr/plugins/graphlcd/fonts ]] \
+       || [[ -e /etc/vdr/plugins/graphlcd/logos ]] && [[ ! -L /etc/vdr/plugins/graphlcd/logos ]] ;then
+
+               elog "Remove wrong DIR in /etc/vdr/plugins/graphlcd from prior install"
+               elog "Press CTRL+C to abbort"
+               epause
+               rmdir -R /etc/vdrplugins/graphlcd/{fonts,logos}
+       fi
+}
+
+pkg_postinst() {
+       vdr-plugin_pkg_postinst
+
+       elog "Add additional options in /etc/conf.d/vdr.graphlcd"
+       elog
+       elog "Please copy or link one of the supplied fonts.conf.*"
+       elog "files in /etc/vdr/plugins/graphlcd/ to"
+       elog "/etc/vdr/plugins/graphlcd/fonts.conf"
+}
+