Drops automatisch auf die Ramp plazieren

Okay, gebe ich zu. Ist übertrieben. :joy:

Ich will halt alles Mögliche ausschließen, weil ich ungern einen Ramp-Crash im Programm haben möchte…

Das klingt gut. Könnte man dann ja individuell einstellbar machen…

Ich hätte halt Gedacht, dass man das so scripten könnte, dass er die Sekunden von der Ramp aus noch vorne subtrahiert und dann mit der Droplänge abgleicht und platziert. Ich bin allerdings kein Scripter und weiß nicht, inwiefern das sinnvoll und möglich ist :man_shrugging:

Als positive Rückmeldung: Ich habe die Cue-In-Funktion getestet und es gefällt mir sehr gut mit der vorangestellten Positionierung. Vielen Dank, dass du das so schnell realisieren konntest! :slight_smile:

1 Like

Version 3.0 ist draußen:

Hier erfolgt die Plazierung über CueIn statt auf Ramp1 automatisch, wenn der Unterschied zwischen Drop- und Ramp-Länge den Wert DIFF (einzustellen im Skript) übersteigt.

Auto-Drop by Tondose 3.0.mls (9,2 KB)

2 Likes

Wow - das ging flott!

Vielen Dank für die Arbeit. Ich weiß, was heute getestet wird. :sunglasses: :smile:

Ich teste, bin wohl aber zu blöd dazu.
Was zum Teufel ist ein Steuerelement?

Sorry bin neu im Mairlistland.

Das ergibt sich aus der Beschreibung im Script:

Voraussetzungen:

• Platzhalter-Element mit Länge null und Titel wie in RAMPCAPTION definiert,
vor dem zu rampenden Element plaziert.

RAMPCAPTION = ‘++ Drop ueber Ramp ++’; // Titel des Steuerelements in Playlist

Setze einen Platzhalter mit dem in RAMPCAPTION definierten Wort vor das Element. Das Script erkennt den Platzhalter am Namen als Trigger (=Steuerelement) und löst die Prozedur zum Ramp-Setzen für das nächste Element aus.

Ich bin da echt zu Blöd für. Sorry :confused:
Playlist:

  1. Track XY (Musik)

  2. RAMPCAPTION = ‘++ Drop ueber Ramp ++’ (Platzhalter 0 Sek)

  3. TRACK (Mit Ramp1 gesetzt nach 8 Sek)

  4. DROP (Mit Cue1 und Start Next)

  5. soll ich sich auf Ramp von 3. setzen.
    Woher weiß mAirlist wo das Skript liegt? Ich habe es in der Konfiguration und Hintergrund-Skripts hinterlegt, ist das richtig?

Das = kennst Du bestimmt noch aus der Schule… :wink:

Bedeutet: Links steht die Vorgabe oder Rechenoperation, rechts steht ein Wert oder ein Ergebnis.

In diesem Fall musst Du rechts das schreiben, was später als Element-Name von DIR genutzt wird.

Damit Du das anpassen kannst und Dich nicht bevormundet fühlst, hat der umsichtige @Tondose hier eine Möglichkeit zur einfachen Änderung gegeben, in der die Variablenbezeichnung einmalig festgelegt wird und dadurch im Script unverändert bleiben kann. So müssen “Anfänger” nicht direkt im Script herumwurschteln. :wink:

Änderst Du daran nichts, muss Dein Platzhalter-Element den Namen

++ Drop ueber Ramp ++

ohne Anführungszeichen haben, damit das Script es erkennt und handeln kann.

Genau dadurch:

Es läuft also im Hintergrund, wenn aktiviert, und prüft für die Elemente ständig, ob die Voraussetzung zutrifft. In diesem Fall

“Schau mal, ob ein (Platzhalter-)Element mit dem Namen “++ Drop ueber Ramp ++” folgt, dann lade den Drop und setze ihn so, dass er auf die im Song definierte Ramp so abgespielt wird, bevor das Ende der Ramp erreicht wird. Starte den Song wie gewohnt und danach passgenau die Ramp, reduziere dabei die Lautstärke so wie vordefiniert”

In Deinem Beispiel würde der sechssekündige Drop nach zwei Sekunden starten, damit er am Ende der achtsekündigen Ramp passgenau aufhört.

Vielen dank. Aber ich bin zu Doof dafür.

Was habe ich falsch gemacht?





Er hat den Drop trotzdem nicht auf die Ramp gelegt :frowning:

Ist denn der Titel schon im Player geladen worden? Erst dann wird mW das Script aktiv…

Die Playlist muß im Automatikbetrieb den Player starten, dann werden die Elemente verknüpft. Es wird nichts vor-plaziert. (Das hatte ich Dir aber schon geschrieben, Flo.)

