gefixt (bloed, wenn die konstante (logischerweise) befuellt wird BEVOR das vdr-eigene i18n-zeug initialisiert ist - compile- vs. runtime ...).
alles andere neben der description sollte aber keine probleme machen?
gefixt (bloed, wenn die konstante (logischerweise) befuellt wird BEVOR das vdr-eigene i18n-zeug initialisiert ist - compile- vs. runtime ...).
alles andere neben der description sollte aber keine probleme machen?
Jup, läuft jetzt alles.
Super, jetzt ich mein VDR einheitlich komplett in einer Sprache, das erste mal überhaupt
cu
neuigkeiten:
einschraenkung: bei texten mit einem font-effect (outline, shadow) funktionierts leider nicht brauchbar (aufgrund der art und weise, wie die effekte derzeit erzeugt werden).
Moin,
Keine_Ahnung, könntest du mal bitte deine graphlcd.conf und dein Skinfile anhängen.
Wäre echt nett. Danke!
Gruß
Wolfgang
Die Conf gibt nicht viel her. Da steht ja nicht viel drin, aber ich häng sie mal dran.
Der Skin ist noch nicht produktiv nutzbar. Ich bin nochnicht dazu gekommen, bin gerade dabei meine VDR Instalallation richtig abzuschliessen. Aber viel fehlt nicht mehr, ich hoffe ich komme die Woche mal dazu den endlich fertig zu machen.
Aber ich lade mal hoch was da ist, sollte nen ersten Eindruck bringen. Der ist aber nur für 240x128er Displays.
cu
Hi,
ich geh mal testen, danke dir.
Gruß
Wolfgang
neuigkeiten:
bug fix:
um test wird gebeten
EDIT: damnit, in manchen situationen wird dzt. immer noch ein teil eines buchstaben abgeschnitten ...
utf8-tauglich ist das ganze auch nicht. da werde ich wohl diese methode mal neu schreiben muessen ...
EDIT2 (2011-06-23):
jetzt aber sollten die div. probleme v. WrapText() behoben sein:
Nen Zufallsfund weil ich vergessen hatte HABE_IMAGEMAGIC zu setzen. Rufe ich ne Sender ohne Senderlogo auf dann schmiert der VDR ab.
---
#0 0xffffe424 in __kernel_vsyscall ()
#1 0xb7876370 in raise () from /lib/i686/cmov/libpthread.so.0
#2 0xb694b313 in ?? () from /usr/lib/libdirect-1.2.so.9
#3 <signal handler called>
#4 0xffffe424 in __kernel_vsyscall ()
#5 0xb755b751 in raise () from /lib/i686/cmov/libc.so.6
#6 0xb755eb82 in abort () from /lib/i686/cmov/libc.so.6
#7 0xb777a53f in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/libstdc++.so.6
#8 0xb7778405 in ?? () from /usr/lib/libstdc++.so.6
#9 0xb7778442 in std::terminate() () from /usr/lib/libstdc++.so.6
#10 0xb7778581 in __cxa_throw () from /usr/lib/libstdc++.so.6
#11 0xb7778bff in operator new(unsigned int) () from /usr/lib/libstdc++.so.6
#12 0xb7778cdd in operator new[](unsigned int) () from /usr/lib/libstdc++.so.6
#13 0xb6fd6672 in cBitmap (this=0x9ad43a18, width=-4, height=21, initcol=16777215) at bitmap.c:100
#14 0xb66daf85 in GLCD::cSkinObject::Render (this=0xa9d64fd8, screen=0xb4559808) at object.c:549
#15 0xb66da4c3 in GLCD::cSkinObject::Render (this=0xa9d63e10, screen=0xb4559808) at object.c:803
#16 0xb66da4c3 in GLCD::cSkinObject::Render (this=0xa9d4bb80, screen=0xb4559808) at object.c:803
#17 0xb66d19cd in GLCD::cSkinDisplay::Render (this=0xa9d278b0, screen=0xb4559808) at display.c:27
#18 0xb673f6dc in cGraphLCDDisplay::Action (this=0x9cbd470) at display.c:323
#19 0x0812844c in cThread::StartThread (Thread=0x9cbd470) at thread.c:245
#20 0xb786d955 in start_thread () from /lib/i686/cmov/libpthread.so.0
#21 0xb75fce7e in clone () from /lib/i686/cmov/libc.so.6
---
Ich kanns hier reproduzieren, der Skin ist immer noch der den ich vor einigen Tagen hier gepostet habe.
cu
neuigkeiten:
ACHTUNG: wegen der aenderung bei Set8Pixels() muss auch vdr-plugin-graphlcd neu kompiliert werden (ansonsten segfault!).
-> dieser branch schreitet langsam aber sicher einem release candidate entgegen ...
Keine_Ahnung:
sehe ich mir an. habe zwar auch sender ohne logo (und da kein problem), aber mal schauen, was das wieder fuer ein spezialfall ist ...
EDIT: damnit, wohl derselbe fehler wie im anderen constructor:
ersetz mal in zeile 100 (bitmap.c):
bitmap = new uint32_t[width * height];
Clear(initcol);
durch
if (width > 0 && height > 0) {
bitmap = new uint32_t[width * height];
Clear(initcol);
}
-> dieser branch schreitet langsam aber sicher einem release candidate entgegen ...
Jup, ist auch gut durchgetestet und funktioniert wirklich gut.
Aber eine Sache vermisse ich noch, nämlich die Möglichkeit bei 1BPP Bildern Vorder- und Hintergrundfarbe zu setzen (und damit die Palette im Image zu überschreiben). Wäre das kompleziert? Zwingend notwendig ist das ja nicht, man kann ja weiterhin pbm/glcd nutzen (Da funktioiert es ja), aber animierte GIFs sind schon schöner zu handhaben als animierte glcd.
Alles anzeigen
EDIT: damnit, wohl derselbe fehler wie im anderen constructor:
ersetz mal in zeile 100 (bitmap.c):
bitmap = new uint32_t[width * height];
Clear(initcol);
durch
if (width > 0 && height > 0) {
bitmap = new uint32_t[width * height];
Clear(initcol);
}
Jup, damit läufts.
Und wie es der Zufall so will hatte ich gerade wieder (aber war schon länger her seit der aufgetreten war) einen altbekannten
#0 0xffffe424 in __kernel_vsyscall ()
#1 0xb7587751 in raise () from /lib/i686/cmov/libc.so.6
#2 0xb758ab82 in abort () from /lib/i686/cmov/libc.so.6
#3 0xb6977318 in ?? () from /usr/lib/libdirect-1.2.so.9
#4 <signal handler called>
#5 0xb75cfe38 in strcmp () from /lib/i686/cmov/libc.so.6
#6 0xb677bd15 in cGraphLCDService::NeedsUpdate (this=0x8297e48, CurrentTime=51373) at service.c:269
#7 0xb676ad32 in cGraphLCDDisplay::Action (this=0x9c80f28) at display.c:276
#8 0x0812844c in cThread::StartThread (Thread=0x9c80f28) at thread.c:245
#9 0xb7899955 in start_thread () from /lib/i686/cmov/libpthread.so.0
#10 0xb7628e7e in clone () from /lib/i686/cmov/libc.so.6
Alles anzeigen
Gibts bei C++ nicht sowas wie Try/Except? Sowas ist zwar sehr ineffizient, aber das sollte hier wohl kein Problem sein.
cu
neu:
der bugfix fuer cBitmap constructor wird spaeter committed (ist gerade groessere baustelle (anpassen der div. Save*-methods() an die 32bpp internas)
try/catch: du kannst es ja ausprobieren (ich kanns nicht testen in ermangelung fuer radio-plugin verwertbarer sender (dvb-t)).
einfach in service.c:
ab zeile 269 (nach zeile radioActive = true; )
das ganze if() {} (zeile 269-286) umschliessen mit:
try{
< if() {} zeug >
} catch (...) {
isyslog("graphlcd plugin: strcmp() crashed when receiving broken crap from radio plugin \n");
}
die drei '...' beim catch sind tatsaechlich ernst gemeint ( die drei punkte bedeuten: jede moegliche exception )
EDIT:
vergiss das mit try/catch:
das kann einen runtime error in strcmp() nicht abfangen wie es scheint (getestet mit einem kleinen beispielprog.):
#include <stdio.h>
#include <cstring>
int main (int argc, char** argv) {
char* bla1 = NULL;
try {
int rv = std::strcmp(bla1, "bla");
printf("strcmp ok\n");
} catch(...) {
printf("exception caught\n");
}
return 0;
}
Alles anzeigen
-> segfaultet genauso (egal ob strcmp (v. string.h) oder std::strcmp)
es ist auch in der definition v. strcmp() so festgeschrieben, dass das ergebnis undefiniert ist, wenn ein parameter null ist.
Irgendwie ist mit dem 1BPP Code nen Fehler reingekommen. Siehe Screenshot. Aber nicht immer, eher zufällig (Bei DisnyXD gings zufällig).
Ferner sind Vorder-/Hintergrundfarbe vertauscht.
<condblock condition="QueryFeature('iscolour')">
<variable id="ColLogo" default="{BackgroundColor}" value="'white'"/>
<variable id="ColLogoBackground" default="{ForegroundColor}" value="'black'"/>
<!-- Logo -->
<image x="add(#NotifyStartX,#FrameSpace,1)"
y="add(#NotifyStartY,#FrameSpace,1)" bgcolor="#ColLogo"
color="#ColLogoBackground" path="#ChannelLogo"/>
Der Screenshot zeigt wie es sein soll (Logo als Datei normal, die Anzeige in diesem Skin invertiert), deswegen sind die Werte im Skin falschrum drin.
Das sich das mit dem try/catch nicht abfangen lässt... Höchst seltsam. Ist aber vermutlich einfach nur nen Timingproblem (Das Radio-Plugin liefert in der Startphase blödsinn), als Notlösung könnte man einfach warten bis der Channel valid ist.
Wobei ich den Skin eh umschreiben werde das der Radio Service nur abgefragt wird wenn ein Radio Channel aktiv ist. Dann tritt das ja auch nicht mehr auf. Nur trozdem unschön das es gleich den ganzen VDR runterreist. Solche Schnittstellen sollten eigentlich robuster sein.
cu
neuigkeiten:
neu:
hoffe, dass ich keine nebeneffekte hineingebracht habe, waren doch einige grundlegende aenderungen. meine tests brachten aber keine auffaelligkeiten zu tage ...
neu
recht viel fehlt glaube ich nicht mehr dass alle funktionalitaeten v. 0.1.x jetzt auch im touchcol-branch unterstuetzt werden?
recht viel fehlt glaube ich nicht mehr dass alle funktionalitaeten v. 0.1.x jetzt auch im touchcol-branch unterstuetzt werden?
Ich glaube das grösste Problem ist hier der SPAN Support. Das passt nicht wirklich ins Skin Konzept.
cu
so ein problem sehe ich da nicht. hatte dazu auch schon mal eine idee dazu, das ganze relativ skalier-/anpassbar/flexibel zu machen. bloederweise habe ich damals das music-plugin (oder das plugin, das man dafuer benoetigt - weiss den namen nicht mehr) nie zum laufen gebracht. habe es aber auch schon lange nicht mehr versucht.
spiele bereits mit span herum, die abfrage der daten ist bereits fertig implementiert, gezeichnet wird das ganze mit existierenden gfx-objekten (im screenshot: balken: <progress/>-bars, rahmen: <rectangle/>, labels (L/R): <text/>)
das object <progress/> moechte ich noch um die zusatzfunktion 'peak' erweitern, dann wird auch die anzeige der peaks moeglich sein.
das ganze ist, da kein eigenes span-anzeigeobjekt notwendig ist, sehr flexibel (im screenshot: volume anzeige: horizontal, spec. analyser: vertikal, die daten kommen von einer gemeinsamen quelle (gibt ja auch nur eine )
produktiv verwendbar ist es derzeit noch nicht (habe noch segfaults).
Verdammt, wieder etwas was in den Skin rein muss, da werde ich ja nie fertig
Könnte man auch schön anstelle des Replay Logos anzeigen. Schöne Sache.
cu
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!