All of 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 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.