musikinformatik / SuperDirt

Tidal Audio Engine
GNU General Public License v2.0
525 stars 76 forks source link

midinote no longer works #186

Closed kindohm closed 4 years ago

kindohm commented 4 years ago

With the latest superdirt 2f31f42be32113d0add2a6f8e573e7ee4ca2765d, I am no longer able to play MIDI notes with midinote:

d1 $ midinote "42" # s "midi"

There is no error displayed in the console, but the configured device does not play the note. I have not yet used a MIDI inspector to see if any MIDI data is being sent at all.

Reverting to the previous commit I was using (e2d4619) resolved the issue.

yaxu commented 4 years ago

I'm seeing the same.

n works, e.g. once $ n "0" # sound "midi"

However note doesn't work either.

yaxu commented 4 years ago

Ok I'm happy with this now. The following is the behaviour I'm now seeing:

-- sends no midi (with no errors)
once $ s "midi"

-- sends note 64 on (and off)
once $ n 4 # s "midi"

-- also sends note 64 on (and off)
once $ note 4 # s "midi"

-- sends note 4 on (and off)
once $ midinote 4 # s "midi"

-- sends cc message (nonote)
once $ cc "30:30" # s "midi" 

-- sends cc message *and* midi note 64 on (and off)
once $ s "midi" # cc "30:30" # n 4

-- sends note 64 on/off (note wins)
once $ midinote 4 # note 4 # s "midi"

-- sends note 4 on/off (midinote wins)
once $ midinote 4 # n 4 # s "midi"

-- sends note 64 on/off (just once)
once $ n 4 # note 4 # s "midi"