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…
Schönen Wochenstart!