Hi, It seems as if the handling of RPN and NRPN setting is rather broken. I had a need to implement fine tuning. [I have an unfortunate fondness for trying to play along with the oldies on Caroline Flashback (:-)), and many of the oldest are not at standard pitch.] So to handle the relevant controller messages, I tried the obvious: kcc101 ctrl7 1, 101, 0, 127 kcc100 ctrl7 1, 100, 0, 127 kcc6 ctrl7 1, 6, 0, 127 .... and expected to decode the result. (101 should be 0, 100 => 1, and 6 the desired tuning.) However, none of the statements returned anything, and instead I got the error "Unknown drum param..."! Investigating the source, it does some strange things. For a start, RPN and NRPN are not distinguished at all! They set the same variables and follow the same path. Then it fails to recognize any of the standard RPN codes, except for Pitch Bend Sensitivity. OTOH it carefully decodes some GS NRPNs and stores their values -- as controllers above 127. Retrieving the stored values doesn't seem to be possible -- ctrl7 for example won't accept controllers above 127. I eventually got myself a tuning function by using midiin, which does seem to respond to every message -- though I still see that error complaint. I can't really see why ctrl7 et al shouldn't also return any controller they might be set to. Expect the user to know what they want. In any case, the RPN/NRPN code should surely be revised. Thanks, -- Pete -- Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here