benkuper / Chataigne

Artist-friendly Modular Machine for Art and Technology
https://benjamin.kuperberg.fr/chataigne
GNU General Public License v3.0
1.16k stars 55 forks source link

Can the OSC module work with TCP? (not UDP) #190

Open hepiyellow opened 1 year ago

hepiyellow commented 1 year ago

Is your feature request related to a problem? Please describe. Working with UDP I encounter cases where drop packets cause my controller and my app not to be in sync.

This happens when I move several faders at once on my controller.

Describe the solution you'd like Working with TCP should fix the issue

benkuper commented 1 year ago

OSC is officially transported through UDP, using TCP for OSC is not standard and only supported by a very few apps. Unless there are strong arguments, if you have control over your communication protocol and want to use TCP, I'd suggest using websocket.

Also, please post "user" related issues on discord, the github issues are focused on core code bugs and improvements, thank you !

hepiyellow commented 1 year ago

Ok, about the yser related stuff. About tcp,The app i am working with (GrandMA3) supports tcp. So there is no built-in tcp support in chataigne?Could you direct me where i might start if i try to submit a PR ?On 2023. Sep 13., at 18:13, Ben Kuper @.***> wrote: OSC is officially transported through UDP, using TCP for OSC is not standard and only supported by a very few apps. Unless there are strong arguments, if you have control over your communication protocol and want to use TCP, I'd suggest using websocket. Also, please post "user" related issues on discord, the github issues are focused on core code bugs and improvements, thank you !

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

benkuper commented 12 months ago

You can clone the repo and change the OSC Module so it's able to use TCP, but the layers are deeper as it uses internally the JUCE OSC system. So you would have to modify JUCE code, then propose a PR on my JUCE fork, and then change Chataigne to support this. Totally feasible, but way more time than I would spend personally, considering i'm not using this at all :)