# Patch Parsing tool - testing and help needed

**URL:** <https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277>\
**Category:** Developers\
**Created:** [January 14, 2022, 2:47pm UTC](https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277 "2022-01-14T14:47:24Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![NewIgnis](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/newignis/32/767_2.png) [@NewIgnis](https://forum.electra.one/u/NewIgnis)\
**Post date:** [January 16, 2022, 7:06pm UTC](https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277/21 "2022-01-16T19:06:52Z")

</div>

Hi Martin,

something very relevant: if you assign bits or bytes to a control, and then change the control (type, paramter number, or simply delete it) then this assignment remains in place, but you can’t delete that assignment anymore, unless you remeber the type and number that control had.

What also would be of help: when you click on assigned bits, the app should show you to what control it has been assigned to.

---

<div class="post-metadata">

**Author:** ![martin](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/martin/32/145_2.png) [@martin](https://forum.electra.one/u/martin)\
**Post date:** [January 17, 2022, 7:46am UTC](https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277/22 "2022-01-17T07:46:42Z")

</div>

> [@NewIgnis](#):
>
> Next suggestion: in a preset with a lot of controls you need to know the placement of the control (page and position on the page) in the patch editor to work quickly.

Yup, I ran into the same problem. When I worked on my presets I have eventually done it in two steps. In the first step I use a convention when the names are always unique. eg. VCF KEY AMOUNT, VCA KEY AMOUNT. When all the SysEx work is done. I will start working on the layout, using groups, and nicer control names. It is a work around though. What I am thinking about is introducing an extra attribute ‘Category’ that could be used to categorize the parameters. And indeed, display the info about the page in the list.

This actually brings us closer to the original idea of the Instrument files. If there was a way to create and edit the Control directly in the Patch editor, one could work on the synths implementation without thinking about the layout, merely preparing a palette of the controls that could be used later.

---

<div class="post-metadata">

**Author:** ![NewIgnis](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/newignis/32/767_2.png) [@NewIgnis](https://forum.electra.one/u/NewIgnis)\
**Post date:** [January 17, 2022, 9:31pm UTC](https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277/23 "2022-01-17T21:31:56Z")

</div>

> Hi Martin,
> 
> something very relevant: if you assign bits or bytes to a control, and then change the control (type, paramter number, or simply delete it) then this assignment remains in place, but you can’t delete that assignment anymore, unless you remember the type and number that control had.
> 
> What also would be of help: when you click on assigned bits, the app should show you to what control , but certainly what parameter number, it has been assigned to.

In the mean time I run into that problem. Changed a parameter number, but totally forgot which one it originally was, then discovered I already had set the parsing… This time couldn’t guess the old values. So I sawed off the branch I was sitting on 😏

---

<div class="post-metadata">

**Author:** ![studiobischof](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/studiobischof/32/430_2.png) [@studiobischof](https://forum.electra.one/u/studiobischof)\
**Post date:** [January 17, 2022, 9:46pm UTC](https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277/24 "2022-01-17T21:46:52Z")

</div>

Now I have a question on how to go on with “complex” parameters that are handled differently in SysEx vs. the Midi implementation.

The editor works fine for normal parameters reaching from 0-127 or 0-63 🙂 But the Shruthi handles negative values a little bit different in SysEx compared to the CC Midi values… i.e. the OSC Range goes from -24 to +24 and via Midi CC from 0 to 127. So on the Electra I scaled the Midi CC values from -24 to +24 for display.

In SysEx I get these Values for -24 (vs. CC Midi 0)

 ![Bildschirmfoto 2022-01-17 um 22.04.03](https://europe1.discourse-cdn.com/flex017/uploads/electraone/original/1X/9e8046ed98b6bb0d9c27fda7a67c5b4508555ae5.png)  
For -1 (vs. CC Midi 61)  
 ![Bildschirmfoto 2022-01-17 um 21.55.56](https://europe1.discourse-cdn.com/flex017/uploads/electraone/original/1X/66506ad305268049559807e1ec220cc76cbe298e.png)  
For +1 (vs. CC Midi 66)  
 ![Bildschirmfoto 2022-01-17 um 21.57.09](https://europe1.discourse-cdn.com/flex017/uploads/electraone/original/1X/083153c3b6db6b17df1c8efd4a7341234bf5faf2.png)  
etc.

My noob question: Can I handle these values via the editor, editor + json rules or is this a case for lua to convert them into usable values to display?

Thanks for some clarification again 🙂

---

<div class="post-metadata">

**Author:** ![NewIgnis](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/newignis/32/767_2.png) [@NewIgnis](https://forum.electra.one/u/NewIgnis)\
**Post date:** [January 17, 2022, 10:41pm UTC](https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277/25 "2022-01-17T22:41:05Z")

</div>

@Martin,  
The first series of tests are finished. I’ve made a really useful Blofeld Preset with patch request. The few remarks I have, are already documented. Brilliant Martin ! 👌

Next try-out will be a Matrix 1000, where I might run in the same remarks as @studiobischof made here above.

---

<div class="post-metadata">

**Author:** ![martin](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/martin/32/145_2.png) [@martin](https://forum.electra.one/u/martin)\
**Post date:** [January 18, 2022, 7:58am UTC](https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277/26 "2022-01-18T07:58:53Z")

</div>

@NewIgnis @studiobischof I will dive into it today. I was busy with other stuff last few days. I will try to tackle all suggested points. And I will look at the shruti’s midi implementation.

---

<div class="post-metadata">

**Author:** ![studiobischof](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/studiobischof/32/430_2.png) [@studiobischof](https://forum.electra.one/u/studiobischof)\
**Post date:** [January 18, 2022, 8:32pm UTC](https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277/27 "2022-01-18T20:32:35Z")

</div>

Thanks @martin!  
I will try to use NRPNs instead of CCs for the OCS Range. Maybe that does the trick…  
The documentation is here [Mutable Instruments | Shruthi - User Manual](https://mutable-instruments.net/archive/shruthi/manual/#param)

---

<div class="post-metadata">

**Author:** ![L56](https://avatars.discourse-cdn.com/v4/letter/l/a88e4f/32.png) [@L56](https://forum.electra.one/u/L56)\
**Post date:** [January 18, 2022, 8:36pm UTC](https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277/28 "2022-01-18T20:36:11Z")

</div>

I tried it with My SY85

I added the request via JSON anyway as for a the patch dump request for the SY85 is 29 bits long. Though I can see how the “add byte”-function is nice for synths with shorter requests 🙂

- I could find no function to rename the request? First one is “Default Request” and next one created is “Additional Request #1” etc. I also could not find in the request names in the JSON tab.

(And to answer an earlier question “Why are there more request possible”: because some synths have different “structures”. The SY85/TG500 for examples has voices, performances, drum voices plus more.)

- Line / byte numbering: at first I thought it was missing. But after you define the header you see the bytes beneath it starting at 0. Though this column was empty initially and it was not obvious you should click the empty column to set the header as the columns also have no headers.

---

<div class="post-metadata">

**Author:** ![martin](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/martin/32/145_2.png) [@martin](https://forum.electra.one/u/martin)\
**Post date:** [January 18, 2022, 8:40pm UTC](https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277/29 "2022-01-18T20:40:19Z")

</div>

Just release a minor update:

 ![image](https://europe1.discourse-cdn.com/flex017/uploads/electraone/original/1X/1dfb1e611a159cbbc56cd56f3a6c847e6b0dd6de.jpeg)

1. non-existent controls / parameters are shown when the bits/bytes are hovered or selected. It provides a way to remove them.
2. Received SysEx message can be cleared now.

---

<div class="post-metadata">

**Author:** ![martin](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/martin/32/145_2.png) [@martin](https://forum.electra.one/u/martin)\
**Post date:** [January 18, 2022, 8:43pm UTC](https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277/30 "2022-01-18T20:43:22Z")

</div>

> [@L56](#):
>
> I could find no function to rename the request? First one is “Default Request” and next one created is “Additional Request #1” etc. I also could not find in the request names in the JSON tab.

No available yet, it is planned to be added though.

@L56 would you share your preset with me (a URL link)? I have TG500 next to me I would use it for further work on the Patch dump editor. I would be running into the same issues as your are then 🙂 Thx!

---

<div class="post-metadata">

**Author:** ![L56](https://avatars.discourse-cdn.com/v4/letter/l/a88e4f/32.png) [@L56](https://forum.electra.one/u/L56)\
**Post date:** [January 18, 2022, 8:49pm UTC](https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277/31 "2022-01-18T20:49:08Z")

</div>

@martin Sure, but it only has the cuttoff control for now. Well almost. My bits do not want to turn blue. Trying to figure out what I am doing wrong.  
Edit: found it. Forgot to click the parameter on the left first. You said almost anyone could do this. I almost proved that statement. Almost everyone

From before I tried this new way I have a partial editor but that was made by parsing a simplified midi data sheet with a python script to output JSON arrays which I would then copy into the electra one editor. Don’t ask. 🙂

---

<div class="post-metadata">

**Author:** ![martin](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/martin/32/145_2.png) [@martin](https://forum.electra.one/u/martin)\
**Post date:** [January 18, 2022, 9:11pm UTC](https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277/32 "2022-01-18T21:11:43Z")

</div>

> [@studiobischof](#):
>
> The editor works fine for normal parameters reaching from 0-127 or 0-63 🙂 But the Shruthi handles negative values a little bit different in SysEx compared to the CC Midi values… i.e. the OSC Range goes from -24 to +24 and via Midi CC from 0 to 127. So on the Electra I scaled the Midi CC values from -24 to +24 for display.

I took a look at Shruti’s implementation. And yes, the patch dump is using different representation for numeric values than the CC/NRPN does. It comes out of the fact that the SysEx patch dump is merely a transfer of Shruti’s memory image and the negative numbers are in two’s complement format. The CC/NRPN always uses range 0…127. I do not think there is way to handle this without Lua now. I will give it some thinking time, I am sure there might be a simple way to tackle that.

---

<div class="post-metadata">

**Author:** ![studiobischof](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/studiobischof/32/430_2.png) [@studiobischof](https://forum.electra.one/u/studiobischof)\
**Post date:** [January 19, 2022, 10:18am UTC](https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277/33 "2022-01-19T10:18:18Z")

</div>

Thanks for the feedback!  
Maybe a little “LUA Rule Module” in the editor for value transformations.

---

<div class="post-metadata">

**Author:** ![NewIgnis](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/newignis/32/767_2.png) [@NewIgnis](https://forum.electra.one/u/NewIgnis)\
**Post date:** [January 19, 2022, 11:24am UTC](https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277/34 "2022-01-19T11:24:42Z")

</div>

works well; took me 2 minutes to correct the ‘lost controls’

---

<div class="post-metadata">

**Author:** ![studiobischof](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/studiobischof/32/430_2.png) [@studiobischof](https://forum.electra.one/u/studiobischof)\
**Post date:** [January 19, 2022, 1:40pm UTC](https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277/35 "2022-01-19T13:40:48Z")

</div>

@martin I had some time to look into the shruthi midi implementation and the ambika again. It turns out that my ambika sends and recieves nrpns that have the same values as the structure in the sysex dump. So I can readout the sysex correctly via the editor and update my electra preset 🥳

The shruthis only sends midi cc’s out - they seem to have changed from nrpns to cc after some user complaints. So it looks like only the shruthi need this extra work to convert the sysex values to midi values that match the control in the electra… And if I sacrifice the bi-directional midi feedback between the shruthi and electra knobs I can use the nrpns controls on electra that are understood by the shruthi and work with the dumps correctly.

---

<div class="post-metadata">

**Author:** ![studiobischof](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/studiobischof/32/430_2.png) [@studiobischof](https://forum.electra.one/u/studiobischof)\
**Post date:** [January 19, 2022, 3:50pm UTC](https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277/36 "2022-01-19T15:50:58Z")

</div>

@martin One nice sysex feature would be to see the already linked parameters in the patch editor - maybe as a greed light in the parameter list

 ![Bildschirmfoto 2022-01-19 um 17.15.21](https://europe1.discourse-cdn.com/flex017/uploads/electraone/original/1X/f160cf37f290e9a042575b207dfd64f25adf4c50.png)

It would also help in the normal editor - maybe just a text like “Parameter linked to SysEx” or a dot next to the parameter device graphic. I had some trouble having a good overview which parameters I already linked… But working with the electra display and the patch editor search works nicely in the end.

And when creating some new parameters it would help to directly jump from the normal editor to the selected parameter in the patch editor for fast linking to the sysex…

(updated the post)

---

<div class="post-metadata">

**Author:** ![studiobischof](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/studiobischof/32/430_2.png) [@studiobischof](https://forum.electra.one/u/studiobischof)\
**Post date:** [January 19, 2022, 7:02pm UTC](https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277/37 "2022-01-19T19:02:25Z")

</div>

Just published the new [Shruthi Preset with Patch Request](https://app.electra.one/preset/WOnJLslj4i4j3XCL8j8t) 🥳  
Update: Also with the complete mod matrix read out!

And the Ambika preset with patch parsing [is also online](https://app.electra.one/preset/5CWnT2gAayp9mrN0fSWe).  
Update: Also with the complete mod matrix read out 🙂

@Martin, I had one problem: Not changing the patch editor back to “disable midilearn” when closing the editor left the electra unresponsive to patch request till I went back into the editor and switched on/off again. Maybe you can disable midilearn with closing the patch editor view.

Thanks again for the great sysex simplifier!

---

<div class="post-metadata">

**Author:** ![martin](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/martin/32/145_2.png) [@martin](https://forum.electra.one/u/martin)\
**Post date:** [January 20, 2022, 9:27am UTC](https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277/38 "2022-01-20T09:27:18Z")

</div>

> [@studiobischof](#):
>
> @Martin, I had one problem: Not changing the patch editor back to “disable midilearn” when closing the editor left the electra unresponsive to patch request till I went back into the editor and switched on/off again. Maybe you can disable midilearn with closing the patch editor view.

It is actually expected behaviour. I just need to make it somewhat more obvious. When Electra is the MIDI Learn mode, it transforms all incoming data into special messages and sends them to the editor app. The actual message is not processed as in normal mode, ie. patch request not processed, controls not updated, etc. Writing this I think it would be quite handy if Electra showed info that it is in the MIDI Learn mode on the LCD.

---

<div class="post-metadata">

**Author:** ![martin](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/martin/32/145_2.png) [@martin](https://forum.electra.one/u/martin)\
**Post date:** [January 20, 2022, 9:42am UTC](https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277/39 "2022-01-20T09:42:54Z")

</div>

Another update based on your feedback:

1. It is possible to create categories of controls and assign them controls. Categories are meant to improve organization of controls in the preset. They do not, however, affect the preset data that is transferred to the controller. It means, the controller does not display / work with the categories.
2. As categories are meta information and therefore they are not part of the .epr export, I have added a new option to export whole project. The project is a single file containing the preset, Lua script, and meta info, such as categories, description, etc. If you want to make a local backup of your preset, exporting the project is the way to go.
3. Page names and categories are shown on the list of parameters in the Patch editor / Responses tab. This is to make it easier to get oriented and make distinction between controls that have identical name.

ok, a few screenshots to get you going:

1. Exporting preset and the project  

2. Importing presets and projects. Note, the app will handle upload of both preset and project files.  

3. A new option to edit Categories  

4. Assigning a category to a control  

5. Using page names and catagories in the Patch editor  

Please note, I am still a bit relaxed about the UI/UX, I will tackle that at the later stage.

---

<div class="post-metadata">

**Author:** ![studiobischof](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/studiobischof/32/430_2.png) [@studiobischof](https://forum.electra.one/u/studiobischof)\
**Post date:** [January 20, 2022, 10:12am UTC](https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277/40 "2022-01-20T10:12:18Z")

</div>

Ah, ok, got it about the midi learn mode! For UX sake: Is there a reason to have it activated besides the patch editor?

[Previous page](https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277.md?page=1)

[Next page](https://forum.electra.one/t/patch-parsing-tool-testing-and-help-needed/1277.md?page=3)
