Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JACK/PipeWire port property metadata, including CV? #674

Open
mxmilkiib opened this issue Nov 9, 2021 · 5 comments
Open

JACK/PipeWire port property metadata, including CV? #674

mxmilkiib opened this issue Nov 9, 2021 · 5 comments

Comments

@mxmilkiib
Copy link

mxmilkiib commented Nov 9, 2021

JACK ports can have metadata, like title.

JACK also allows for CV-like audio rate automation signals between apps. This reuses audio float streams but with a 'CV' bit set on the port property.

It would be great to have the ability to set this property to allow the routing of CV between Web Audio/WASM apps and native JACK/PipeWire apps (and LV2 plugins).

Further info on CV can be found on https://linuxmusicians.com/viewtopic.php?t=20701

@kinetiknz
Copy link
Collaborator

We'd accept a patch for this, but it's unlikely to be worked on otherwise - see https://github.com/mozilla/cubeb/wiki/Backend-Support

@dreamcat4
Copy link

We'd accept a patch for this, but it's unlikely to be worked on otherwise - see https://github.com/mozilla/cubeb/wiki/Backend-Support

hi @kinetiknz,
to distinguish JACK from Pipewire (as these are 2 different audio engines). Is there any feeling we can have Pipewire listed as it's own separate new entry into the table there as a Tier-3 also?

Would be appreciated thank you.

@mara004
Copy link

mara004 commented Jan 15, 2023

I'd like to echo @dreamcat4's question concerning Pipewire support in cubeb/firefox, esp. in the lights of Bug 1422637.

@padenot
Copy link
Collaborator

padenot commented Jan 17, 2023

We'll probably write a PipeWire backend eventually (in rust of course, which is preferred for all new backends, for safety and ergonomics). I've had a look at the API and rust bindings, and it looks quite nice.

However, it isn't clear to me what the advantages would be over using the PulseAudio API just yet (except fixing https://bugzilla.mozilla.org/show_bug.cgi?id=1422637 of course), but I haven't spent enough time around PipeWire right now (except being impressed by the performance, again using the PulseAudio API with a PipeWire server).

If someone can link us to documents that outline the benefits, I'll happily go through those, otherwise I'll try to find something myself.

As far as we're aware, the PulseAudio backend works well (again, except the bug noted above) with a PipeWire server (that's what I'm using, the performance improvement is impressive), so this doesn't have the highest priority (compared to, say, other things that really don't work well).

@mara004
Copy link

mara004 commented Jan 17, 2023

Well, finally getting around the deadlocked Bug 1422637 would appear like something of an advantage, but I understand you may have more important tasks to work on.

To my understanding, distros could use Firefox's Jack backend with Pipewire to avoid that bug, but apparently they don't do it. Maybe since the support table says Tier 3 (unclear maintenance status) ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants