Re: [PATCH 24/36] ALSA: seq: Add UMP support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 22 May 2023 09:34:45 +0200,
Jaroslav Kysela wrote:
> 
> On 19. 05. 23 11:31, Takashi Iwai wrote:
> > Starting from this commit, we add the basic support of UMP (Universal
> > MIDI Packet) events on ALSA sequencer infrastructure.  The biggest
> > change here is that, for transferring UMP packets that are up to 128
> > bits, we extend the data payload of ALSA sequencer event record when
> > the client is declared to support for the new UMP events.
> > 
> > A new event flag bit, SNDRV_SEQ_EVENT_UMP, is defined and it shall be
> > set for the UMP packet events that have the larger payload of 128
> > bits, defined as struct snd_seq_ump_event.
> > 
> > For applications that want to access the UMP packets, first of all, a
> > sequencer client has to declare the user-protocol to match with the
> > latest one via the new SNDRV_SEQ_IOCTL_USER_PVERSION; otherwise it's
> > treated as if a legacy client without UMP support.
> > 
> > Then the client can switch to the new UMP mode (MIDI 1.0 or MIDI 2.0)
> > with a new field, midi_version, in snd_seq_client_info.  When switched
> > to UMP mode (midi_version = 1 or 2), the client can write the UMP
> > events with SNDRV_SEQ_EVENT_UMP flag.  For reads, the alignment size
> > is changed from snd_seq_event (28 bytes) to snd_seq_ump_event (32
> > bytes).  When a UMP sequencer event is delivered to a legacy sequencer
> > client, it's ignored or handled as an error.
> 
> The internal struct snd_seq_event_cell is also extended by 4 bytes. I
> think that it is worth to note this in this commit (the memory
> footprint is slightly growing).

Yes, will do that.  But note that the size growth of
snd_seq_event_cell happens only for 32bit archs (there was already
padding on 64bit archs).

> Maybe handle !SND_UMP here, but we can
> wait, if someone really requires this optimization.

Right, I began with that, but I threw it away in the end as it becomes
unnecessarily complex.


thanks,

Takashi



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux