Die Frage kann ich mir warscheilich selber beantworten.
Ich habe noch mal etwas im Forum gewühlt, diese Suchfunktion ist wirklich klasse und extrem hilfreich.
Ich vermute also mal das Procdure onEncoderIRGENDWAS
noch nicht implementiert wurde.
Kommen wir also zurück zur Benennung der Streams.
Dazu stehen doch ein paar Dinge in der Scripting Help.
Ich bin mir allerdings gerade nicht sicher, muss ich jetzt anfangen, zwischen verschiedenen Encoder Typen zu unterscheiden? GetCustomCaption
, wäre schon mal etwas, was scheinbar in die richtige Richtung geht.
Alternativ könnte man ja auch erstmal ein Zweidimensionales Array mit einer Namenszuordnung zu Encoder Nummer.
Ich habe da mal was aus Deinem Tutorial abgeleitet @Tondose
{
Zwischen die geschweiften Klammern kann der Spickzettel hin, z.B.:
1: SWR, 2: HR, 3: RIAS.
4: NDR, 5: RB; 6: ORF
usw.
}
const
iMax = 4; // Hier die maximale Senderanzahl minus 1 einsetzen
var
i: integer;
EncoderName: array[0 .. iMax] of string;
procedure OnLoad;
begin
EnableTimer(100);
end;
procedure OnTimer;
begin
EncoderName[0] := 'SWR';
EncoderName[1] := 'HR';
EncoderName[2] := 'RIAS';
EncoderName[3] := 'NDR';
EncoderName[4] := 'Aircheck';
for i := 0 to iMax do
begin
if (Encoder.GetConnections.GetItem(i).GetEnabled = true) then begin
if (Encoder.GetConnections.GetItem(i).GetState = ecsConnected) then begin
ExecuteCommand('ENCODER'+ IntToStr(i) +' TEXT '+ EncoderName[i] +' ON AIR');
ExecuteCommand('ENCODER'+ IntToStr(i) +' BACKGROUNDCOLOR #FF0000');
ExecuteCommand('ENCODER'+ IntToStr(i) +' FONTCOLOR #FFFFFF');
end
else if (Encoder.GetConnections.GetItem(i).GetState = ecsConnecting) then begin
ExecuteCommand('ENCODER'+ IntToStr(i) +' TEXT '+ EncoderName[i] +' !OFF AIR!');
ExecuteCommand('ENCODER'+ IntToStr(i) +' FONTCOLOR #FFFFFF');
ExecuteCommand('ENCODER'+ IntToStr(i) +' BACKGROUNDCOLOR #FF0000');
Sleep(800);
end
else begin
ExecuteCommand('ENCODER'+ IntToStr(i) +' BACKGROUNDCOLOR #00FF00');
ExecuteCommand('ENCODER'+ IntToStr(i) +' FONTCOLOR #000000');
ExecuteCommand('ENCODER'+ IntToStr(i) +' TEXT '+ EncoderName[i] +' READY!');
end
end
else begin
ExecuteCommand('ENCODER'+ IntToStr(i) +' BACKGROUNDCOLOR #F0F0F0');
ExecuteCommand('ENCODER'+ IntToStr(i) +' FONTCOLOR #848484');
ExecuteCommand('ENCODER'+ IntToStr(i) +' TEXT '+ EncoderName[i] +' AUS');
end
end;
end;
begin
end.