When configured with raw MIDI support, control.h declares:
int snd_ctl_ump_endpoint_info(snd_ctl_t *ctl, snd_ump_endpoint_info_t *info);
int snd_ctl_ump_block_info(snd_ctl_t *ctl, snd_ump_block_info_t *info);
However, it doesn't seem that the snd_ump* types are defined here, and this results in build failures in applications compiling against alsa-lib-1.2.10. For example (build log):
[77/90] /usr/bin/x86_64-pc-linux-gnu-g++ -I/var/tmp/portage/x11-misc/polybar-3.6.3-r3/work/polybar-3.6.3/include -I/var/tmp/portage/x11-misc/polybar-3.6.3-r3/work/polybar-3.6.3_build/generated-sources -isystem /usr/include/cairo -isystem /usr/include/libpng16 -isystem /usr/include/freetype2 -isystem /usr/include/pixman-1 -isystem /var/tmp/portage/x11-misc/polybar-3.6.3-r3/work/polybar-3.6.3/lib/xpp/include -isystem /var/tmp/portage/x11-misc/polybar-3.6.3-r3/work/polybar-3.6.3_build/lib/xpp/generated-sources/include -O2 -pipe -march=native -fno-diagnostics-color -std=c++14 -fno-diagnostics-color -Wall -Wextra -Wpedantic -Wsuggest-override -MD -MT bin/CMakeFiles/poly.dir/adapters/alsa/control.cpp.o -MF bin/CMakeFiles/poly.dir/adapters/alsa/control.cpp.o.d -o bin/CMakeFiles/poly.dir/adapters/alsa/control.cpp.o -c /var/tmp/portage/x11-misc/polybar-3.6.3-r3/work/polybar-3.6.3/src/adapters/alsa/control.cpp
FAILED: bin/CMakeFiles/poly.dir/adapters/alsa/control.cpp.o
/usr/bin/x86_64-pc-linux-gnu-g++ -I/var/tmp/portage/x11-misc/polybar-3.6.3-r3/work/polybar-3.6.3/include -I/var/tmp/portage/x11-misc/polybar-3.6.3-r3/work/polybar-3.6.3_build/generated-sources -isystem /usr/include/cairo -isystem /usr/include/libpng16 -isystem /usr/include/freetype2 -isystem /usr/include/pixman-1 -isystem /var/tmp/portage/x11-misc/polybar-3.6.3-r3/work/polybar-3.6.3/lib/xpp/include -isystem /var/tmp/portage/x11-misc/polybar-3.6.3-r3/work/polybar-3.6.3_build/lib/xpp/generated-sources/include -O2 -pipe -march=native -fno-diagnostics-color -std=c++14 -fno-diagnostics-color -Wall -Wextra -Wpedantic -Wsuggest-override -MD -MT bin/CMakeFiles/poly.dir/adapters/alsa/control.cpp.o -MF bin/CMakeFiles/poly.dir/adapters/alsa/control.cpp.o.d -o bin/CMakeFiles/poly.dir/adapters/alsa/control.cpp.o -c /var/tmp/portage/x11-misc/polybar-3.6.3-r3/work/polybar-3.6.3/src/adapters/alsa/control.cpp
In file included from /var/tmp/portage/x11-misc/polybar-3.6.3-r3/work/polybar-3.6.3/include/adapters/alsa/generic.hpp:37,
from /var/tmp/portage/x11-misc/polybar-3.6.3-r3/work/polybar-3.6.3/src/adapters/alsa/control.cpp:2:
/usr/include/alsa/control.h:417:47: error: ‘snd_ump_endpoint_info_t’ has not been declared
417 | int snd_ctl_ump_endpoint_info(snd_ctl_t *ctl, snd_ump_endpoint_info_t *info);
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/alsa/control.h:418:44: error: ‘snd_ump_block_info_t’ has not been declared
418 | int snd_ctl_ump_block_info(snd_ctl_t *ctl, snd_ump_block_info_t *info);
| ^~~~~~~~~~~~~~~~~~~~
When configured with raw MIDI support,
control.h
declares:However, it doesn't seem that the
snd_ump*
types are defined here, and this results in build failures in applications compiling against alsa-lib-1.2.10. For example (build log):