Querying Over Osc

Hi

I’m building an application in external software, that controls renoise over OSC. Obviously I’d like the integration to be as tight as possible. Is there a way to ask (over OSC) renoise for stuff like instrument names and track names and get a reply back (over OSC)?

You can add your own OSC response events in the [renoise preferences path]/V[renoiseversion]/Scripts/GlobalOscActions.lua file. (or click the “Help” menu section and then “Show preferences folder” in Renoise).
there you can add response events that send back instrument and track names (obviously you need to define event names that you send from your OSC client).

Thanks for the reply, sounds really cool!

However I can’t really get things going. I put this at the end of ~/.renoise/V2.8.0/Scripts/GlobalOscActions.lua (which I initially copied from /usr/local/share/renoise-2.8.0/Scripts/GlobalOscActions.lua). Mind it’s mainloy test code, I’m not sending a string back, let alone trying to get the trackname, right now I’d be happy just to get some messages back:

  
local client, socket_error = renoise.Socket.create_client(  
 "localhost", 8008, renoise.Socket.PROTOCOL_UDP)  
  
if (socket_error) then   
 renoise.app():show_warning(("Failed to start the " ..   
 "OSC client. Error: '%s'"):format(socket_error))  
 return  
end  
  
add_global_action {   
 pattern = "/renoise/song/track/XXX/getname",   
 description = "Broadcast name of track",  
  
 arguments = nil,  
 handler = function()  
 renoise.app():show_warning(("hello"))  
 print(("Got OSC message"))  
 client:send(  
 OscMessage("/renoise/track/1/name", {{tag="s", value="127.5"}})  
 )  
 end  
}  
  

I’m sending OSC from ChucK like this:

  
xmit.startMsg("/renoise/song/track/1/getname,");  
  

I’m pretty sure renoise is receiving the incomming messages, cause if I change it to /renoise/song/tranck/01/getname (so 01 instead of 1) I see the messages in the OSC log window as rejected. But I can’t get any of the code to execute. What am I doing wrong? Esp: what’s the best way to debug (like print) from the code, and where would such printing go (I’m on linux)?

Thanks in advance for any pointers :slight_smile:

Ok, so I was really messed up here, now I got as far as trying to send OSC back. But I started a a new thread in a proper place.