Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Pedro Lopez-Cabanillas <plcl@telefonica.net>
To: alsa-devel <alsa-devel@lists.sourceforge.net>
Cc: rosegarden-devel <rosegarden-devel@lists.sourceforge.net>
Subject: Sequencer port type flags
Date: Thu, 8 May 2003 01:42:10 +0200	[thread overview]
Message-ID: <200305080142.10772.plcl@telefonica.net> (raw)

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

             reply	other threads:[~2003-05-07 23:42 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-05-07 23:42 Pedro Lopez-Cabanillas [this message]
2003-05-08 17:51 ` Sequencer port type flags 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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200305080142.10772.plcl@telefonica.net \
    --to=plcl@telefonica.net \
    --cc=alsa-devel@lists.sourceforge.net \
    --cc=rosegarden-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox