Hi Mattieu,
thank you for you answer.
I have attempted to implement your suggestions but am now very confused.
With regard your suggestion
"You can also try to enable the feedback option in Lightjams by going in the view/Configuration and under OSC, there's a 'feedback' option. This will send back the received values to TouchOSC as a reception confirmation. "
This simply echoes the received OSC back out the TouchOSC - as per your description elsewhere.
This is not the functionality I need since the buttons are momentary (by choice) their states are all sent back to touchOSC
e.g.
18:59:52.397 | SEND | ENDPOINT(
127.0.0.1:9001) ADDRESS(/1/button103) FLOAT(1)
18:59:52.398 | RECEIVE | ENDPOINT([::ffff:127.0.0.1]:61637) ADDRESS(/1/button103) FLOAT(1)
18:59:52.531 | SEND | ENDPOINT(
127.0.0.1:9001) ADDRESS(/1/button103) FLOAT(0)
18:59:52.531 | RECEIVE | ENDPOINT([::ffff:127.0.0.1]:61637) ADDRESS(/1/button103) FLOAT(0)
With regard to "osc.send(0, osc.latest(0,5))" this seems to send the channel value of the latest button pressed in the mapped range 0 to 5. LJ sends the value to TouchOSC Ch0.
Do I understand correctly that: In order to send anything to OSC from LJ we must configure the "Extra Outs" channel to string mapping?
In the project file I posted, I had the following ExtraOuts mapped:
Ch to Address
0 to /1/button103
1 to /1/button104
2 to /1/button105
3 to /1/button106
4 to /1/button107
5 to /1/button108
As you can see from the capture in TouchOSC
19:06:32.080 | SEND | ENDPOINT(
127.0.0.1:9001) ADDRESS(/1/button103) FLOAT(1)
19:06:32.120 | RECEIVE | ENDPOINT([::ffff:192.168.0.225]:58977) ADDRESS(/1/button103) FLOAT(0)
19:06:32.130 | SEND | ENDPOINT(
127.0.0.1:9001) ADDRESS(/1/button103) FLOAT(0)
19:06:32.233 | SEND | ENDPOINT(
127.0.0.1:9001) ADDRESS(/1/button106) FLOAT(0)
19:06:32.865 | SEND | ENDPOINT(
127.0.0.1:9001) ADDRESS(/1/button107) FLOAT(1)
19:06:32.869 | RECEIVE | ENDPOINT([::ffff:192.168.0.225]:58977) ADDRESS(/1/button103) FLOAT(4)
19:06:32.881 | SEND | ENDPOINT(
127.0.0.1:9001) ADDRESS(/1/button103) FLOAT(1)
19:06:32.920 | RECEIVE | ENDPOINT([::ffff:192.168.0.225]:58977) ADDRESS(/1/button103) FLOAT(0)
19:06:32.931 | SEND | ENDPOINT(
127.0.0.1:9001) ADDRESS(/1/button103) FLOAT(0)
19:06:33.015 | SEND | ENDPOINT(
127.0.0.1:9001) ADDRESS(/1/button107) FLOAT(0)
19:06:33.847 | SEND | ENDPOINT(
127.0.0.1:9001) ADDRESS(/1/button108) FLOAT(1)
19:06:33.869 | RECEIVE | ENDPOINT([::ffff:192.168.0.225]:58977) ADDRESS(/1/button103) FLOAT(5)
19:06:33.880 | SEND | ENDPOINT(
127.0.0.1:9001) ADDRESS(/1/button103) FLOAT(1)
19:06:33.919 | RECEIVE | ENDPOINT([::ffff:192.168.0.225]:58977) ADDRESS(/1/button103) FLOAT(0)
19:06:33.931 | SEND | ENDPOINT(
127.0.0.1:9001) ADDRESS(/1/button103) FLOAT(0)
19:06:34.065 | SEND | ENDPOINT(
127.0.0.1:9001) ADDRESS(/1/button108) FLOAT(0)
and the
Lightjams Monitor Outgoing OSC Messages
Lightjams Monitor Incoming OSC Messages
your proposed function sends the OSC latest received channel (number) to OSC channel /1/0
This is the behaviour I expect from my understanding of the commandline reference:
osc.send(channel, value1, value2, value3...)
Send OSC values (max 16) to the specified extra output channel. Configure your extra output messages in the OSC config panel. This allows you to send float values to a custom OSC address.
channel: The extra output channel from 0 to 63.
values: Float numbers to be sent.