Best way to setup two individual keyboards

That ,s you’re seeing is NOT part of an OSC message you send out - that’s under the covers and it’s there to indicate the type of the argument

It’s the last item in the palette. Lemur calls it “Text” but it’s a label

I did and checked with OSCULATOR that a message is sent,
but the iPad does not react.
I there a trick in LEMUR to check if messages come in?

When you created a container, presumably you called it “Container”

Did you then drop in a text label into that Container with an OSC address of “Text”?

If you do that

then

myMessage.OSC_SetAddress("/Container/Text")
myMessage.OSC_AppendStringArg("@content")
myMessage.OSC_AppendStringArg("Hello David")
myMessage.OSC_Send()

works fine.

You’re trying to address a text label called “Text” but you haven’t actually inserted a label called “Text” in your container.

Now it is working

Thx, David

I prefer to use a function to do this, much easier. For example

function SendTextMessage(address : string, message : string)
   var myMessage : OSCMessage
    myMessage.OSC_SetAddress(address)
    myMessage.OSC_AppendStringArg("@content")
    myMessage.OSC_AppendStringArg(message)
    myMessage.OSC_Send()
end


On Activate
       SendTextMessage("/Container/Text", GetRackspaceName())
       SendTextMessage("/Songnotes", "Play this song slowly")
End

Now I got it running to get the Rackspace Names and set the text label.

Next step is to highlight the current rack space…

Done!
Looks not like a professional GUI, but as a proof of concept it is working.
No matter if you switch the rack space on the iPad or on the Computer, the
iPad always shows the current active Rackspace.

Thx to the support of David!

Can you please share your code for changing the buttons state? I have the “changing of the text” working, but have no idea what the OSC message for changing the button state in Lemur should be

Also, is there a global script editor in GP? I found only the rack level script editor, which does not make much sense for what we are doing here…

Thanks!

You can leave you E-Mail-Address and I can send you the gig and the lemur-file.
In short word:
I do not change the state of the buttons but the colour of the text :wink:

You should now see files to download.

Not yet — for what it’s worth, I never expected GP Script to be used seriously like this – it was intended as a way to do minor tweaks to incoming/outgoing MIDI so as to provide functionality not directly available through the GUI.

It’s clear that some more infrastructure would be very useful here, such as the ability to share a collection of functions so you don’t have to copy them into every rackspace.

It has become clear that we have a small number of very “techie” users who want to do a lot of tweaking with Gig
Performer but we have to trade that off against the much larger number of customers who are absolutely not technical (nor want to be) and see Gig Performer as a really easy way to create their sounds and perform live with a lot of reliability and without having to deal with channel strips, buses, auxes and all that kind of thing.

Thanks David. The simplicity of quickly building patches for show and the stability was exactly the reason I moved from Ableton to GigPerformer.

However, I’m used to control the patches from tablet, and in Ableton I had the synchronization working (with some Python scripting), so I was really excited to see the GP Script. Sure, scripting will be used by minority of you customers, but I think it is an important part of the product. I was also playing with MainStage, but I were unable to make my setup work at all. The concept of GigPerformer is way more open, and it is a huge selling point for some people - it’s easy to setup, but gives you lots of possibilities when it comes to tweaking and customizing to particular needs.

So, global functions would be really cool, and I hope not that complicated to add to GP. I don’t even need a GUI for this, it might be as simple as creating a specific named file, that gets loaded automatically…:slight_smile: