Drops automatisch auf die Ramp plazieren

Gut, in dem Fall ist die Frage von Stefan berechtigt: Welche Edition hast du denn in der trial license gewählt? Home Studio Lite oder höher?

Die Pro. Die wird es auch werden, wenn wir uns für mAirlist entscheiden, wonach es akutell aussieht.

Prima. Dann viel Erfolg bei der Suche nach der Ursache, warum es bei dir nicht klappt.

Danke dir. Das wünsche ich mir auch :wink:

Was ist denn nun mit dem Hilfsskript?

So, habe es mal eingerichtet und das ganze nochmal durchgespielt.
Leider ohne Erfolg.

Logeinträge:

{"Timestamp":"2024-01-21T01:07:47.042","Message":"mAirList Version 7.3-beta Build 5616 startet...","Level":"Info"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul Core...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul BassAudio...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul ExternalDSP...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul SilenceDetector...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul Mixdown...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul Encoder...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul DBLite...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul DBPro...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul MIDI...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul MiscDatabases...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul CoreRemote...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul LayoutSkin...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul CoreGUI...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul AircheckRecorder...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul FileRecorder...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul TFileRecorderActionsModule...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul SAS...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul DMAX...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul Scripting...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul Playout...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul DHD...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul TDHDActionsModule...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul REST...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul TRESTActionsModule...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul DBClient...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul DBServer...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul DBImporter...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul DBAdvertising...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul DBReports...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul VT...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul VTCartwall...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul Cartwall...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul Axia...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul Wheatstone...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul AEQ...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul Airence...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul Airlab...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul Airlite...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul MambaNet...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul Sonifex...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.042","Message":"Lade Modul PlaylistImportPro...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.043","Message":"Lade Modul StreamMonitor...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.043","Message":"Lade Modul TCPRemote...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.043","Message":"Lade Modul EmberPlus...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.043","Message":"Lade Modul EmberPlusProvider...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.043","Message":"Lade Modul LWCP...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.043","Message":"Lade Modul StreamDeck...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.043","Message":"Lade Modul MatrixMixer...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.043","Message":"Lade Modul NetworkSync...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.043","Message":"Lade Modul NexusCore...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.043","Message":"Lade Modul NexusSync...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:47.043","Message":"Lade Modul AxelTech...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:49.086","Message":"Starte Engine...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:49.097","Message":"Initialisiere Player...","Level":"Status"}
{"Timestamp":"2024-01-21T01:07:52.067","Message":"Hintergrund-Script M:\\mAirlist Skripte\\Auto-Drop by Tondose 3.0.mls wurde geladen","Level":"Info"}
{"Timestamp":"2024-01-21T01:07:52.087","Message":"Hintergrund-Script M:\\mAirlist Skripte\\Hilfsskript.mls wurde geladen","Level":"Info"}
{"Timestamp":"2024-01-21T01:07:52.246","Message":"Werbecontainer untersucht: 0, geändert: 0","Level":"Info"}
{"Timestamp":"2024-01-21T01:07:52.259","Message":"Werbecontainer untersucht: 0, geändert: 0","Level":"Info"}
{"Timestamp":"2024-01-21T01:07:52.271","Message":"Werbecontainer untersucht: 0, geändert: 0","Level":"Info"}
{"Timestamp":"2024-01-21T01:07:52.281","Message":"Werbecontainer untersucht: 0, geändert: 0","Level":"Info"}
{"Timestamp":"2024-01-21T01:07:52.289","Message":"Werbecontainer untersucht: 0, geändert: 0","Level":"Info"}
{"Timestamp":"2024-01-21T01:07:52.297","Message":"Werbecontainer untersucht: 0, geändert: 0","Level":"Info"}
{"Timestamp":"2024-01-21T01:07:52.306","Message":"Werbecontainer untersucht: 0, geändert: 0","Level":"Info"}
{"Timestamp":"2024-01-21T01:07:52.314","Message":"Werbecontainer untersucht: 0, geändert: 0","Level":"Info"}
{"Timestamp":"2024-01-21T01:07:52.314","Message":"Playlist 1 automation ON","Level":"Debug"}
{"Timestamp":"2024-01-21T01:07:52.314","Message":"Playlist 2 automation ON","Level":"Debug"}
{"Timestamp":"2024-01-21T01:07:52.314","Message":"Playlist 3 automation ON","Level":"Debug"}
{"Timestamp":"2024-01-21T01:07:52.316","Message":"Playlist 4 automation ON","Level":"Debug"}
{"Timestamp":"2024-01-21T01:07:52.316","Message":"Playlist 5 automation ON","Level":"Debug"}
{"Timestamp":"2024-01-21T01:07:52.316","Message":"Playlist 6 automation ON","Level":"Debug"}
{"Timestamp":"2024-01-21T01:07:52.317","Message":"Playlist 7 automation ON","Level":"Debug"}
{"Timestamp":"2024-01-21T01:07:52.317","Message":"Playlist 8 automation ON","Level":"Debug"}
{"Timestamp":"2024-01-21T01:07:52.321","Message":"Start: M:\\mAirlist DB\\DIV Image Hamburg an der Waterkant 02 (1).wav","Level":"Playlist"}
{"Timestamp":"2024-01-21T01:07:52.321","Message":"Titel DIV Image Hamburg an der Waterkant 02  in Player 1 gestartet.","Level":"Info"}
{"Timestamp":"2024-01-21T01:07:52.322","Message":"Encoder verbindet mit 127.0.0.1:7000\/stream","Level":"Info"}
{"Timestamp":"2024-01-21T01:07:52.418","Message":"Encoder-Verbindung zu 127.0.0.1:7000\/stream hergestellt","Level":"Info"}
{"Timestamp":"2024-01-21T01:07:59.064","Message":"Playlist-Cache für Datenbank wird aktualisiert","Level":"Debug"}
{"Timestamp":"2024-01-21T01:08:07.986","Message":"Start: M:\\mAirlist DB\\25. Jason Derulo - Acapulco.mp3","Level":"Playlist"}
{"Timestamp":"2024-01-21T01:08:07.987","Message":"Titel Acapulco  in Player 1 gestartet.","Level":"Info"}
{"Timestamp":"2024-01-21T01:08:10.383","Message":"Stop: M:\\mAirlist DB\\DIV Image Hamburg an der Waterkant 02 (1).wav (18 seconds)","Level":"Playlist"}
{"Timestamp":"2024-01-21T01:08:27.737","Message":"Encoder getrennt von 127.0.0.1:7000\/stream","Level":"Info"}
{"Timestamp":"2024-01-21T01:08:28.276","Message":"Stop: M:\\mAirlist DB\\25. Jason Derulo - Acapulco.mp3 (20 seconds)","Level":"Playlist"}




EDIT /mod
Script formatiert. Bitte diesen Thread beachten: Vor dem Posten von Code bitte beachten!

Geht die Playlist noch weiter? Falls nein, plane noch ein paar Titel dahinter ein.

Du hast 8 (in Worten: acht) Playlists am Start?! Wozu dies? Reduziere das mal auf die haushaltsübliche Eine.

Genau das war es.

ES LÄUFT !!!

Es lag nicht an der Anzahl der Playlisten. Das Skript schaut wohl nur auf Playlist Nummer 1 und ich habe es immer in Playlist Nummer 3 getestet, da dort meine Rotation läuft.

Vielen dank für den geilen Support !

Kurze Frage, ist es ohne einen großen Aufwand möglich, das Skript auf die Playlist 3 schauen zu lassen? Kann man das Skript so umschreiben, dass es auch auf Elemente reagiert die als „Moderation“ gekennzeichnet sind? Wäre ja nicht schlimm, wenn das dann ein zweites Skript sein müsste. Und letzte Frage: Was passiert, wenn der Drop (oder später die Moderation) länger ist als die Ramp.
Bsp.: Ramp 10s, Drop/Mod 15s. Startet dann der Drop/Mod und 5s später der Ramptitel?

GETESTET: Ja, er plant trotzdem. Hat sich damit erledigt.

Und was passiert, wenn ein hart oder weich geplantes Element nach dem Drop geplant ist und eigentlich der Drop nicht mehr gespielt werden würde nach dem Track wo er auf die Ramp soll?
Bsp:
12:58:00 - ++ Drop ueber Ramp ++
12:57:00 - Musik 3:45
—— Drop
13:00:00 Nachrichten (weiche Fixzeit + 60s)

Jetzt würden die Nachrichten ja die Musik abbrechen und im Sendeplan wird der Drop schon als „nicht Spielbar“ betitelt. Plant das Skript trotzdem den RampContainer?

Ersetze im Skript CurrentPlaylist durch Playlist(2).

 

Müßte auch so gehen, probiere es aus.

 

Dann gibt es eine Fehlermeldung, und der Drop wird gelöscht.

Hi zusammen!

Ich hab das schon seit ein paar Wochen im Gebrauch. Das funktioniert wirklich ausgezeichnet! Tolle Arbeit @Tondose !

Allerdings schmeißt er die zu langen Elemente trotz zu kurzer Ramp oder Keiner gesetzten Ramp nicht raus.

Meine Drops sind als “Sweeper” gesetzt.

Habt ihr da eine Lösung zufällig?

Liebe Grüße

Marc

Damit beim automatischen Löschen nichts passiert, muß der Drop ein Element vom Typ Jingle sein. Du könntest im Skript pitJingle durch pitSweeper ersetzen.

Hier übrigens die neueste Version mit kleinen Verbesserungen im Code:

Auto-Drop by Tondose 3.02.mls (9,6 KB)

3 Likes

Hi! Danke dir - hat natürlich gleich prima funktioniert. :slight_smile:

Da müsste ich mal fragen:

Ich hatte mir das Script angeschaut, da ich beim TE bereits die acht Playlisten im Screenshot gesehen hatte (und dass er in PL 3 unterwegs war).

Vielleicht denke ich zu unlogisch, aber da dort

begin
  if CurrentPlaylist.GetItem(CurrentPlaylist.IndexOf(DropItem)).GetItemType

stand, bin ich davon ausgegangen, dass mit CurrentPlaylist immer eine aktive, gerade ausspielende PL gemeint ist und habe das gar nicht als Ursache gesehen.

Kann man näher erklären, was Current.Playlist als Ziel hat?

Ich nicht, @Torben vielleicht.  

1 Like

“Current” bezieht sich auf den Kontext, in dem das Script läuft.

Standardmäßig ist das die erste Playlist. CurrentPlaylist ist also dasselbe wie Playlist(0).

Früher hatte jede Playlist ihre eigene Eventliste, und wenn ein Script aus einem Event heraus aufgerufen wurde, dann bezog sich CurrentPlaylist auf diejenige Playlist, aus deren Eventlist das geschah. Inzwischen gibt es aber nur noch eine zentrale Eventliste, und dieser Fall tritt nicht mehr ein.

Allerdings: Wenn das Script als Nachbearbeitungs-Script als Teil einer Stundenvorlage läuft, dann bezieht sich CurrentPlaylist auf die gerade erzeugte Playlist. Ebenso, wenn man ein Script händisch in der DB-App startet, dann ist CurrentPlaylist die gerade im DB-Playlist-Editor geladene Playlist.

3 Likes

@FloWie: Funktioniert es denn jetzt? Du kannst das Hilfsskript übrigens wieder entfernen.

Ja läuft alles wunderbar.

Vielen dank nochmal. Es lag an der Playlist. Nun läuft es auch mit der dritten.

1 Like

Hey zusammen,

vielleicht geht das schon mit dem Script und ich checke es nicht, aber ich frage trotzdem mal nach:

Viele meiner Dropper in der Playlist sind länger als die Ramp. Das hat zur Folge, dass sie ausgeplant werden.

Wäre es aber möglich, dass die Dropper quasi trocken anfangen und dann erst später auf den Song gelegt werden.

Beispiel, damit es anschaulicher wird:
Wir haben: einen Dropper, der 7 Sekunden dauert und einen Song mit 5 Sekunden Ramp.

Der 7-Sekunden-Dropper startet trocken und 2 Sekunden später startet dann der Song mit der 5 Sekunden Ramp.

1 Like