Program Change Button

Hi,
I was trying to make a program change button but it seems that the VST is using bank and sub bank instead of 0-127, is there any way to make it work ?

I checked with Protokol value that I am sending seems ok.

If I’m not mistaken to send a bank select message you need to send a CC0 followed by a CC32 : http://www.mamosa.org/jenfi.home/utilitaires/midibankselect.php (FR)

I made a button with this scrip :

send("midi:virtual_midi", /control, 0 1)

seems to be incorrect.

/control needs to be enquoted, 0 1 are two distinct values and should be separated with a coma.

so this should send me control 0 in midi channel 3 ?
send("midi:virtual_midi", "/control", 3,0 )

I even tried this :
send("midi:virtual_midi", "/note", 0 )

both are note woking :face_with_raised_eyebrow:

Control changes require a channel number, a control number and a value; notes require a channel number, a note number and a velocity value. (https://openstagecontrol.ammd.net/docs/midi/midi-messages/)

send("@{variable_midi_out_port}", "/control", 3,0,0)

I fall asleep like 10 minutes laters …

I tried to send midi control to change the program didn’t managed to, find a less elegant way to do it

send(get("variable_midi_out_port"), "/control", 3, 0, 0)

is better but you got it :slight_smile:

1 Like

Yes we have to prefer get() instead of @() in script !

So actually how do you send the two midi messages then the control message with one press ?

I'm interested :wink:

I didn’t managed to do it
maybe I’ll try later

simply :

send(get("variable_midi_out_port"), "/control", 3, 0, 0)
send(get("variable_midi_out_port"), "/control", 3, 32, 0)

But now I don’t know how to send the program change

ok i suppose in the script field.
how to send the program change is a very good question ? :slight_smile:

The doc proposed to send a /program message so i think you have to add the message to the two others at the end.

PS : a ressource about midi https://www.noterepeat.com/articles/how-to/213-midi-basics-common-terms-explained

That's it.

So consider this : a helm synth and o-s-c to send it a program change.

Is it the good way to get helm to change synth ?

edit : the channel 3 is used
image

seems to not working as expected.

Edit : for helm, note from here https://github.com/mtytel/helm/issues/175#issuecomment-554004251

midi_cc 0, bank #midi control channel 0
midi_cc 32, folder #midi control channel 32
midi_pc, patch #midi program change

Tried with Serum not working to I think it’s a problem of bank and sub bank

send(get("variable_midi_out_port"), "/control", 3, 0, 0)
send(get("variable_midi_out_port"), "/control", 3, 32, 0)
send(get("variable_midi_out_port"), "/program", 3, 0 )

Edit :
For serum I’ve found an other solution by creating a programchange.txt files in the /System
then list the preset so you can use a 0 to 127 standard program change
send(get("variable_midi_out_port"), "/program", 3, 0 )

What's expected exactly ? If O-S-C sends the MIDI messages, then I'm afraid I can help more here.

1 Like

yep it’s more an Helm question now. but it’s interesting to get the whole communication works no ? In my screenshot i am not sure i check the good value for helm to receive the midi signals from o-s-c. So it’s a o-s-c question :slight_smile:. Sorry @zoltan to spam your post.

Ah si ! Can we send a control message to all the midi channel with an * ?

1 Like

No you can't

You can check what o-s-c sends from the launcher's terminal when debug is enabled.