Bedingter Faderstart

Hab noch keinen guten Weg gefunden um folgendes zu realisieren. Ideen?

Ich hab einen erweiterten Button “Faderstart”. Wenn dieser aktiv ist soll ein gewisser Player auf das Faderstartsignal einer Fernsteuerung reagieren, falls er inaktiv ist, soll der Player nicht agieren. Also wenn er inaktiv ist, sollte es so sein, als ob die entsprechende “an/aus”-Zeile der Fernsteuerung eigentlich leer waere.

Wie geht das?

Nur mit einem Notification Script, das auf OnExecuteCommand reagiert. In der Fernsteuerung trägst du dann irgendein Fatansie-Kommando ein (z.B. MEINFADERSTART), in OnExecuteCommand wartest du auf eben dieses Kommando, überprüfst die Bedingungen, und rufst dann ExecuteCommand(‘PLAYER 1-1 START’) auf, oder eben nicht.

Die Bedingungen für den Button kannst du genauso realisieren. Einfach ein selbstausgedachtes Kommando als Aktion eintragen und das dann in (demselben!) Notification Script verarbeiten. Du kannst globale Variablen im Script verwenden, um dir die Zustände zu merken.

var
  istAn: boolean;

procedure OnExecuteCommand(Command: string);
begin
  if Command = 'FADERAN' then
   istAn := true
  else if Command = 'FADERAUS' then
    istAn := false
  else if (Command = 'FADERSTART') and istAn then
    ExecuteCommand('PLAYER 1-1 START');
end;

begin
end.

usw.

Torben - ich danke dir. Funktioniert super. Ich hab dabei auch zwei Sachen gelernt:

a) dass man ‘beliebige’ Befehle nutzen kann (haette ich das gewusst, waere ich vllt selbst drauf gekommen)
b) wie man den Status den erweiterten Buttons “wegschreibt”

aber selbst dann muss man immer noch wissen, dass alles in ein Skript gehoert. Vielen Dank nochmal.

Ich hab noch eine Aktion “nach Programmstart” hingegefuegt die “FADERAN” aufruft. Allerdings scheint das Script dann noch nicht zu laufen. Erst wenn ich den erweiterten Button aus und anschalte wird ‘istAn’ auf true gesetzt.

Du kannst dem Script noch eine Prozedur OnStartup hinzufügen (siehe Template) und da dann istAn wie gewünscht setzen.

Funktioniert.

Was ist das Analog zu

CurrentPlaylist.GetPlayer(i).GetState = psPlaying

fuer einen Cartwall Player?

Cartwall.GetPlayer(i).GetState = psPlaying

Supi … hab jetzt damit auch die Cartwall so wie ich es mag zusammen mit bedingtem Faderstart und 2x2-Preh-Tasten :-)m (NEXT nicht nur bei Fadeout)