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
-
eiPlayer
für den ersten Player, -
eiSecondary
für den zweiten, -
eiPlayer3
für Player 3, -
eiPlayer4
na, wofür wohl?!, -
eiHighPriority
wird mir Torben noch erklären, -
eiMic
fürs Mikrofon, -
eiLine
für den Line-Eingang und -
eiAux
fü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