Vereinheitlichung von Sonderansagen / Schaffen eines "Standards"

  • Hallo.


    Ich bin momentan dabei in meinem Init TouchIT Sonderansagen zu implementieren.

    Diese werden aus einer Speziellen FIS-Datei ausgelesen und dementsprechend dann im Script verarbeitet.


    Hierfür habe ich auch schon mit mehreren Personen gesprochen, da es meiner Meinung nach wichtig ist einen Community-Standard zu etablieren, sodass man mit EINER Speziellen FIS-Datei der Klasse "SPECIAL_ANNOUNCEMENTS" an allen unterstützten IBIS' diese verwenden kann und nicht für jedes IBIS eine neue FIS erstellen muss.


    Folgendes kam bisher dabei raus:


    Die spezielle FIS-Datei wird der Klasse "SPECIAL_ANNOUNCEMENTS" angehören, wobei hier auch schon die Frage ist, ob man die in die "ANNOUNCEMENTS" - Klasse aufnehmen kann, da momentan die Group-Strings nicht verwendet werden. Das wäre eine Frage an Marcel Kuhnt , wie da der weitere Plan ist.


    Ich denke mal für diese Thematik sind folgende Personen eingeladen zu diskutieren: Variobahn  Pandemist  Teneberus


    Ansonsten würden die notwendigen Informationen in die Group-Strings eingetragen werden. Diese sind im folgenden Schema (nach aktuellen Anforderungen) aufgebaut:


    Edit:

    Zeile 1 = Content User ID

    Zeile 2 = Erste Content-Sub-ID der Ansagen


    Grüße

    EGIS


    Send Logfiles and Screenshots!

    Ironie und Humor seit 25 Jahren!

    OMSI 5 ftw!

    2 Mal editiert, zuletzt von DrBlackError ()

  • Moin.


    Ich finde die Idee gut und würde das glaub ich auch gerne mit in die Announcements Klasse aufnehmen. Allerdings bin ich kein Fan von diesen "in Zeile X steht A, in Zeile Y steht B" Varianten. Da muss ich beim Erstellen immer genau drauf achten, die richtigen Zeilen zu treffen und muss dann auch noch selbst durchzählen, wie viele Einträge das sind. Außerdem wird es später nochmal unübersichtlicher, wenn man das nochmal um andere Sachen erweitern will (was auch immer das bei Ansagen sein könnte..)


    Ich finde das INI Format eigentlich ziemlich cool, weil das ziemlich einfach zu schreiben ist und auch einfach auslesbar ist. Wenn ich Zeit habe (irgendwann in den nächsten 6 Tagen) stelle ich gerne meine Script Prozedur dafür zur Verfügung.


    Ich lasse mich aber natürlich auch von was anderem überzeugen, wenn die Argumente gut sind ;-)

    Bzw. Ihr könnt mich natürlich auch einfach ignorieren :-D

  • Moin, danke für's Mitwirken.


    Das klingt an sich nach einer guten Idee. Ich werd mal die kommenden Tage versuchen das Scripttechnisch umzusetzen.


    Wie eingangs erwähnt brauchen wir was die Klasse angeht noch eine Rückmeldung von Marcel. - Bis dahin teste ich das als Klasse "SPECIAL_ANNOUNCEMENTS" - Das ist ja keine große Änderung im Nachhinein, wenn sich der Klassenname ändert.


    Ansonsten würde ich einfach mal noch weitere Teilnahme an der Diskussion hier abwarten.

    Grüße

    EGIS


    Send Logfiles and Screenshots!

    Ironie und Humor seit 25 Jahren!

    OMSI 5 ftw!

  • Hi,


    vielen Dank für die tolle Zusammenarbeit, vor allem beim letzten Stammtisch.


    Wir haben nun ein Konzept entwickelt, um die Sonderansagen mit in der 'ANNOUNCEMENT' - Klasse auszuliefern.

    Hierfür gilt folgendes:


    Variable Typ
    EventID integer
    Text string
    ContentUserID integer
    ContentSubID integer
    Code integer
    Target integer


    Das ganze wird im INI-Format gehalten. Hierbei werden Blöcke mit den jeweiligen Daten gebildet. Dieser startet immer mit [SpecialAnnouncement] und folgt dann dem Aufbau, der im unten stehenden Bild zu erkennen ist.


    Hier nochmal ein einzelner Block:

    Code: Aufbau
    1. [SpecialAnnouncement]
    2. EventID=666
    3. Text="Bla"
    4. ContentUserID=5750029
    5. ContentSubID=13001
    6. Code=753
    7. Target=0


    Grüße

    EGIS


    Send Logfiles and Screenshots!

    Ironie und Humor seit 25 Jahren!

    OMSI 5 ftw!

    Einmal editiert, zuletzt von DrBlackError ()

  • Nachtrag:


    Es wird noch einen Block geben, in dem man Globale-/Standard- Werte setzen kann. z.B. die Content-User-ID der Ansagen.

    Hiermit kann man das ständige definieren der Content-User-ID vereinfachen. Sprich: wenn in einem Block keine Content-User-ID gegeben ist, wird der global definierte Wert stattdessen eingesetzt.

    Grüße

    EGIS


    Send Logfiles and Screenshots!

    Ironie und Humor seit 25 Jahren!

    OMSI 5 ftw!

  • Hallöchen!

    Ich hoffe, dass ich mit meinem Anliegen nicht etwas spät komme. Allerdings hätte ich noch einen kleinen Wunsch :D


    Bei uns in Dresden wird beim Abspielen einer Sonderansage ein Text in der Innenanzeige angezeigt, welcher beispielsweise zur Visualisierung für hörgeschädigte Personen gedacht ist. Anbei habe ich mal ein Beispiel aus einem NGT6DD bzw. einem NGTD12DD. Dieser Text ist allerdings für die Fahrgäste optimiert und weicht von dem Auswahltext im IBISplus ab, weshalb man nicht einfach den normalen Text aus dem IBIS auf die Innenanzeige übertragen kann.


    Wäre es daher möglich noch einen neuen String, welcher für die Fahrgastinformation gedacht ist und wie in Dresden einen Text in der Innenanzeige wieder gibt, einzubauen? Unter Umständen könnte man hier noch über 0 und 1 steuern, ob dieser Text an die Innenanzeige ausgegeben werden soll oder nicht, sodass das System ein wenig universeller einsetzbar ist.


    Sicherlich werden auch andere Verkehrsbetriebe ein ähnliches System haben, wo zusätzlich ein Text angezeigt wird, oder?

  • Hallo,


    hmmmmm wir haben den Standard schon definiert, da wir den Aufbau im INI-Format gehalten haben, sollte es keine Schwierigkeiten beim Nachreichen geben. Es ist dann natürlich davon abhängig, dass alle, die ein entsprechendes IBIS verskripten dann auch dieses parsing-skript aktualisieren.


    Jeder (der ein IBIS baut) müsste dann dementsprechend diesen String broadcasten, damit die Innenanzeigen das empfangen können.

    procedure SendBroadcastString(self: integer; busId: string; id: string; value: string);


    Und alle (die eine Innenanzeige bauen) müssten dann auch das empfangen lassen. (Natürlich nur die Innenanzeigen, die das auch im Vorbild unterstützen)

    procedure ReceiveBroadcastString(busId: string; id: string; value: string);


    Hier ist dann natürlich erforderlich, dass sich alle an diesen Standard halten, sonst klappt das natürlich nicht......

    Unter Umständen könnte man hier noch über 0 und 1 steuern, ob dieser Text an die Innenanzeige ausgegeben werden soll oder nicht, sodass das System ein wenig universeller einsetzbar ist.

    Das muss garnicht extra festgelegt werden. Wenn ein Text da ist, wird der dann gesendet, wenn nicht, passiert einfach nichts. Muss man dann im IBIS-Skript vorher abfragen, ob der String leer ist oder was drin ist.


    Ich setze mich nochmal mit den bisher Beteiligten zusammen und versuche gemeinsam mit denen was zu definieren. Bis dahin: Standby

    Grüße

    EGIS


    Send Logfiles and Screenshots!

    Ironie und Humor seit 25 Jahren!

    OMSI 5 ftw!

    Einmal editiert, zuletzt von DrBlackError ()

  • Ich muss zugeben, dass das untergegangen ist. Gut dass du da nochmal nachfragst.


    Ich werde mir das heute Abend (oder im Laufe der Woche nochmal anschauen).


    Danke für die Erinnerung :)

    Grüße

    EGIS


    Send Logfiles and Screenshots!

    Ironie und Humor seit 25 Jahren!

    OMSI 5 ftw!

  • Kurzes Update:


    Ich habs noch auf der Liste, aber nicht vergessen. Bin grad leider noch in einem ganz anderen Projekt vertieft, weshalb das TouchIT, welches mit den Sonderansagen zusammenhängt etwas im Hintergrund ist. Das andere Projekt nähert sich langsam einem vorzeigbaren Stand, sodass da "bald" ein Release zu erwarten ist. Dann nehme ich wieder den Fokus darauf. Nächste Woche hab ich eh Urlaub, dann hab ich massig Zeit dafür.

    Grüße

    EGIS


    Send Logfiles and Screenshots!

    Ironie und Humor seit 25 Jahren!

    OMSI 5 ftw!

  • Neu erstellte Beiträge unterliegen der Moderation und werden erst sichtbar, wenn sie durch einen Moderator geprüft und freigeschaltet wurden.

    Die letzte Antwort auf dieses Thema liegt mehr als 60 Tage zurück. Das Thema ist womöglich bereits veraltet. Bitte erstellen Sie ggf. ein neues Thema.

    Maximale Anzahl an Dateianhängen: 5
    Maximale Dateigröße: 500 kB
    Erlaubte Dateiendungen: bmp, cfg, ini, jpeg, jpg, lct, ldl, llg, lob, log, lpmtl, lptmt, ltx, pas, pdf, png, railtrack, rar, txt, veh, wav