Hi, so I have been working on developing a controller script for integration with Bitwig Studio. The script reads data from Bitwig and sends it out via OSC to Lemur.
I have noticed an issue in Lemur where much of the OSC traffic is actually being ignored by Lemur even though it receives it. I have verified the messages are sent out using Wireshark and contain the right contents, that the OSC packets are being constructed and are valid, and that they should all be reaching my iPad Air 2 which runs Lemur.
Right now the script is setup to only update data as needed, however we added a button which flushes the entire state of Bitwig to Lemur. The problem is we are having to press it multiple times for everything to finally sync up because of all the dropped OSC messages. In theory everything is supposed to stay in sync without ever requiring a full flush of the data after the initial flush because we are only sending the changes automatically. Like I said, I have verified the correct message is being sent out using Wireshark and that its contents are valid.
The Lemur template I am using is perfectly responsive, I also have tried using a bare bones template with only my clip launcher but the issue is still present. We are only sending a few 100 OSC packets or so a sec max.
Any ideas what could be wrong? I have read through the knowledge base some but couldn't find any feasible explanation for what is happening other than I have made some critical scripting error somewhere.
EDIT:
So I was able to cut down OSC traffic to a fraction of what it was and Lemur is behaving better, but still when things get very busy in the DAW Lemur is being overrun by OSC traffic... what can I do to optimize this?
Lemur intermitently dropping OSC messages
Re: Lemur intermitently dropping OSC messages
Hard to say off the top of my head ... And without more info on structure of interaction ...
Is it communicating with an OnOSC script or directly to the objects?
Is Bitwig sending lots of messages or bundles with lots of messages?
Would have to check specifics of how it is all implemented internally ..
There may be some way around it or you may need to split the messages up ....
Is it communicating with an OnOSC script or directly to the objects?
Is Bitwig sending lots of messages or bundles with lots of messages?
Would have to check specifics of how it is all implemented internally ..
There may be some way around it or you may need to split the messages up ....
iMac 2.8G i7 12G 10.6.8/10.7.2, Legacy Dexter/Lemur, Liine Lemur/iPad2, KMI SoftStep, 12Step & QuNeo , B-Controls, Mackie C4 etc
MaxMSP, Live Suite, Native Instrument stuff, etc Modified Virtual Guitar System etc All Projects/Modules © CC-BY-NC-SA[*][/b]
MaxMSP, Live Suite, Native Instrument stuff, etc Modified Virtual Guitar System etc All Projects/Modules © CC-BY-NC-SA[*][/b]
Re: Lemur intermitently dropping OSC messages
The parts of the template we are having issues with are mainly to objects (not onOsc). The template uses a mix of both.Macciza wrote:Hard to say off the top of my head ... And without more info on structure of interaction ...
Is it communicating with an OnOSC script or directly to the objects?
Is Bitwig sending lots of messages or bundles with lots of messages?
Would have to check specifics of how it is all implemented internally ..
There may be some way around it or you may need to split the messages up ....
We are not utilizing bundles.
Also, I managed to cut the OSC traffic down to less than 50 packets per second during playback, no packets besides changes not in playback. I no longer believe the bug is due to the volume of OSC traffic.
Sometimes I see Lemur ignoring the message, other times I don't get the message from Bitwig in the first place. I suppose I should focus on the messages that are received by Lemur but not processed. I will gather more data and post back here.
Re: Lemur intermitently dropping OSC messages
Hi good news everyone!
We were able to completely mitigate this issue by implementing a bundle system in the OSC traffic!
We were able to completely mitigate this issue by implementing a bundle system in the OSC traffic!