edEIT - EIT Editor

  • Aus der Diskussion ob mit ohne Akzent halte ich mich mal raus, davon habe ich keine Ahnung :winking_face:


    Aber:


    Weil mir das einfach keine Ruhe gelassen hat, habe ich jetzt Folgendes gemacht:


    Im ersten Post findet ihr nun die Version 1.0.6.
    Diese erkennt, ob der Text UTF-8 aus dem 'undefinierten' Bereich enthält und bietet an, sie optional zu entfernen :winking_face:
    Zeichen manipulieren mag ich einfach nicht, das wäre "Pfusch". Ausfiltern ist imho aber legitim :winking_face:


    Hinweis: Entfernen heißt vollständig entfernen, d.h. speichert man anschließend die Datei, dann ohne diese Codes.


    Danke euch beiden für die Unterstützung :smiling_face:


    Bei der Gelegenheit:


    Habt ihr nicht Lust edEIT zu übersetzen? :winking_face:

    Grüße
    ...jp

  • Ich werde es schon mit Jurin_Durin via PM klar machen.


    Wenn es um die 1.0.6 version gehs, es funkzioniert OK, obwohl ich wurde es anders machen.
    So sieht mann nämlich nicht was genau rausgenommen wurde wenn mann auf Ja klickt.
    I dänke du könntest doch einen knopf oder checkbox gleich neben der text erscheinen zu lassen wenn undefinierte UTF zeichen in Text gefunden sind um sie rausnähmen zu können. Im diese Fall sieht mann genau wie sich der text ändert.


    Bitte nimm es nur als ein verbesserungs vorschlag, du kannst es wie es ist lassen.


    Was die übersetzung betrift, kann ich es versuchen, wenn ich kein Zeit finde lasse ich das mein sohn als eine übung machen :winking_face:


    Danke


    PiGeon

    DM920
    Unstable image - always uptodate

  • doch einen knopf oder checkbox gleich neben der text erscheinen zu lassen


    Das wird leider nichts, weil man in einer Textbox nichts farblich markieren kann...


    Wie gesagt: Es werden nur Codes aus dem "privaten Bereich" entfernt und diese machen nach ausführlichen Recherchen keinen Sinn.
    Die Dream übergeht sie einfach und so verhalten sich vermutlich alle anderen Linux Receiver.

    Grüße
    ...jp

  • Das wird leider nichts, weil man in einer Textbox nichts farblich markieren kann...

    Ich habe mich falsch ausgedrückt :frowning_face:
    ich meinte checkbox neben dem Content textbox gleich unten Language und Charset textboxen.
    Mann sieht die änderungen dann live und merkt die auch ohne textmarkierung.


    Ist es jezt verständlich?


    PiGeon

    DM920
    Unstable image - always uptodate

  • Hi,


    Ich denke, ich werde es so lassen, wie es ist.


    Der Grund ist einfach: Um deine Variante zu realisieren müsste ich beide Varianten des Texts durchgängig im Programm "mitschleppen".
    Das ist natürlich möglich, nur denke ich nicht, dass es sich lohnt. Diese "unnützen" Codes scheinen extrem selten zu sein.


    Über Umwege kann man aber beide Varianten sogar "nebeneinander" haben. Kopiere die .eit, so dass sie einen leicht veränderten Namen hat, dann lassen sich beide .eits gleichzeitig öffnen (einmal mit, einmal ohne Filterung). Die Unterschiede sieht man dann deutlich, wenn man zwischen den Tabs hin und her schaltet.

    Grüße
    ...jp

    2 Mal editiert, zuletzt von juanito_perez ()

  • Du muss nicht unbedingt die besste option programieren, deswegen habe ich knopf(button) oder checkbox geschrieben. Wenn es nur ein knopf zum loeschen wäre dann reicht es auch.


    Aber wie früher geschrieben es ist OK auch wie es jetz ist :winking_face:


    PiGeon

    DM920
    Unstable image - always uptodate

  • Da ist eine szenario welche spricht für knopf für jeder Datei, und zwar wenn du mehrere EIT Dateien auf einmahl öfnest und nur einige sind davon bettrefen. Dan ist nicht einfach zu finden welche sind es gewesen.


    PiGeon

    DM920
    Unstable image - always uptodate

  • Wie gesagt, ich sehe den Nutzen in keinem Verhältnis zum Aufwand.


    Ich müsste etliche Routinen ändern/erweitern und dafür sind a) die Dateien zu selten und b) diese UTF-8 Zeichen völlig nutzlos.


    Glaub' mir, ich habe im Laufe der Zeit in der ich an edEIT arbeite (inzwischen > 1,5 Jahre) viele .eits bekommen und untersucht.
    Es waren wirklich "interessante" Sachen dabei, solche Codes aber noch nie. Ich frag' mich immer noch, woher sie eigentlich kommen (Sender, Box, ..?) und was sich derjenige gedacht hat, der sie eingebaut hat.


    edit: sollte sich tatsächlich irgendwann zeigen, dass die Codes doch für etwas gut sind, werde ich das Thema nochmals überdenken. Als nächstes kommt jetzt erstmal - auch Dank deiner Unterstützung - die zusätzliche Sprache dazu :winking_face:

    Grüße
    ...jp

  • Hi Juanito
    Da bin ich mal wieder. Ich habe mich durch die Datei gekämpft und kann nun auch die gewünschten Infos aus meiner Dream.eit importieren. Dann habe ich mich an deine VU+.eit gewagt, die ja 2x "4D" enthält. Das entspricht wohl so nicht ganz der EN. Wenn ich es richtig verstanden
    habe, darf der "4D" nur mehrfach vorkommen, wenn er unterschiedliche Ländercodes enthält. Aber Egal, ich hab mal weiter probiert und mir noch eine andere VU+.eit besorgt. Dabei ist mir dann aufgefallen, dass im 2ten 4D-er nach dem Ländercode immer ein 00 eingefügt ist. Kannst du mir einen Tipp geben was der bewirkt? Dachte erst das ist ein Fehler.

    MfG W2
    DM900 ultraHD / DVB-C / Dreambox OS 4.3.0r25-2016-12-23

  • Hi,


    Die 0 nach dem ISO_639_language_code ist in diesem Fall die Länge des event_name_chars, was auch richtig ist, wenn kein Eventname enthalten ist.
    Normalerweise wäre - bei Verwendung nur eines 4Ds - z.B. (ohne Charset-Kodierung):

    Code
    ISO_639_language_code = "GER"
    event_name_length     = 7
    event_name_char       = "Jumanji"
    text_length           = 7
    text_char             = "Fantasy"

    Die VUs teilen diese Infos aber in 2 x 4D descriptors =>


    Erster 4D:

    Code
    ISO_639_language_code = "GER"
    event_name_length     = 7
    event_name_char       = "Jumanji"
    text_length           = 0
    text_char             = ""


    Zweiter 4D:

    Code
    ISO_639_language_code = "GER"
    event_name_length     = 0
    event_name_char       = ""
    text_length           = 7
    text_char             = "Fantasy"


    Natürlich kann die Reihenfolge der beiden descriptoren anders herum sein, was aber keine Rolle spielt.
    Im obigen Beispiel hätte der zweite 4D genau die 0 nach dem language_code.


    Verständlich?

    Grüße
    ...jp

  • Danke juanito. Verständlich ! Ich habe da so lange drauf geschaut, dass ich den Wald vor lauter Bäumen nicht gesehen hab.

    MfG W2
    DM900 ultraHD / DVB-C / Dreambox OS 4.3.0r25-2016-12-23

  • @ juanito
    So 4D ist gelöst. Aber dann habe ich gleich wieder in den Wald geschaut. Ich hoffe du kannst mir da auch noch mal hinaushelfen. Wie behandelst du denn den fehlenden item_description_char in 4E der vu+.eit (15 für UTF8(ISO/IEC...)) ? Über die Länge geht das ja hier wohl nicht und nur daran, dass die descriptor_length da im ersten 4E-Block FE ist kann man es ja wohl auch nicht festmachen. Es wäre ja auch ein kürzerer Wert möglich.


    UND


    Hast du das schon mal im 4D text gesehen ? "<x>SCHEDULE</x>Thriller"

    MfG W2
    DM900 ultraHD / DVB-C / Dreambox OS 4.3.0r25-2016-12-23

    2 Mal editiert, zuletzt von Winnetwo ()

  • Hi,


    Ich weiß nicht genau, ob ich verstanden habe, was Du meinst.


    Grundsätzlich ist es so, dass die Charset-Kodierung optional und (leider) pro descriptor gesetzt wird.
    Es ist also kein Widerspruch, wenn der/die short_descriptor(s) eine Kodierung haben, der/die extended_descriptor(s) dagegen nicht.
    Die VU eit macht genau das. Bei den Dream .eits ist es eher einheitlich.
    edEIT legt das für neue Dateien für die gesamte .eit fest, man kann also manuell die VU Konstellation nicht nachbilden.


    Wie auch immer: Ich behandle in edEIT jeden descriptor für sich, daher klappt es auch mit der VU .eit.
    Öffnest Du besagte .eit mit edEIT, siehst Du auch, dass das CS-Feld beim extended_descriptor leer ist (im Gegensatz zum shot_descriptor).


    Die Länge des Textes ist durch item_description_length definiert und das ist maßgeblich, sonst verliert man die Orientierung innerhalb der .eit :winking_face:
    Das ggf. folgende CS-Byte ist wie gesagt optional, kann also CS oder Text sein.
    Laut EN entscheidet das erste Byte, ob es kodiert ist oder nicht.
    Ist das Byte <= 1F, dann ist es CS-kodiert, ansonsten nicht. Man muss also nicht tricksen, sondern lediglich das ersten Byte "untersuchen" und entsprechend im weiteren Vorgehen reagieren.

    Grüße
    ...jp

  • Ich mache mir das wohl auch zu einfach, da ich ja wirklich nur Titel, Kurzbeschreibung und ausfühliche Beschreibung brauche, habe ich alle anderen Bytes, soweit wie nich von belang,
    möglichst nicht betrachtet. Bei den 4E's um die es mir geht, habe ich einfach vom descriptors_tag einen Sprung zum ersten Textzeichen gemacht und dann die angepasste length in ein Array gepackt. Bei den Dream.eits
    also 4E-Stelle + 9. Ich habe also einfach die erste Stelle des Textes die bei der Dream ja meistens den Wert 15 hat und die "Character code table"(CS) angibt übersprungen, da sie ja nicht zum Text gehört. Bei den VU.eits
    ist dieser Wert ja nicht vorhanden. Somit komme ich mit meinem festen Additionswert von 9 beim zweiten Zeichen des ersten Wortes an. Da muß ich wohl nochmal anders herangehen.


    Edit: Habs gefunden glaube ich. EN Annex A. My inglisch is wery bäd :thinking_face:

    MfG W2
    DM900 ultraHD / DVB-C / Dreambox OS 4.3.0r25-2016-12-23

    3 Mal editiert, zuletzt von Winnetwo ()

  • Nichts gegen einfach, das könnte aber zu einfach gedacht sein und in die Hose gehen...


    Du ignorierst bei dieser Vorgehensweise u.a. descriptor_number und last_descriptor.
    Woher weißt Du dann, wie viel 4E's in der .eit sind?
    Und was passiert, wenn die 4Es nicht in der richtigen Reihenfolge stehen?
    Zweiteres habe ich zwar auch noch nicht gesehen, könnte aber theoretisch passieren.

    Grüße
    ...jp

  • @. juanito


    Wie schon angekündigt werde ich wohl nochmal mit neuem Ansatz und diffizil vorgehen. Das die 4E's nicht in der richtigen Reihenfolge kommen könnten habe ich garnicht bedacht.
    Danke nochmal für die Geduld und Unterstützung.

    MfG W2
    DM900 ultraHD / DVB-C / Dreambox OS 4.3.0r25-2016-12-23

  • Noch ein Tipp zu den 4E:


    Um Probleme zu vermeiden solltest du wie folgt vorgehen:
    - lade alle Texte temporär in den Speicher
    - füge sie in der richtigen Reihenfolge zusammen
    - und mach dann erst die CS-Konvertierung (sofern CS-kodiiert)


    Andernfalls läufst Du Gefahr, dass die Konvertierung nicht vollständig erfolgt, da kodierte Zeichen ja länger als ein Byte sind und über zwei descriptors verteilt sein können.

    Grüße
    ...jp