Forum Replies Created
-
AuthorPosts
-
The first scenario is when I read sysex data from the synth and I need to assign those values to my modulators, it takes a while… Same when I do the other way around (I’m not using the snapshot because I’m not using the modulator sysex). Also, I’m planning on having a library of around 3000 patches with the editor, so parsing that file will take some time, as is "searching" through it for criteria… I could always hide most of the panel and only display an information screen, using an horizontal modulator as the progress bar ” title=”Wink” />
Thanks for the quick answer, I assumed that each method was living through it’s own sandbox… so far the ide has been great, I’ve got all my GUI done (at least 384 modulators + some more with as much labels) Part of the MIDI/SYSEX is done or underway, It’s going well…
Well, as for the LUA console, I actually did quite a few things there by going through a loop on the modulators, quite handy… I’ve also seen that it can add properties to objects (if you make a mistakes, etc) which can be a good thing or not… n’way. I’ve found that adding 4 sets of modulators for 4 tones was easier by editing the xmls, once the first set was done, it was a matter of find and replace ” title=”Wink” />… I still need to fix all those vstindex ” title=”Wink” /> but it was quick ” title=”Wink” /> Also, I’ve sorted the xmls files so it’s easier to locate an issue that way, I’ve got all my groups with all my labels and afterward my modulator s;)
I’ve already tackled a lot of the issues in advance (because your IDE already provide MOST of what we need), was able to figure out the checksum calculation using your Roland checksum just by changing the Z value (don’t know if it suceeded randomly or if it makes sense, but it works so far)… my targets are also Rolands, so it kind of make sense. I suppose the Z value is a mean to determine the array size of hex parameters on which to calculate the checksum… I’ve also figure out the proper way to calculate values ranging from -50 to 50 in the gui but 0-100 in the sysex, etc. So far I’ve been able to figure out mostly everything.
I’ve even managed to modify the xml files directly for majors modifications.. I’ve also sorted the modulators/labels in the xml files by sections… I’ve created multiple panels and will be "merging" them when ready ” title=”Wink” /> I started last sunday and spent a little bit of time on it…
THANKS !!! Wow ” title=”Wink” /> Btw, does my thinking make sense ? doing it like that… the other reason I’m doing it like that is that I have around 50+ parameters per tone, and I have 4 tones + 1 other one I need to keep for modifying more than one tone at the same time… so that makes around 200 sysex code + some others… maybe a total of 300-400 possible parameters ” title=”Wink” />.
Of course, I could use only one set of visuals for all 4 tones, but I want the user to be able to see/update each tone independantly and be able to switch from one tone to the other… I could refresh from the keyboard each time a tone is displayed which is what I might do also… I’m not there yet ” title=”Wink” />
So when I get the modulator variable in the method. I expect to write somehting like this ( I don’t know the real lui api yet so this is pseudo code)
address = modulator.CustomModulatorGroupValue + modulator.CustumModulatorIndex
sendSysex("F7 … … " + address + newValue + checksum + "F0")
The actual sending of sysex could be another "hidden" modulator ” title=”Wink” />
Thanks
Basically, I want some lua method to be responsible for sending sysex message to my keyboard instead of using the modulator sysex block.
The reason I prefer this approach is that by changing one method, I can alter the way sysex are sent and received from the keyboard and it’s far easier to edit ” title=”Wink” /> I’m planing on using the custom modulator group value (or the modulator’s ui group custom index) (GV) + custom modulator index (MI) as an the address of the sysex msg and newValue (NV) the new value…
GV+MI would be the address in two hex char… for example
GV = h52, MI = h02, NV = h64 … then sysex would be " … 00 54 64 …"
GV = h7F, MI = h05, NV = h62 … then sysex would be " … 01 05 62 …"Upon receiving sysex, I could use the same address scheme to assign value to my modulators since the unique index of each of my modulator would be the direct address of the sysex, for example… upon receiving address 01 05, I would direct the value to modulator index # 132… All other non-sysex object would be in higher indexes not affected…
Then assigning received sysex would simply be a matter of looping through the array and sending the value of the dump to the modulators instead of referencing each modulators…
Basically I’m trying to target both a famous synth from the 90s + it’s rack version (that had more parameters) with the same panel ” title=”Wink” />
I don’t know if it makes sense but I know it does for me ” title=”Wink” />
-
AuthorPosts