|
11-05-2017, 04:41 AM | #1 |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,688
|
Midi <-> OSC
Hi experts,
I have done a rather complex set of JSFX plugins to control the sound "patches" loaded in Reaper for live playing by a motor-fader enabled controller board ("XTouch Compact"). Hence the JSFX system does bidirectional communication with the controller via Midi. Now I'd like to add communication with a mixer device ("XR 18") coupled via OSC (over WiFi) to display and modify the mixer settings on the controller board. Right now, I plan to do a Python program, as same needs to be able to find the mixer via OSC and register for being sent any values modified by other instances also attached to same. A Friend of mine already did and successfully uses such a Python program, communicating with the XR18 via OSC and with some hardware device via Midi. I wonder if it might be viable to use OSCIIbot with some EEL programming instead (as I am rather experienced with EEL but not with Python yet). Did anybody already successfully use OSCIIbot and can provide some comments ? -Michael |
11-10-2017, 03:20 PM | #2 |
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
I've used OSCII-bot for osc / midi stuff, what'cha need?
|
11-10-2017, 05:48 PM | #3 |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,688
|
Thanks for answering, Justin !
There is a discussion I initiated in the OSCIIbot subforum. For getting started I'd like do display part of the current mixer state. So I need to "attach" to a mixer (XR18) via OSC via WIFI. For this I of course need to provide the IP-Address and the port. I understand this is done in the EEL code. OK for now, but in the end I would like to read it from a config file. (I know that OSCIIbit can read files, and I suppose I'll be able to make use of the content.) After that we need to send "subscribe"/"register" messages to the mixer in regular time intervals to have it send us any values of a set of parameters on the spot and/or at any time they are changed by other instances. I understand this is an OSC standard method and supposedly also done when OSCIIbots connects to Reaper via OSC (wich AFAI understand is the way OSCIIbot is mostly used). Unfortunately I failed to find any examples of such OSCIIbot ELL program code. Thanks again, -Michael Last edited by mschnell; 11-11-2017 at 02:08 AM. |
11-11-2017, 04:19 PM | #4 |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,688
|
Justin,
I was able to set up an OSCIIbot script correctly (details see thread in the OSCIIbot forum). Code:
@input XT_M_IN MIDI "loopMIDI Port" //in quotation marks-name of midi port used in Windows @input XR18in OSC "*:10024" @output XR18out OSC "192.168.1.1:10024" Code:
C:\Users\mschnell\AppData\Roaming\oscii-bot\test1.txt Listening on '*:10024' 2 inputs, 1 outputs Total: 1 scripts, 2 inputs, 1 outputs Using Wiresshark I found that the XR18 responds correctly to (e.g.) a "status" command. But a printf() in the @oscmsg section in the script does not output any text. what am I doing wrong ? -Michael |
11-12-2017, 12:28 AM | #5 |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,688
|
As I see in WireShark, in fact (IMHO rather decently), the OSC device answers to an OSCIIbot message by an UDP/OSC block directed to the port number given as a sender in the received block.
If in OSCIIbot the OSC input and output devices are independent (as it seems from EEL code), how can the @output as a sender port address provide the port number the @input is initiated to listen on ? Seemingly the sender port number is defined (by Windows?) as some random number when @output is called. Using Wireshark, I can see an new number with any start of OSCIIbot. I checked that it's not possible to use an @input device do send to: @input XR18out OSC "192.168.1.1:10024" //trying to define the target address here results in "Error listening for '192.168.1.1:10024'" and oscsend(): output device 0.000000 invalid OTOH @output XR18out OSC "192.168.1.1:10024" @input XR18out OSC "*:10024" results in Warning: device name 'XR18out' already in use, skipping @input line -Michael Last edited by mschnell; 11-12-2017 at 01:50 AM. |
11-12-2017, 07:18 AM | #6 |
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Ah yeah, I don't think we ever added bidirectional OSC support for this scenario, let me see if I can do that now.
|
Thread Tools | |
Display Modes | |
|
|