So umfangreich die Funktionen in mAirList auch sind, so fehlt doch immer wieder mal das eine oder andere Feature für den gewünschten Zweck. Macht aber nichts, denn genau hierfür gibt es die Scripting-Engine, mit welcher die Möglichkeiten in mAirList noch wesentlich umfangreicher werden als ohnehin schon. Also:
Encoder-Zustände erkennen und verarbeiten
Ein immer wieder gerne genommenes Problem ist wie steuere ich mein schönes Rotlicht an, wenn (in mAirList) das Mikrofon on air geht? Leute mit Mischpulten stellt das kaum vor Probleme, die nehmen einfach den Reglerkontakt. Was aber mit ohne Mischpult, nur mAirList, Soundkarten und sonst gar nichts?
Hierfür hat Torben die Prozedur OnEncoderInputToggle erschaffen, die solcherlei Aufgaben spielend erledigt. Deren Parameter sind TEncoderInput für den zu überwachenden Encoder-Eingang und NewState für dessen jeweiligen Zustand. Die Syntax geht so:
procedure OnEncoderInputToggle(Input: TEncoderInput; NewState: boolean);
begin
if Input = eiMic then begin
if NewState = true then
K8055Remote(0).SetDigitalChannel(1)
else
K8055Remote(0).ClearDigitalChannel(1);
end;
end;
(Aha, ein Velleman-Fan. I/O-Warrior-Betreiber schreiben eben
IOWarriorRemote(0).SetPort(0, true)
undsoweiter.) Man kann natürlich mit der gewonnenen Zustandsinformation nach Belieben auch ganz andere Sachen anstellen.
Für TEncoderInput gibt es die Auswahl
-
eiPlayerfür den ersten Player, -
eiSecondaryfür den zweiten, -
eiPlayer3für Player 3, -
eiPlayer4na, wofür wohl?!, -
eiHighPrioritywird mir Torben noch erklären, -
eiMicfürs Mikrofon, -
eiLinefür den Line-Eingang und -
eiAuxfür den Aux-Eingang.
Zum schalten von Mic, Line und Aux gibt es Buttons in der GUI, für die anderen müßte man (nachdem einem eine sinnvolle Verwendung eingefallen ist) ein Skript bemühen.
Rückgemeldete Grüße
TSD
