All of lore.kernel.org
 help / color / mirror / Atom feed
* Sequencer port type flags
@ 2003-05-07 23:42 Pedro Lopez-Cabanillas
  2003-05-08 17:51 ` Frank van de Pol
  0 siblings, 1 reply; 10+ messages in thread
From: Pedro Lopez-Cabanillas @ 2003-05-07 23:42 UTC (permalink / raw)
  To: alsa-devel; +Cc: rosegarden-devel

Hi all,

There are some flags defined in alsa-kernel/include/asequencer.h to describe 
sequencer ports.

/* port type */
#define SNDRV_SEQ_PORT_TYPE_SPECIFIC    (1<<0)  /* hardware specific */
#define SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC (1<<1) /* generic MIDI device */
#define SNDRV_SEQ_PORT_TYPE_MIDI_GM     (1<<2)  /* General MIDI compatible 
device */
#define SNDRV_SEQ_PORT_TYPE_MIDI_GS     (1<<3)  /* GS compatible device */
#define SNDRV_SEQ_PORT_TYPE_MIDI_XG     (1<<4)  /* XG compatible device */
#define SNDRV_SEQ_PORT_TYPE_MIDI_MT32   (1<<5)  /* MT-32 compatible device */

/* other standards...*/
#define SNDRV_SEQ_PORT_TYPE_SYNTH       (1<<10) /* Synth device */
#define SNDRV_SEQ_PORT_TYPE_DIRECT_SAMPLE (1<<11)       /* Sampling device 
(support sample download) */
#define SNDRV_SEQ_PORT_TYPE_SAMPLE      (1<<12) /* Sampling device (sample can 
be downloaded at any time) */
/*...*/
#define SNDRV_SEQ_PORT_TYPE_APPLICATION (1<<20) /* application 
(sequencer/editor) */

I've checked recently some synth drivers included in ALSA: trident, gus and 
opl3 are sequencer clients and they set the flag SNDRV_SEQ_PORT_TYPE_SYNTH 
among others.

The emu synth driver sets several flags but not SNDRV_SEQ_PORT_TYPE_SYNTH. 
Shouldn't it set also this flag? 
See alsa-kernel/synth/emux/emux_seq.c:55

I don't understand why some synth drivers set the flags GM/GS/XG/MT32.

OTOH, the flags for userspace programs using ALSA library are explained here 
(snd_seq_create_port)
http://www.alsa-project.org/alsa-doc/alsa-lib/group___seq_port.html#a27

I've checked some software synths that also are ALSA sequencer clients:

timidity -iA (2.12.0-pre1) reports SND_SEQ_PORT_TYPE_MIDI_GENERIC
RTSynth (1.9.1) reports SND_SEQ_PORT_TYPE_MIDI_GENERIC
LegaSynth (0.4.1) reports SND_SEQ_PORT_TYPE_MIDI_GENERIC
iiwusynth (0.2.5) reports SND_SEQ_PORT_TYPE_APPLICATION
FluidSynth (1.0.1) reports SND_SEQ_PORT_TYPE_APPLICATION
amSynth (1.0-rc2) reports SND_SEQ_PORT_TYPE_APPLICATION
AlsaModularSynth (1.4.12) reports SND_SEQ_PORT_TYPE_APPLICATION
miniFMSynth, from the ALSA 0.9.0 programming howto, reports 
SND_SEQ_PORT_TYPE_APPLICATION
ZynAddSubFX (1.2) reports SND_SEQ_PORT_TYPE_SYNTH

My question is, shouldn't the soft-synth programs set the 
SND_SEQ_PORT_TYPE_SYNTH flag?
What should be the right policy for userspace programs and kernel modules?
Which set of flags should each program type set?

Thanks in advance.

Regards,
Pedro

-- 
ALSA Library Bindings for Pascal
http://alsapas.alturl.com



-------------------------------------------------------
Enterprise Linux Forum Conference & Expo, June 4-6, 2003, Santa Clara
The only event dedicated to issues related to Linux enterprise solutions
www.enterpriselinuxforum.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2003-05-12 10:02 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-05-07 23:42 Sequencer port type flags Pedro Lopez-Cabanillas
2003-05-08 17:51 ` Frank van de Pol
2003-05-08 20:00   ` Jaroslav Kysela
2003-05-09  9:54     ` [Rosegarden-devel] " Chris Cannam
2003-05-09 10:11       ` Chris Cannam
2003-05-09 10:54         ` Jaroslav Kysela
2003-05-09 10:43       ` Jaroslav Kysela
2003-05-09 12:00         ` Chris Cannam
2003-05-10 17:15         ` Pedro Lopez-Cabanillas
2003-05-12 10:02           ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.