jackaudio / a2jmidid

ALSA sequencer to JACK MIDI bridging (for jack2)
GNU General Public License v2.0
43 stars 16 forks source link

Capture and Playback reversed #15

Open founfabug opened 3 years ago

founfabug commented 3 years ago

Capture and Playback reversed (I think)

When displayed in graph in qjackctl-0.9.4-48.1 and in aconnect, the labels capture and playback seem reversed.

example

aconnect -o

client 133: 'a2j_bridge' [type=user,pid=15884]
    0 'playback        '

The -o option List existing output (writable) ports. This port is listed as playback, where capture would be anticipated.

The reverse is true for the aconnect -i, where capture is listed, and playback anticipated.

In use, this results ( as show in graph) in the output of Drumstick Metronome being connected to 0:playback of a2j_bridge, and the capture of the corresponding a2j_bridge being connected to the input of the device receiving the signal.

All works as expected, only the labels appear swapped.

Apologies if this is anticipated behavior.

Tested with 5b8f5d9

nedko commented 2 years ago

ALSA output ports, the writable ports are playback-named in terms of jackaudio.

E.g.:

# jack_lsp -p
system:capture_1
        properties: output,physical,terminal,
system:capture_2
        properties: output,physical,terminal,
system:capture_3
        properties: output,physical,terminal,
system:capture_4
        properties: output,physical,terminal,
system:playback_1
        properties: input,physical,terminal,
system:playback_2
        properties: input,physical,terminal,
system:playback_3
        properties: input,physical,terminal,
system:playback_4
        properties: input,physical,terminal,
system:midi_capture_1
        properties: output,physical,terminal,
system:midi_playback_1
        properties: input,physical,terminal,

The naming ambiguities can be written in a2jmidid documentation/website as FAQ. I consider the current naming proper.

nedko commented 2 years ago

Pulseaudio uses Sink for writable/output/playback and Source for readable/input/capture. Maybe using these on ALSA side will improve the situation for some (and break existing sessions relying on current names for others). A new command-line parameter(s) could do it for everybody in non-breaking way.