June 6, 2020 at 2:40 pm #118677
I’m trying to program my first panel, I have no coding experience so scirpt looks like nonsense to me, but everything is going pretty good except for 2 things that I don’t seem to be able to get working.
1. When I export the vst for testing only some of my controls show up as options in the automation lanes in bitwig. Most VST parameters have “export” ticked, some do show up but not others, and both appear to have correct settings. So don’t understand why one would work over another. Any ideas what I could check?
2. My vst sends midi sysex formals perfectly to my hardware, but I can’t get my vst knob to listen to that same midi data when returned by the hardware. I see sysex in and out perfectly, so think there’s something I am missing or maybe needs to be programmed to get this working. But I have no idea about scripting. An example sysex I’m trying to get working would be – f0 3e 22 11 10 00 00 34 xx f7
When I tune my vst knob using this sysex formula, my hardware filter responds accordingly. I would like the opposite to also happen when I turn the HW filter knob. I know some people have got this working, but it was all Lua scripting I think and didn’t make sense to me.
Any pointers or example using my sysex would be greatly appreciated 👍June 7, 2020 at 6:13 am #118684lecletoParticipant
- Topics: 9
- Replies: 31
- Total: 40
Hello Slurp96! Welcome to Ctrlr!!!
How do you said that is your first panel, as a developer, I wolud like to suggest that you first try made a standalone version. Yoy just have to Export as Restricted Instance. This will create a .exe file. After this works in two ways Software to Hardware and Hardware to software, go to the next step. The VST have some particularities that you can´t see in a first steps.June 7, 2020 at 10:17 pm #118693
I’m not sure I understand what you are trying to say. I have exported the panel as an exe, I setup the correct midi ins and outs, but it makes no difference.
Only the software controls the HW, the hardware doesn’t control the software. I think there’s a setting I must do in the modulator so the software listen to the HW, but I don’t know what that is.
Do you have any idea?June 7, 2020 at 11:52 pm #118687
Welcome to Ctrlr!
if needed, you may get some info in my Step by Step guide https://ctrlr.org/forums/topic/ctrlr-step-by-step-guide/
There is a limitation to 64 parameters to be exported so it might be your issue. One way to reduce is to strictly enable export when necessary.
However, you will still reach 64 pretty fast.
So, the other way is to add a ctrlr.overrides file that you place in the same folder where is installed the plugin Ctrlr.dll. Rename it to the same name of the plugin and extension overrides (in my case is “Ctrlr-VST-x64.overrides”), and set the changes listed below, otherwise you could only see 64 parameters (and none of them are related to the synth engine).
<?xml version="1.0" encoding="UTF-8"?> <ctrlrOverrides ctrlrMaxExportedVstParameters="5000" ctrlrShutdownDelay="256" ctrlrUseEditorWrapper="1" ctrlrLuaDisabled="0" ctrlrLogToFile="0" />
For your bidirectional sysex issue, it should work without any script or so.
I’m testing this with my Novation controller. when not working, check some basics:
– Start synth then panel
– check Midi Input and Midi Output settings in panel
– if sending from panel to synth is working, then your sysex is correctJune 8, 2020 at 12:09 am #118698lecletoParticipant
- Topics: 9
- Replies: 31
- Total: 40
Sorry, I understood that you are trying make VST version of panel.
“Only the software controls the HW, the hardware doesn’t control the software. I think there’s a setting I must do in the modulator so the software listen to the HW, but I don’t know what that is.”
Your software control the hardaware becasue you setted each sysex message in each correspondent modulator. From hardware to software you will have to use a Lua Method or Function that will “Called when a panel receive a MIDI message”. Your hardaware will send a “Dump” that is train of bytes that will contain all the informations that you need. The Lua function, or Lua Method will take each byte of this “train” of bytes an will associate to each modulator and this Lua Code will be called when you receive a MIDI message.
Here is the example of Dump from Roland JV-880
F0 41 10 46 12 00 08 20 00 41 2E 50 69 61 6E 6F 20 31 20 20 20 00 04 5B 59 00 01 5A 10 00 00 00 08 7F 40 3E 02 00 00 00 00 00 5D 3A F7
Here is an example of Lua Code Called when panel receives a MIDI message:
assignValues = function(midiMessage) commonData = midiMessage:getData():getRange(1,44) --get string that contains common patch data -- #### Common Patch Data Section #### Common = commonData:getByte(6) if Common==Ox20 then panel:getModulatorByName("NAME-01"):setValueMapped(commonData:getByte(8), false) panel:getModulatorByName("NAME-02"):setValueMapped(commonData:getByte(9), false) panel:getModulatorByName("NAME-03"):setValueMapped(commonData:getByte(10), false) panel:getModulatorByName("REVERB-TYPE"):setValueMapped(commonData:getByte(21), false) panel:getModulatorByName("REVERB-LEVEL"):setModulatorValue(commonData:getByte(22), false, false, false) end end
Then, the first thing that you have to do is find what is the sysex message that you have to send to your synth that will gives back to panel a Dump that contain the information that you have to associate to your modulators.
June 8, 2020 at 11:15 am #118706
- This reply was modified 4 weeks ago by lecleto.
There is no need to use Lua coding to have bidirectional behavior for single parameters exchange (of course, well needed for requesting and receiving dumps).
– what are trying to achieve with f0 3e 22 11 10 00 00 34 xx f7?
– stay in Ctrlr panel development mode (no need to export anything to test this)
– you said your Midi input and output settings are ok in Ctrlr
– start the Ctrlr midi monitor and activate input and output monitoring
– if you send the sysex from the panel, do you see it appearing in the monitor output?
– if you send the sysex from the synth, do you see it appearing in the monitor input?
Please provide more info if you want to get helped (which synth, which parameter…)June 8, 2020 at 8:15 pm #118718
1. The sysex message I posted is an example of the filter cutoff message for my Kyra synth. The “xx” are variables that change when you turn the cutoff knob but the rest of the message does not change.
2. If I send sysex from the panel, I can see it in midi monitor output
3. If I send sysex from the hardware, I can see it in midi monitor input
So everything looks like it is setup ok, but when I move the HW filter cutoff the panel cutoff knob does not follow.
I hope I am explains it clear.June 8, 2020 at 9:39 pm #118719
Ok good! Can you post a screenshot of the midi monitor with both input and output sysex messages in?
Are there really the same?
It should work.
Did you use uiSlider or uiImageSlider?
Please try this panel.
FYI, I tested with uiSlider and it didn’t work. With uiImageSlider it works.
Let me know if it works with this test panel.
Attachments:You must be logged in to view attached files.June 9, 2020 at 6:11 pm #118743
Thanks Goodweather, I will check out your panel after work and report. I am using an image slider, a png knob I robbed from another synth 🤫 😁
I will try upload a photo, but it is exactly the same data Kyra only seems to deal in sysex, which is great unless your sequencer doesn’t record it like bitwig 🙄June 9, 2020 at 9:18 pm #118745
Hey Goodweather, I just tried your panel. Unfortunately it doesn’t work, it acts exactly the same way my panel operates. Only the software knob controls the hardware and not the other way around.
I have attached a photo of the midi in and out. You can see they are the exact same message. You seem positive that no scripting needs to be done, could you think of another setting that could be messing up the bi-birectional operation of my panel?
Attachments:You must be logged in to view attached files.June 11, 2020 at 6:19 pm #118759
Well… this is really strange… Ctrlr is bidirectional by default…
There is nothing to do.
Can you give a screenshot of your Midi settings?
You try with Ctrlr standalone, right?June 12, 2020 at 2:04 pm #118763
I did run the test in ctrlr standalone version and not the plugin, we’ll both actually.
I will take a photo of the midi settings and post them here after work, But the midi in/out/controller are all using the Kyra midi ports on the same channels 1, as this sysex is specific to that filter control of that part. So don’t think that’s going to provide an answer.
Maybe something went wrong during install and a re-install might be the next step. No harm in trying it especially if it is supposed to be working by default.
I will actually try a panel with my roland sh-32 and see if that has the same issue.
You guys are using the same ctrlr version of me right? Think it was the latest one on the site for DL, just in case a bug has been introduced in an update or something. I’ll confirm my version laterJune 12, 2020 at 8:11 pm #118766
Standalone is good for testing.
Use 5.3.201 on PC, 5.3.198 on Mac.
- You must be logged in to reply to this topic.