"ON AIR Schalter" soll auf Verbindungsabbruch reagieren

Grübel, grübel… Ich rieche ein Cross-Posting (von mir selbst), denn im Prinzip macht dieses hier ja genau das, was ich/wir wollen…

Wenn sich das hektische Blinken bei Verbindungsabbruch noch realisieren liesse und vielleicht auch das Polling durch die neue Funktion

// Called when the state of an encoder connection changes
procedure OnEncoderConnectionStateChange(Connection: IEncoderConnection; OldState, NewState: TEncoderConnectionState);
begin
end;

ersetzen lässt, wäre das Skript, zumindest für alle die nur einen Encoder verwenden wie ich, glaube ich genau richtig und wohl dann auch recht elegant.

To do:

  • Bildschirmobjekt “Statischer Text”, Aktion beim Anklicken “Encoder connect/disconnect”, Fernsteuerungs-ID “ONAIRPRG”
  • Background-Skript (noch ohne die genannten Wünsche):
procedure OnLoad;
  begin
    EnableTimer(100);
  end;

procedure OnTimer;
  begin
    if (Encoder.GetConnections.GetItem(0).GetState = ecsConnected) then begin
      ExecuteCommand('ONAIRPRG TEXT ON AIR');
      ExecuteCommand('ONAIRPRG BACKGROUNDCOLOR #FF0000');
      ExecuteCommand('ONAIRPRG FONTCOLOR #FFFFFF');
      end	
    else if (Encoder.GetConnections.GetItem(0).GetState = ecsConnecting) then begin
      ExecuteCommand('ONAIRPRG TEXT !OFF AIR!');
      ExecuteCommand('ONAIRPRG FONTCOLOR #FFFFFF');
      ExecuteCommand('ONAIRPRG BACKGROUNDCOLOR #FF0000');
      Sleep(1000);
      end  
    else begin
      ExecuteCommand('ONAIRPRG BACKGROUNDCOLOR #00FF00');
      ExecuteCommand('ONAIRPRG FONTCOLOR #FFFFFF');
      ExecuteCommand('ONAIRPRG TEXT EDIT');
   end;
  end;

begin
end.

Das funktioniert so schon einmal. Die zusätzlichen Funktionen bzw. Änderungen einzubauen übersteigt dann doch bei weitem meine Fähigkeiten und ich wäre seeehr dankbar für Hilfe… :wink:

Schönen Wochenstart!