Es ist möglich, geänderte Werte aus mAirList (z.B. Element aus der Playlist) in die Datenbank zu exportieren. Liesse sich dies auch für die Gegenrichtung realisieren?
Hintergrund: Moderation muss einzelne Elemente aus der Playlist aktualisieren können, da z.B. das Kommentarfeld mit der An & Abmoderation ergänzt wurde. Im Moment werden diese Elemente jeweils gelöscht und per Datenbanksuche wieder eingefügt. Dies ist etwas umständlich.
Naja, weil wir nicht den Sendeplan-Editor nutzen und dies wärend der Sendung eintritt. :
Ausgangslage:
Aktuelle Sendestunde mit leerem Beitrag (Hülse) ist geladen. Sobald der Beitrag x von der Redaktion fertiggestellt und in unser System eingebucht ist, steht dieser unmittelbar im Studio zum Abspielen bereit. Was nun noch fehlt ist die aktuelle An- / Abmoderation. Darum die Idee mit der Importfunktion.
Werden Änderungen im Sendeplan-Editor anschliessend auf die Playlist aktualisiert?
Ist zwar vermutlich nicht ganz das was hier gedacht ist, aber eine Art Titel neu einlesen (inkl. der Datenbank) würde ja schon in vielen Dingen einige Probleme vom Platz schaffen.
nun es ist ja so, dass beim einfügen in die Playliste oder auch in die Cartwall der Titel komplett vorgepuffert und auch alle relevanten Daten aus der Datenbank übernommen werden. (In der Playlist werden nur die nächsten 10? Titel vorgepuffert)
Auch ich habe immer wieder das Problem, dass ich eine fertige Playlist oder Cartwall habe und während der Sendung sich aber die Datei selbst (Nachrichten, Werbung usw.) verändern oder wenn ich das richtig verstanden habe, eine Hülse für zum Beispiel eine Moderation, sich in der Datenbank noch während des Sendebetriebs verändert. Ist das aber schon mal eingelesen und vorgepuffert, dann ist es immer etwas unsicher und aufwendig sicher zu stellen, dass man die aktuellste Version hat.
Mit neu einlesen meinte ich nciht “in die Datenbank” neu einlesen, sondern eine Art “refresh” aus der Datenbank. Übertrieben gesagt den entsprechenden Titel kurz komplett aus der Playliste oder Cartwall löschen und sofort wieder mit allen aktuellen Infos usw. an die selbe Stelle einfügen.
Ich hoffe ich konnte mich einigermaßen verständlich ausdrücken.
Wir verwenden für die Nachrichten und das Wetter die mAirList Option “Dieses Element nicht vorpuffern” Dies hat den Vorteil, dass wenn sich das Element, nicht in einem Player befindet, jederzeit die Audiodatei getauscht werden
kann.
Für jede Stunde ist ein Element für Nachrichten und Wetter vorhanden, dabei wird immer die jeweils gleiche Audiodatei verwendet. Sobald nun ein neues Bulletin angeliefert wird, wird einfach die Audiodatei ausgetauscht. So hat die Moderation jeweils immer das neuste Bulletin am Start
Dies funktioniert bei uns auch für Beiträge. Unser System eröffnet für alle Beiträge eine sogenannte Hülse. Diese Hülse erhält eine Temporäre Beschriftung und den Pfad zur zukünftigen Audiodatei. Sobald die Redaktion den Beitrag eingebucht hat, wird die Audiodatei auf dem Sendesystem ersetzt. Nun fehlt noch die richtige Beschriftung (Titel, Artist bzw. Kategorie, Kommentar usw.)
Nun wäre es Vorteilhaft, wenn die Metadaten von der mAirListDB ersetzt würden.
Eventuell liesse sich dies auch über ein Script machen? ID vom Element ist ja vorhanden.
so wie Du das beschreibst setze ich das aktuell auch um.
ABER:
Zum einen habe ich immer wieder mal das Problem, dass die Nachrichten erst 3 - 5 Minuten vor der Stunde fertig sind. Hat man dann ausnahmsweise einen längeren letzen Titel, dann sind die Nachrichten schon im Player geladen und vorgepuffert und werden eben nicht mehr aktualisiert. Kommt nicht oft vor, liegt aber grundsätzlich ab und an im Rahmen des Möglichen.
Zum anderen habe ich aus diesem und auch aus anderen Gründen meine Nachrichten in der Cartwall liegen, auch da ohne Vorpuffern usw…
Bei dieser Vaiante wechsle ich schnell per Hand den Reiter der Wall oder lasse ihn per Script wechseln um die Daten neu einzulesen.
Das ist jedoch alles sehr wenig elegant und birgt natürlich immer Potenzial für Fehler.
Darum kam mir eben schon vor längerem der Gedanke einer “Reload-Funktion”. Bei dieser kann man dann zum Beispiel einer in der Datenbank angelegten Nachrichten- oder Beitrags- oder was auch immer Datei den Befehl geben sich XX-Sekunden vor der geplanten Sendezeit neu zu laden. Damit würden nicht nur die Audiodatei neu geladen, sondern auch eben die von Dir angesprochenen Elemente wie … Kommentar, Titel, Interpret usw… einfach alles.
komisch - Denn ich habe auch das Vorpuffern abgeschaltet, aber sobald ein Titel im Player geladen ist, bleibt die Länge des Audiotracks von allen Änderungen im Hintergrund unberührt.
Tool Robocopy ersetzt z.B. die Datei News.mp2 im Hintergrund. Anschliessend wird per Scriptaufruf die Playlist auf Fehler überprüft (Geht auch über Kontextmenü -> Diese Playlist -> Auf Fehler überprüfen). Jetzt wird bei allen Elementen welches news.mp2 verwenden die Zeit erneuert.
An einem ähnlichen Konzept arbeite ich auch gerade.
Wo ich noch ein großes Problem habe ist das Abspielen der einzelnen Stacks, ich dachte man kann die alle automatisch nacheinander abspielen lassen, ohne jeden Stack neu anklicken zu müssen?
Du meinst das Abspielen der einzelnen Tracks im Stack, so dass die automatisch hintereinander abgefeuert werden…?
Es gibt hier ein paar Ansätze zur Lösung, obwohl ich der Meinung bin dass wenn ein Cartplayer benutzt wird, auch jemand vor dem Mischpult sitzt
NewsIntro und News in einen Container packen. Dieser darf allerdings nicht geladen sein wenn die News-Datei ersetzt wird. Kann man per Event handhaben, dass erst nachdem die News ersetzt wurden (xx:55) um xx:58 der Container in Cartplayer x geladen wird. Ein zweites Event oder bei Actions on Containerstop wird Playlist gestartet und Cart eject gemacht.
Im StackItem “NewsIntro” bei ‘Actions on stop’ ein Playfile mit Referenz auf die Newsdatei einfügen. Die News werden dann in einem normalen Player abgespielt. Ist die Playliste der nächsten Stunde dann schon geladen und die Automation auf ON, geht’s gleich weiter mit der Playliste.
Im StackItem “NewsIntro” bei ‘Actions on stop’ ein Script laufen lassen welches StackIndex(1) abfeuert.