Automatische Wiedergabe nach Encoder Start

Hallo,
ich brauch mal wieder eure Hilfe, folgendes vorhaben steht an.
Ich will mit mAirList Zeitgesteuerte Sendungen (Fertige aufgezeichnete Sendungen) Starten, das wäre auch nicht das Problem denn den Start der Automation und das Verbinden mit dem Encoder funktioniert soweit auch ohne Probleme.
Nun haben wir aber folgende Situation, die Sendung soll von 21 bis 22 Uhr gespielt werden davor ist aber noch ein Moderator auf dem Stream der auch wenige Sekunden Überzieht, somit würde das Encoder Verbinden in einem Error hinauslaufen, was an sich hier auch noch kein Problem ist da der Encoder ja immer wieder versucht eine Verbindung herzustellen.
Nun kommt aber mein großes Problem, kann ich mairlist irgendwie anweisen die Wiedergabe auch erst dann zu starten, wenn der Encoder eindeutig die Rückmeldung Verbunden ausgibt?
Ansonsten würde ja der Anfang der Sendung (Nachrichten) fehlen und das wäre ehr nicht so optimal.

Die eingesetzte Version wäre in dem Fall eine mAirList Home Studio auf Windows 10
Ich würde mich freuen, wenn ihr Ideen habt, und mir hier evtl. weiterhelfen könntet.

Liebe Grüße
Jann

Starte nicht die Sendung direkt, sondern mittels RUNSCRIPT C:\Pfad\zum\Skript.mls ein Skript mit etwa diesem Inhalt

begin
  if (Encoder.GetConnections.GetItem(0).GetState = ecsConnected) then 
    ExecuteCommand('PLAYER 1-1 START');
end.

Ja, ich weiß, dazu muß die Sendung auf Player A liegen, das mußt Du eben sicherstellen, das war jetzt ganz auf die schnelle.

Pünktliche Grüße

TSD

Danke für die schnelle Rückmeldung, der Lösungsansatz ist schonmal perfekt und eigentlich genau das was ich suche. Leider ist nach der einmaligen Ausführung das Script ja durch, hier müsste jetzt eine Lösung her das sich das Script solange im 5 oder 10 Sekunden Takt wiederholt bis der Encoder wirklich die Verbindung hergestellt hat.

Gruß Jann

Hallo Jann,

wie gesagt, das war ein Schnellschuß. Ich werde mir, sowie ich Zeit finde, noch ein paar Gedanken dazu machen. Habe schon eine grundsätzliche Idee.

Aufgeschobene Grüße

TSD

Jann,

schau mal, ob das so funktioniert:

procedure OnLoad;
begin
  EnableTimer(5000);
end;


procedure OnTimer;
begin
  ExecuteCommand('ENCODER CONNECT');
  if Encoder.GetConnections.GetItem(0).GetState = ecsConnected then begin
    ExecuteCommand('PLAYER 1-1 START');
    DisableTimer;
  end;
end;

begin
end.



Verbundene Grüße

TSD

Moin, leider meldet mairlist sich hier mit dem folgenden Fehler:
[Error] (5:3): Unknown identifier ‘EnableTimer’

Gruß Jann

Gut, dann so:


begin
  repeat
    ExecuteCommand('ENCODER CONNECT');
    Sleep(5000);
  until
    Encoder.GetConnections.GetItem(0).GetState = ecsConnected;
  ExecuteCommand('PLAYER 1-1 START');
end.


Geänderte Grüße

TSD

Dankeschön :slight_smile: genau das hab ich gesucht es Funktioniert.

:+1:
 
 
 
 

Da kommt mir aber gerade noch eine weitere Sache in den sinn auch wenn Sie hier vielleicht nicht ganz passt.

Kann man evtl. auf den gleichen weg auch mit einem Script den Stream Status prüfen lassen?
Ich stelle mir hier folgendes vor.

Encoder Verbunden = Keine Aktion

Encoder Error = Encoder Disconnect und Autiomationswiedergabe Stoppen. Das würde dann eintreffen, wenn ein Moderator den Stream eben übernommen hat

Gruß Jann

Yep, das geht so ähnlich wie hier beschrieben.
 

Kopierte Grüße

TSD

:broom: :broom:

Vorschlag zum Skript:

Statt
PLAYER 1-1 START
empfehle ich
PLAYLIST 1 NEXT

Begründung:
Damit ist gewährleistet, dass stets der Player startet, der im Playerstate NEXT steht. Ich muss mich also nicht mehr explizit auf einen Player festlegen.

Dann noch ein ganz klein wenig Raffinesse:
Angenommen, ich möchte parallel meine Sendung mitschneiden. Dazu benutze ich den Encoder “Aufzeichnung in Datei” an zweiter Stelle.

In diesem Fall rufe ich nicht ENCODER CONNECT auf, denn das würde alle fünf Sekunden die lokale Aufzeichnung starten.
Statt dessen nutze ich ENCODER CONNECTION 1 ON (vorausgesetzt, meine Live-Verbindung steht an erster Stelle im Encoder).

Ist die Verbindung dann erstmal hergestellt, lasse ich den zweiten Encoder (die lokale Aufzeichnung) automatisch starten und bin synchron.
Abschalten kann ich zum Sendeschluss beide dann über den Playlist-Befehl ENCODER DISCONNECT.

Zusammenfassung, basierend auf der Idee von @Tondose.

begin
  repeat
    ExecuteCommand('ENCODER CONNECTION 1 ON');
    Sleep(5000);
  until
    Encoder.GetConnections.GetItem(0).GetState = ecsConnected;
  ExecuteCommand('ENCODER CONNECTION 2 ON');
  ExecuteCommand('PLAYLIST 1 NEXT');
end.
1 Like

Interessanter Punkt. Könnte ich das quasi auch als Hotkey 2x definieren? Damit ich auf dem Pult, egal welchen der zwei Kanäle ich drücke immer der gespielt wird, der als nächstes kommt?

Verzeihung, aber was genau bitte meinst du mit “Kanal drücken”?

:question: :man_shrugging:

Hotstart Button am Pult.

Ja, geht.
Nutze nur den

1 Like