Having trouble getting vvvv to receive program change messages,

Drum Machine is connected, vvvv is currently sending program change messages to it, but the way the drum machine works is that after it receives program change messages it waits until the end of the bar then it should send a program change message back to vvvv.

I can get it to register on a MidiShort node, but all that it seems to be registering is that there has been a program change, but not which program it has changed to.

midi short has two data outputs, you need to fiddle the program number out from the second integer. see status byte and data byte in this table:


alternatively, if the native vvvv MidiShort does not output the data byte correctly, there is a second set of midi nodes in here. MidiIn and MidiSplit should give you the same results:

Ok, so lets go by the first option. That table makes very little sense to me at this stage, but I would like to get it.

So in the table im getting this:



How do these translate to the two data pins of the midishort? They just look like unreliable inputs for me at the moment, jumping around, at best it seems like they are getting the data from the other midi events in the sequence and that somewhere in there there is the midi message for program change. If this is right, how do I work out exactly what number to look for? Data 1 is status and Data 2 is Data Byte? This table is in binary, do I need to translate the decimal numbers into binary to work out what is going on? Or do I just watch those two pins as they receive the data and say, "Ok, when this pin = 192 & this pin = 68 (example) then [do stuff].

I worked it out! Thanks, and sorry, I was sending other stuff down the same channel that shouldnt have been there and it was confusing the whole deal. Appreciate the great patience and support of the people on this forum for noobs like me, I swear I’ll be a master one day and share just like you have :)

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.