Logging-Fragen

Doch, dazu gibt es einen Haken in der Options-Liste der Playlist. Heißt auf Englisch “Include non-playable items in logging”; deutsche Übersetzung habe ich gerade nicht parat.

Als Befehl stelle ich mir das schwierig vor, da ja nicht ein einzelner String übergeben wird sondern in der Regel ein komplettes PlaylistItem-Objekt mit allen Metadaten, aus denen sich die Log-Interfaces dann die gewünschten Informationen rauspicken.

Per Script geht das jetzt schon, etwa so:

var
  item: IPlaylistItem;

begin
  item := Factory.CreateDummyPlaylistItem;
  item.SetTitle('blabla');
  item.SetArtist('blup');
  Instance.GetLogger.StartLog(item, 0, '');
end.

Die beiden Parameter 0 und '' sind die Region, auf der das imaginäre Element wiedergegeben wird (0 = nicht regionalisiert) sowie die ID der Soundkarte (wird intern vom Encoder dafür genutzt, Logeinträge der Player auf den normalen Soundkarten zu unterdrücken, wenn der “High Priority”-Eingang aktiv ist - kannst du einfach leer lassen).

Die Funktion liefert eine Interface-Referenz vom Typ ILoggingTicket zurück. Die kann man theoretisch in einer Variable ablegen und irgendwann auf nil setzen - in dem Moment wird dann automatisch der zugehörige Stop-Logging-Eintrag ausgelöst. Verzichtet man darauf, wie im obigen Beispiel, dann wird der Stop-Eintrag sofort ausgelöst.

2 Likes