Sending Sysex Data from Pushbutton

Discuss Lemur and share techniques.
Post Reply
Crazytune
Newbie
Posts:10
Joined:21 Mar 2015 06:35
Sending Sysex Data from Pushbutton

Post by Crazytune » 31 Mar 2015 08:26

Hi all,
I'm trying to send a sysex string {0xF0, 0x41, 0x10 ...} from a push button on my Lemur iOS display. The problem is, when I push the button on the iPad Lemur app, no sysex data is being sent out. I know that my connection (Object Target = MIDI 0) is working because I have other buttons on the same Lemur iOS display that use the Note On message (with the Object Target = MIDI 0) and my synth is getting those midi events. Is there anything special you have to do to get sysex to transmit from my Lemur iOS app to the outside world when the corresponding button is pressed?

Macciza
Regular
Posts:1325
Joined:07 Dec 2011 04:57
Location:Sydney, Australia.

Re: Sending Sysex Data from Pushbutton

Post by Macciza » 31 Mar 2015 12:34

Didn't we sort this out the other two posts on this same topic? Those projects send sysex properly.
Why do you think it isn't sending sysex? Check with a MIDI monitor app on your computer or Lemur device.
Check the manual for your device - have you set it up properly? Some devices can have sysex reception enable settings? Device ID? etc
It might be better to just keep this all in the other thread rather then spreading it out. Maybe delete this thread.
iMac 2.8G i7 12G 10.6.8/10.7.2, Legacy Dexter/Lemur, Liine Lemur/iPad2, KMI SoftStep, 12Step & QuNeo , B-Controls, Mackie C4 etc
MaxMSP, Live Suite, Native Instrument stuff, etc Modified Virtual Guitar System etc All Projects/Modules © CC-BY-NC-SA[*][/b]

Crazytune
Newbie
Posts:10
Joined:21 Mar 2015 06:35

Re: Sending Sysex Data from Pushbutton

Post by Crazytune » 31 Mar 2015 15:12

Macciza,
I was able to get the Lemur editor to finally take my Sysex string, but when I push the button, no Sysex is sent. How can I tell? I can tell because I have two other buttons on the same display that use "note on" instead of Sysex and have the same object target settings and my sequencer (Sonar X3) and synth (XV5080) are both showing reception of the message. I checked and my sequencer is set up to receive all messages (including Sysex).
I can say right now...this software is not intuitive and the manual leaves much to be desired!! And, yes, I am using the same projects that were attached in the thread you were speaking of.
I really appreciate your help so far and I understand you are frustrated with me, but I can guarantee that you are not half as frustrated as I am with this product! I just want to do a simple thing, send out Sysex data....no fancy scripts...just Sysex data, but I haven't been able to find any documentation or videos on YouTube, etc. that give clear exampless of what I want to do. I don't mind deleting this thread if that is what you want, I'm just trying to get help with this last thing and I'll leave you all alone. Again, thanks for all of your help so far. Believe me, I'm not trying to be a pain.

Crazytune
Newbie
Posts:10
Joined:21 Mar 2015 06:35

Re: Sending Sysex Data from Pushbutton

Post by Crazytune » 31 Mar 2015 17:34

Good news! I am finally able to get sysex transmitted from my custom button all the way through to my Roland XV-5080 and my XV5080 responds correctly! I'm very happy with these results so far and want to thank you, Macciza, for all of your help. Right now, I currently have one "EFX On" button to turn on the effects and a separate "EFX Off" button to turn off the effects. Is there a way to have the "on" and "Off" functionality built into just one button instead of having separate buttons for each? In other words, does the Lemur editor support being able to send different sysex strings for each state of the custom button? So far, I haven't seen any indication that this is supported...

Macciza
Regular
Posts:1325
Joined:07 Dec 2011 04:57
Location:Sydney, Australia.

Re: Sending Sysex Data from Pushbutton

Post by Macciza » 31 Mar 2015 23:07

So what if anything changed to suddenly give you success? Might help others ....
One of my examples shows how to send the x value 0 or 1, from memory . ..

Oops didn't change the trigger properly, 2nd example change data section to trigger on 'any'
Also sysex is not necessarily a simple process, check the back of the XV manual for sysex details.
Most people would probably use just this data to work out their messages, as opposed to an editor that tells them...
Examples of sending multiple messages from various objects are all over the place, from examples to projects..
Simply using the built in variables ie x, in your message allows for variable messages ...

