Determine if data is available to read from MIDI device



tf = hasdata(device) returns logical 1 (true) if there is data available to read from the mididevice specified by device. Otherwise, it returns logical 0 (false).


collapse all

Create a mididevice object to interface with your MIDI device. Query your system for available MIDI devices.

  MIDI devices available:
  ID  Direction  Interface   Name
   0   output    MMSystem   'Microsoft MIDI Mapper'
   1    input    MMSystem   'nanoKONTROL2'
   2    input    MMSystem   'USB Uno MIDI Interface'
   3   output    MMSystem   'Microsoft GS Wavetable Synth'
   4   output    MMSystem   'nanoKONTROL2'
   5   output    MMSystem   'USB Uno MIDI Interface'
device = mididevice('USB Uno MIDI Interface')
device = 
  mididevice connected to
     Input: 'USB Uno MIDI Interface' (2)
    Output: 'USB Uno MIDI Interface' (5)

As soon as your mididevice object is created, it begins listening for MIDI messages and storing them in a buffer. When you call midireceive, MIDI messages are retrieved from the buffer and returned. You can use hasdata to query whether your mididevice object buffer contains unread MIDI messages.

ans = logical

Input Arguments

collapse all

Specify device as an object created by mididevice.

Introduced in R2018a