Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages   Examples  

Sequencer Port Interface
[MIDI Sequencer]


Defines

#define SND_SEQ_PORT_SYSTEM_TIMER   0
#define SND_SEQ_PORT_SYSTEM_ANNOUNCE   1
#define SND_SEQ_PORT_CAP_READ   (1<<0)
#define SND_SEQ_PORT_CAP_WRITE   (1<<1)
#define SND_SEQ_PORT_CAP_SYNC_READ   (1<<2)
#define SND_SEQ_PORT_CAP_SYNC_WRITE   (1<<3)
#define SND_SEQ_PORT_CAP_DUPLEX   (1<<4)
#define SND_SEQ_PORT_CAP_SUBS_READ   (1<<5)
#define SND_SEQ_PORT_CAP_SUBS_WRITE   (1<<6)
#define SND_SEQ_PORT_CAP_NO_EXPORT   (1<<7)
#define SND_SEQ_PORT_TYPE_SPECIFIC   (1<<0)
#define SND_SEQ_PORT_TYPE_MIDI_GENERIC   (1<<1)
#define SND_SEQ_PORT_TYPE_MIDI_GM   (1<<2)
#define SND_SEQ_PORT_TYPE_MIDI_GS   (1<<3)
#define SND_SEQ_PORT_TYPE_MIDI_XG   (1<<4)
#define SND_SEQ_PORT_TYPE_MIDI_MT32   (1<<5)
#define SND_SEQ_PORT_TYPE_SYNTH   (1<<10)
#define SND_SEQ_PORT_TYPE_DIRECT_SAMPLE   (1<<11)
#define SND_SEQ_PORT_TYPE_SAMPLE   (1<<12)
#define SND_SEQ_PORT_TYPE_APPLICATION   (1<<20)
#define snd_seq_port_info_alloca(ptr)   SND_ALLOCA(snd_seq_port_info, ptr)

Typedefs

typedef _snd_seq_port_info snd_seq_port_info_t

Functions

size_t snd_seq_port_info_sizeof (void)
 get size of snd_seq_port_info_t

int snd_seq_port_info_malloc (snd_seq_port_info_t **ptr)
 allocate an empty snd_seq_port_info_t using standard malloc

void snd_seq_port_info_free (snd_seq_port_info_t *ptr)
 frees a previously allocated snd_seq_port_info_t

void snd_seq_port_info_copy (snd_seq_port_info_t *dst, const snd_seq_port_info_t *src)
 copy one snd_seq_port_info_t to another

int snd_seq_port_info_get_client (const snd_seq_port_info_t *info)
 Get client id of a port_info container.

int snd_seq_port_info_get_port (const snd_seq_port_info_t *info)
 Get port id of a port_info container.

const snd_seq_addr_tsnd_seq_port_info_get_addr (const snd_seq_port_info_t *info)
 Get client/port address of a port_info container.

const char * snd_seq_port_info_get_name (const snd_seq_port_info_t *info)
 Get the name of a port_info container.

unsigned int snd_seq_port_info_get_capability (const snd_seq_port_info_t *info)
 Get the capability bits of a port_info container.

unsigned int snd_seq_port_info_get_type (const snd_seq_port_info_t *info)
 Get the type bits of a port_info container.

int snd_seq_port_info_get_midi_channels (const snd_seq_port_info_t *info)
 Get the midi channels of a port_info container.

int snd_seq_port_info_get_midi_voices (const snd_seq_port_info_t *info)
 Get the midi voices of a port_info container.

int snd_seq_port_info_get_synth_voices (const snd_seq_port_info_t *info)
 Get the synth voices of a port_info container.

int snd_seq_port_info_get_read_use (const snd_seq_port_info_t *info)
 Get the number of read subscriptions of a port_info container.

int snd_seq_port_info_get_write_use (const snd_seq_port_info_t *info)
 Get the number of write subscriptions of a port_info container.

int snd_seq_port_info_get_port_specified (const snd_seq_port_info_t *info)
 Get the port-specified mode of a port_info container.