Ich arbeite nur mit einem Player für die Playlist, da nur der Automationsbetrieb läuft.
Ich weiß nicht ob das deine Frage beantwortet. Das Lied davor läuft und er geht dann halt automaitsch weiter.


Was sagt denn das Sytem-Log?

Script und Jason Derulo laut sendeplan um 19:35:53 gestartet

{“Timestamp”:“2024-01-17T19:33:22.330”,“Message”:“Start: M:\mAirlist DB\10 - Cyril - Stumblin’ In.mp3”,“Level”:“Playlist”}
{“Timestamp”:“2024-01-17T19:33:23.028”,“Message”:“Stop: M:\mAirlist DB\SHOP - Bot.mp3 (32 seconds)”,“Level”:“Playlist”}
{“Timestamp”:“2024-01-17T19:33:23.028”,“Message”:“Stop: M:\mAirlist DB\nachrichten_dlf_20231103_1900_77578785.mp3 (22 seconds)”,“Level”:“Playlist”}
{“Timestamp”:“2024-01-17T19:33:23.029”,“Message”:“Stop: Nachrichten-Container (Nachrichten) (32 seconds)”,“Level”:“Playlist”}
{“Timestamp”:“2024-01-17T19:33:25.139”,“Message”:“Start: M:\mAirlist DB\DIV IMAGE Szene 04.wav”,“Level”:“Playlist”}
{“Timestamp”:“2024-01-17T19:33:25.838”,“Message”:“Stop: M:\mAirlist DB\10 - Cyril - Stumblin’ In.mp3 (3 seconds)”,“Level”:“Playlist”}
{“Timestamp”:“2024-01-17T19:33:26.859”,“Message”:“Start: M:\mAirlist DB\41. KAMRAD - I Believe.mp3”,“Level”:“Playlist”}
{“Timestamp”:“2024-01-17T19:33:27.554”,“Message”:“Stop: M:\mAirlist DB\DIV IMAGE Szene 04.wav (2 seconds)”,“Level”:“Playlist”}
{“Timestamp”:“2024-01-17T19:35:53.447”,“Message”:“Start: M:\mAirlist DB\25. Jason Derulo - Acapulco.mp3”,“Level”:“Playlist”}
{“Timestamp”:“2024-01-17T19:35:53.661”,“Message”:“Stop: M:\mAirlist DB\41. KAMRAD - I Believe.mp3 (146 seconds)”,“Level”:“Playlist”}
{“Timestamp”:“2024-01-17T19:36:26.673”,“Message”:“Encoder getrennt von 185.87.21.49:7000/stream”,“Level”:“Info”}
{“Timestamp”:“2024-01-17T19:36:26.963”,“Message”:“Stop: M:\mAirlist DB\11. Farruko - Pepas.mp3 (216 seconds)”,“Level”:“Playlist”}
{“Timestamp”:“2024-01-17T19:36:27.221”,“Message”:“Stop: M:\mAirlist DB\25. Jason Derulo - Acapulco.mp3 (33 seconds)”,“Level”:“Playlist”}

Da scheint gar nichts zu passieren. Sicher, daß das Skript korrekt installiert ist?

Installiere doch bitte mal das folgende kleine Skript und berichte, was im SystemLog beim Abspielen von Titeln passiert:

procedure OnPlayerStateChange(PlaylistIndex: integer; PlayerIndex: integer; 
  OldState: TPlayerState; NewState: TPlayerState; Item: IPlaylistItem);
begin
  if NewState=psPlaying then
    SystemLog('Titel ' + Item.GetTitle + '  in Player ' + IntToStr(PlayerIndex + 1) + ' gestartet.');
end;

Handelt es sich um die Home Studio Lite oder die gewerbliche Standard-Version, würde Scripting jedenfalls nicht unterstützt werden….

1 Like

Ich habe da einen anderen Verdacht.

:face_with_raised_eyebrow:
Dann hast du noch keine gekaufte Lizenz? Also Version 7, denke ich.
Klar, du kannt unsere Testlizenz 30 Tage lang frei nutzen, aber offenbar scheinst du einen Namensvetter zu haben.

Setze dich doch mal bitte mit dem Support in Verbindung (detaillierter möchte ich im Forum nicht werden). Danke! :slightly_smiling_face:

Gekauft habe ich die 7er noch nicht, richtig.

Das mit dem Namensvetter könnte ich selber sein :slight_smile:
Hatte damals die 4er Home. Das ist aber schon super Lange her und war seit dem mit Digispot unterwegs.
Für ein neues Projekt soll nun aber wohl mAirlist ins Spiel kommen, da es durch die Skripts variabler einsetzbar ist.

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?