Ik kan mij niet aan de indruk onttrekken dat ik nu iets heb dat werkt:
Code:
procedure TMidiOutput.SendMTC(B: Byte);
var Arr: Array[0..1] of Byte;
begin
Arr[0] := 241;
Arr[1] := B;
MidiHdr.lpData := @Arr;
MidiHdr.dwBufferLength := SizeOf(Arr);
MidiHdr.dwFlags := 0;
If MidiOutPrepareHeader(FMidiHandle, @MidiHdr, SizeOf(MidiHdr)) = MMSYSERR_NOERROR then
begin
If MidiOutLongMsg(FMidiHandle, @MidiHdr, Sizeof(MidiHdr)) <> MMSYSERR_NOERROR then
// MessageBox(Handle, 'Fout in MidiOutPrepareHeader', 'Fout', MB_OK);
end;
end;
Nog geen foutafhandeling en de MIDI poort wordt elders vooraf geopend en na afloop gesloten.
Zó eenvoudig kan het dus kennelijk zijn...
Iedereen bedankt voor het meedenken!
Bookmarks