EOF in Verbindung mit Velleman K8055N

Hallo,

ich habe mir ein Script erstellt, welches dafür sorgt, dass die Studioampel visuell die EOF Warnung anzeigt. Sprich, eine der Farbelemente (in meinem Fall blau) beginnt zu blinken. Das Script sieht wie folgt aus

var
  toggle: boolean;


procedure OnPlayerEOFWarning(PlayerControl: IPlayerControl; Item: IPlaylistItem);
begin
  EnableTimer(500);
end;


procedure OnTimer;
begin
  toggle := not toggle;
  if toggle then begin
    K8055Remote(0).SetDigitalChannel(4);	
  end
  else begin
    K8055Remote(0).ClearDigitalChannel(4);

  end;
end;

procedure OnPlayerStop(PlaylistIndex: integer; PlayerIndex: integer; Duration: TTimeValue; Item: IPlaylistItem);
begin
K8055Remote(0).ClearDigitalChannel(4);
DisableTimer;
end;

Das Script funktioniert problemlos. Mein Problem jedoch ist, sobald ich in die Automation schalte und in der Konfiguration eingestellt ist, dass nur ein Player bei Automation verwendet werden soll, würde die

procedure OnPlayerStop(PlaylistIndex: integer; PlayerIndex: integer; Duration: TTimeValue; Item: IPlaylistItem);
    begin
    end;

nicht mehr greifen, denn der Player stoppt ja nicht. Resultat ist dann natürlich, dass die Studioampel schön weiter vor sich hin blinkt, obwohl EOF schon vorbei ist und das nächste Element läuft.

Jetzt also meine Frage, wie könnte man das lösen, dass die Studioampel wirklich nur bei EOF blinkt und bei Beginn des nächsten Elements wieder abschaltet, bis zur nächsten EOF Warnung natürlich?

Danke schon mal

Lg
deadpool

Was ist mit

// Called when on-air playback of an item (in any player) ends
procedure OnItemStop(Item: IPlaylistItem; Region: byte; OnAir: boolean; UniqueID: string; Duration: TTimeValue);
begin
end;

?

Und brauchst Du eine EOF-Warnung im Automatikbetrieb überhaupt? Oder ist es nur, damit die Ampel so schön blinkt?

Ich möchte einfach, wenn ich eh schon dabei bin, meine ganzen Scripte aufzuräumen, auch alle aus meiner Sicht möglichen Eventualitäten mit drin haben. In der Automation blinken die Player ja auch, zeigen also visuell die EOF Warnung an, das wollte ich halt auf die Studioampel übertragen.

Ich muss zugeben, ich vergesse diese Datei im mAirlist Verzeichnis, wo die ganzen Prozeduren drin stehen, immer. Vielleicht hätte ich dann diese Prozedur auch gefunden. Aber wenn ich die Prozeduren jetzt einfach austausche, natürlich mit dem Befehl an das K8055, funktioniert es nicht mehr so wie bisher. Es blinkt es nur einmal ganz kurz auf, das wars dann schon.

Welche hast du denn ausgetauscht?

Alt

procedure OnPlayerStop(PlaylistIndex: integer; PlayerIndex: integer; Duration: TTimeValue; Item: IPlaylistItem);
begin
K8055Remote(0).ClearDigitalChannel(4);
DisableTimer;
end;

Neu

procedure OnItemStop(Item: IPlaylistItem; Region: byte; OnAir: boolean; UniqueID: string; Duration: TTimeValue);
begin
K8055Remote(0).ClearDigitalChannel(4);
DisableTimer;
end;