While cleaning up my editor, I have found the following bugs in the PreenFM2 or in the official patch editor. They vary from the serious to the minor. Again, I am using PreenFM2 Firmware 2.07 and pfm2 editor 2.00.
1. Sending NRPN to change the voice count to > 14 crashes the synth.
2. Go to arpeggiator menu when the clock is OFF. Turn it to Int or Ext. Change the Latch, Dirction, or *especially* Pattern via NRPN, and crazy things happen on the screen. Lots of japanese characters. For example: boot the synth. Go to arpeggiator. Set to "Internal". Immediately try to set Pattern via NRPN.
3. Often when the synth receives an Arpeggiator Pattern or Arpeggiator Division NRPN request, it always goes to the maximum value (User 4, or 1/96). For example: boot the synth. Go to arpeggiator. Set to "Internal". Go to the next page. Then try to set Pattern via NRPN.
4. The Operator Frequency as displayed in the synth is often 0.01 off of what is displayed on the PreenFM2 editor.
5. The Fixed Operator Frequency (+/- fine tune) is 1 off of what was provided via NRPN about half the time. Perhaps a rounding error?
6. Changing the Operator Fixed/Keyboard flag via NRPN does not refresh the screen for the frequency and fine tune.
7. Modulation sources via NRPN are not in the same order that they're displayed on-screen. The order of the final seven sources (in NRPN) is Note 1, P1, P2, P3, P4, Note2, Breadth.
8. Modulation destinations are not in the same order that they're displayed on-screen. The order of the final 14 destinations (in NRPN) is Rel*, mx1, 2, 3, 4, l1fq, 1, 2, e2si, s1ga, 2, Fltr, o*Fh, Dec*. Still not sure what o*Fh, Gate, or Dec* are :-(.
9. If you're at 1.00 in LFO frequency, and you turn the encoder one step to the left, you don't go to 0.99. You go to 0.90.
Also a few final brain-dumps and I'm out of stuff:
10. Writing an editor would very much benefit from a single new NRPN command: to write the current edited changes of Instrument 1 to permanent patch memory. Without it, I think the only way you can save NRPN changes to patch memory is by manually going through the menus on the device. :-(
Ideally you would encode the Bank and Number as part of the command. Without encoding them (just having a simple "write" command) you could still implement a write (Bank Change, PC, NRPN dump, Write) but it'd be a little dangerous if the PC and Bank Change weren't received correctly. It'd be better to do NRPN dump, followed by Write-to-Bank-and-number.
Another useful command would be NRPN Bank and Number Query (and response).
11. When you load an instrument, it often loads with a less than maximal number of voices. For example, loading with only 6 voices even though 8 are available. In this day and age of DAWs, multitimbralism is an increasingly rare use case: the vast majority of use of the PreenFM2, I'd wager, is a single sound, with the other instruments set to 0 voices. In this majority scenario, you always would want to allocate every voice available. The only exception would be sounds meant to be monophonic, with glide. I would ask that you consider changing this behavior.
12. How does the sysex format for the "Bank" sounds differ from that of the "Combo" sounds?