pipewire/spa/plugins
Wim Taymans ea28343166 midi: don't convert Midi in nodes
Avoid doing conversions in the nodes between Midi formats, just assume
the imput is what we expect and output what we naturally produce.

For ALSA this means we produce and consume Midi1 or Midi2 depending on the
configurtation.

All of the other modules (ffado, RTP, netjack and VBAN) really only
produce and consume MIDI1.

Set the default MIDI format to MIDI1 in ALSA.

Whith this change, almost everything now produces and consumes MIDI1
again (previously the buffer format was forced to MIDI2).

The problem is that MIDI2 to and from MIDI1 conversion has problems in
some cases in PipeWire and ALSA and breaks compatibility with some
hardware.

The idea is to let elements produce their prefered format and that the
control mixer also negotiates and converts to the node prefered format.
There is then a mix of MIDI2 and MIDI1 on ports but with the control
port adapting, this should not be a problem.

There is one remaining problem to make this work, the port format is
taken from the node port and not the mixer port, which would then expose
the prefered format on the port and force negotiation to it with the
peer instead of in the mixer.

See #5183
2026-03-25 11:59:43 +01:00
..
aec spa: aec: Add some channel config validation 2026-03-17 12:06:25 +00:00
alsa midi: don't convert Midi in nodes 2026-03-25 11:59:43 +01:00
audioconvert spa: audioconvert: benchmark-fmt-ops: initialize convert 2026-03-24 17:50:51 +01:00
audiomixer audiomixer: only add the input port to mix_list 2026-03-11 12:36:39 +01:00
audiotestsrc audiotestsrc: Operate as follower too 2025-12-16 13:15:00 +01:00
avb modules: support audio.layout where we can 2025-10-30 12:29:31 +01:00
bluez5 bluez5: parse the broadcast adapter value from the correct iterator 2026-03-24 16:55:00 +00:00
control mixer: only add input ports to mixer 2026-03-25 11:59:43 +01:00
ffmpeg spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
filter-graph filter-graph: fix up def/min/max values for lv2 2026-03-16 12:19:57 +01:00
jack *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
libcamera spa: libcamera: source: SPA_PARAM_Props is write-only 2026-03-09 21:19:38 +00:00
support cpu: add SLOW_GATHER flag 2026-03-19 16:21:35 +01:00
test spa: make the wave, pattern and ditherType Int 2025-06-13 10:06:09 +02:00
v4l2 v4l2: use 0x as the prefix for hex values 2026-03-09 13:50:38 +01:00
videoconvert spa: add Capability and PeerCapability 2025-11-21 10:08:46 +01:00
videotestsrc loop: spa_loop_invoke -> spa_loop_locked where possible 2025-05-30 11:59:35 +02:00
volume treewide: access the position information using helpers 2025-10-21 13:06:25 +02:00
vulkan spa/plugins: include <stdlib.h> for alloca() on non-linux 2026-03-12 09:21:40 +00:00
meson.build spa/plugins: revert "Disable alsa plugin on !Linux platforms." 2026-03-12 09:20:05 +00:00