10 Sekunden Stille nach Script-Fehler

Hallo zusammen,

ich bekomme mit der neusten 7.3.4 Snapshot Build 5642 (bzw davor schon) gelegentlich Stille nach meinem Ad-Trigger. Das sieht im Systemprotokoll irgendwie so aus:

14.05.2024 11:44:57	Playlist	Stop: D:\Musik\Instance1\Live\02 - Lose Control.mp3 (209 seconds)
14.05.2024 11:44:57	Playlist	Start: D:\Musik\Instance1\Live\START_AD_BREAK.mp3
14.05.2024 11:44:57	Information	START_AD_BREAK gefunden. Bearbeite Cue-Punkte...
14.05.2024 11:44:57	Fehler	    Runtime error "Argument out of range" in background script D:\mAirList\START_AD_BREAK-FIX.mls, handling message: MSG_PLAYERCONTROL_START 514583895E82FBB4 00 00000000 00000000 ?
14.05.2024 11:44:58	Playlist	Stop: D:\Musik\Instance1\Live\START_AD_BREAK.mp3 (1 seconds)
14.05.2024 11:45:07	Warnung	    Fehler beim Abrufen der Hörer-Statistik: Socket Error # 11002
14.05.2024 11:45:07	Playlist	Start: D:\Musik\Instance1\Live\01 - Die schönsten Tage.mp3
14.05.2024 17:42:41	Playlist	Stop: D:\Musik\Instance1\Live\01 - (It Goes Like) Nanana (Edit).mp3 (230 seconds)
14.05.2024 17:42:41	Playlist	Start: D:\Musik\Instance1\Live\START_AD_BREAK.mp3
14.05.2024 17:42:41	Information	START_AD_BREAK gefunden. Bearbeite Cue-Punkte...
14.05.2024 17:42:41	Fehler	    Runtime error "Argument out of range" in background script D:\mAirList\START_AD_BREAK-FIX.mls, handling message: MSG_PLAYERCONTROL_START 514583895E82FBB4 00 00000000 00000000 ?
14.05.2024 17:42:42	Playlist	Stop: D:\Musik\Instance1\Live\START_AD_BREAK.mp3 (1 seconds)
14.05.2024 17:42:43	Warnung	    Fehler beim Abrufen der Hörer-Statistik: Socket Error # 11002
14.05.2024 17:42:49	Playlist	Start: D:\Musik\Instance1\Live\in_your_eyes_-28feat._alida-29.mp3

Man beachte hier, dass die START_AD_BREAK.mp3 jeweils nur eine Sekunde lĂ€uft und auch nur laufen sollte. Warum mAirList dort unregelmĂ€ĂŸig allerdings sich selbst nochmal Pause “gönnt” ist fraglich.

Das START_AD_BREAK-FIX.mls Script habe ich vom lieben @ssnoopy und sieht wie folgt aus:

const

VERSION='0.1.10';
SCRIPTNAME='Laut.FM START_AD_BREAK-FIX';

procedure OnLoad;
begin
	SystemLog('START_AD_BREAK-FIX (script) loaded');
end;

procedure OnPlayerStart(PlaylistIndex: integer; PlayerIndex: integer; Item: IPlaylistItem);
var
	i: integer;
	current_item: IPlaylistItem;
	prev_item: IPlaylistItem;
	playlist_count:integer;
	titel:string;
begin
		playlist_count:=	CurrentPlaylist.GetCount;
		for i := 0 to CurrentPlaylist.GetCount - 1 do
		begin
			current_item:=CurrentPlaylist.GetItem(i);
			titel:=current_item.GetTitle;
			if (titel='START_AD_BREAK') then begin
				SystemLog(titel + ' gefunden. Bearbeite Cue-Punkte...');
				prev_item:=CurrentPlaylist.GetItem(i-1);
				prev_item.SetCuePosition(ptFadeOut, 0);
			end;
		end;
end;

begin
end.

Vielleicht hÀlt hier das Script den START_AD_BREAK irgendwie auf weiter zu gehen? Deaktiviert habe ich es noch nicht, da mir das Script den Fade-Out-Punkt bei den Songs vor dem START_AD_BREAK entfernt, damit die Werbung nicht im Song anfÀngt.

Aber wie bereits erwĂ€hnt: Nicht jede Stunde. Sehr unregelmĂ€ĂŸig.
Mitkriegen tue ich das, weil ich die Stille-Erkennung fĂŒr diese Instanz drin habe:

image

Besten Dank fĂŒr jegliche Antworten


Ich vermute mal, das an dieser Stelle i=0 ist.
Und dann gibt es den Fehler.
Bin jetzt leider unterwegs und kann das daher nicht fixen.
Eigentlich wollte ich die Funktion dann ausfĂŒhren, wenn ein Titel ins Playout geladen wird.

Aber da gibt es wohl keinen Event fĂŒr.

1 Like

Wieder einmal ein Anlaß fĂŒr mich, eine Prozedur wie OnPlaylistInsert zu wĂŒnschen.

@ssnoopy: Ich behelfe mir so, daß ich die Playlist mittels Timer alle fĂŒnf Sekunden oder so (reicht ja) abgrase. Damit sich der Rechenaufwand in Grenzen hĂ€lt, bekommt beim ersten Anfassen der jeweilige Titel eine Marke, damit nur jeweils neu eingefĂŒgte Titel behandelt werden.

2 Likes

Und das Äquivalent dazu: ‘OnPlaylistDelete’. :wink:

Dann hĂ€tte man eine Möglichkeit immer genau die aktuelle Playlist abfragen zu können ( bei ‘OnPlaylistInsert’ und bei ‘OnPlaylistDelete’).
Das ist derzeit wirklich nur mit sehr viel MĂŒhe und Aufwand möglich.

z.b. wenn ich im Automations-Modus bin, zum Zeitpunkt des Starts eines Player die aktuelle Playlist haben möchte.
Derzeit bekommt man dann auch den Titel, der gerade den status ‘Fadeout’ hat. Obwohl der 2 Sekunden spĂ€ter schon nicht mehr interessant ist.
Siehe dazu auch
Problem bei ‘OnPlayerStop’ und ‘IPlaylistItem’ - Deutsch / German / Scripts - mAirList Community Forum

Hat eben alles damit zu tun, zum Zeitpunkt x die aktuelle Playlist zu erhalten.