ich habe hier ein kleines Problem.
Über ein Script möchte ich einen definierten Midi Eingang abfragen bzw. auswerten. Wie mache ich das genau?
Bisher habe ich sowas:
procedure OnMidiMessage(Device: integer; Status, Data1, Data2: byte);
if (Status=$B1) and (Data1 = $48) and (Data2= $00) then
chOn1 := true;
if (Status=$B1) and (Data1 = $48) and (Data2= $7F) then
chOn1 := false;
Wie schaffe ich es nun nur eine spezielle Midi-Device abzufragen?
So geht es jedenfalls leider nicht:
if (Device=1) and (Status=$B1) and (Data1 = $48) and (Data2= $00) then
chOn1 := true;
Mangels Midi kann ich hier leider nichts nachstellen. Es fällt jedoch auf, daß der Code der Procedures nicht in begin und end; eingeschlossen ist.
Was passiert bei …
procedure OnMidiMessage(Device: integer; Status, Data1, Data2: byte);
begin
if (Status=$B1) and (Data1 = $48) and (Data2= $00) then
SystemLog('Midi-Device ist ' + IntToStr(Device));
end;
Nur zur Sicherheit: Für das entsprechende MIDI-Gerät ist unter “Fernsteuerungen” auch eine MIDI-Fernsteuerung eingerichtet, ja? (Sonst geht es nämlich nicht.)
Es funktioniert jetzt. Ich hatte nur einen kleinen Ausschnitt des Codes gepostet. Der Fehler lag leider in einer weiteren Abfrage, die dazu führte, dass nichts mehr ausgegeben wurde.
Mir war nur wichtig zu klären, ob die Abfrage (Device=1) im Code zulässig ist, da es ja keine wirkliche Dokumentation der Skripting-Funktion in Mairlist gibt.
Nochmal danke für eure Hilfe - es funktioniert jetzt einwandfrei.
Das ist halt immer a weng’ problematisch, eben aus Gründen des Überblicks. Die Fehler können sonstwo liegen, man sucht sich ein bißchen tot und findet doch nichts.