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

audio.jack.autoconnect=1 only connects the first output and first effects channel #920

Closed
albedozero opened this issue Jun 22, 2021 · 3 comments · Fixed by #927
Closed
Labels

Comments

@albedozero
Copy link
Contributor

FluidSynth version

2.2.1

Describe the bug

When using audio.jack.autoconnect=1 with audio.jack.multi=1, only the first effects channel (Reverb) is connected. Additionally, if a value >1 is used for synth.audio-channels and synth.audio-groups, only the first output channel is connected.

Expected behavior

Would expect for all Fluidsynth outputs to be connected to the JACK system playback inputs.

Steps to reproduce

Can be reproduced via the command line

fluidsynth -a jack -j -o audio.jack.multi=1 -o synth.audio-channels=2 -o synth.audio-groups=2

Additional context

pi@raspberrypi:~ $ jack_lsp -c
system:playback_1
   fluidsynth:l_00
   fluidsynth:fx_l_00
system:playback_2
   fluidsynth:r_00
   fluidsynth:fx_r_00
fluidsynth:l_00
   system:playback_1
fluidsynth:r_00
   system:playback_2
fluidsynth:l_01
fluidsynth:r_01
fluidsynth:fx_l_00
   system:playback_1
fluidsynth:fx_r_00
   system:playback_2
fluidsynth:fx_l_01
fluidsynth:fx_r_01
@derselbst
Copy link
Member

A PR is ready for this, feel free to test. The question remains though how meaningful an autoconnection in case of jack.multi=1 is. It will now just connect all input ports to all output ports and then wraps around in case there are too few input ports.

@albedozero
Copy link
Contributor Author

Perfect - works as expected! I think it makes sense that jack.autoconnect=1 does the same thing whether jack.multi=1 or 0 - i.e. it connects all the available system inputs to FS outputs. In the case where a user has a sound card with multiple stereo outputs, it should be up to the user to determine output routing and not use autoconnect. It's also useful in the case where I want to use JACK to create subgroups of channels for routing LADSPA effects, and don't want to have to use (much slower) shell commands to connect the jack inputs.

@albedozero
Copy link
Contributor Author

Very sorry - I missed that the effects ports weren't wrapping around as well. Just tested that this works and submitted the changed line in PR #927

@albedozero albedozero reopened this Jun 30, 2021
@derselbst derselbst linked a pull request Jun 30, 2021 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants