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


