pq / osc

A simple Open Sound Control (OSC) protocol implementation for Dart.
BSD 3-Clause "New" or "Revised" License
32 stars 19 forks source link

Any plan to support OSC bundles? #16

Open giohappy opened 3 years ago

giohappy commented 3 years ago

Do you have any plan to implement the support for OSC Bundles? I was testing your library with Bitwig Studio and it failed immediately because the lib doesn't accespt addresses starting with the "#" char, as in #bundle

pq commented 3 years ago

Thanks for the interest!

Do you have any plan to implement the support for OSC Bundles?

I'm not looking at it currently but would be very open to external contributions!

Is the Bitwig Studio address scheme documented anywhere? Is the issue just with # prefixes?

giohappy commented 3 years ago

Thanks for your reply @pq. I would like to have the time to contribute, but I fear it won't happen soon...

Unfortunately Bitwig doesn't provide an online documentation of its API. I can only share a screenshot from the local copy bundles with Bitwig, showing the OSCConnection and the OSCBundle interfaces.

The most popular (and the ony as far as I know) concrete implementation of the OSC control is the one from Jürgen Moßgraber. It provides and implementation of the interfaces and expose them as a Bitwig controller.

It works perfectly with many OSC clients (including the great Open Stage Control).

In any case, the OSC Bundle is part of the OSC 1.0 specification, it's not something specific from Bitwig.

screencapture-file-C-Program-Files-Bitwig-Studio-4-0-resources-doc-control-surface-api-a00185-html-2021-09-02-16_03_35

screencapture-file-C-Program-Files-Bitwig-Studio-4-0-resources-doc-control-surface-api-a00184-html-2021-09-02-18_59_14

giohappy commented 3 years ago

FYI @pq I'm starting the implementation of OSC packet and bundle. I'm doing it in my little free time, so no deadlines. I've started with the refactoring of the folders as in the following picture:

image

It might change during the implementation. It's just to let you know....

pq commented 3 years ago

That's fantastic!

liujing1 commented 2 years ago

FYI @pq I'm starting the implementation of OSC packet and bundle. I'm doing it in my little free time, so no deadlines. I've started with the refactoring of the folders as in the following picture:

image

It might change during the implementation. It's just to let you know.... how can see your code?

nikage commented 1 year ago

@liujing1 @pq any updates so far? No pressure, just wondering...

pq commented 1 year ago

Sadly not on my end. I haven't had any time to play around here in a while...

briandoman commented 4 months ago

Also looking for bundle support. I'll watch this space :)

Levi-Lesches commented 1 week ago

Hi @giohappy and @pq, my team and I are using this package for a project and we'd be happy to contribute to this issue as our hardware emits bundles. We don't need support per se, we currently just skip 20 bytes and parse the rest, but it would be nice to not have to document and explain that workaround. We also recently had an issue with our clock, which this feature could have notified us of.

@giohappy, can you share your last version of the code as a branch, maybe in a fork, and that way my team can branch off and submit a PR when we're ready. In the meantime I may dig around to see how simple or difficult this would be, because I notice you mentioned a refactor

giohappy commented 1 week ago

hey @Levi-Lesches I didn't work on this further. Actually I'm not using Dart anymore and I even don't remember if I still have this code somewhere. If I find something I will share it np.

pq commented 3 days ago

Hey @Levi-Lesches! Sorry fort the slow reply. I've been pretty preoccupied elsewhere but would be happy to see contributions!