mAirList - Import aus Datenbank

Hallo Torben

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.

DANKE Michel


export.png

Warum arbeitet die Moderation nicht direkt im Sendeplan-Editor der mAirListDB?

Naja, weil wir nicht den Sendeplan-Editor nutzen und dies wärend der Sendung eintritt. ::slight_smile:

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.

Ich sag nur Nachrichten usw…

Hallo Anna

Was verstehst Du unter Titel neu einlesen (inkl. der Datenbank)?

Mein Wunsch wäre eine Art, überschreib mir alle Metadaten die Du von der ID xy in der mAirListDB findest. Titel, Artist, Kommentar, Attribute usw.

Michel

Hallo Michael,

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.

Anna

Michel :wink: (Ohne a)

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 :wink:

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.

Irgendwie Titel := Database(ID).GetTitel;

Michel

Also Michel (ohne a) :smiley:

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.

Anna (mit zwei a) :smiley:

Deinen Namen kann man ja sogar Rückwärts lesen ::slight_smile:

Wenn Du die Audiodatei, jeweils überschreibst, musst Du diese nicht auch noch neu laden.
Nimm immer nachrichen.mp2 oder so ähnlich

Doch laden muß ich sie in jedem Fall neu, denn es kann sich ja imemr auch die Länge der Audiodatei verändern.

Wenn Du eine Audiodatei im Player oder in der CW geladen hast mu0ßt Du nach der Änderung im Hintergrund die Datei unbedingt neu laden.

Anna <=> annA :smiley:

PS: Nein ich habe nicht mit den Illuminati am Hut… oder doch? :slight_smile:

Länge der Datei wird beim Abspielen angepasst.

hmmm … bei mir nicht.

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.

Aha, wir machen ja noch mehr :smiley:

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.

Und Robocopy ersetzt die Datei auch obwohl sie geöffnet ist?

Bezweifele ich, ausser es gibt einen extra Switch dafür…

Anna, wir lösen das folgendermassen:

  • eine Cart ist immer mit einem Stack “NewsIntro” und “News” geladen.
  • Ist die “NewsIntro” angewählt (welche ja nicht ändert), können die “News” problemlos ersetzt werden.
  • Also 5 min vor ‘top of the hour’ wird folgendes Script ausgeführt, falls die “News” in der Cart noch angewählt wären:

begin try Cartwall.GetPlayer(2).SetStackIndex(0); except exit; end; end.

(Beispiel ist für Cartplayer 3)

  • Danach wird 2 min vor ‘top of the hour’ die Newsdatei über Windoof Taskscheduler ersetzt.

funzt seit Jahren einwandfrei.

Gruss:
-Serge

OK, das hört sic gut an …

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 :wink:

  1. 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.

  2. 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.

  3. Im StackItem “NewsIntro” bei ‘Actions on stop’ ein Script laufen lassen welches StackIndex(1) abfeuert.

Gruss:
-Serge-