Skip to content

Commit

Permalink
ump: Add descriptions for UMP RawMidi interface
Browse files Browse the repository at this point in the history
Also update doxygen config accordingly.

Signed-off-by: Takashi Iwai <[email protected]>
  • Loading branch information
tiwai committed Jun 26, 2024
1 parent 18579ad commit f8df023
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 0 deletions.
2 changes: 2 additions & 0 deletions doc/doxygen.cfg.in
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ INPUT = @top_srcdir@/doc/index.doxygen \
@top_srcdir@/include/control.h \
@top_srcdir@/include/pcm.h \
@top_srcdir@/include/rawmidi.h \
@top_srcdir@/include/ump.h \
@top_srcdir@/include/ump_msg.h \
@top_srcdir@/include/timer.h \
@top_srcdir@/include/hwdep.h \
@top_srcdir@/include/seq.h \
Expand Down
8 changes: 8 additions & 0 deletions include/ump.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@
extern "C" {
#endif

/**
* \defgroup RawMidi RawMidi Interface
* The RawMidi Interface. See \ref rawmidi page for more details.
* \{
*/

/** UMP (Endpoint) RawMIDI device */
typedef struct _snd_ump snd_ump_t;
/** UMP Endpoint information container */
Expand Down Expand Up @@ -168,6 +174,8 @@ void snd_ump_block_info_set_sysex8_streams(snd_ump_block_info_t *info, unsigned
void snd_ump_block_info_set_ui_hint(snd_ump_block_info_t *info, unsigned int hint);
void snd_ump_block_info_set_name(snd_ump_block_info_t *info, const char *name);

/** \} */

#ifdef __cplusplus
}
#endif
Expand Down
23 changes: 23 additions & 0 deletions src/rawmidi/ump.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,29 @@
#include "rawmidi_local.h"
#include "ump_local.h"

/*! \page rawmidi RawMidi interface
\section rawmidi_ump UMP RawMidi Interface
MIDI 2.0 devices have a different type of interface, communicating with
UMP (Universal MIDI Packet). For those devices, ALSA-library provides
API functions for accessing the raw UMP packet directly via the existing
RawMidi interface.
#snd_ump_open() is the API function for opening a UMP RawMidi interface.
It works just like #snd_rawmidi_open() but for UMP devices. Similarly,
#snd_ump_close() is for closing, and there are other equivalent API functions
corresponding to the RawMidi ones.
The new stuff for UMP is UMP Endpoint and UMP Function Blocks. The information
from Endpoint and Function Blocks can be obtained via #snd_ump_endpoint_info()
and #snd_ump_block_info() API functions.
The objects #snd_ump_endpoint_info_t and #snd_ump_block_info_t are used for
creating a virtual UMP Endpoint and Function Blocks via ALSA sequencer, too.
*/

static int get_rawmidi_flags(snd_ump_t *ump)
{
snd_rawmidi_info_t info;
Expand Down

0 comments on commit f8df023

Please sign in to comment.