void snd_seq_port_info_set_client (snd_seq_port_info_t *info, int client)
 Set the client id of a port_info container.

void snd_seq_port_info_set_port (snd_seq_port_info_t *info, int port)
 Set the port id of a port_info container.

void snd_seq_port_info_set_addr (snd_seq_port_info_t *info, const snd_seq_addr_t *addr)
 Set the client/port address of a port_info container.

void snd_seq_port_info_set_name (snd_seq_port_info_t *info, const char *name)
 Set the name of a port_info container.

void snd_seq_port_info_set_capability (snd_seq_port_info_t *info, unsigned int capability)
 set the capability bits of a port_info container

void snd_seq_port_info_set_type (snd_seq_port_info_t *info, unsigned int type)
 Get the type bits of a port_info container.

void snd_seq_port_info_set_midi_channels (snd_seq_port_info_t *info, int channels)
 set the midi channels of a port_info container

void snd_seq_port_info_set_midi_voices (snd_seq_port_info_t *info, int voices)
 set the midi voices of a port_info container

void snd_seq_port_info_set_synth_voices (snd_seq_port_info_t *info, int voices)
 set the synth voices of a port_info container

void snd_seq_port_info_set_port_specified (snd_seq_port_info_t *info, int val)
 Set the port-specified mode of a port_info container.

int snd_seq_create_port (snd_seq_t *handle, snd_seq_port_info_t *info)
 create a sequencer port on the current client

int snd_seq_delete_port (snd_seq_t *handle, int port)
 delete a sequencer port on the current client

int snd_seq_get_port_info (snd_seq_t *handle, int port, snd_seq_port_info_t *info)
 obtain the information of a port on the current client

int snd_seq_get_any_port_info (snd_seq_t *handle, int client, int port, snd_seq_port_info_t *info)
 obtain the information of a port on an arbitrary client

int snd_seq_set_port_info (snd_seq_t *handle, int port, snd_seq_port_info_t *info)
 set the information of a port on the current client

int snd_seq_query_next_port (snd_seq_t *handle, snd_seq_port_info_t *info)
 query the next matching port


Detailed Description

Sequencer Port Interface

Define Documentation

#define SND_SEQ_PORT_CAP_DUPLEX   (1<<4)
 

allow read/write duplex

#define SND_SEQ_PORT_CAP_NO_EXPORT   (1<<7)
 

routing not allowed

#define SND_SEQ_PORT_CAP_READ   (1<<0)
 

readable from this port

#define SND_SEQ_PORT_CAP_SUBS_READ   (1<<5)
 

allow read subscription

#define SND_SEQ_PORT_CAP_SUBS_WRITE   (1<<6)
 

allow write subscription

#define SND_SEQ_PORT_CAP_SYNC_READ   (1<<2)
 

allow read subscriptions

#define SND_SEQ_PORT_CAP_SYNC_WRITE   (1<<3)
 

allow write subscriptions

#define SND_SEQ_PORT_CAP_WRITE   (1<<1)
 

writable to this port

#define snd_seq_port_info_alloca ptr       SND_ALLOCA(snd_seq_port_info, ptr)
 

allocate a snd_seq_port_info_t container on stack

#define SND_SEQ_PORT_SYSTEM_ANNOUNCE   1
 

system announce port

#define SND_SEQ_PORT_SYSTEM_TIMER   0
 

system timer port

#define SND_SEQ_PORT_TYPE_APPLICATION   (1<<20)
 

application (sequencer/editor)

#define SND_SEQ_PORT_TYPE_DIRECT_SAMPLE   (1<<11)
 

Sampling device (support sample download)

#define SND_SEQ_PORT_TYPE_MIDI_GENERIC   (1<<1)
 

generic MIDI device

#define SND_SEQ_PORT_TYPE_MIDI_GM   (1<<2)
 

General MIDI compatible device

#define SND_SEQ_PORT_TYPE_MIDI_GS   (1<<3)
 

GS compatible device

