Beiträge von pbrb

    Sprung auf 2.0.0: VTX -> VTX5 und X/26-Support -> massive Erweiterung


    2.1.0 -> multi-tuner-Support


    der milestone-2.1.0 hat noch kein Tag, weil noch nicht fertig, ist in meinen Augen ein Beta-Branch, wird wohl noch paar Regressionen abgekommen werden...da PR nicht das Tag verschieben müßte jemand nach einem PR wieder ein neues anlegen...und später wieder löschen, weil unnütz.


    ...wenn das immer noch nicht gefällt, dann mach ich nur noch PRs und um das Hauptrepo und die Einsortierung kund Taggen ann sich jemand anders kümmern...


    Vielleicht versteh ich auch git immer noch zuwenig...mein Hauptaugenmerk liegt auf Verstehen und Fixen und Erweitern vom Code und zurückbringen ins Haupt-Repo, weil ich will nicht im privaten Fork den aktuellen latest-greatest-release drin haben. Den Fork-Zoo von anderen, wo latest-best 3 Forks tiefer sich aktuell "versteckt" und niemand sich ums Zurückmergen in den (ehemaligen) Master kümmert find ich ziemlich komisch...wenn da mal jemand sein privates Git zusperrt, kann man mühsam das Einsammeln von anderen Clones anfangen und im worstcase tgz wieder ins Git zurückspielen...ein Community-Projekt sollte besser zentral bleiben.

    So, mein 2.1.0 branch ist nun im offiziellen "milestone-2.1.0" Branch reinmigriert:


    https://github.com/vdr-project…text/tree/milestone-2.1.0


    - ChannelSwitch now supports receiving other channels from same transponder or even other transponder (aka "tuned" mode)


    (und bei boxed - aka "Untertitel" wird die 1. Zeie dauerhaft angezeigt...damit man nicht total verwirrt ist, wenn man die Untertitel vom Kanal 1 sieht während man Kanal 2 im Live-TV hat...)


    Der kann jetzt ausgiebig getestet werden...

    Richtige Handhabung von git ist wohl nicht so trivial...und meine Kenntnisse darin nicht die besten....ich gebe gerne die Leitung vom Haupt-Repo wieder ab und liefere dann nur über PRs ein, die dann ein *zweiter* begutachtet und mergt oder sonstwie zusammenführt und von Zeit zu Zeit Releases macht, nachdem *dritte* (QA) den Master im Haupt-Repo für releasewürdig befunden haben.


    Alpha-/Beta-Tester können weiterhin in Forks nach latest-greatest-ggf-buggy-Branches oder Master suchen und vorher schon ausprobieren...


    Ich werde mal mit Milestone-Branches anfangen und die PRs dagegen laufen lassen...dürfte sauberer sein.

    Wenn man potentiellen Testern erzählt, dass sie das falsche Repository benutzen, und sie mit einer chaotischen Branch-and-Merge-Strategie (ok, vielleicht habe nur _ich_ das System nicht verstanden) ohne Tags alleine laesst, dann laeuft es eben darauf hinaus.

    ansich ist "per-Entwickler-Fork-Repo" schon eine gute Idee, mit Hilfe von PRs laufen dann verschiedene Änderungen von N Entwickler im Hauptrepo zusammen, wo sie von N Maintainer rein Review bekommen und reingemergt werden. Hauptrepo bekommt dann von Zeit zu Zeit auch Releases.

    Aktuell ist aber N==1 und M==1 und auch noch identisch...Bewerbungen als Reviewer werden gerne angenommen.


    Alphatester könnten Ihr lokales Repo auf multi-upstream erweitern (git remote add ...) und dann jeweils umschalten von Entwickler zu Entwickler-Fork und darin auf Branches, die die Basis von einem PR bilden.


    Betatester könnten sich dann auf Hauptrepo fokussieren, falls es PRs (und die sollten ggf. schon mal einen Alphatest von einem 2. bekommen haben) bis dahin geschafft haben.


    Issue-Tracking auf Github wäre auch besser als hier im Forum, weil dann wären die PRs gleich verlinkt...

    früher war's anders implementiert:


    void cPluginTeletextosd::initTexts()


    aber damit nicht außerhalb von osdteletext.c zugreifbar, dachte ich damals zumindest...ich werd das mal wieder zurückbauen und so zu erweitern, daß da alle Texte aufbereitet (tr...) werden und auch zugreifbar vom Rest.

    Zurückgebaut, bitte testen:


    https://github.com/pbiering/vd…ext/tree/2.0.2-regression


    "Treppenwitz" der Fortentwicklung...inzwischen werden die Texte außerhalb vom Plugin-Setup gar nicht mehr gebraucht...weil es nun speziell auf 10 Zeichen angepaßte in einem extra Array gibt....

    früher war's anders implementiert:


    void cPluginTeletextosd::initTexts()


    aber damit nicht außerhalb von osdteletext.c zugreifbar, dachte ich damals zumindest...ich werd das mal wieder zurückbauen und so zu erweitern, daß da alle Texte aufbereitet (tr...) werden und auch zugreifbar vom Rest.

    Das klappt hier nun bei mir auch! (Ist mir zuvor gar nicht aufgefallen...)

    hmm, bei einem klappt die Übersetzung nun, beim anderen nicht...komisch.


    Hintergrund für "potentielle" Doppelübersetzung....im Original-Code wird st_modes (komplettes Array) zugewiesen an


    cTeletextSetupPage::modes = st_modes;


    welches dann später komplett übergeben wird an:


    new cMenuEditStraItem(actionKeyNames[i].userName, (int*)&temp.mapKeyToAction[i], LastAction+1, modes) );


    da kann kein "tr(...)" mehr angewandt werden.


    Man müßte also entweder im laufenden Betrieb das "modes" Array neu aufbauen mit "tr(st_modes[i])" oder es gibt eine schlauere Lösung oder es geht mit 2.0.1 jetzt final doch...

    Hilft auch bei mir. Kann sein, dass es damit schon wieder exakt auf dem vorherigen Niveau ist - muss ich nochmal weiter beobachten.

    Was für eine Message soll denn da bei einem Kanalwechsel angezeigt werden?? Und sollte das nicht besser nur dann erfolgen, wenn das Plugin auch aktiv ist (also nicht nur im Hintergrund läuft)?

    Sorry...hab die Meldung an der falschen Position eingebaut :( -> verschoben, jetzt wird's nur angezeigt, wenn OSD aktiv ist.


    Hier zum Testen, Feedback wäre super

    https://github.com/pbiering/vd…ext/tree/2.0.1-regression


    Fixt auch:

    https://github.com/vdr-project…gin-osdteletext/issues/43

    Ich hatte zuletzt vor etwa 2-3 Wochen zuletzt auf den damaligen git-Stand aktualisiert und heute nun die 2.0.0 installiert. Was ich nun aber bemerke ist, dass sich die Umschaltzeit deutlich erhöht hat, mindestens um 1 Sekunde. Ohne osdteletext ist die Umschaltzeit normal.

    Testweise habe ich die Änderung aus dem commit "clear teletext page on channel switch" entfernt, aber das hat nichts geändert

    in menu.c sind 3x sleep 1 sekunde eingebaut, um die Message-Fenster nicht gleich wieder verschwinden zu lassen, ggf. ist das die Bremse und ich muß mir was schlaueres einfallen lassen...z.B. einen temporären OSD-Update-Stop für einstellbare Sekunden...


    Lösche mal den "kritischen" in Funktion "void TeletextBrowser::ChannelSwitched(int ChannelNumber, const bool live)" an der markierten Stelle:

    Code
       Display::DrawMessage(str, ttcBlue);
       sleep(1);   <--- !!!!

    Major Features:

    • add "Text Font" option to OSD config
    • add support for "G0 character with diacritical mark" by implementation related support of X/26
    • introduce new page cache storage format VTXV5 to cover X/25-28 and M/29 extension

    Cosmetics / Minor Features

    • clear teletext page on channel switch
    • display PageId always in case OSD was restarted (useful e.g. for subtitle pages)
    • selected background color kept on OSD restart
    • cached pages of non-live channel: display page IDs in different color and a 'c' mark, do not trigger useless 'Pause'
    • channel switch: display message, on empty OK return to live channel
    • draw bi-colored message frame, increase frame on high resolution, change font on high resolution
    • stop updating clock and blink in case of page update was stopped
    • display sender name in case page is not found
    • blacklist Italic and Oblique fonts from being selectable (which causes anyhow issues on displaying because of kerning)

    Fixes:

    • additional fixes found during regression tests related to translations and others
    • many fixes found during regression tests related to MessageBox, too often CleanDisplay calls, ...
    • improve font scaling
    • fix not working selection of cache-system 'legacy'


    https://github.com/vdr-project…etext/releases/tag/v2.0.0