Event gesucht

Servus,
Ich glaube jetzt alle Quellen ergebnislos durchgesehen zu haben.
Gibt es einen Event, wenn ein Titel in das Playout, also in die aktuelle Playlist, geladen wurde?

Viele Grüße

Ich wollte das noch einmal etwas pushen.
Offensichtlich bin ich ja nicht allein:
Einfügen in Playlist - Deutsch / German / Scripts - mAirList Community Forum

Notfalls für die V7 ?

1 Like

Auch hier noch einmal die Frage, ob sich da etwas machen lässt?

Hallo ssnoopy,
vielleicht hilft Dir ein kleines Script bis die gewünschte Version verfügbar ist.

// Autor:     RBOR 07/2022
// Quellen:   mAirList Forum (als Anregung)

Var
  strCurPL, Text, CrLf: string;
  intLastPL, intCurPL: integer; 

// ** Diese Prozedur wird beim START von mAirList ausgefuehrt **
procedure OnLoad;  
begin
  CrLf := Chr(13) + Chr(10);    // Zeilenende + Zeilenvorschub
  EnableTimerEx('TS', 30000);   // Alle xx (ms) Sekunden die Anzahl Titel 
                                //   von der aktuellen Playliste bereitstellen
  intCurPL := 0;                // Aktuelle Anzahl Titel in der PL
  intLastPL := 0;               // Vorwert Anzahl Titel in der PL
  Text :='';                    // Meldung anzeigen
end;

// ** Procedure OnTimerEX **             
procedure OnTimerEx(ID: string);
begin
  // Anzahl Titel in der Playliste alle xx ms Sekunden bereitstellen
  if ID = 'TS' then begin
    strCurPL := IntToStr(CurrentPlaylist.GetCount);
    intCurPL := strtoint(strCurPL);

    // ** Demo Anzeige, kann geloescht werden
    //   EnableTimerEx kann dann auf 1000 ms gesetzt werden, wenn
    //   ShowMessage geloescht wurde
    if intCurPL > intLastPL then Text := 'mehr Titel dazugefuegt ...';
    if intCurPL < intLastPL then Text := 'weniger Titel wie vorher ...';
    if intCurPL = intLastPL then Text := 'Keine Aenderung der Anzahl Titel ...';

    ShowMessage('Current Count PL = ' + strCurPL + CrLf +
	        'Last Count PL    = ' + inttostr(intLastPL) + CrLf + CrLf +
                Text);

    // ** Hier Aktionen einfuegen, wenn Aenderungen in der Anzahl
    //    der Titel der aktuellen Playliste eintreffen
    // ... Befehle ...

    intLastPL := intCurPL;   // Vorwert aktualisieren, nicht loeschen
  end;
end;

// Main Program
begin
    
end.

Der Timer steht auf 30000 ms (30 Sekunden), damit man auch etwas in der Anzeige 
erkennen kann. Wird "ShowMessage" entfernt, kann der Timer z. Bsp. auf 1000 ms stehen. 
Ich hoffe, das Script hilft zwischenzeitlich. 
Das Script ist sofort lauffähig zum Testen als "Hintergrundprogramm".
Gruß RBOR
1 Like

… ich nutze die mAirList Version 6.3.18. Das Script sollte aber auf allen Versionen laufen.
Gruß RBOR

Hallo @rbor,

das Skript ruft alle Sekunde den Zustand der Playlist ab und sucht nach Änderungen zur vorhergehenden Abfrage. Das kann man prima so machen, ich mache es hier und da ähnlich.

Was @ssnoopy und ich jedoch vermeiden wollen, ist das ständige Durchpollen der gesamten Playlist (was unvermeidlich ist, wenn Du auch noch den Ort der Einfügung erfahren möchtest). Trotzdem vielen Dank für den Vorschlag, hoffentlich bremst er @Torbens Drang nach Verbesserung nicht aus. :grin: :grin:

1 Like

Nach über eine Jahr, wollte ich mal vorsichtig nachfragen, ob es vielleicht Möglich ist, daraus einen “Feature Request” zu machen ?

2 Likes

Ja, erledigt.
Danke für’s aufmerksam machen. Was zuletzt im Juli 2022 unter “Scripts” behandelt wurde, liegt dann nicht im Fokus der Änderungswünsche.