Kein Problem! Jetzt funktioniert alles. Was lange währt, wird gut!
Gruss
TheChief
Kein Problem! Jetzt funktioniert alles. Was lange währt, wird gut!
Gruss
TheChief
ZitatAlles anzeigenOriginal von tuxnet
Ich bekomme leider einen Fehler
renderer/dmyrenderer `pkg-config libgtop-2.0 --cflags` -I/src -I/usr/include/ffmpeg -o dspitems.o dspitems.c
dspitems.c: In member function 'const char* cDisplayItem::evaluateExpression(const char*)':
dspitems.c:122: error: 'const class cRecordingInfo' has no member named 'EventID'
make[1]: *** [dspitems.o] Fehler 1
make[1]: Leaving directory `/usr/local/src/vdr-1.6.0/PLUGINS/src/graphtft-0.1.19.alpha'
*** failed plugins: graphtft
System : easyvdr 1.6.0 extp58
mit
easyvdr 1.6.0 extp55 kommt dieser Fehler nicht
Das liegt am Patch, das Extension Patch bringt die drei Zeilen (mit + markiert) mit. Sollte dann in recording.h so aussehen:
class cResumeFile {
private:
char *fileName;
public:
cResumeFile(const char *FileName);
~cResumeFile();
int Read(void);
bool Save(int Index);
void Delete(void);
};
class cRecordingInfo {
friend class cRecording;
private:
tChannelID channelID;
char *channelName;
const cEvent *event;
cEvent *ownEvent;
char *aux;
cRecordingInfo(const cChannel *Channel = NULL, const cEvent *Event = NULL);
void SetData(const char *Title, const char *ShortText, const char *Description);
void SetAux(const char *Aux);
public:
~cRecordingInfo();
tChannelID ChannelID(void) const { return channelID; }
const char *ChannelName(void) const { return channelName; }
const char *Title(void) const { return event->Title(); }
const char *ShortText(void) const { return event->ShortText(); }
+#ifdef USE_GRAPHTFT
+ tEventID EventID(void) const { return event->EventID(); }
+#endif /* GRAPHTFT */
const char *Description(void) const { return event->Description(); }
const cComponents *Components(void) const { return event->Components(); }
const char *Aux(void) const { return aux; }
bool Read(FILE *f);
bool Write(FILE *f, const char *Prefix = "") const;
};
Alles anzeigen
Grüße
horchi
Dann kommt diese Fehlermeldung
Entering directory `/usr/local/src/vdr-1.6.0/PLUGINS/src/graphtft-0.1.19.alpha'
g++ -O3 -Wall -Woverloaded-virtual -g -ggdb -O0 -c -D_GNU_SOURCE -DUSE_CHANNELSCAN -DUSE_CMDSUBMENU -DUSE_CUTTIME -DUSE_DDEPGENTRY -DUSE_DOLBYINREC -DUSE_DVBPLAYER -DUSE_DVBSETUP -DUSE_DVLRECSCRIPTADDON -DUSE_DVLVIDPREFER -DUSE_DVLFRIENDLYFNAMES -DUSE_JUMPPLAY -DUSE_LIEMIKUUTIO -DUSE_MAINMENUHOOKS -DUSE_SETUP -DUSE_OSDMAXITEMS -DUSE_PLUGINMISSING -DUSE_SETTIME -DUSE_SORTRECORDS -DUSE_SYNCEARLY -DUSE_TIMERCMD -DUSE_VALIDINPUT -DUSE_WAREAGLEICON -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"graphtft"' -DHAVE_IMAGE_MAGICK -DHAVE_IMLIB -DWITH_SYSINFO -DHAVE_SOFTMPEG -DHAVE_FFMPEG -DHAVE_SWSCALE -I../../../../DVB/include -I../../../../DVB/include -I/usr/local/src/VDR/include -I../../../../DVB/include -I. -I./imlibrenderer -I./imlibrenderer/fbrenderer -I./imlibrenderer/dvbrenderer -I./dfbrenderer -I./imlibrenderer/dmyrenderer `pkg-config libgtop-2.0 --cflags` -I/src -I/usr/include/ffmpeg -o graphtft.o graphtft.c
In file included from ./theme.h:21,
from graphtft.c:15:
/usr/local/src/VDR/include/vdr/recording.h:61: error: stray '#' in program
/usr/local/src/VDR/include/vdr/recording.h:63: error: stray '#' in program
/usr/local/src/VDR/include/vdr/recording.h:61: error: expected unqualified-id before '+' token
/usr/local/src/VDR/include/vdr/recording.h:63: error: expected unqualified-id before '+' token
make[1]: *** [graphtft.o] Fehler 1
make[1]: Leaving directory `/usr/local/src/vdr-1.6.0/PLUGINS/src/graphtft-0.1.19.alpha'
*** failed plugins: graphtft
Du musst natürlich die + vor den 3 Zeilen wegmachen.
Lach, man merkt es ist Sonntag
Aber jetzt kommt folgende Fehlermeldung
make[1]: Entering directory `/usr/local/src/vdr-1.6.0/PLUGINS/src/graphtft-0.1.19.alpha'
g++ -O3 -Wall -Woverloaded-virtual -g -ggdb -O0 -c -D_GNU_SOURCE -DUSE_CHANNELSCAN -DUSE_CMDSUBMENU -DUSE_CUTTIME -DUSE_DDEPGENTRY -DUSE_DOLBYINREC -DUSE_DVBPLAYER -DUSE_DVBSETUP -DUSE_DVLRECSCRIPTADDON -DUSE_DVLVIDPREFER -DUSE_DVLFRIENDLYFNAMES -DUSE_JUMPPLAY -DUSE_LIEMIKUUTIO -DUSE_MAINMENUHOOKS -DUSE_SETUP -DUSE_OSDMAXITEMS -DUSE_PLUGINMISSING -DUSE_SETTIME -DUSE_SORTRECORDS -DUSE_SYNCEARLY -DUSE_TIMERCMD -DUSE_VALIDINPUT -DUSE_WAREAGLEICON -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"graphtft"' -DHAVE_IMAGE_MAGICK -DHAVE_IMLIB -DWITH_SYSINFO -DHAVE_SOFTMPEG -DHAVE_FFMPEG -DHAVE_SWSCALE -I../../../../DVB/include -I../../../../DVB/include -I/usr/local/src/VDR/include -I../../../../DVB/include -I. -I./imlibrenderer -I./imlibrenderer/fbrenderer -I./imlibrenderer/dvbrenderer -I./dfbrenderer -I./imlibrenderer/dmyrenderer `pkg-config libgtop-2.0 --cflags` -I/src -I/usr/include/ffmpeg -o graphtft.o graphtft.c
g++ -O3 -Wall -Woverloaded-virtual -g -ggdb -O0 -c -D_GNU_SOURCE -DUSE_CHANNELSCAN -DUSE_CMDSUBMENU -DUSE_CUTTIME -DUSE_DDEPGENTRY -DUSE_DOLBYINREC -DUSE_DVBPLAYER -DUSE_DVBSETUP -DUSE_DVLRECSCRIPTADDON -DUSE_DVLVIDPREFER -DUSE_DVLFRIENDLYFNAMES -DUSE_JUMPPLAY -DUSE_LIEMIKUUTIO -DUSE_MAINMENUHOOKS -DUSE_SETUP -DUSE_OSDMAXITEMS -DUSE_PLUGINMISSING -DUSE_SETTIME -DUSE_SORTRECORDS -DUSE_SYNCEARLY -DUSE_TIMERCMD -DUSE_VALIDINPUT -DUSE_WAREAGLEICON -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"graphtft"' -DHAVE_IMAGE_MAGICK -DHAVE_IMLIB -DWITH_SYSINFO -DHAVE_SOFTMPEG -DHAVE_FFMPEG -DHAVE_SWSCALE -I../../../../DVB/include -I../../../../DVB/include -I/usr/local/src/VDR/include -I../../../../DVB/include -I. -I./imlibrenderer -I./imlibrenderer/fbrenderer -I./imlibrenderer/dvbrenderer -I./dfbrenderer -I./imlibrenderer/dmyrenderer `pkg-config libgtop-2.0 --cflags` -I/src -I/usr/include/ffmpeg -o dspitems.o dspitems.c
dspitems.c: In member function 'const char* cDisplayItem::evaluateExpression(const char*)':
dspitems.c:122: error: 'const class cRecordingInfo' has no member named 'EventID'
make[1]: *** [dspitems.o] Fehler 1
make[1]: Leaving directory `/usr/local/src/vdr-1.6.0/PLUGINS/src/graphtft-0.1.19.alpha'
*** failed plugins: graphtft
GRAPHTFT = 1 ist in der Make.config im VDR-Sourceverzeichnis aktiviert?
Hi,
dann hast du entweder keinen Extension Patch oder den GraphTFT Part des Patches nicht gewählt. Lösch mal die beiden Zeilen welche mit der Raute beginnen.Also, so das nur
tEventID EventID(void) const { return event->EventID(); }
hinzukommt.
horchi
Nabend horchy
Könntest Du die beiden Patches, mit ins Plugin packen?
http://vdr-portal.de/board/thread.php?threadid=65421&threadview=0&hilight=&hilightuser=0&page=23
vdr-1.5.18-plain-graphtft-0.1.17.alpha.diff
vdr-1.5.18-liemikuutio-1.19-graphtft-0.1 .17.alpha.diff
Danke im vorraus
LG Ronny
ich gehe wieder ins Bett, lach.
Das war es, nun läuft es Problemlos durch
ZitatAlles anzeigenOriginal von ronnykornexl
Nabend horchy
Könntest Du die beiden Patches, mit ins Plugin packen?
http://vdr-portal.de/board/thread.php?threadid=65421&threadview=0&hilight=&hilightuser=0&page=23
vdr-1.5.18-plain-graphtft-0.1.17.alpha.diff
vdr-1.5.18-liemikuutio-1.19-graphtft-0.1 .17.alpha.diff
Danke im vorraus
LG Ronny
Mache ich, Danke!
Morgen
Wo sehe, ich denn dieses Systeminformationen?
Habe libgtop installiert. plugin neu übersetzt, scheint auch zu passen.
shell> ldd libvdr-graphtft.so.1.6.0
...........
libgtop-2.0.so.7 => /usr/lib/libgtop-2.0.so.7 (0xb79ed000)
...........
Aber, wo ist der Punkt?
http://vdr-portal.de/board/attachment.php?attachmentid=15378
LG Ronny
Hallo Ronny,
geh mal ins Setup des Plugins, da gibt es einen Punkt, mit dem man GraphTFT im Hauptmenü des OSD als Menüpunkt anzeigen lassen kann, darunter befinden sich dann 3 Punkte, mit einem kann man die Funktion der Anzeige mit den Rechts/Links-Tasten umschalten.
PS: Habe leider keinen VDR da, nur so aus dem Gedächtnis.
Gruß
Wolfgang
Mercy
Gefunden, und für gute befunden.
LG Ronny
Wo müssen denn die EPG Bilder liegen? Oder kann man den Pfad irgendwo konfigurieren?
hallo horchi! .. ich schieb mal so eine kleine anfrage von mir hoch! meinst du, daß sowas einmal möglich wäre? (zZ. vemutlich nicht, da du anderwertig ausgelastet bist). morone würd' da schon mitmachen, denke ich ...
danke & gruß!
ciax
ZitatAlles anzeigenOriginal von ciax
ist OT, aber ich streu's mal ganz frech hier hinein (aus dem music fred --> link) - nur um anzuregen, ob sowas überhaupt möglich ist und ob horchi noch lebt :
eine kleine anmerkung wäre super!
ciax
ZitatOriginal von TheChief
Wo müssen denn die EPG Bilder liegen? Oder kann man den Pfad irgendwo konfigurieren?
Hi,
das steht im theme file, kannst du dort nach belieben Ändern, Beispiel:
Item=Image,x=5,y=160,width=130,height=120,path=/video0/epgimages/{presentID}.png:/video0/images/{presentTitle}.jpg,fit=yes,aspect_ratio=yes;
Aus dem README
ZitatAlles anzeigenEPG Bilder:
-----------
EPG Bilder können in der Aufnahmebeschreibung, der EPG-Filmbeschreibung während
der Wiedergabe und beim TV schauen angezeigt werden. Die Pfade sind frei konfigurierbar und können
einen variablen Teil, in geschweifen Klammern, enthalten. Mehrere Pfade werden mit ':' getrennt angegeben.
Pfade werden in der konfigurierten Reihenfolge durchsucht.
Beispiel:
Item=RecordingImage,x=150,y=300,width=400,height=200,path={recordingPath}/thumbnail.png:/video0/epgimages/{eventID}.png:/video0/images/{recordingTitle}.png,fit=yes,aspect_ratio=yes;
Recording Variablen (ReplayNormal, MenuRecording):
recordingPath
recordingTitle
eventID
EPG Variablen (NormalTV, MenuEvent):
eventID
Mensch manchmal dokumentiere sogar ich was, und dann liest es keiner (ok, es rechnet auch keiner mehr damit)
horchi
Asche auf mein Haupt, danke!
ZitatAlles anzeigenOriginal von neumann2k
Da ich leider per FB Fehlfarben bekomme (benutze radeonfb), wollte ich DirectFB Ausgabe probieren. Dabei sehe ich kurz den Startscreen, danach Absturz. Die Farben bei DirectFB sind ok.
=======================| DirectFB 1.0.0 |=======================
(c) 2001-2007 The DirectFB Organization (directfb.org)
(c) 2000-2004 Convergence (integrated media) GmbH
------------------------------------------------------------
(*) DirectFB/Core: Single Application Core. (2007-03-31 10:55)
(*) Direct/Thread: Running 'VT Switcher' (CRITICAL, 4107)...
(*) DirectFB/Genefx: MMX detected and enabled
(*) DirectFB/Graphics: ATI Radeon X300 (5b60) 1.0 (Claudio Ciccani)
(*) DirectFB/Core/WM: Default 0.3 (directfb.org)
(*) Direct/Interface: Loaded 'JPEG' implementation of 'IDirectFBImageProvider'.
(*) Direct/Interface: Loaded 'PNG' implementation of 'IDirectFBImageProvider'.
(*) Direct/Interface: Loaded 'FT2' implementation of 'IDirectFBFont'.
(#) DirectFBError [info_surface->SetClip(info_surface, &rgn)]: Invalid argument!
(!!!) *** WARNING [Application exited without deinitialization of DirectFB!] *** [core.c:775 in dfb_core_deinit_check()]
(!) [ 4124: 0.000] --> Caught signal 11 (at 0x2000008, invalid address) <--
Aborted
Kannst Du Dir das mal ansehen ?
Da ich ja nun auch das Problem habe und keiner ne Antwort , blieb mir
ja nix anderes uebrig als selber auf Fehlersuche zu gehen.
Bisher weiss ich nur , dass der Fehler wohl bei GraphTFT liegt
(Themefile koennte es auch sein).
Definitiv wird ja an der Zeile rumgemeckert :
dfbrenderer.c:
//***************************************************************************
// Text
//***************************************************************************
int DFbRenderer::text(const char* text,
const char* font_name, int size, int align,
int x, int y,
int r, int g, int b,
int width, int height, int lines,
int dots, int skipLines)
{
..
blabla
....
string tmp = text, tmp2;
DFBRegion rgn;
transform(x, y, width, height);
DFBCHECK(info_surface->SetColor(info_surface, r, g, b, 0xff));
rgn.x1 = x; rgn.y1 = y; rgn.x2 = x+width-1, rgn.y2 = y+height-1;
printf("GTFT: x1=%i , y1=%i , x2=%i , y2=%i\n",x,y,x+width-1,y+height-1);
DFBCHECK(info_surface->SetClip(info_surface, &rgn));
DFBCHECK(info_surface->SetFont(info_surface, font));
DFBCHECK(font->GetHeight(font, &lineHeight));
DFBCHECK(font->GetStringWidth(font, text, -1, &textWidth));
if (lines != 0)
maxLines = lines;
.....
.....
Ich habe mal wie im Code zusehen , ne Ausgabe zwischengepackt und
da kommt das :
(*) Direct/Interface: Loaded 'PNG' implementation of 'IDirectFBImageProvider'.
(*) Direct/Interface: Loaded 'FT2' implementation of 'IDirectFBFont'.
GTFT: x1=457 , y1=61 , x2=633 , y2=104
GTFT: x1=106 , y1=14 , x2=425 , y2=79
GTFT: x1=32 , y1=580 , x2=102 , y2=634
(#) DirectFBError [info_surface->SetClip(info_surface, &rgn)]: Invalid argument!
Vergebe ich jetzt die Werte fuer rgn.x,...y2 statisch,
dann funzt das aber natuerlich nicht so ansehnlich
Also wird es daran liegen.
Denke mal da wird nen falscher Wert uebergeben.
Hmmm , wenn ich mir die letzte Zeile so ansehe ,
wird da nicht selbst bei 800x600 ausserhalb des Surfaces gezeichnet ??
GTFT: x1=32 , y1=580 , x2=102 , y2=634
OK, Fehler gefunden . hoffe ich mal
War wohl nen Patzer in ctransform(.,.,.,.);
Vorher:
void DFbRenderer::transform(int &x, int &y, int &w, int &h)
{
tell(4 , "dfbdevout.c: transform(4)\n");
x = x*dspWidth/themeWidth;
y = y*dspWidth/themeHeight;
w = w*dspWidth/themeWidth;
h = h*dspWidth/themeHeight;
}
(*) Direct/Interface: Loaded 'FT2' implementation of 'IDirectFBFont'.
displaywidth=640 , themewidth=720
GTFT before transform: x1=120 , y1=13 , x2=360 , y2=60
GTFT after transform: x1=106 , y1=14 , x2=320 , y2=66
GTFT Set->Clip : x1=106 , y1=14 , x2=425 , y2=79
displaywidth=640 , themewidth=720
GTFT before transform: x1=37 , y1=522 , x2=80 , y2=50
GTFT after transform: x1=32 , y1=580 , x2=71 , y2=55
GTFT Set->Clip : x1=32 , y1=580 , x2=102 , y2=634
(#) DirectFBError [info_surface->SetClip(info_surface, &rgn)]: Invalid argument!
Alles anzeigen
geaendert:
void DFbRenderer::transform(int &x, int &y, int &w, int &h)
{
tell(4 , "dfbdevout.c: transform(4)\n");
x = x*dspWidth/themeWidth;
y = y*dspHeight/themeHeight;
w = w*dspWidth/themeWidth;
h = h*dspHeight/themeHeight;
}
displaywidth=640 , themewidth=720
GTFT before transform: x1=120 , y1=13 , x2=360 , y2=60
GTFT after transform: x1=106 , y1=10 , x2=320 , y2=50
GTFT Set->Clip : x1=106 , y1=10 , x2=425 , y2=59
displaywidth=640 , themewidth=720
GTFT before transform: x1=37 , y1=522 , x2=80 , y2=50
GTFT after transform: x1=32 , y1=435 , x2=71 , y2=41
GTFT Set->Clip : x1=32 , y1=435 , x2=102 , y2=475
Obs das war weiss ich zwar net aber nun passt das und sieht gut aus;)
(viafb hier)
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!