gibt es eine Möglichkeit, die Anzahl der schon gesendeten oder noch zu sendenden SysEx Bytes zu ermitteln ?
Folgende Prozedur sendet den Inhalt des SysEx Puffers.
MIDI Device wurde schon vorher geöffnet, SysEx Puffer und Länge ist definiert und die Übertragung funktioniert - ich möchte aber zusätzlich ein Fortschrittsbalken:
Code: Alles auswählen
Procedure SysexUpdateStart()
SysexUpdate.MIDIHDR
SysexUpdate\lpData=*Sysex
SysexUpdate\dwBufferLength=SysExOSLength
SysexUpdate\dwBytesRecorded=SysExOSLength
If midiOutPrepareHeader_(hMidiOut,SysexUpdate,SizeOf(MIDIHDR))=#MMSYSERR_NOERROR
Debug "midiOutPrepareHeader"
EndIf
If midiOutLongMsg_(hMidiOut,SysexUpdate,SizeOf(MIDIHDR))=#MMSYSERR_NOERROR
Debug "midiOutLongMsg"
EndIf
While midiOutUnprepareHeader_(hMidiOut,SysexUpdate,SizeOf(MIDIHDR))=#MIDIERR_STILLPLAYING : Wend
Debug "midiOutUnprepareHeader"
Debug SysexUpdate\dwBytesRecorded
EndProcedure