Have you looked through any of the other projects that are doing sysex to see what they are doing?
iMac 2.8G i7 12G 10.6.8/10.7.2, Legacy Dexter/Lemur, Liine Lemur/iPad2, KMI SoftStep, 12Step & QuNeo , B-Controls, Mackie C4 etc
MaxMSP, Live Suite, Native Instrument stuff, etc Modified Virtual Guitar System etc All Projects/Modules © CC-BY-NC-SA[*][/b]

Crazytune
Newbie
Posts:10
Joined:21 Mar 2015 06:35

Re: Sending Sysex Data from Pushbutton

Post by Crazytune » 01 Apr 2015 00:00

So, to answer your first question, the reason why I wasn't getting my sysex messages through to my Roland XV-5080 synth is because Sysex echo wasn't enabled on my sequencer (Sonar X3). Once I got my sysex messages to through my sequencer to my synth (and used your example to make a working custom button), I was able to turn on the effects using my "EFX On" button and turn off the effects using my "EFX off" button. I looked at other examples of how others are using multiple sysex messages for the same button and the closest that I found was the file attached below. In this file, the person uses a range slider to send one sysex string when the slider is at or greater than a certain value and passes another sysex string when the slider is at or below a certain value. I see that this person used a midiout() and round() functions: midiout(0,{67,16,17,05,round(x[0]*127)}); and midiout(0,{67,16,17,06,round(x[1]*127)}); Since the sysex strings that I want to send out for EFX On and EFX off are {0x41, 0x10, 0x00, 0x10, 0x12, 0x00, 0x00, 0x00, 0x0A, 0x01, 0x75} and {0x41, 0x10, 0x00, 0x10, 0x12, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x76} (red font shows changes in sysex message), should I use the same approach used in the Range-SysexOut.jzml file? How can I ensure that the correct sysex string will get transmitted with the correct state of the custom button?
Attachments
Range-SysexOut.jzml
Implements sysex out using range slider
(3.03KiB)Downloaded 104 times

Macciza
Regular
Posts:1325
Joined:07 Dec 2011 04:57
Location:Sydney, Australia.

Re: Sending Sysex Data from Pushbutton

Post by Macciza » 01 Apr 2015 03:12

Yep, thought it was a setup issue somewhere in your system, was basically meaning to point out that Lemur does, and those projects do, send sysex properly . . .

I really think you need to take a little time and go through some of the basic examples and tutorials in the manual to get a better fundamental understanding of Lemur and programming in general. You need to understand and know how to use simple objects and there variables i.e. the 'x' value of a Switch/Button ...
Then you would simply realise that you want to use the 'x' variable in your message . .

See attached project;
XVhdr is the same for all set messages so it is declared separately at top level so it is available every where . ..
Same with the chksum(data) single line function for calculating checksum . . .
In the Button the data for that button is defined and then used by the custom midi message ...
The button variable x is used in the data section to represent 0 or 1 depending on state of button..
The monitor at the top merely confirms the message structure for you . . .
You could copy the button and replace only the data part in order to make a new switch . . .

The second page takes it a step further by replacing the syx custom midi with a script act(x) that calls a global script syxOut(msg)
The syxOut(msg) sends a fully formed sysex msg and allows you to show each value in the monitor . . .

That should all make sense ...
sysex2.jzml
Updated version
(6.24KiB)Downloaded 169 times
Not sure that Range sysex project is sending properly form messages as it is missing the F0/F7 sysex header/footer . . .
iMac 2.8G i7 12G 10.6.8/10.7.2, Legacy Dexter/Lemur, Liine Lemur/iPad2, KMI SoftStep, 12Step & QuNeo , B-Controls, Mackie C4 etc
MaxMSP, Live Suite, Native Instrument stuff, etc Modified Virtual Guitar System etc All Projects/Modules © CC-BY-NC-SA[*][/b]

Crazytune
Newbie
Posts:10
Joined:21 Mar 2015 06:35

Re: Sending Sysex Data from Pushbutton

Post by Crazytune » 02 Apr 2015 22:14

Hi Macciza. I just looked through the template and it looks like everything I was looking to do and more. Thanks for taking the time to put this together :D I'll take a look at it and learn from it. Thanks again, you rock!

Post Reply