diff options
author | Clemens Ladisch <clemens@ladisch.de> | 2006-05-02 16:08:36 +0200 |
---|---|---|
committer | Clemens Ladisch <clemens@ladisch.de> | 2006-05-02 16:08:36 +0200 |
commit | c3ac7bdf876c4ab438ba16f88627f17dbb122114 (patch) | |
tree | 0a568fb5df34dc0ec93550ce51a4f53a745bd4ae | |
parent | c445fddab65e508cd5fcc2d7ac8917601b6bc738 (diff) |
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.
-rw-r--r-- | include/seq.h | 5 | ||||
-rw-r--r-- | include/sound/asequencer.h | 4 | ||||
-rw-r--r-- | src/seq/seq.c | 7 |
3 files changed, 15 insertions, 1 deletions
diff --git a/include/seq.h b/include/seq.h index bb7356f8..8c9b969e 100644 --- a/include/seq.h +++ b/include/seq.h @@ -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) */ diff --git a/include/sound/asequencer.h b/include/sound/asequencer.h index eac0a77a..f2a125a2 100644 --- a/include/sound/asequencer.h +++ b/include/sound/asequencer.h @@ -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 */ diff --git a/src/seq/seq.c b/src/seq/seq.c index 751f7fd7..ca7ca9b7 100644 --- a/src/seq/seq.c +++ b/src/seq/seq.c @@ -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. |