|
|
|
02-22-2021, 07:12 PM
|
#1
|
Human being with feelings
Join Date: Aug 2017
Location: Ottawa, Canada
Posts: 563
|
I have ported Oscii-Bot to support the Behringer X family of devices
I have ported the Oscii-Bot source code to support the Behringer X32 and and other X series family.
Previously discussion of this was in the forum: https://forum.cockos.com/showthread....46#post2410946
I will follow up with another post on this shortly ..
Last edited by jacksoonbrowne; 02-25-2021 at 08:16 PM.
|
|
|
02-23-2021, 12:15 AM
|
#2
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,690
|
Works great for me.
This allowed to improve and simplify my setup with the Behringer XR18 drastically.
-Michael
|
|
|
02-23-2021, 12:36 AM
|
#3
|
Human being with feelings
Join Date: Aug 2009
Posts: 402
|
I have an X32 rack... Id be keen to beta test.. I sent you a PM..
|
|
|
02-23-2021, 12:54 AM
|
#4
|
Human being with feelings
Join Date: Aug 2017
Location: Ottawa, Canada
Posts: 563
|
Quote:
Originally Posted by EcBaPr
I have an X32 rack... Id be keen to beta test.. I sent you a PM..
|
I tried sending you a zip of the beta files, but your email provider blocked it because it contained a zip file
|
|
|
02-23-2021, 01:05 AM
|
#5
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,690
|
@Cocos devs:
Does Reaper itself also do automatic bundling of OSC messages ?
Due to the Bug in the Behringer Products this might lead to hard to locate problems.
Hence it would be good to allow to disable sending bundles - supposedly even as a default.
-Michael
|
|
|
02-23-2021, 01:59 AM
|
#6
|
Human being with feelings
Join Date: Aug 2009
Posts: 402
|
Quote:
Originally Posted by jacksoonbrowne
I tried sending you a zip of the beta files, but your email provider blocked it because it contained a zip file
|
really ? its just a gmail account I wouldn't have thought it would block anything.. i'll PM you my other email address... if there is any other options please let me know..
|
|
|
02-23-2021, 03:51 AM
|
#7
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,690
|
Looking at the specs (-> The-Open-Sound-Control-1.0-Specification-opensoundcontrol.org_.pdf ), I found that OSC bundles are meant for specifying a time stamp to a set of OSC messages. That is why a bundle message always starts with a time tag.
Looking at the code, it seems that OSCIIBOT always sends the time tag 0, 0, 0, 0, 1, 0, 0, 0, which means a date in 1900.
Maybe this is what the Behringers dislike...
-Michael
|
|
|
02-23-2021, 11:09 AM
|
#8
|
Human being with feelings
Join Date: Aug 2017
Location: Ottawa, Canada
Posts: 563
|
Quote:
Originally Posted by mschnell
@Cocos devs:
Does Reaper itself also do automatic bundling of OSC messages ?
Due to the Bug in the Behringer Products this might lead to hard to locate problems.
Hence it would be good to allow to disable sending bundles - supposedly even as a default.
-Michael
|
I spent some time last night and found out Oscii-Docs spec for the "@output" command can be used for bundle prevention, although the docs don't delve into it.
IE: @output X32 OSC [optional maxpacketsize=1] will disable bundles
Probably renders my code obsolete
From the Doc's:
@output devicehandle OSC "host : port" [maxpacketsize (def=1024)] [sleepinMS (def=10)]
I found that using "@output X32 OSC 1 1" works.
With"maxpacketsize" set to 1 bundles are prevented and
with "sleepinMS" set to 1 the X32 will not miss any OSC messages.
The caveat to this is there will be a delay of 1 millisecond between each out going OSC message to the X32. Probably not an issue for most ?
My code however allows for a burst of OSC messages before sleeping 1 millisecond. A performance increase.
Last edited by jacksoonbrowne; 02-23-2021 at 07:13 PM.
|
|
|
02-23-2021, 11:11 AM
|
#9
|
Human being with feelings
Join Date: Aug 2017
Location: Ottawa, Canada
Posts: 563
|
Quote:
Originally Posted by mschnell
Looking at the specs (-> The-Open-Sound-Control-1.0-Specification-opensoundcontrol.org_.pdf ), I found that OSC bundles are meant for specifying a time stamp to a set of OSC messages. That is why a bundle message always starts with a time tag.
Looking at the code, it seems that OSCIIBOT always sends the time tag 0, 0, 0, 0, 1, 0, 0, 0, which means a date in 1900.
Maybe this is what the Behringers dislike...
-Michael
|
I'll modify the code and send a proper timestamp and see if the X32 likes bundles then.
|
|
|
02-23-2021, 11:15 AM
|
#10
|
Human being with feelings
Join Date: Aug 2017
Location: Ottawa, Canada
Posts: 563
|
@EcBaPr I just sent an email
|
|
|
02-23-2021, 04:12 PM
|
#11
|
Human being with feelings
Join Date: Aug 2017
Location: Ottawa, Canada
Posts: 563
|
After spending many hours spent scouring the internet I have found many claims that "Beringher X series, Midas M32 as well as the new Beringher Wing" do not support OSC bundles.
This holds true my own experience.
|
|
|
02-23-2021, 06:14 PM
|
#12
|
Human being with feelings
Join Date: Aug 2009
Posts: 402
|
Quote:
Originally Posted by jacksoonbrowne
@EcBaPr I just sent an email
|
received it thanks.. I will get a chance to run it up later today or tomorrow..
|
|
|
02-24-2021, 01:02 AM
|
#13
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,690
|
Quote:
Originally Posted by jacksoonbrowne
I found out Oscii-Docs spec for the "@output" command can be used for bundle prevention, although the docs don't delve into it.
|
It would be great to hear a comment by Justin on that issue. What does he suggest ?
-Michael
|
|
|
02-24-2021, 06:37 AM
|
#14
|
Human being with feelings
Join Date: Aug 2009
Posts: 402
|
this new version of OSCii bot is working for me so far.. initially I was only able to send to X32 and not receive but then I realised you need to use /xremote to subscribe..
thanks Roy for the update.. i currently have a setup using a UFX and Reaper but i want to substitute the X32.. this OSCii bot update enables that..
EDIT: total noob question.. how do i send /xremote in a loop repeating every 5 seconds or so ?
Last edited by EcBaPr; 02-24-2021 at 07:27 AM.
|
|
|
02-24-2021, 11:26 AM
|
#15
|
Human being with feelings
Join Date: Aug 2017
Location: Ottawa, Canada
Posts: 563
|
Quote:
Originally Posted by EcBaPr
this new version of OSCii bot is working for me so far.. initially I was only able to send to X32 and not receive but then I realised you need to use /xremote to subscribe..
thanks Roy for the update.. i currently have a setup using a UFX and Reaper but i want to substitute the X32.. this OSCii bot update enables that..
EDIT: total noob question.. how do i send /xremote in a loop repeating every 5 seconds or so ?
|
Use @timer and every 5 seconds send /xremote.
Heres a snippet of how I do it:
@input OSC_FROM_REAPER OSC "localhost:9000" // REAPER ==> SCRIPT
@output OSC_TO_REAPER OSC "localhost:8000" // SCRIPT ==> REAPER
@output OSC_X32 OSC "192.168.1.2:10023" // SCRIPT ==> X32 ==> SCRIPT
@init
oscsend(OSC_X32, "/xremote"); // KICK OFF X32 Subscription
time(previousTime);
every_5_seconds = 0;
....
....
@timer
(
time(currentTime);
elapsedTime = currentTime - previousTime;
previousTime = currentTime;
elapsedTime > 0 ?
(
// EVERY SECOND
every_5_seconds += 1;
// PREVENT SECONDS TIMER FROM EVER OVERFLOWING
secondsTimer >= 30 ? secondsTimer = 0;
// EVERY 5 SECONDS
every_5_seconds >= 5 ?
(
// RESET TIMER
every_5_seconds = 0;
// RENEW xremote
oscsend(OSC_X32, "/xremote");
);
);
// OTHER @timer suff as required
);
Last edited by jacksoonbrowne; 02-24-2021 at 02:41 PM.
|
|
|
02-24-2021, 05:37 PM
|
#16
|
Human being with feelings
Join Date: Aug 2009
Posts: 402
|
cool that's working.. I'll keep using it with my setup and report any problems, all looks good so far..
Even if there was another way of getting it working in the original OSCii, the ease of just changing the .ini makes it nice and simple.
|
|
|
02-24-2021, 05:45 PM
|
#17
|
Human being with feelings
Join Date: Aug 2017
Location: Ottawa, Canada
Posts: 563
|
Quote:
Originally Posted by EcBaPr
cool that's working.. I'll keep using it with my setup and report any problems, all looks good so far..
Even if there was another way of getting it working in the original OSCii, the ease of just changing the .ini makes it nice and simple.
|
Thanks @EcbaPr,
You and Michael are the first beta testers and I appreciate you guys for taking your time to beta test it.
|
|
|
02-24-2021, 10:36 PM
|
#18
|
Human being with feelings
Join Date: Aug 2009
Posts: 402
|
no probs.. thanks for using your skills to make it better.. I'll do my best with testing, I'm new to writing scripts but I have an idea for a more complex routing setup with my gear that I will try and see how it goes..
not sure if you are aware but there is an X32 development site which is handy to keep informed about firmware updates.. I think its run by a couple of Behringer staff.
https://trello.com/b/Pky6BO3J/xm32-s...eedback-fw-404
|
|
|
02-24-2021, 11:28 PM
|
#19
|
Human being with feelings
Join Date: Aug 2017
Location: Ottawa, Canada
Posts: 563
|
Quote:
Originally Posted by EcBaPr
|
Thanks for the link @EcBaPr. Great info
I Always keep My X32 updated to the current release based on their download site.
But I will certainly keep my eyes on that link
|
|
|
02-27-2021, 10:15 PM
|
#20
|
Human being with feelings
Join Date: Aug 2017
Location: Ottawa, Canada
Posts: 563
|
Michael(@mschnell), and @EcBaPr,
Just wondering how things are progressing with your use of my Oscii-bot X32 code?
@EcBaPr, could you tell me how you are implementing the X32?
IE: what you want your script to perform?
Cheers, Roy
|
|
|
02-27-2021, 10:54 PM
|
#21
|
Human being with feelings
Join Date: Aug 2009
Posts: 402
|
hey... i was actually just about to come back and post that so far everything is going ok here.. I'm not doing the most complex stuff but its working as expected.
my setup is Reaper playing stems with some selected faders linked to X32 faders.. This allows me to automate stuff on Reaper timeline that controls X32 with live inputs.. previously I was using an RME UFX with Totalmix for this but now the same script with basic adjustments is working for X32..
I will probably add some more things to control some mutes also and if possible it would be good to find a way to sync Reapers tempo to an X32 delay time but that might be a bit of a challenge..
I will do some more tweaks through the next week or so and report back how its going.. so far its working well.
|
|
|
02-27-2021, 11:06 PM
|
#22
|
Human being with feelings
Join Date: Aug 2017
Location: Ottawa, Canada
Posts: 563
|
Quote:
Originally Posted by EcBaPr
hey... i was actually just about to come back and post that so far everything is going ok here.. I'm not doing the most complex stuff but its working as expected.
my setup is Reaper playing stems with some selected faders linked to X32 faders.. This allows me to automate stuff on Reaper timeline that controls X32 with live inputs.. previously I was using an RME UFX with Totalmix for this but now the same script with basic adjustments is working for X32..
I will probably add some more things to control some mutes also and if possible it would be good to find a way to sync Reapers tempo to an X32 delay time but that might be a bit of a challenge..
I will do some more tweaks through the next week or so and report back how its going.. so far its working well.
|
Thanks for the info EcBaPr.
I am working on a script that will do 1:1 bidirectional between reaper and the X32.
So Far I have implemented:
MASTER_VOLUME
MASTER_PAN
TRACK_NAME
TRACK_VOLUME
TRACK_SOLO
TRACK_MUTE
TRACK_PAN
TRACK_SELECT
ACTION
Meters/FX/etc to come
Last edited by jacksoonbrowne; 02-27-2021 at 11:24 PM.
|
|
|
02-27-2021, 11:22 PM
|
#23
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,690
|
Quote:
Originally Posted by jacksoonbrowne
Just wondering how things are progressing with your use of my Oscii-bot X32 code?
|
Works perfectly for the XR18.
-Michael
|
|
|
02-27-2021, 11:38 PM
|
#24
|
Human being with feelings
Join Date: Aug 2017
Location: Ottawa, Canada
Posts: 563
|
My fork of Justin's Master Oscii-bot repo https://github.com/justinfrankel/oscii-bot is at: https://github.com/rwallingford/oscii-bot
For users that don't need to modify my source code but just want to use my executable, it is in my repo as Oscii-bot.exe and requires Oscii-bot.ini from my repo as well.
It's all open source ....
|
|
|
02-28-2021, 03:27 AM
|
#25
|
Human being with feelings
Join Date: Aug 2009
Posts: 402
|
Quote:
Originally Posted by jacksoonbrowne
Thanks for the info EcBaPr.
I am working on a script that will do 1:1 bidirectional between reaper and the X32.
So Far I have implemented:
MASTER_VOLUME
MASTER_PAN
TRACK_NAME
TRACK_VOLUME
TRACK_SOLO
TRACK_MUTE
TRACK_PAN
TRACK_SELECT
ACTION
Meters/FX/etc to come
|
sounds good.. I love how versatile the X32 is and now with OSCii compatibility offers even more possibilities..
|
|
|
03-02-2021, 01:27 AM
|
#26
|
Human being with feelings
Join Date: Aug 2017
Location: Ottawa, Canada
Posts: 563
|
I am working on adding new features to my Oscii-bot script beyond what I have already implemented above.
Next on my list is meters
Stay tuned .....
|
|
|
03-04-2021, 06:12 AM
|
#27
|
Human being with feelings
Join Date: Aug 2009
Posts: 402
|
nice.. keep us posted, will be good to hear how you go..
|
|
|
03-06-2021, 07:32 PM
|
#28
|
Human being with feelings
Join Date: Aug 2017
Location: Ottawa, Canada
Posts: 563
|
I have a new version of Oscii-bot.exe compiled that allows the change of the Oscii-bot.exe log screen to:
1 - modify display font size
2 - modify font boldness
3 - modify the maximum lines of text the log screen can display
The above settings are controlled by new entries added to OSCII-bot.ini
Let me know if you would like to beta this change.
|
|
|
03-06-2021, 11:36 PM
|
#29
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,690
|
Of course I can test it if you want me to,
-Michael
|
|
|
03-07-2021, 04:09 AM
|
#30
|
Human being with feelings
Join Date: Aug 2009
Posts: 402
|
Quote:
Originally Posted by jacksoonbrowne
Let me know if you would like to beta this change.
|
I would be keen to test also..
|
|
|
03-09-2021, 09:49 PM
|
#31
|
Human being with feelings
Join Date: Aug 2017
Location: Ottawa, Canada
Posts: 563
|
Sorry guys, I am slammed with day job (pays for my toys). I will make it available soon
|
|
|
03-12-2021, 11:34 PM
|
#32
|
Human being with feelings
Join Date: Aug 2017
Location: Ottawa, Canada
Posts: 563
|
@mschnell, @EcBaPr
Sorry guys, I couldn't get the Oscii-Bot update out sooner than today, due to day job and My IP provider pushing cable modem updates that are stupid and breaks my local LAN.
I have sent you guys a more detailed email, including the update
Cheers Guys,
Roy
|
|
|
03-14-2021, 11:56 PM
|
#33
|
Human being with feelings
Join Date: Aug 2009
Posts: 402
|
no probs.. I have been caught up with other stuff also.. just got your email I will take a look at it ASAP and let you know.. cheers.
|
|
|
03-27-2021, 09:57 PM
|
#34
|
Human being with feelings
Join Date: Aug 2017
Location: Ottawa, Canada
Posts: 563
|
Quote:
Originally Posted by mschnell
Looking at the specs (-> The-Open-Sound-Control-1.0-Specification-opensoundcontrol.org_.pdf ), I found that OSC bundles are meant for specifying a time stamp to a set of OSC messages. That is why a bundle message always starts with a time tag.
Looking at the code, it seems that OSCIIBOT always sends the time tag 0, 0, 0, 0, 1, 0, 0, 0, which means a date in 1900.
Maybe this is what the Behringers dislike...
-Michael
|
Time tag of 1 means apply immediately
|
|
|
03-27-2021, 10:28 PM
|
#35
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,690
|
"0" would be more straight forward ?!?!?
Nonetheless it's possible that the Behringer implementation dislikes that time stamp.
-Michael
|
|
|
03-27-2021, 10:34 PM
|
#36
|
Human being with feelings
Join Date: Aug 2017
Location: Ottawa, Canada
Posts: 563
|
From Osc 1.0 spec
"If the time represented by the OSC Time Tag is before or equal to the
current time, the OSC Server should invoke the methods immediately"
|
|
|
03-28-2021, 02:12 AM
|
#37
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,690
|
Hmm...
How in fact should a mixer know the "current time" ?
-Michael
|
|
|
03-28-2021, 06:43 PM
|
#38
|
Human being with feelings
Join Date: Aug 2017
Location: Ottawa, Canada
Posts: 563
|
Quote:
Originally Posted by mschnell
Hmm...
How in fact should a mixer know the "current time" ?
-Michael
|
If a mixer supports OSC, such as the X32, then they are referred to as an OSC server.
However any manufacturer is free to Obey the OSC spec or implement changes as they see fit.
For example, Behringher does not support bundles.
And any OSC server may chose to discard any bundles with a time tag < current time.
OSC servers that implement Time tags must be able to have a clock.
|
|
|
03-28-2021, 10:13 PM
|
#39
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,690
|
According to this, the Behringers would be flawless (whole limited), but OSVIIBot would be bound to offer a "never bundle" mode.
-Michael
|
|
|
06-11-2021, 02:35 AM
|
#40
|
Human being with feelings
Join Date: Feb 2007
Location: VA
Posts: 885
|
OSC X32 REC/PLAY routing?
Very interesting development
Is the x32 REC/PLAY routing defined in osc?
Meaning when I change that mode on the mixer knob(button push) will it send an osc msg?
Conversely, can I send an osc msg to the X32 to toggle between REC/PLAY mode?
I'm trying to toggle between mix in console and mix in the box
https://forum.cockos.com/showpost.ph...postcount=2565
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 09:02 AM.
|