Version 3.x benötigt länger für den ErrorCheck

Wir laden unseren Moderationsblock vom Morgen jeweils per Script in die Playlist. Fast gleiches Script braucht in mAirList V3 knapp 12Sekunden. Beim der alten Version nur zirka 4 Sekunden. Die Ursache liegt beim Befehl “ErrorCheck”.

Lässt sich da was optimieren?

Danke
Michel

Version 2.x:

begin CurrentPlaylist.LoadFromFile('S:\playlist\universal\' + FormatDateTime('YYYYMMDD_06', now) + '00.mld'); CurrentPlaylist.AppendPlaylist(Factory.CreatePlaylistFromFile('S:\playlist\universal\' + FormatDateTime('YYYYMMDD_07', now) + '00.mld')); CurrentPlaylist.AppendPlaylist(Factory.CreatePlaylistFromFile('S:\playlist\universal\' + FormatDateTime('YYYYMMDD_08', now) + '00.mld')); CurrentPlaylist.AppendPlaylist(Factory.CreatePlaylistFromFile('S:\playlist\universal\' + FormatDateTime('YYYYMMDD_09', now) + '00.mld')); CurrentPlaylist.AppendPlaylist(Factory.CreatePlaylistFromFile('S:\playlist\universal\' + FormatDateTime('YYYYMMDD_10', now) + '00.mld')); CurrentPlaylist.ErrorCheck; SystemLog('Playlist wurden geladen'); end.

Version 3.x:

begin CurrentPlaylist.LoadFromFile('M:\playlist\universal\' + FormatDateTime('YYYYMMDD_06', now) + '00.mld'); CurrentPlaylist.Append(Factory.CreatePlaylistFromFile('M:\playlist\universal\' + FormatDateTime('YYYYMMDD_07', now) + '00.mld')); CurrentPlaylist.Append(Factory.CreatePlaylistFromFile('M:\playlist\universal\' + FormatDateTime('YYYYMMDD_08', now) + '00.mld')); CurrentPlaylist.Append(Factory.CreatePlaylistFromFile('M:\playlist\universal\' + FormatDateTime('YYYYMMDD_09', now) + '00.mld')); CurrentPlaylist.Append(Factory.CreatePlaylistFromFile('M:\playlist\universal\' + FormatDateTime('YYYYMMDD_10', now) + '00.mld')); CurrentPlaylist.ErrorCheck; end.

Beim Error Check wird die Datei testweise in einen (unsichtbaren) Player geladen. Das sollte in Version 3 nicht merklich langsamer sein als in Version 2, wenngleich sich intern einiges geändert hat. Zum Beispiel wird die verwendete Soundkarte bei jedem Öffnen eines Elementes neu initialisiert (sofern sie nicht gerade von einem anderen Player verwendet wird) und nach dem Schließen wieder freigegeben. Bei mAirList 2 war das anders, dort blieb die Soundkarte bis zum Programmende geöffnet, was zu Problemen im Zusammenspiel mit anderen Programmen führen konnte.

Das Initialisieren könnte den Prozess schon verlangsamen, vor allem wenn es sich um viele Elemente handelt - wie viele sind es denn etwa?

Es gibt inzwischen eine Option “Gerät geöffnet lassen” in den WDM-Einstellungen, die dieses Verhalten ändert. Die Soundkarte bleibt dann wieder bis zum Programmende offen, wie bei mAirList 2. Vielleicht hilft es, wenn du diese Option für die vom Error Check verwendete Soundkarte aktivierst?