Newbie attempting to create Vecoven 4.X Roland JX10 presets

7 posts / 0 new
Last post
wjmwpg's picture
Newbie attempting to create Vecoven 4.X Roland JX10 presets

I posted this question to the Yahoo BC2000 group, but having discovered that there's a forum here at Mountain Utilities I figure it probably makes more sense to have this conversation here as it is BCmanager specific. 

I followed Royce's advice from the Yahoo group and had a good look at the JX8p preset made by Rainer, and read his text notes as well. Feeling comfortable I loaded his preset into BCmanager and decided to completely re-edit his preset instead of creating one from scratch. 

The snag I've hit is when I attempt to change the relevant sysex under the Custom Output column. I can get myself to the window that says BCR2000: Preset 1: Encoder 1: Line 1, which shows the sysex string broken down into ten columns. Then I'm clicking the button marked (Edit All Output Items As a Single Line of Text). This opens yet another window called Output Statement. When I enter the sysex string for my JX10 parameter and hit the OK  button I get this popup message: Error 10: Invalid numerical argument

I'm guessing that this might be occurring because Rainer's sysex string contained 10 elements ( F0 41 36 0f 21 20 01 0B VAL F7 ) whereas the sysex string I'm trying to replace it with contains 11 ( A F0 41 39 00 24 20 01 0B VAL F7 ). The tone parameter sysex for my JX10 all begin with A or B to denote whether the parameter in question is for the Upper or Lower tone (not an issue with the JX8p). 

I thought that perhaps adding an 11th column to the BCR2000: Preset 1: Encoder 1: Line 1 window's ten sysex columns might solve the issue, but when I attempt to do that by hitting the Insert New Item button I get a window called Custom output item 1, that has many options beyond my sysex knowledge to choose. 

*Edit: I added an 11th column to the top of the ten, and set it to hex A (0A), but I still got the Error 10: Invalid numerical argument when trying to add my sysex string afterward. 

Any advice/ideas welcome! Either way I'll be back at it tomorrow with fresh eyes. 


Royce's picture

Hi James

The "A" is not a hexidecimal number ( 01 02 03 04 05...08 09 0A 0B 0C... FC FD FE FF)

A Sysex message is F0 data F7

So it starts with F0 and ends in F7 and you can have any number of data bytes inbetween , BUT each piece of data is always less than 80 so 7F (= 127) is the biggest data number.

The "val" is a special BCR word meaning the current value of the control.

So your sysex should be

F0 41 39 00 24 20 01 0B val F7

The A or B destination is in the sysex data itself. The "A" in the manual is just for humans. 8)

All the best


wjmwpg's picture

Bah ha ha ha ha!!! What a stupid mistake! blush

I thought it was very strange so I put a 0 in front of the A to make it 0A, but I see now that the A and B sysex strings are actually different in the 7th data byte (01 for Upper and 02 for Lower). 

Thank you for your patient and clear explanations. Excited to get back to it tomorrow. 

Mark van den Berg
Mark van den Berg's picture

Some clarification of the "Output statement" dialog box:
By default, this dialog box expects decimal numbers, and only accepts hexadecimal numbers if they are preceded by "$".
So simply "F0" leads to "Error 10: Invalid numerical argument"; you should use "$F0" instead.
Of course this is inconvenient if you want to paste a long sequence like "F0 7D 00 00 00 00 00 F7" (e.g. pasted from a manual or a hexadecimal editor): you'd have to add each $ manually.
So that's what the "Paste bare hex sequence" is for: as its tooltip explains, it inserts these $ automatically in front of each "word". Unfortunately this also turns "val" into "$val", so you should then remove that one again manually!

wjmwpg's picture

Ahhh, good to know Mark - thanks. On top of everything else that I was doing wrong, I was using "Paste bare hex sequence" to enter the JX10 sysex and not removing the $ from $val, so even with Royce's clarifications above I still would have had the error 10 issue had you not pointed this out. Thanks for saving me one more step of confused question asking! ;)

wjmwpg's picture

A big thank you to Mark and Royce for their help. Took a couple of days to get my Vecoven 4.X OS + PWM upgraded Roland Super JX editor made with BCmanager. It spans 5 Presets to encompass all the parameters, but it works like a charm and really makes editing the JX10 a breeze now. BCmanager was daunting at first, but once I started working it all made sense quite quickly and was a breeze after the Preset was done. You'll be seeing a donation next payday for sure! ;)

Mark van den Berg
Mark van den Berg's picture

It seems to me that your story is a typical example of someone being confronted with several new things simultaneously, such as the BCR itself, BCL (the BCR's language), your Roland's SysEx commands and BC Manager.
So it's little wonder you were overwhelmed at first.
For instance, if you had known BCL before starting to use BC Manager, you might have noticed immediately that val should not be turned into $val by the "Paste bare hex" operation.

It's kind of fascinating:
When I released BC Manager's first version in 2008 it came with no manual, so people complained about that.
Then when I did write a manual, they (rightly) complained it contained "just a list of features".
So over the years I've added setup sections, a FAQ section etc.
Then someone complained there were no screenshots, so a few years ago I added those as well.
But I've come to realize that more documentation (no matter how informative) by definition causes people to feel more overwhelmed. So finally there becomes a need for a "where-to-find-what" document, but of course that also adds to the amount of documentation...

Anyway, it's good things have worked out for you.