Logging-Schnittstelle: Weitere Variablen benötigt

Hallo Torben,

ich würde gerne eine Anbindung an eine 3rd-Party-Software zum Metadaten-Management realisieren und benötige dazu weitere Variablen zur Verwendung in der Logging-Schnittstelle:

Bereits vorhanden:
Artist: %a
Title: %b

Bisher nicht vorhanden (?):

Album
Duration (Länge des Titels/Items in der Form Sekunden oder mm:ss.100/s als Start-Event!)
Type (Kategorie des Items z.B. Musik, Nachrichten, Werbung, Voicetrack etc.)
AudioId (mairlist-Song-ID)
Music ID (International Music Identification) => EAN o.ä.
Label
ArtWork (URL zum Album Art)

Sowas sollte doch in Form von Attributen möglich sein, oder?

Grüße,
zunder

Attribute kannst du ja beliebig festlegen, das sind einfach Name/Value-Paare.

An diese benutzerdefinierten Attribute kommst du im Logging mit %u{Atributname}, also z.B. %u{Album}.

Die mAirList-Datenbank-ID ist %U, die Länge in Sekunden (mit Nachkommastellen) ist %e

Stimmt! :slight_smile:
Das meiste lässt sich tatsächlich über die Attribute realisieren.
Und wie komme ich denn bspw. an den Elementtyp? %E ?

Ergänzung: %e gibt nur “0” aus. Funktioniert also anscheindend nur als Stop-Event.
Titel-Dauer (geplante totale Spieldauer des Elements in Playlist => Länge) wäre schon wichtig.

Elementtyp ist %I (englischer Bezeichner) bzw. %J (übersetzt in aktuelle GUI-Sprache).

Für die normale Spiellänge gibt es offenbar noch gar keine Variable, stelle ich gerade mit Erschrecken fest. Die rüste ich noch nach.

Interessant, was du nach und nach alles für Variablen aus dem Ärmel zauberst, die nicht im Handbuch stehen… :slight_smile:

Ich hatte mich kaum getraut dich nach einer Variable für die normale Spieldauer zu fragen… kam mir schon fast DAU-mäßig vor.
Wäre super, wenn die bald zur Verfügung stünde…

Noch ein Vorschlag: Wie wäre es mit einer speziellen Logdatei zur Weitergabe der Song-Metadaten an Drittsoftware?
Eine spezielle XML-Datei, die immer (mindestens) den aktuellen Track ausgibt? Zusätzlich könnte man dann über >State< noch “Next” und “Previous” einbauen, um den vorherigen und nächsten Titel mit auszugeben. Das wäre klasse!
Die Datei sollte auch flexibel per Template anpassbar sein. Schön wäre, wenn man hier nicht auf die einzeilige Eingabe der Variable angewiesen wäre, sondern einfach die Variablen in ein XML-Skelett einsetzen könnte.

Die Logging-Lösung via Textdatei derzeit ist schon sehr frickelig und stößt an seine Grenzen, wenn man komplexere Metas (mehr als nur Artist - Titel) ausgeben will. Das alles in eine Zeile zu setzen macht wenig Spaß und ist wohl auch eher zweckentfremdet, weil eher für die Log-Generierung gedacht.

Ich stelle mir sowas in der Art vor:

<?xml version="1.0" encoding="utf-8"?>
<PlayList>
<Entry Event="00"
State="Playing"
Category="%I"
Id="%U"
Title="%b"
Artist="%a"
Album="%u{Album}"
Composer="%u{Composer}"
MusicId="%u{EAN}"
Duration="180000"
Label="%u{Label}"
Year="%u{Year}"
URL="%u{URL}"
StartTime="Fr Aug 24 00:34:10 2012"
/>
</PlayList>

Was meinst du, Torben? 8)

Im Zweifel kannst du das über ein eigenes Script lösen, da kannst du dann ausgeben was du willst.

Was ich relativ leicht einbauen könnte, wäre eine Variable, die den gesamten XML-Dump des laufenden Titels in die Textdatei schreibt.

Das Logging kann grundsätzlich nur Informationen über den gerade gestarteten Titel ausgeben, nicht über den nächsten oder den vorherigen.

Eine einheitliche, bei jedem Titelstart neu erstellte NowPlaying-XML-Datei mit allen relevanten Metas zum laufenden Titel wäre schon klasse.
Und auf jeden Fall einfacher von Drittsoftware weiterzuverarbeiten als individuell hingefrickelte Ausgaben über die Logging-Schnittstelle.
Die jeweilige Drittsoftware kann sich ja dann die für Sie relevanten Metadaten aus der XML rauslesen und den Rest ignorieren.

So müsste man dort lediglich beim Automations-Metadaten-Import nur noch das “mairlist”-Importpreset auswählen, die Datei-Location angeben und hätte sofort die Anbindung problemlos realisiert. Das wär’s.