Statusanzeige in erweiteren Button umbauen mit Script

Liebes Forum, liebe Scriper, liebe Profis,

ich nutze eine Statusanzeige inkl. Script und Fernsteuerung zum Aktivieren und Deaktivieren meiner Lautsprecher. Ich würde das ganze gerne irgendwie als erweiterten Button umstellen um diesen mit der Maus selbst auch aktivieren zu können.

Das ist das Script:

var
  Status: boolean;
  PFLActive: boolean;

procedure OnLoad;
begin
  ExecuteCommand('ENCODER LOCALOUTPUT OFF'); // Encoder und Lautsprecher standardmäßig deaktivieren
  ExecuteCommand('SPEAKER OFF');
  Status := false; // Status auf "OFF" setzen
  PFLActive := false; // PFL-Status standardmäßig auf "nicht aktiv" setzen
end;

procedure OnExecuteCommand(Command: string);
begin
  if Command = 'ENCODER LOCALOUTPUT ON/OFF' then
  begin
    if not PFLActive then // Nur wechseln, wenn kein PFL aktiv ist
    begin
      if Status then
      begin
        ExecuteCommand('ENCODER LOCALOUTPUT OFF');
        ExecuteCommand('SPEAKER OFF'); // Lautsprecher ebenfalls deaktivieren
        Status := false; // Status korrekt auf OFF setzen
      end
      else
      begin
        ExecuteCommand('ENCODER LOCALOUTPUT ON');
        ExecuteCommand('SPEAKER ON'); // Lautsprecher ebenfalls aktivieren
        Status := true; // Status korrekt auf ON setzen
      end;
    end
    else
    begin
      SystemLog('Befehl ignoriert: PFL ist aktiv.');
    end;
  end;
end;

procedure OnPFLOn(Item: IPlaylistItem; PFLCount: integer);
begin
  if PFLCount > 0 then
  begin
    ExecuteCommand('ENCODER LOCALOUTPUT OFF'); // Lautsprecher deaktivieren
    ExecuteCommand('SPEAKER OFF');
    PFLActive := true; // PFL-Status aktiv setzen
  end;
end;

procedure OnPFLOff(Item: IPlaylistItem; PFLCount: integer);
begin
  if PFLCount = 0 then
  begin
    PFLActive := false; // PFL-Status zurücksetzen
    if Status then // Lautsprecher nur aktivieren, wenn Status auf "ON" steht
    begin
      ExecuteCommand('ENCODER LOCALOUTPUT ON');
      ExecuteCommand('SPEAKER ON');
    end;
  end;
end;

begin
end.

So sieht die Statusanzeige aus.


Das wäre der erweiterte Button:


Der hat aber keine Funktion. Also, da passiert nichts wenn ich diesen Klicke.

Habt ihr da Ideen?

Viele Grüße
JP

Der Thread ist obsolet. Habs hinbekommen. Hatte die Aktionen vertauscht und das Script noch aktiviert. Das Script ist ebenfalls obsolet.

2 Likes