BCR2000->Button->NRPN->Prophet 12

10 posts / 0 new
Last post
WytchCrypt
WytchCrypt's picture
BCR2000->Button->NRPN->Prophet 12

Hi all,

new guy here...since the BCR2000 hardware button programming doesn't send full 14 bit NRPN messages, I'm using the editor to write "Custom output" button code to send NRPN 14 bit values for on/off parameters to the DSI Prophet 12...well, I'm trying to anyway!  Been researching for days and I'm pretty confused at this point so I need a quick example of how to do one correctly and I'll be ready to roll.  

Here's what I know...

1) I'll be using the "Custom output" tab for a button

2) I press "+" to insert a new line

3) I think I press "T" then enter in 4 hex digit codes...but I'm not sure about that and I have no idea what to enter or how to determine that.

So, for example, if I want to setup a BCR2000 toggle button to send NRPN code 11 (Osc1 Sync) on or off to midi channel 1...could someone be so kind as to tell me what I enter in the "Custom output" tab and how I do it?

Thanks!

Dennis

 

WytchCrypt
WytchCrypt's picture

Great news...I got if figured out.  I've been able to send the proper custom output sysex to turn the P12 parameter for NRPN 11 on and off.

On: $B0 $63 $00 $62 $0B $06 $00 $26 $01

Off: $B0 $63 $00 $62 $0B $06 $00 $26 $00

Now I'm wondering if the button toggle feature is available in the custom output mode?  I've been able to turn the parameter on OR off from a single button but not toggle through both on AND off states with a single button.  Is this possible?

Thanks!

WytchCrypt
WytchCrypt's picture

OK...so after a couple more hours I've got a cool solution to the toggle problem.  Couldn't find a way to assign 2 unique sysex strings to a button in the BCR2000 custom output editor which would create a toggle button...but I read that the NRPN codes work by 1st alerting the NRPN parameter that a change is coming, then by sending the new value.  So what I did was break up the NRPN sysex into 2 parts.  The 1st button sends NRPN that selects the P12 on/off parameter I want to change, then I set up an "On button" and "Off button" which only sends the "1" or "0" end of the 14 bit NRPN message which actually changes the on/off parameter on the P12.  This is much more desirable than having to dedicated 2 buttons to turn each parameter on/off.  Here's an example:

Button 1 sends the generic parameter off by sending: $B0 $26 $00
Button 2 sends the generic parameter on by sending: $B0 $26 $01
Button 3 wakes up OSC1 Sync by sending:                $B0 $63 $00 $62 $0B $00
Button 4 wakes up OSC1 Wave Reset by sending:      $B0 $63 $00 $62 $0C $00     

So button 3 or 4 (or however many on/off parameters I want to control) tells the P12 that this parameter needs to wake up and listen for the next NRPN message.  Button 1 or 2 then tells that parameter to turn on or off.  This way I can control say, 10 P12 on/off parameters with 12 buttons instead of the 20 required by every on/off parameter having it's own dedicated on/off button  ;)

Mark van den Berg
Mark van den Berg's picture

I read your original post yesterday evening close to midnight, so I decided to postpone answering until the morning.
But now I see that you've figured things out yourself - if only everybody was as smart, haha...

Any remaining questions?

WytchCrypt
WytchCrypt's picture

Hi Mark,

  thanks for the quick reply!  Actually I do have one other question on this issue.  Am I correct that using the "Custom output" method of sending button sysex means I can't setup a toggle button?  I'd love a single button to be able to send a separate sysex string for button on/button off, but I've tried all the different mode options in the custom output tab and it seems none support this behaviour.  I know this is possible in BCL, but since I'm sending 14 bit NRPN it doesn't seem to me that .easypar can do both.  Is there any way you know of to make this toggle happen via the editor? 

Thanks!

Dennis

WytchCrypt
WytchCrypt's picture

Wanted to send a quick update...I now have 14 bit NRPN toggle buttons working!  Got a great helping hand from someone on the Prophet12 forum who suggested I use the "val" keyword in my custom output button code.  For NRPN code 11, I'm now sending:

$B0 $63 $00 $62 $0B $00 $26 val

and by setting the Custom output tab "Toggle" option and setting the "Value 1" knob to 0 and "Value 2" to 1, the button now sends alternate on and off messages to the NRPN code.  

14 bit NRPN buttons!  Hurray!

Mark van den Berg
Mark van den Berg's picture

So you:ve done it again: answering your own question before I got the chance to...? I'm starting to feel superfluous...

Just to bring up a few points you may or may not already know by now:

  • As far as I know, BC Manager allows the user to make anything functionally meaningful in BCL. In other words: I don't know any meaningful BCL code that does something that you can't define via BC Manager's button/encoder dialog boxes.
  • Standard (.easypar) and custom (.tx) output can be defined together on the same button/encoder. See section 14.8 of BC MIDI Implementation.pdf.
  • A button/enocder on the BCR will only respond to incoming MIDI messages relating to its standard (.easypar) definition. But of course this is a void drawback if the receiving device (e.g. an old hardware synth) doesn't output parameter values anyway...
  • Coming back to your earlier question concerning the Mode parameter: this parameter is described in-depth in section 15.9 of BC MIDI Implementation.pdf.
  • Sometimes it's possible to do interesting things with the two button states via ifp and ifn. See section 14.6.4 of BC MIDI Implementation.pdf. I'm not sure whether this applies to your situation though.

Hope this helps,
Mark.

WytchCrypt
WytchCrypt's picture

Hi Mark,

  definitely not superfluous!  Your tool just enabled me to unlock the full potential of my BCR2000 and in appreciation I just sent you a donation wink  Also, as a former software engineer myself, I would encourage any BC Mgr users who haven't yet done so to send something as well.  Writing a tool as comprehensive as your editor is a massive undertaking and I appreciate the work you put in...so I could put the work in on my side to make all those buttons and rotaries actually work with the Prophet 12!

Anyway, thanks for the additional info and for a fantastic piece of software!

 

Best regards,

Dennis

Mark van den Berg
Mark van den Berg's picture

Thanks very much for your generous donation!

Mark.

WytchCrypt
WytchCrypt's picture

You deserve it Mark...great editor cool

Dennis