add more sequencer port type information bits

Add four new information flags SNDRV_SEQ_PORT_TYPE_HARDWARE, _SOFTWARE,
_SYNTHESIZER, _PORT for sequencer ports.  This makes it easier for apps
like Rosegarden to make policy decisions based on the port type.
This commit is contained in:
Clemens Ladisch 2006-05-02 16:08:36 +02:00
parent c445fddab6
commit c3ac7bdf87
3 changed files with 15 additions and 1 deletions

View file

@ -232,9 +232,14 @@ typedef struct _snd_seq_port_info snd_seq_port_info_t;
#define SND_SEQ_PORT_TYPE_MIDI_GS (1<<3) /**< GS compatible device */
#define SND_SEQ_PORT_TYPE_MIDI_XG (1<<4) /**< XG compatible device */
#define SND_SEQ_PORT_TYPE_MIDI_MT32 (1<<5) /**< MT-32 compatible device */
#define SND_SEQ_PORT_TYPE_MIDI_GM2 (1<<6) /**< General MIDI 2 compatible device */
#define SND_SEQ_PORT_TYPE_SYNTH (1<<10) /**< Synth device */
#define SND_SEQ_PORT_TYPE_DIRECT_SAMPLE (1<<11) /**< Sampling device (support sample download) */
#define SND_SEQ_PORT_TYPE_SAMPLE (1<<12) /**< Sampling device (sample can be downloaded at any time) */
#define SND_SEQ_PORT_TYPE_HARDWARE (1<<16) /**< driver for a hardware device */
#define SND_SEQ_PORT_TYPE_SOFTWARE (1<<17) /**< implemented in software */
#define SND_SEQ_PORT_TYPE_SYNTHESIZER (1<<18) /**< generates sound */
#define SND_SEQ_PORT_TYPE_PORT (1<<19) /**< connects to other device(s) */
#define SND_SEQ_PORT_TYPE_APPLICATION (1<<20) /**< application (sequencer/editor) */

View file

@ -605,6 +605,10 @@ struct sndrv_seq_remove_events {
#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_HARDWARE (1<<16) /* driver for a hardware device */
#define SNDRV_SEQ_PORT_TYPE_SOFTWARE (1<<17) /* implemented in software */
#define SNDRV_SEQ_PORT_TYPE_SYNTHESIZER (1<<18) /* generates sound */
#define SNDRV_SEQ_PORT_TYPE_PORT (1<<19) /* connects to other device(s) */
#define SNDRV_SEQ_PORT_TYPE_APPLICATION (1<<20) /* application (sequencer/editor) */
/* misc. conditioning flags */

View file

@ -2169,18 +2169,23 @@ void snd_seq_port_info_set_timestamp_queue(snd_seq_port_info_t *info, int queue)
* - #SND_SEQ_PORT_CAP_DUPLEX Read/write duplex access is supported
* - #SND_SEQ_PORT_CAP_SUBS_READ Read subscription is allowed
* - #SND_SEQ_PORT_CAP_SUBS_WRITE Write subscription is allowed
* - #SND_SEQ_PORT_CAP_SUBS_NO_EXPORT Subscription management from 3rd client is disallowed
* - #SND_SEQ_PORT_CAP_NO_EXPORT Subscription management from 3rd client is disallowed
*
* Each port has also the type bitmasks defined as follows:
* - #SND_SEQ_PORT_TYPE_SPECIFIC Hardware specific port
* - #SND_SEQ_PORT_TYPE_MIDI_GENERIC Generic MIDI device
* - #SND_SEQ_PORT_TYPE_MIDI_GM General MIDI compatible device
* - #SND_SEQ_PORT_TYPE_MIDI_GM2 General MIDI 2 compatible device
* - #SND_SEQ_PORT_TYPE_MIDI_GS GS compatible device
* - #SND_SEQ_PORT_TYPE_MIDI_XG XG compatible device
* - #SND_SEQ_PORT_TYPE_MIDI_MT32 MT-32 compatible device
* - #SND_SEQ_PORT_TYPE_SYNTH Synth device
* - #SND_SEQ_PORT_TYPE_DIRECT_SAMPLE Sampling device (supporting download)
* - #SND_SEQ_PORT_TYPE_SAMPLE Sampling device (sample can be downloaded at any time)
* - #SND_SEQ_PORT_TYPE_HARDWARE Implemented in hardware
* - #SND_SEQ_PORT_TYPE_SOFTWARE Implemented in software
* - #SND_SEQ_PORT_TYPE_SYNTHESIZER Generates sound
* - #SND_SEQ_PORT_TYPE_PORT Connects to other device(s)
* - #SND_SEQ_PORT_TYPE_APPLICATION Application (sequencer/editor)
*
* A port may contain specific midi channels, midi voices and synth voices.