Loggingausgabe für per Script eingefügtes Element

Hi,

die Werbung wird bei uns vor top-of-hour per Script eingefügt.
Dabei ist mir jetzt aufgefallen, dass bei der RDS logging Ausgabe der Dateiname anstelle des ID3 Tags ausgegeben wird.

Hier der Teil des Codes wie eingefügt wird:
Schnipp

[code] // Index of item that is currently playing
activeItem := CurrentPlaylist.GetPlayer(activePlayer).GetItem;

// Insert new item below
newItem := Factory.CreateFilePlaylistItem('M:\Werbung\' + filename[f], []);
CurrentPlaylist.Insert(CurrentPlaylist.IndexOf(activeItem) + 1, newItem);[/code]

Schnapp

Denke dass mam per Script den Titel und Interpreten ebenfalls in die Playliste schreiben kann… das wäre ja die Lösung.
Syntax ist nur nicht klar.

newItem.SetArtist ??? newItem.SetTitle ???

Icon einfügen klappt ja auch…

Gruss:
-Serge-

Einerseits kannst du Interpret und Titel natürlich händisch setzen. Wobei beim Interpreten zu beachten ist, dass es sich um eine Liste von Strings (IStrings) handelt (weil ja mehrere Interpreten erlaubt sind) - man muss also entweder mit Add() einen hinzufügen, oder mit SetText den aktuellen Inhalt überschreiben:

newItem.GetArtists.Add('Neuer Interpret'); // falls schon einer gesetzt war, wird dieser angehängt
newItem.GetArtists.SetText('Neuer Interpret'); // aktueller Inhalt wird komplett überschrieben

newItem.SetTitle('Werbung');

Dass der ID3-Tag nicht augelesen wird, liegt übrigens an dieser Zeile hier:

Factory.CreateFilePlaylistItem('M:\Werbung\' + filename[f], []);

Der letzte Parameter von CreateFilePlaylistItem gibt nämlich an, welche “Datenquellen” alle herangezogen werden sollen, um Metadaten zu ermitteln. Zur Auswahl stehen:

fitMMD: MMD-Datei auslesen
fitTags: mAirList-Tag auslesen
fitNativeTags: native Tags (ID3, Vorbis Comments) auslesen
fitDuration: Länge ermitteln (mit BASS.DLL)
fitTilde: ~ im Dateinamen auslesen
fitAutoCue: Auto Cue durchführen
fitDatabaseLookup: Datenbanken abfragen

“fit” steht hier für “file import task”, also beim Datei-Import durchzuführende Aufgaben. Man kann mehrere Werte durch Komma getrennt angeben, wobei die Reihenfolge keine Rolle spielt. Du hast [] angegeben, also gar keine Datenquellen - deswegen wird auch kein Tag ausgelesen. Du könntest die Zeile zum Beispiel folgendermaßen ändern:

Factory.CreateFilePlaylistItem('M:\Werbung\' + filename[f], [fitNativeTags]);

Dann werden die (nativen) ID3-Tags ausgelesen.

Zum Schluss noch ein weiterer Tipp: Du verwendest ja “activeItem”, um das gerade spielende Element zu ermitteln. Wenn es dir nur darum geht herauszufinden, an welche Stelle das neue Element einzufügen ist, kannst du auch die Methode “GetNextIndex” verwenden, denn die macht genau das:

CurrentPlaylist.Insert(CurrentPlaylist.GetNextIndex, newItem);

Hehe ;D ,

ja klar, dachte mir schon dass der 2te Parameter mit der leeren Klammer eventuell etwas damit zu tun hätte.

Also die “fit”-Sache wäre ja mal direkt was für’s Handbuch…

… calling CAD !!!

Danke für den Support:
-Serge-