Open mixxxbot opened 2 years ago
Commented by: illuusio Date: 2015-11-12T13:05:00Z
I recommend to test Portaudio-pulseaudio currently only available in patch and builds can be found: https://build.opensuse.org/package/show/home:illuusio:portaudio/portaudio
Commented by: daschuer Date: 2015-11-12T14:29:34Z
Thank you, this would be a adequate replacement for 1) if the two soundcards use case is easy to setup (just as easy as with the alsa backend)
Commented by: rryan Date: 2015-12-31T18:39:22Z
I think we're better served from a maintenance perspective by leveraging Tuukka's work in portaudio itself.
Commented by: daschuer Date: 2016-01-01T02:29:47Z
Tuukka's work is a very nice solution for 1.) So we do not need a sounddevicepulse.
However it is not a solution for the "Using the system sound" 2.)
Since we currently have non of these solutions, lets keep the bug open.
Commented by: rryan Date: 2016-01-01T02:47:50Z
If the user wants to mix the system sound in then they should get it into a sound device PortAudio can read from on their own (e.g. using JACK, SoundFlower, etc.) and use an AUX input. I don't think we should be messing with Pulse/ALSA for the user.
Commented by: daschuer Date: 2016-01-01T10:44:53Z
I was thinking about a extended pasuspender, which switches the Pulse default output to the loopback device. This way, Mixxx itself is not responsible for messing with the pulse config, it has not pulse dependency, but it can interact with this new wrapping process, so solve the other issues we currently have with pulse as well.
The result is able to achieve a much better latency than a Mixxx/System - > Pulse -> ALSA solution or a Mixxx/Jack - > Jack -> ALSA solution.
Finally we will have System -> Pulse -> ALSA -> MIxxx -> ALSA. Mixxx does actually the final mixing ;-)
Commented by: daschuer Date: 2018-05-20T20:02:50Z
https://github.com/illuusio/portaudio-pulseaudio/pull/1
This branch is quite mature. Unfortunately merging upstream is somehow stalled. I think we should adopt this in our Ubuntu PPA That should be a great usability boost.
And a nice topic on our 2.2 feature list.
Commented by: Be-ing Date: 2018-05-20T20:16:33Z
IMO we should work to get it merged upstream rather than hack in our own functionality to replace a common package on almost every users' system.
Commented by: daschuer Date: 2018-05-20T22:04:09Z
Illuusio is trying that for two years, and even if it would be merged today, we should offer it our users in a ppa instead of wait an other two yeas until it lands in a new distro release.
Commented by: daschuer Date: 2020-06-10T06:27:10Z
the code lives now here: https://github.com/illuusio/assembla-mirror-portaudio-pulseaudio
The Pulse API has now been merged: https://github.com/PortAudio/portaudio/pull/336
we need to consider how we want to make it usable for all our Linux users.
Reported by: daschuer Date: 2015-11-09T08:05:06Z Status: Confirmed Importance: Wishlist Launchpad Issue: lp1514332
Two possible solutions: I think they are covering different use-cases, so we should implement both:
1) Implement a sounddevicepulse, to become a native pulse client. The pro-setup of such a system will be still tricky since it requires pavucontrol, which is not default on most distros. Mixxx has to register more than one clients to have access to more than one hardware soundcard.
Currently this is already possible with one soundcard using the "pulse" Soundcard of ALSA.
2) redirect Pulse (System Sound) to the ALSA Loopback soundcard, to allow to Mixxx the system sound in (Youtube/Soptify)
Solution 1) id the jukbox setup which makes Mixxx behave as any other desktop application. Solution 2) is the pro setup, which allows to use teh system sound in lief Mixes.
Related Bugs: Bug #1333466 Bug #1414456