Author Topic: PreenFM2 is sending me NRPN dumps four times in row  (Read 91 times)

feijai

  • Team member
  • *
  • Posts: 25
    • View Profile
PreenFM2 is sending me NRPN dumps four times in row
« on: July 26, 2017, 05:43:30 PM »
 :o

I have identified a strange and very frustrating bug in the PreenFM2's response over USB MIDI. 

When my program (written in Java) sends a single NRPN 127/127 (data=1) over USB MIDI, most of the time my PreenFM2 box responds with *four* identical NRPN parameter dumps.  I've been spying on the MIDI data results using MIDI Monitor and have verified that only a single NRPN request is being made.  This is frustrating because the pfm2Editor doesn't seem to trigger this even though it's sending the same exact data.

Making things even weirder, when you connect the PreenFM2 over USB MIDI (on OS X, I'm running 10.9.5) it sets up a virtual connection TO ITSELF, so it's routing its own NRPN data back to itself, which is definitely not right.

I have also tried talking to the PreenFM over 5-pin DIN MIDI using a USB MIDI interface (a Tascam US-2x2).  This works perfectly: I always get back one NRPN parameter dump per request of my program.  The Tascam also does not set up a virtual connection to itself (nor do other devices, such as my Blofeld, BeatStep, or MicroSampler).

This tells me that with a fairly high probability there is a bug in the PreenFM2's USB MIDI driver or its behavior when over USB MIDI; because there is no difference between my MIDI stream and pfm2Editor: the only difference is that they have different USB MIDI labels.  And further, the PreenFM2 behaves correctly over 5-Pin DIN.

This is a really frustrating bug.
« Last Edit: July 26, 2017, 07:39:34 PM by feijai »

feijai

  • Team member
  • *
  • Posts: 25
    • View Profile
Re: PreenFM2 is sending me NRPN dumps four times in row
« Reply #1 on: July 29, 2017, 05:05:10 PM »
I am rescinding this bug report.  Though I could get it to reproduce reliably the whole day under many circumstances, the next day (and on) I have not seen the error again.  So I am going to assume for now that it was an operating system problem.  But if it comes back I'll try to find a repeatable example.