nOpacity 0.0.3

  • Was haltet Ihr von dem Vorschlag die Breite von z.B. dem EPG Vorschau F2 konfigurierbar zu machen? Im Moment liegt die bei ca 35% und ich fände es praktischer wenn die breiter wäre.
    Dann würde man den EPG Text in der Schriftgröße erhöhen können ohne Inhalt zu verlieren und und es passt besser da hinein.


    Außerdem bei 90% 16/9 Sendungen sind die schwarzen Balken Platzverschwendung. Idee dazu wäre,
    alternativ mit aktivem Video scaling auf z.b. 50% setzen und unten den überflüssigen Platz für die EPG Info des gewählten Eintrages zu nutzen:


    Also:



    Verständlich? Und noch in der Größe alles einstellbar das ganze ...
    Ich werde das dann als Featurewunsch einstellen, wenn die Idee Anklang findet.

    Proxmox VE, Tyan Xeon Server, OMV, MLD-Server 5.1
    MLD 5.1 64bit: Asus AT5iont-t, ION2, 4GB Ram, SSHD 2,5" 1Tb, HEX TFX 300W 82+, Cine S2 V6.2 , 38W max.
    Yavdr 0.5:
    Zotac D2550ITXS-A-E mit GT610 OB, TT S2-4100 PCI-e ,Joujye NU-0568I-B
    Yavdr 0.5:
    Sandy Bridge G840, Tests und Energieverbrauch , CoHaus CIR, Cine S2 V6.2
    MLD 5.1 Beebox N3150
    , DVBSky S960 und 1Tb WD Blue

  • :tup

  • torsten: die Breite des schmalen Menüs ist schon konfigurierbar (Unter "VDR Menü" die Option "Breite der schmalen Menüleiste").


    Den Rest habe ich nicht so ganz verstanden...nur eine Anmerkung: an dieser Stelle Detailinfos über die Sendungen anzuzeigen ist nicht ganz so einfach, da die Event ID nicht bekannt ist. Der VDR liefert hier einfach einen Text für die Menübuttons. Um die Event ID herauszufinden, damit man die Detailinfos erhalten könnte, müsste man den VDR patchen oder anderweilig fummeln, das wäre aber nicht wirklich zuträglich für die Performance, insb. beim schnellen scrollen durch die Liste.


    Ciao Louis

  • torsten: die Breite des schmalen Menüs ist schon konfigurierbar (Unter "VDR Menü" die Option "Breite der schmalen Menüleiste").


    Aber vielleicht wäre es möglich eine getrennte Einstellung für die Breite bei Main Menu und EPG Liste zu haben. Da die Texte doch schon recht Lang sind.



    rookie

    VDR 4: AMD Kabini 5310, Asrock AM1H-ITX, Gen2Vdr V6, Cine S2, Atric , Harmony 515 , Streacom ST-F7CB EVO

  • Um die Event ID herauszufinden, damit man die Detailinfos erhalten könnte, müsste man den VDR patchen oder anderweilig fummeln, das wäre aber nicht wirklich zuträglich für die Performance, insb. beim schnellen scrollen durch die Liste


    Performanceprobleme beim srollen könnte man vermeiden, indem man die event ID erst verzögert anzeigt und während der Verzögerungsphase auch keine Abfrage erzeugt. Denn während des Scrollens braucht man das nicht zu aktualisieren, aber sobald man auf einem Eintrag stehen bleibt, z.b. nach 0,5s
    bekämst Du die event ID nicht wenn Du eine gleiche Abfrage wie bei der Taste "i" machst? Das funktioniert ja bereits an der Stelle, nur dass halt kein Fenster sich mit den Detailinfos öffnet, sondern dass der Platz unten im Bild genutzt wird.
    Wenn dafür wirklich ein Patchen erforderlich wäre, würde dies natürlich wenig sinnvoll sein, Da stimme ich Dir auch zu.


    Leider sieht die Strichzeichnung sehr dürftig aus. Sie sollte nur die Einteilung des Bildschirms verdeutlichen.

    Proxmox VE, Tyan Xeon Server, OMV, MLD-Server 5.1
    MLD 5.1 64bit: Asus AT5iont-t, ION2, 4GB Ram, SSHD 2,5" 1Tb, HEX TFX 300W 82+, Cine S2 V6.2 , 38W max.
    Yavdr 0.5:
    Zotac D2550ITXS-A-E mit GT610 OB, TT S2-4100 PCI-e ,Joujye NU-0568I-B
    Yavdr 0.5:
    Sandy Bridge G840, Tests und Energieverbrauch , CoHaus CIR, Cine S2 V6.2
    MLD 5.1 Beebox N3150
    , DVBSky S960 und 1Tb WD Blue

  • Aber vielleicht wäre es möglich eine getrennte Einstellung für die Breite bei Main Menu und EPG Liste zu haben. Da die Texte doch schon recht Lang sind.



    rookie


    Die Idee finde ich sehr gut!


    Gruß, Ingo


  • Aber vielleicht wäre es möglich eine getrennte Einstellung für die Breite bei Main Menu und EPG Liste zu haben. Da die Texte doch schon recht Lang sind.


    Jo das habe ich mir auch schon gedacht...das macht wohl sinn. Ich werde das mal einbauen...und das Setup Menü wird immer länger :)



    torsten: deine Idee finde ich prinzipiell gut...leider ist man im Skin schon recht beschränkt, ich würde mir die Skin Schnittstelle insgesamt flexibler wünschen. Klaus hat da auch einige Kommentare im Code, um das flexibler zu gestalten...gerade an dieser Stelle. Aber es steht wohl weiter unten auf seiner todo Liste :) Ich werde bei Zeit mal schauen, was sich da machen lässt.


    Ciao Louis

  • Jo das habe ich mir auch schon gedacht...das macht wohl sinn. Ich werde das mal einbauen...und das Setup Menü wird immer länger :)

    Beschwere Dich doch beim Entwickler - ach, ne, der hat's ja von Anfang an so gewollt, geplant und angekündigt:

    Code
    Description
    -----------
    
    
    "nOpacity" is a highly customizable native true color skin for the Video Disc Recorder.


    :lol:


    Gruß, Ingo

  • Bist du dir da sicher? Was heisst "wesentlich stabiler"? Sorry für die Nachfrage, aber nach meinem Verständnis kann dein Patch nichts mit dem Absturz zu tun haben...


    Wesentlich stabiler bezieht sich hauptsächlich auf den Shutdown, der bei mir immer gecrashed hat. Besser wurde es beim Abbrechen des Shutdowns. Aber du hast recht, so funktioniert es noch nicht ganz. Das Problem beim Runterfahren sind die Countdownmeldungen vom vdr. Sobald sie bei "wird in 0:00 Minuten runterfahren" angelangt sind, wird sofort eine NULL-Message hinterhergeschoben, normalerweise kommt so eine NULL-Meldung nur, wenn nach 5 Sekunden oder so die letzte Meldung vom OSD entfernt werden soll. Die NULL-Meldung führt in skins.c zur Zerstörung des Message-Objekts, dann ist aber bei aktivem Fading der Thread noch mit der 0:00-Meldung aktiv. Deshalb hänge ich einen aktualisierten Patch an, wo der Thread vor der Zerstörung der pixmap gecancelt wird.

  • ...gepatcht, übersetzt, installiert und fading eingeschaltet. Sieht bisher gut aus - aber das dachte ich schon mal... Deine Erklärung klingt plausibel. Werde beobachten und berichten.


    Gruß, Ingo

  • ...leider war es das dann nicht:


    Schade. Zur Situation: habe einfacht 7x schnell die ok-Taste auf der FB gedrückt. Fade-Time war 500 ms. Finde das Fading nämlich sehr schön.


    Allzeit bereit zum testen.
    Gruß, Ingo


    EDIT: Sehe gerade, dass ich das falsche - sprich ungepatchte - Fading getestet habe. Werde den Patch morgen früh mal für alle fünf Fadings anwenden, und berichten - ich finde die Erklärung nämlich immernoch plausibel!

  • Hi,


    sowas ähnliches habe ich auch schon in der cSkinnopacityDisplayMenu() (Datei displaymenu.c) eingebaut, weil das dort auch gecrasht hat, wenn man das Menü beendet hat, bevor das Fading beendet ist. Weil dort reativ viele Pixmaps eingeblendet werden, war der Effekt auffälliger.


    Wenn ich allerdings sehr schnell mit der Tab Taste das Menü ein- und ausblende, stürzt der VDR trotzdem ganz selten noch ab. Deshalb habe ich das auch noch nicht in die anderen Klassen eingebaut, weil es eben noch keine 100% Lösung ist.


    Testen kann man es wohl am besten mit dem Hauptmenü, der Fehler ist analog zu dem in der MessageBox...


    Ciao Louis

  • Guten Morgen und einen geheiligten 1. Advent,


    ersteinmal vielen Dank an Louis und TomJoad für ihre Versuche mir meine Backtraces zu erklären. Und ich möchte gleich voran schicken, dass meine Versuche hier zu helfen keinesfalls von c++-threadsafe-Programmierungs-Fachwissen getrübt sind. Daher: selbst wenns nicht hilft, hat es für den ein oder anderen zumindest einen gewiseen Unterhaltungswert. Der angehängte Patch ist also nicht für Produktionssysteme, oder ein TV-Wochenende mit dem Schatz geeignet...


    So, ich habe mir (mehrfach) gründlich die Erläuterung von TomJoad durchgelesen und mir dann Luois Code angesehen. Was Louis in displaymenu.c macht, ist ja ähnlich, wie das was TomJoad vorschlägt. Ich habe mal versucht das Ganze so paranoid wie möglich auszulegen. Der angehängte Patch bezieht sich ersteinmal auf menu, nachrichten, wiedergabe, und kanalwechsel.


    Bisher läuft es damit hier stabil - aber das denke ich ja immer zuerst... ;)


    Gruß, Ingo

  • Ingo: der Patch schaut ok aus...Danke.


    @all: wer es mal testen will...den VDR z.B. mit gedrückter OK Taste stressen, damit dauern das Kanalwechselmenü ein- und ausgeblendet wird bzw. mit Tab das Menü schnell ein- und wieder ausblenden. Der VDR muss dabei stabil bleiben.


    Wenn es erfolgreich getestet ist, würde ich das ins GIT aufnehmen. Ich bin gerade an einer anderen Baustelle (epgsearch Integration neu und ordentlich machen, das ist recht aufwändig) und entwickle am master branch, also kann ich das GIT gerade schlecht aktualisieren :)


    Ciao Louis



    Manche sind halt ihrer Zeit weit voraus. :lol2


    Ich geh nachher Ostereier kaufen :)

  • ...gestern beim Einkaufen haben mir alle einen schönen ersten Advent gewünscht... Ihr habt natürlich recht...


    louis: irgendwas stimmt immer noch nicht. Ich habe die tab-Taste heute morgen mit Zahnstochern blockiert - eben nachgeschaut: nach knapp 2h gabs den typischen segfault. Also mir reicht das fürs erste, bedeutet aber, dass die Baustelle immer noch offen ist. Und noch eine Frage: Cancel() macht alles zu - Cancel(int) nur die ebene int, richtig?


    Gruß, Ingo

  • louis: irgendwas stimmt immer noch nicht. Ich habe die tab-Taste heute morgen mit Zahnstochern blockiert - eben nachgeschaut: nach knapp 2h gabs den typischen segfault. Also mir reicht das fürs erste, bedeutet aber, dass die Baustelle immer noch offen ist.
    Gruß, Ingo


    Nach 2 Stunden??? Na das sollte doch ausreichend sein :) Zumindest kann man damit schonmal arbeiten...der Absturz beim automatischen Shutdown ist aber weg?



    Und noch eine Frage: Cancel() macht alles zu - Cancel(int) nur die ebene int, richtig?


    Nein...read the source luke :)


    Code
    void Cancel(int WaitSeconds = 0);
           ///< Cancels the thread by first setting 'running' to false, so that
           ///< the Action() loop can finish in an orderly fashion and then waiting
           ///< up to WaitSeconds seconds for the thread to actually end. If the
           ///< thread doesn't end by itself, it is killed.
           ///< If WaitSeconds is -1, only 'running' is set to false and Cancel()
           ///< returns immediately, without killing the thread.
  • Moin!


    Ich hab mir die Geschichte mit dem Fade-Thread noch nicht angesehen... Aber warum startet und stoppt ihr den denn, wenn das so Probleme bereitet?
    Kann der nicht einfach schlafen, bis der nächste Fade gebraucht wird? Man könnte ihn mit cCondWait etc. entsprechend ausrüsten. Am besten aber mit einem Timeout bzw. beim Beenden des vdr muss der Thread natürlich schon geschlossen werden.


    Nur mal so als Denkanstoß, hab leider gerade keine Zeit, das mal selbst zu testen.


    Lars.

  • Zur Ergänzung zum Cancel:
    Soweit ich den Ablauf in thread.c verstehe, heißt Cancel(-1) running auf falsch zu setzen, was mit Running() abgefragt werden kann im Action-Loop. Weiter wird mit dem Thread nichts gemacht, der muss sich schon selber beenden. Bei Cancel() = Cancel(0) wird zusätzlich ein pthread_cancel auf den Thread abgesetzt. Deshalb habe ich Cancel(2) verwendet, da wird nach dem Setzen des running-Flags maximal 2 Sekunden gewartet, ob der thread sich beendet hat und alle 10 ms der Status überprüft, bevor der Thread abgeschossen wird. Einen eigenen Loop um den Cancel zu bauen, ist m.E. nicht sinnvoll, weil immer nach dem 1. Durchlauf Running() falsch ist.

    vdr-2.6.9

    softhddevice, dbus2vdr, dvd, epgsearch, femon, graphtftng, web, menuorg,
    osdteletext, radio, recsearch, satip, tvguide, vnsiserver

    ubuntu focal, yavdr-ansible, linux-5.15 ,AsRock J4105, CIne CT-V7 DVB-C

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!