#define SND_SEQ_PORT_TYPE_MIDI_MT32   (1<<5)
 

MT-32 compatible device

#define SND_SEQ_PORT_TYPE_MIDI_XG   (1<<4)
 

XG compatible device

#define SND_SEQ_PORT_TYPE_SAMPLE   (1<<12)
 

Sampling device (sample can be downloaded at any time)

#define SND_SEQ_PORT_TYPE_SPECIFIC   (1<<0)
 

hardware specific

#define SND_SEQ_PORT_TYPE_SYNTH   (1<<10)
 

Synth device


Typedef Documentation

typedef struct _snd_seq_port_info snd_seq_port_info_t
 

port information container


Function Documentation

int snd_seq_create_port snd_seq_t   seq,
snd_seq_port_info_t   port
 

create a sequencer port on the current client

Parameters:
seq  sequencer handle
port  port information for the new port
Returns:
0 on success otherwise a negative error code
Creates a sequencer port on the current client. The attributes of created port is specified in info argument.

The client field in info argument is overwritten with the current client id. The port id to be created can be specified via snd_seq_port_info_set_port_specified. You can get the created port id by reading the port pointer via snd_seq_port_info_get_port.

Each port has the capability bit-masks to specify the access capability of the port from other clients. The capability bit flags are defined as follows:

Each port has also the type bitmasks defined as follows: A port may contain specific midi channels, midi voices and synth voices. These values could be zero as default.

int snd_seq_delete_port snd_seq_t   seq,
int    port
 

delete a sequencer port on the current client

Parameters:
seq  sequencer handle
port  port to be deleted
Returns:
0 on success otherwise a negative error code
Deletes the existing sequencer port on the current client.

int snd_seq_get_any_port_info snd_seq_t   seq,
int    client,
int    port,
snd_seq_port_info_t   info
 

obtain the information of a port on an arbitrary client

Parameters:
seq  sequencer handle
client  client id to get
port  port id to get
info  pointer information returns
Returns:
0 on success otherwise a negative error code

int snd_seq_get_port_info snd_seq_t   seq,
int    port,
snd_seq_port_info_t   info
 

obtain the information of a port on the current client

Parameters:
seq  sequencer handle
port  port id to get
info  pointer information returns
Returns:
0 on success otherwise a negative error code

void snd_seq_port_info_copy snd_seq_port_info_t   dst,
const snd_seq_port_info_t   src
 

copy one snd_seq_port_info_t to another

Parameters:
dst  pointer to destination
src  pointer to source

void snd_seq_port_info_free snd_seq_port_info_t   obj
 

frees a previously allocated snd_seq_port_info_t

Parameters:
pointer  to object to free

const snd_seq_addr_t* snd_seq_port_info_get_addr const snd_seq_port_info_t   info
 

Get client/port address of a port_info container.

Parameters:
info  port_info container
Returns:
client/port address pointer

unsigned int snd_seq_port_info_get_capability const snd_seq_port_info_t   info
 

Get the capability bits of a port_info container.

Parameters:
info  port_info container
Returns:
capability bits

int snd_seq_port_info_get_client const snd_seq_port_info_t   info
 

Get client id of a port_info container.

Parameters:
info  port_info container
Returns:
client id

int snd_seq_port_info_get_midi_channels const snd_seq_port_info_t   info
 

Get the midi channels of a port_info container.

Parameters:
info  port_info container
Returns:
number of midi channels (default 0)

int snd_seq_port_info_get_midi_voices const snd_seq_port_info_t   info
 

Get the midi voices of a port_info container.

Parameters:
info  port_info container
Returns:
number of midi voices (default 0)

const char* snd_seq_port_info_get_name const snd_seq_port_info_t   info
 

Get the name of a port_info container.

Parameters:
info  port_info container
Returns:
name string

int snd_seq_port_info_get_port const snd_seq_port_info_t   info
 

Get port id of a port_info container.

Parameters:
info  port_info container
Returns:
port id

