OSC: sending an evaluate that returns something

Questions:

  1. I have set port to 8000 in renoise prefs. I have the following lua:
renoise.Osc.Message('/fromrenoise/luck/track1/volume',{{tag="f", value=renoise.song().tracks[1].postfx_volume.value}})  

If I execute it from the scripting terminal or executes it from a script, which message on which port can I expect to get something back on? My guess is port 8000 and /fromrenoise/luck/track1/volume, but I cant get it working :frowning:

  1. If I get the above working, wouldn’t it be possible to send this as en evaluate message. So basically I want to ask for the volume of track 1 over OSC and get the value send back, without having to write a tool. Is that possible?

If I’m getting this straight, you actually have the server and the client in Renoise? On different PCs?

@2: No, OSC doesn’t have a send/return logic like eg HTTP has.

Return message depend on what you want it to send back. OSC Client/Server are completely custom based. There are some default messages that you can find in the GlobalOSCActions.lua, they don’t return responses but you can test them by sending that specific command:

  
add_global_action {   
 pattern = "/transport/panic",   
 description = "Stop playback and reset all playing instruments and DSPs",  
  
 arguments = nil,  
 handler = function()  
 song().transport:panic()  
 end  
}  
  

So if you would send a “/transport/panic” to Renoise from the client, Renoise should stop playing whatever it is playing:in that case you know the connection is okay, else you can always look into the configuration tab for th OSC server and see in the message list if anything arrives at all.

Yes vV is right. You can definitely send messages at the time of receive one. Duh. :)