Hi all, I've been stuck on this problem for ages, I have something that works but I suspect it could be done a lot simpler, but I'm just hitting a mental block. I'm building just one list from 3 inputs (integer, path prefix, retrieved name) and I can't believe I end up with so much logic!
It's a general execution sequence / string building problem but just so you know why I'm doing it: I'm building an iPad interface into LIVE using TouchOSC. I'm requesting names from Live which then need to be appended to a text string to send to the iPad using OSC.
few points to note (I might be wrong about any of these!):
-the OSC path (e.g. /1/label1) needs to be without spaces
-sending a 'name with spaces' to OSC needs to be with quotes, otherwise it only picks up the first word (so I'm using symbols to move names around my patches)
Here's what should happen:
1) In order to populate, say, 'parameter 1' (2, 3…) : start by sending the integer '1' (2, 3…) into the patch, this should be the trigger
2) a text string needs to be built which is the path for OSC: /1/label1 (/1/label2, /1/label3..)
3) a name needs to be retrieved from LIVE (simplified in the grey box in the patch) to be added to the OSC path
4) the full string to send to OSC needs to be built, the result should look like this: /1/label1 "parameter name blabla"
Could you have a look at the attached patcher and see how it could be simplified?
I think this should be a lot simpler, but I can't work it out
-I tried using 'sprintf' but it's triggered by the first inlet, and I need it from the second - or I have to add logic which again is clutter
-I tried using sets of prepends but they don't allow you to combine text strings without spaces (Eg "label" + "1" = "label1")