int snd_seq_port_info_get_port_specified const snd_seq_port_info_t   info
 

Get the port-specified mode of a port_info container.

Parameters:
info  port_info container
Returns:
1 if port id is specified at creation

int snd_seq_port_info_get_read_use const snd_seq_port_info_t   info
 

Get the number of read subscriptions of a port_info container.

Parameters:
info  port_info container
Returns:
number of read subscriptions

int snd_seq_port_info_get_synth_voices const snd_seq_port_info_t   info
 

Get the synth voices of a port_info container.

Parameters:
info  port_info container
Returns:
number of synth voices (default 0)

unsigned int snd_seq_port_info_get_type const snd_seq_port_info_t   info
 

Get the type bits of a port_info container.

Parameters:
info  port_info container
Returns:
port type bits

int snd_seq_port_info_get_write_use const snd_seq_port_info_t   info
 

Get the number of write subscriptions of a port_info container.

Parameters:
info  port_info container
Returns:
number of write subscriptions

int snd_seq_port_info_malloc snd_seq_port_info_t **    ptr
 

allocate an empty snd_seq_port_info_t using standard malloc

Parameters:
ptr  returned pointer
Returns:
0 on success otherwise negative error code

void snd_seq_port_info_set_addr snd_seq_port_info_t   info,
const snd_seq_addr_t   addr
 

Set the client/port address of a port_info container.

Parameters:
info  port_info container
addr  client/port address

void snd_seq_port_info_set_capability snd_seq_port_info_t   info,
unsigned int    capability
 

set the capability bits of a port_info container

Parameters:
info  port_info container
capability  capability bits

void snd_seq_port_info_set_client snd_seq_port_info_t   info,
int    client
 

Set the client id of a port_info container.

Parameters:
info  port_info container
client  client id

void snd_seq_port_info_set_midi_channels snd_seq_port_info_t   info,
int    channels
 

set the midi channels of a port_info container

Parameters:
info  port_info container
channels  midi channels (default 0)

void snd_seq_port_info_set_midi_voices snd_seq_port_info_t   info,
int    voices
 

set the midi voices of a port_info container

Parameters:
info  port_info container
voices  midi voices (default 0)

void snd_seq_port_info_set_name snd_seq_port_info_t   info,
const char *    name
 

Set the name of a port_info container.

Parameters:
info  port_info container
name  name string

void snd_seq_port_info_set_port snd_seq_port_info_t   info,
int    port
 

Set the port id of a port_info container.

Parameters:
info  port_info container
port  port id

void snd_seq_port_info_set_port_specified snd_seq_port_info_t   info,
int    val
 

Set the port-specified mode of a port_info container.

Parameters:
info  port_info container
val  non-zero if specifying the port id at creation

void snd_seq_port_info_set_synth_voices snd_seq_port_info_t   info,
int    voices
 

set the synth voices of a port_info container

Parameters:
info  port_info container
voices  synth voices (default 0)

void snd_seq_port_info_set_type snd_seq_port_info_t   info,
unsigned int    type
 

Get the type bits of a port_info container.

Parameters:
info  port_info container
Returns:
port type bits

size_t snd_seq_port_info_sizeof void   
 

get size of snd_seq_port_info_t

Returns:
size in bytes

int snd_seq_query_next_port snd_seq_t   seq,
snd_seq_port_info_t   info
 

query the next matching port

Parameters:
seq  sequencer handle
info  query pattern and result
Queries the next matching port on the client specified in info argument. The search begins at the next port specified in port field of info argument. For finding the first port at a certain client, give -1.

If a matching port is found, its attributes are stored on info and function returns zero. Otherwise, a negative error code is returned.

int snd_seq_set_port_info snd_seq_t   seq,
int    port,
snd_seq_port_info_t   info
 

set the information of a port on the current client

Parameters:
seq  sequencer handle
port  port to be set
info  port information to be set
Returns:
0 on success otherwise a negative error code


Generated on Wed Feb 19 12:45:36 2003 for ALSA project - the C library reference by doxygen1.2.18