summaryrefslogtreecommitdiff
path: root/media-plugins/vdr-graphlcd
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /media-plugins/vdr-graphlcd
reinit the tree, so we can have metadata
Diffstat (limited to 'media-plugins/vdr-graphlcd')
-rw-r--r--media-plugins/vdr-graphlcd/Manifest12
-rw-r--r--media-plugins/vdr-graphlcd/files/0.1.5/graphlcd-0.1.5-radiotext-lcr-service.diff126
-rw-r--r--media-plugins/vdr-graphlcd/files/0.1.5/graphlcd-0.1.5-span.diff356
-rw-r--r--media-plugins/vdr-graphlcd/files/0.1.5/graphlcd-0.1.5_vdr-1.5.3.diff19
-rw-r--r--media-plugins/vdr-graphlcd/files/0.1.5/vdr-graphlcd-0.1.5-missing-freetyp2.diff30
-rw-r--r--media-plugins/vdr-graphlcd/files/0.1.5/vdr-graphlcd-0.1.5-missing-include.patch11
-rw-r--r--media-plugins/vdr-graphlcd/files/confd21
-rw-r--r--media-plugins/vdr-graphlcd/files/rc-addon.sh11
-rw-r--r--media-plugins/vdr-graphlcd/metadata.xml11
-rw-r--r--media-plugins/vdr-graphlcd/vdr-graphlcd-0.1.9.ebuild100
10 files changed, 697 insertions, 0 deletions
diff --git a/media-plugins/vdr-graphlcd/Manifest b/media-plugins/vdr-graphlcd/Manifest
new file mode 100644
index 000000000000..745998568f43
--- /dev/null
+++ b/media-plugins/vdr-graphlcd/Manifest
@@ -0,0 +1,12 @@
+AUX 0.1.5/graphlcd-0.1.5-radiotext-lcr-service.diff 4396 SHA256 9f5d27b974c3432e2dd3c0cf9987b74ce5635ea3fa33823444b68ab8f05fc5d3 SHA512 43888da66a50d36e33619716be5ff4447a88d2076feb84991b2298d8ff2d23a01765b16527238916aa6a5fc3e592075a9d59eb18cf511f3d5341e5caa417857c WHIRLPOOL d6703467efd6b93fd8d2d458cf17ce1e8f3a7be0d3333f26bbfcb27087ebef0a9beb10df32e69caea968dcc4e5f9a63575e5563c0bafabf45fd1b0d841d81c66
+AUX 0.1.5/graphlcd-0.1.5-span.diff 13307 SHA256 20016c754c948664dd0fad53f70f68a5e9b95d1b8d14b9d0f959d664194d6876 SHA512 b91995325cce3a161560d223eed99b1556b0b0aea43f0d90a880abcbfdaf6c19ea3bc6d33dde26047340032bc2c5fc7fe185bd7121982eac6144f80f6caecc72 WHIRLPOOL 6d8db008b77f72b5319967c792e2d923ba1c1f280583dca7b6fe8b0df8c306faedfe45f4e23dd902dd05f8897038937e52fd1a3492bf02cec4897fbea873a488
+AUX 0.1.5/graphlcd-0.1.5_vdr-1.5.3.diff 608 SHA256 13bddb071ea62ce14fe09124fe76f52ea747636d2e207db55f3de5818766a009 SHA512 3ebcd75ad4325d261f41ab805c62a255a8591d355195ca78d720b97a8ced36235b1902fb15dc42973fb205a49334a882ba58802f377055a68b0e1ba84c130d88 WHIRLPOOL d4a20431f9e2b9b817eedc8b4dd8f4d503119bfdcd2499d2e284c53e73ffcc6bad9b2dc22cbef6ed7ec0a50c441835167bd16072623a022458e6be1b07b6cdc7
+AUX 0.1.5/vdr-graphlcd-0.1.5-missing-freetyp2.diff 917 SHA256 9e6d93943b0f8f0beb0292580fc2e61fb1d612778319cc342de7e0e0add17a71 SHA512 1b58adacff144453eff988918566f2a3dd40926f9f71d87622319a546db6886d54ba53eda4596e373aaa75a413c6e570c7a17342d65a609b2ed3347f82c9343a WHIRLPOOL 27d7e1b23a10fecfc834be7293e7a407a2e6bc8f1f4fe685a6e467a0f7d776459011bf7436d1f37d95625d449fcaf81810d214c8f516887f8d099673df9baad8
+AUX 0.1.5/vdr-graphlcd-0.1.5-missing-include.patch 316 SHA256 f5db943352b5cfb505e0a505659e267c9c046314c5006f53044e0abd7fe1b131 SHA512 b2a9ea7ab20c2733256f3441382dbaf86f867c553337b2b450524f90cfc65f88cfd42e25d30178ec62e6e041a732b56c14c4b457e171d998169d0b93408d2ae0 WHIRLPOOL 0b26052d83f521ab1e80a206a7f788684640b3bfb0e0a8dffcd2d49bad7b1e096d78168db495f3a0f54faae37d99ddfcbf2779be35ea3a40b81bea5a3e5d55ea
+AUX confd 565 SHA256 502563ae320ae89d46fe7d2e8676086d354d886b37ccef6f9b6bdc41a42312b1 SHA512 9b44466d924f5e7ea3ab23ade147a5c18b599714058c51fe8403cb7a0d2cd2be05fcc85a385a064c8b3110a6c88faa857444f6e4dee6c1843348209491e9ea99 WHIRLPOOL 9915e7aae11593c57101ff928f8d57cfee65d35fcf86031da8eaa9672c3c0e5cdd4e941ca7427f1a01f0340c6385276776f9cfd32df4d5b88de573a2d0a5c168
+AUX rc-addon.sh 247 SHA256 197643c34462b1beceab3f1d5feb197524815c9ae61cd2954f0b6f8e7c0bf538 SHA512 46d27b5feab6881721f480d6cc26e1a9796c9b46f083cf6e2f97523f8b54d2b93d373130e562235ec2a57d95cc37ac956e290467251572f5387db58a32ad1544 WHIRLPOOL 27772a807b3390bdcec9d286dd46fe389deb69f13fbd93fcae990f68070c3df6fe913885873ad7002a492c0fe379001154fc23e5ecc4ea18b0a4029b734d9628
+DIST vdr-graphlcd-0.1.9.tgz 286572 SHA256 8e136972f89de078b8f1577f605bc5719c13a7979897030997ef1ff24ebbdd44 SHA512 46c78fe0c7bc7d67d757323a6a937e9feedcdb3e3f233227024dd84f0cb84ce8f08becd3b4ae9c0b7edfba40804a29fa0e3efc8e74eceb82812f288b8e40c6cd WHIRLPOOL 3b6d1bbaaf3ed827c6d74d982a64050d3dbdc99e48173e341c798ad1d62c309200751bc3358fbb7eee8a74ef85d519dbfd5ca3e19f2af29d4c91ecadc6682842
+EBUILD vdr-graphlcd-0.1.9.ebuild 2567 SHA256 bf10e7d66cb84158fb8962540654103aef3bd7182702ca3458fd2b4837849916 SHA512 3b745f07f2579c6391bff65672aa507a6c70ad7d7065b07870386d11669cff29d0c41e3e219e67933119bc0d0ef47a48dfcb0d1a1a06f1dfe28aed7055c30d97 WHIRLPOOL 48b019a8d322dd4599ac49a1c7e9eb227be7598233007ba7369fc5e5f496549240bd710ccac66fb790c3e1557e130dcb87d108c75a47647d8752a67a2e7449b6
+MISC ChangeLog 2740 SHA256 ec7328f4a73b096ee5c7df65b68d60e4a3196e4082529d54be0b58b5b4a54615 SHA512 8e443005b7a8b9a5bb60828d936e42aa4f0ff79f630773c037b8503a052a49be1703b18956141a6720e81cac13c626c09c57a2434fca1cd57047df2839a8ac1b WHIRLPOOL 8390777d688c94828a9d6c784de631bb6275d7ab2a00d75e2c6970182869a7e9714ce78509bc3ccdece552c477b5e59a77ca73193903c597c11eb2d7ba85f774
+MISC ChangeLog-2015 6123 SHA256 d30adc941a51af21698ad487a2622d72915b1b0248a9fb1b9304d61d5d5b0257 SHA512 461573bb77db109194202200e8f6a6648961ff08212090b1527d8980df266c49f92140da584b4a496150014ff5fa587b99ba2daf8a177c728fba91e7b4d12110 WHIRLPOOL cae279c82ff33305e4a4cfce6f0c997d60ca632a0e29691ae3fc55f37898dbe58bc4fa1ea91518633e154fbd28c2051a96b68a91abcc24ad26839397c5de58ec
+MISC metadata.xml 386 SHA256 22cf5ce19127fd17f4863692cd75df94d3a65ad90fe014fc1ef9e958e753c0e6 SHA512 505462c67b43399c55d08deedd022a88e9a25659a6f9b150800d344bfe7e14cc1e8e73b6789401b7acd519bdfcae170743c898c4c4a354f13a9b1542f273e951 WHIRLPOOL b42ae56adc514e8941dbe7e535d1db81cf049d5cdacb781c604a3a0c03b6b9b07cf8d61c0998e36ea2552b19e16d42626bce66dadc31ebf875da967f285c4bfd
diff --git a/media-plugins/vdr-graphlcd/files/0.1.5/graphlcd-0.1.5-radiotext-lcr-service.diff b/media-plugins/vdr-graphlcd/files/0.1.5/graphlcd-0.1.5-radiotext-lcr-service.diff
new file mode 100644
index 000000000000..8c2c180ab2c2
--- /dev/null
+++ b/media-plugins/vdr-graphlcd/files/0.1.5/graphlcd-0.1.5-radiotext-lcr-service.diff
@@ -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.5/graphlcd-0.1.5-span.diff b/media-plugins/vdr-graphlcd/files/0.1.5/graphlcd-0.1.5-span.diff
new file mode 100644
index 000000000000..949049af050f
--- /dev/null
+++ b/media-plugins/vdr-graphlcd/files/0.1.5/graphlcd-0.1.5-span.diff
@@ -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/0.1.5/graphlcd-0.1.5_vdr-1.5.3.diff b/media-plugins/vdr-graphlcd/files/0.1.5/graphlcd-0.1.5_vdr-1.5.3.diff
new file mode 100644
index 000000000000..fac88fb5e615
--- /dev/null
+++ b/media-plugins/vdr-graphlcd/files/0.1.5/graphlcd-0.1.5_vdr-1.5.3.diff
@@ -0,0 +1,19 @@
+fix compile Probs up from vdr-1.5.3
+
+Joerg Bornkessel <hd_brummy@gentoo.org> 2007 06 26
+
+diff -Naur graphlcd-0.1.5.orig/layout.c graphlcd-0.1.5/layout.c
+--- graphlcd-0.1.5.orig/layout.c 2007-06-26 21:43:52.000000000 +0200
++++ graphlcd-0.1.5/layout.c 2007-06-26 21:46:05.000000000 +0200
+@@ -65,7 +65,11 @@
+ file += "/fonts/";
+ file += url.substr(4, pos - 4);
+ }
++#if APIVERSNUM >= 10503
++ return font.LoadFT2(file, cCharSetConv::SystemCharacterTable(), size);
++#else
+ return font.LoadFT2(file, I18nCharSets()[Setup.OSDLanguage], size);
++#endif
+ }
+ else
+ {
diff --git a/media-plugins/vdr-graphlcd/files/0.1.5/vdr-graphlcd-0.1.5-missing-freetyp2.diff b/media-plugins/vdr-graphlcd/files/0.1.5/vdr-graphlcd-0.1.5-missing-freetyp2.diff
new file mode 100644
index 000000000000..2c10c8697420
--- /dev/null
+++ b/media-plugins/vdr-graphlcd/files/0.1.5/vdr-graphlcd-0.1.5-missing-freetyp2.diff
@@ -0,0 +1,30 @@
+#bug 203856
+
+diff -Naur graphlcd-0.1.5_orig/Makefile graphlcd-0.1.5/Makefile
+--- graphlcd-0.1.5_orig/Makefile 2007-02-05 19:24:03.000000000 +0100
++++ graphlcd-0.1.5/Makefile 2007-12-31 02:08:00.000000000 +0100
+@@ -9,6 +9,9 @@
+ #
+ PLUGIN = graphlcd
+
++# define this if you built graphlcd-base with freetype:
++HAVE_FREETYPE2 = 1
++
+ ### The version number of this plugin (taken from the main source file):
+
+ VERSION = $(shell grep 'static const char \*VERSION *=' plugin.c | awk '{ print $$6 }' | sed -e 's/[";]//g')
+@@ -51,9 +54,12 @@
+
+ INCLUDES += -I$(VDRDIR)/include -I$(DVBDIR)/include -I$(INSTALLPREFIX)/include
+
+-DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+-DEFINES += -D_GNU_SOURCE
++DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+
++ifdef HAVE_FREETYPE2
++ INCLUDES += -I$(INSTALLPREFIX)/include/freetype2
++ DEFINES += -DHAVE_FREETYPE2
++endif
+
+ ### The object files (add further files here):
+
diff --git a/media-plugins/vdr-graphlcd/files/0.1.5/vdr-graphlcd-0.1.5-missing-include.patch b/media-plugins/vdr-graphlcd/files/0.1.5/vdr-graphlcd-0.1.5-missing-include.patch
new file mode 100644
index 000000000000..e96823bec88e
--- /dev/null
+++ b/media-plugins/vdr-graphlcd/files/0.1.5/vdr-graphlcd-0.1.5-missing-include.patch
@@ -0,0 +1,11 @@
+diff -ru graphlcd-0.1.4-orig/display.c graphlcd-0.1.4/display.c
+--- graphlcd-0.1.4-orig/display.c 2007-02-05 11:32:23.963790615 +0100
++++ graphlcd-0.1.4/display.c 2007-02-05 11:32:35.890079873 +0100
+@@ -29,6 +29,7 @@
+
+ #include <vdr/tools.h>
+ #include <vdr/menu.h>
++#include <vdr/plugin.h>
+
+ #include "compat.h"
+
diff --git a/media-plugins/vdr-graphlcd/files/confd b/media-plugins/vdr-graphlcd/files/confd
new file mode 100644
index 000000000000..30debd446fcc
--- /dev/null
+++ b/media-plugins/vdr-graphlcd/files/confd
@@ -0,0 +1,21 @@
+# /etc/conf.d/vdr.graphlcd
+
+####### Global config for Graphlcd ####################
+#
+# set fine tuning for your Display
+# in selected ${GRAPHLCD_DIR}
+#
+
+#
+# set the DIR of the graphlcd config file
+# allowed values: directory names
+# default: /etc/vdr/plugins/graphlcd/graphlcd.conf
+#GRAPHLCD_DIR=/etc/vdr/plugins/graphlcd/graphlcd.conf
+
+#
+# select driver for graphlcd display
+# allowed values: framebuffer, gu140x32f, gu256x64-372,
+# gu256x64C-3xx0, hd61830, image, ks0108,
+# sed1520, sed1330, simlcd, t6963c
+# default: t6963c
+#GRAPHLCD_DISPLAY=t6963c
diff --git a/media-plugins/vdr-graphlcd/files/rc-addon.sh b/media-plugins/vdr-graphlcd/files/rc-addon.sh
new file mode 100644
index 000000000000..305025db99fb
--- /dev/null
+++ b/media-plugins/vdr-graphlcd/files/rc-addon.sh
@@ -0,0 +1,11 @@
+#
+# rc-addon-script for plugin osdteletext
+#
+
+plugin_pre_vdr_start() {
+ : ${GRAPHLCD_DIR:=/etc/vdr/plugins/graphlcd/graphlcd.conf}
+ : ${GRAPHLCD_DISPLAY:=t6963c}
+
+ add_plugin_param "-c ${GRAPHLCD_DIR}"
+ add_plugin_param "-d ${GRAPHLCD_DISPLAY}"
+}
diff --git a/media-plugins/vdr-graphlcd/metadata.xml b/media-plugins/vdr-graphlcd/metadata.xml
new file mode 100644
index 000000000000..c1d6fa5851c8
--- /dev/null
+++ b/media-plugins/vdr-graphlcd/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>vdr@gentoo.org</email>
+ <name>Gentoo VDR Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ This package provides vdrplugin to use a Graphical LCD.
+ </longdescription>
+</pkgmetadata>
diff --git a/media-plugins/vdr-graphlcd/vdr-graphlcd-0.1.9.ebuild b/media-plugins/vdr-graphlcd/vdr-graphlcd-0.1.9.ebuild
new file mode 100644
index 000000000000..eb34af3937f7
--- /dev/null
+++ b/media-plugins/vdr-graphlcd/vdr-graphlcd-0.1.9.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit vdr-plugin-2
+
+VERSION="502" # every bump, new version
+
+DESCRIPTION="VDR Plugin: support output on Graphical LCD "
+HOMEPAGE="http://projects.vdr-developer.org/projects/graphlcd"
+SRC_URI="mirror://vdr-developerorg/${VERSION}/${P}.tgz"
+
+KEYWORDS="~x86 ~amd64"
+
+SLOT="0"
+LICENSE="GPL-2"
+IUSE=""
+
+DEPEND=">=media-video/vdr-1.6
+ >=app-misc/graphlcd-base-${PV}"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ vdr-plugin-2_pkg_setup
+
+ if ! getent group lp | grep -q vdr; then
+ echo
+ einfo "Add user 'vdr' to group 'lp' for full user access to parport device"
+ echo
+ elog "User vdr added to group lp"
+ gpasswd -a vdr lp
+ fi
+ if ! getent group usb | grep -q vdr; then
+ echo
+ einfo "Add user 'vdr' to group 'usb' for full user access to usb device"
+ echo
+ elog "User vdr added to group usb"
+ gpasswd -a vdr usb
+ fi
+}
+
+src_prepare() {
+ vdr-plugin-2_src_prepare
+
+ sed -i "s:/usr/local:/usr:" Makefile
+
+ sed -i "s:i18n.c:i18n.h:g" Makefile
+
+ sed -i "s:include \$(VDRDIR)/Make.global:-include \$(VDRDIR)/Make.global:" Makefile
+}
+
+src_install() {
+ vdr-plugin-2_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
+
+ for font in /usr/share/fonts/corefonts/*.ttf; do
+ elog ${font}
+ dosym ${font} /usr/share/vdr/graphlcd/fonts
+ done
+
+ 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
+
+ dosym /etc/vdr/plugins/${VDRPLUGIN}/logonames.alias.1.3 /etc/vdr/plugins/${VDRPLUGIN}/logonames.alias
+}
+
+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-2_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"
+}