[gelöst] Logging per Shoutcast

Okay, lässt sich diese zusätzliche Variabel jeweils vor dem starten des Elementes übergeben, dass es nur diese eine Elementeoption gibt?
Puh, so langsam verliere ich den Durchblick, da ich die internen Abläufe von mAirList nicht kenne.

Danke für Deine Hilfe und grosse Geduld

Michel

Mit “Variable” meine ich “Logging-Variable”, also das, was du in den INSERT-Befehl einträgst und dann durch mAirList ersetzt wird. So wie “%a” für den Interpreten und “%b” für den Titel.

Der Ablauf ist so:

  1. Player meldet an Engine: “Ich wurde gestartet” (oder gestoppt)

  2. Engine überprüft die relevanten Optionen: (a) Player hat “ins Logging einbeziehen” gesetzt; (b) Engine-Option “kein Logging off air” ist ausgeschaltet, oder aber wir sind im on-air-Zustand; © Element hat “Vom Logging ausnehmen” nicht gesetzt.

  3. Wenn alle Bedingungen erfüllt sind, wird nacheinander bei alle eingerichteten Logging-Interfaces die Methode “StartLog” (oder StopLog) aufgerufen, wobei als Parameter ein Zeiger auf das Element übergeben wird (beim Stop-Logging zusätzlich noch die Spielzeit).

  4. Jedes Log-Interface erzeugt nun entsprechend seiner Konfiguration den gewünschten Log-Eintrag.

Die Modifikation wäre nun:

  • Jedes Logging-Interface erhält als Option “Alle Elemente protokollieren”. Wenn die gesetzt ist, wird Bedingung © in Schritt 2 ignoriert.

  • Zusätzlich führe ich eine neue Formatvariable %l oder so ein, die durch 0 oder 1 ersetzt wird, je nachdem, ob das Flag gesetzt ist oder nicht.

Danke für die ausführliche Beschreibung. Jetzt dämmert es mir langsam.

  • Jedes Logging-Interface erhält als Option “Alle Elemente protokollieren”. Wenn die gesetzt ist, wird Bedingung © in Schritt 2 ignoriert.
    Das wäre richtig

  • Zusätzlich führe ich eine neue Formatvariable %l oder so ein, die durch 0 oder 1 ersetzt wird, je nachdem, ob das Flag gesetzt ist oder nicht.
    Das heisst, %I = © Element hat “Vom Logging ausnehmen” richtig?

Ja, wobei wir uns noch überlegen müssten, wie wir das genau nennen und codieren.

Vorschlag: Es gibt ja noch mehr Playlist-Element-Optionen, die auch jeweils einen Bezeichner haben, der auch in den XML-Dateien verwendet wird. Im Moment sind das:

SpecialItem
NoBacktiming
NoLogging
SoftFixedTime
SkipInAutomation
FadeOutAll
AdjustTime
FadeOnStop
Linked

Die Log-Variablen könnten zum Beispiel die Form %o{Name} haben und 0 oder 1 zurückgeben, je nachdem, ob die Option gesetzt ist oder nicht. Für “NoLogging” also in deinem Fall “%o{NoLogging}”.

Leider ist %o im Moment noch für “Cue Out” belegt, aber daraus könnte man, demselben Schema folgend, %c{CueOut} machen usw.

d.h. dann würde z.B. auch %o{Linked} gehen? Nur zur Verständnis. Tönt sehr interessant

Genau so.

Wenn Du uns dieses Feature gelegentlich einbauen kannst, wäre dies spitze.
Das ganze Eilt nicht, da wir im Moment einen maintenance stop haben und keine Änderungen bis anfangs Januar machen.

Herzlichen Dank
Michel

Früher werde ich es auch kaum schaffen, weil ich übermorgen nach Delhi fliege.

Was machst Du in Delhi? Sonne tanken? 8)

Noch eine Sache bezüglich Logging. Wir haben wie Du vielleicht noch weisst ein mAirList System für die Automatenstunden und eines im Studio für den Livebetrieb. Der Status Onair / Offair der mAirList Instanzen wird per Studiologic gesteuert. Auf dem Automat haben wir in der Cartwall ein Element für die StationID die jeweils vor den News abgefeuert wird. Im Automatenbetrieb wird die StationID schön geloggt (mAirlist Automat ist Onair). Wenn aber Live gefahren wird und die StationID wiederum vor den News vom Automaten abgefeuert wird (mAirlist Automat ist Onair), habe ich kein Logging.

Was meinst Du? Lässt sich eine Ausnahme für die Cartwall od. für das Element definieren, damit dieses auch im Offair Status geloggt werden, oder müsste ich das Element via Logic im Studio von der Cartwall starten. Für den Moderator wäre es am besten, wenn er nicht von diesem Elementstart mitbekommen würde. Diese gehören für Ihn einfach zu den Nachrichten. Ich persönlich würde dieses Element auch lieber von der Cartwall auf dem Automaten ausspielen.

Liebe Grüsse
Michel

[quote=“lifechannel, post:29, topic:4547”]Noch eine Sache bezüglich Logging. Wir haben wie Du vielleicht noch weisst ein mAirList System für die Automatenstunden und eines im Studio für den Livebetrieb. Der Status Onair / Offair der mAirList Instanzen wird per Studiologic gesteuert. Auf dem Automat haben wir in der Cartwall ein Element für die StationID die jeweils vor den News abgefeuert wird. Im Automatenbetrieb wird die StationID schön geloggt (mAirlist Automat ist Onair). Wenn aber Live gefahren wird und die StationID wiederum vor den News vom Automaten abgefeuert wird (mAirlist Automat ist Onair), habe ich kein Logging.

Was meinst Du? Lässt sich eine Ausnahme für die Cartwall od. für das Element definieren, damit dieses auch im Offair Status geloggt werden, oder müsste ich das Element via Logic im Studio von der Cartwall starten. Für den Moderator wäre es am besten, wenn er nicht von diesem Elementstart mitbekommen würde. Diese gehören für Ihn einfach zu den Nachrichten. Ich persönlich würde dieses Element auch lieber von der Cartwall auf dem Automaten ausspielen.[/quote]

Könnte ich dies mit einer “Actions on Start” lössen. Ein Script, dass den Wert an MySQL Logging übergibt?

Ja, das würde gehen. Dabei gibt es zwei Möglichkeiten:

  1. Über Engine.GetDatabases die MySQL-Verbindung raussuchen und dort ExecuteSQL aufrufen.

  2. Eine weitere Verbindung zum MySQL-Server innerhalb des Scripts manuell aufbauen. Das kannst du dir aus dem eldoDB-Datenbank-Script abgucken, das bei mAirList dabei ist.