Liebes Forum,
ich habe leider ein Problem: weiß nicht so recht wie ich die Software rtpMidi ansteuern soll. Ich habe sie jetzt
wie ein klassisches Midi-Gerät behandelt. Dort sollen Midi Signale ankommen wenn ein Button ON bzw. OFF geschaltet wird. Dazu hab ich folgendes Script via “Script ausführen” in den Button
eingebunden. Leider zeigt es mir immer an, dass das Midi Gerät nicht offen ist. (Gerät Nummer stimmt) Auch wenn ich die Device-Number ändere zeigt es an, dass das jeweilige Gerät nicht offen ist.
procedure OnLoad;
begin
MidiOutOpen(2);
end;
begin
MidiOut (2,1,22,127);
end.
OnLoad wird nur bei Hintergrund-Scripts verwendet, nicht bei solchen, die über eine Aktion oder ein Event ausgeführt werden. In letzeren wird ganz normal das Hauptprogramm (“begin… end.”) ausgeführt.
Also der Fehlercode 4 bedeutet sinngemäß, dass das Gerät bereits in Verwendung ist. Das kann eine andere Anwendung sein, oder mAirList.exe selbst. Daher fragte ich nach “passiert das erst beim zweiten Mal”.
Nun ist es aber so, dass der Script-Befehl midiOutOpen intern nachhält, welches Gerät bereits geöffnet ist, und den zweiten Aufruf dann einfach ignoriert. Also gar nicht erst einen Windows-API-Aufruf durchführt, und daher auch keine Fehlermeldung erzeugt.
Daher stehe ich gerade etwas auf dem Schlauch, warum das passieren sollte.