EOF Script mit Fehlermeldung

Hallo hier im Forum, Ich bin neu hier und nutze mAirlist 6.2 seit Oktober 2019.
Inzwischen betreibe ich die Software mit einer Warrior I/O 40.
Ein- und auch Ausgabe der Warrior funktionieren einwandfrei.
Für das EOF Signal nutze ich das Script von Torben (Date 2006-10-17)
Von der Hardware - Seite aus funktioniert alles wie gewollt.
Mit einer Einschränkung:
Im Log von mAirlist erfolgt beim Playerstop folgende Fehlermeldung:
Runtime error"List index out of bounds (5196365)" in background script
C:\Program Files\mAirlist6.2\IOWarriorEOFWarning_1.mls
handling message:PLAYERCONTROL_STOP 5A6E89BF112FB0C0 00 00000000 00000000 25,766

Ich habe nicht den geringsten Plan, was diese Fehlermeldung auslöst.
Sie erscheint immer dann, wenn ein Player am ende Stoppt.
Kenn jemand dieses Problem ?

Hallo und herzlich willkommen in der Community,

es wird zwar dein Problem nicht unmittelbar lösen, aber so ganz nebenbei kannst du ja mal updaten. Wir haben soeben mAirList 6.3.2 veröffentlicht.

Beim Update verlierst du nichts; v6.3 wird in ein neues Verzeichnis installiert und du kannst die Konfiguration aus der 6.2 übernehmen. Wenn in der 6.3.2 was schiefläuft, kannst du jederzeit wieder zur 6.2 zurück, die kann parallel dazu bestehen bleiben.

Jetzt zum Script:
Könntest du das bitte mal hier veröffentlichen bzw. den Thread dazu verlinken?
2006 ist ja nun doch schon einige Jahre - und mAirList-Versionen - her; da kann sich durchaus was verändert haben.

Scripte formatierst du hier der besseren Lesbarkeit wegen am besten in Code, das ist das Symbol </> oben in der Edit-Leiste. :wink:

War gerade mal im mAirList-Museum: Version 1.5.x??? :scream:

Hi, danke für das schnelle Feedback.
Hier mal das Script von Torben anno 2006

<{-------------------------------------------------------------------------------
  IOWarriorEOFWarning.mls - Notification Script for mAirList

  Sets a port on the IO-Warrior when an EOF warning ist received.
  Resets the port when the player is stopped.

  Author: Torben Weibert <torben@weibert.de>
  Date: 2006-10-17

  See http://www.mAirList.com for further information.
-------------------------------------------------------------------------------}

procedure OnPlayerStop(PlayerControl: IPlayerControl; Item: IPlaylistItem; Duration: int64);
begin
  IOWarriorRemote(0).SetPort(1, false)
end;

procedure OnCartPlayerStop(PlayerControl: IPlayerControl; Item: IPlaylistItem; Duration: int64);
begin
  IOWarriorRemote(0).SetPort(1, false)
end;

procedure OnPlayerEOFWarning(PlayerControl: IPlayerControl; Item: IPlaylistItem);
begin
  IOWarriorRemote(0).SetPort(1, true);
end;

procedure OnCartPlayerEOFWarning(PlayerControl: IPlayerControl; Item: IPlaylistItem);
begin
  IOWarriorRemote(0).SetPort(1, true);
end;

begin
end.>

Wie bereits gesagt, im Ablauf ist alles ok. Die Ampel leuchtet (EOF) wenn sie soll und sie erlischt auch wie geplant.
Nur im mAirlist Log erscheint immer aktuell die o. g. Fehlermeldung wenn ein Player nach EOF (15sec) stoppt.

Ich hab’s für dich mal in Code gesetzt (siehe meine erste Antwort).
Na ja, und ein Script aus Version 1.5.x (-34?) muss in v6 nicht zwingend ohne Fehlermeldung funktionieren. Zu viele Dinge können sich geändert haben; mal sehen, was die Script-Gurus dazu sagen.

Über die Jahre haben sich die Deklarationen mancher Prozeduren verändert, z. B.

procedure OnPlayerStop(PlayerControl: IPlayerControl; Item: IPlaylistItem; Duration: int64);

heißt jetzt

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

Ändere mal die Prozeduren so ab, wie sie hier aufgezählt sind und probiere das mal aus.

Aktualisierte Grüße

TSD

Hallo die Runde,

ich habe den Änderungsvorschlag von Tondose umgesetzt.
Alles SUPI, keine Fehlermeldungen mehr im Log.
Danke für die schnelle Hilfe hier im Forum.
Einfach Klasse…

1 Like