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

instr.h File Reference

Application interface library for the ALSA driver. More...

Go to the source code of this file.

Defines

#define snd_instr_header_alloca(ptr)
#define SND_SEQ_INSTR_ATYPE_DATA   0 /**< instrument data */
#define SND_SEQ_INSTR_ATYPE_ALIAS   1 /**< instrument alias */
#define SND_SEQ_INSTR_ID_DLS1   "DLS1" /**< DLS1 */
#define SND_SEQ_INSTR_ID_DLS2   "DLS2" /**< DLS2 */
#define SND_SEQ_INSTR_ID_SIMPLE   "Simple Wave" /**< Simple Wave */
#define SND_SEQ_INSTR_ID_SOUNDFONT   "SoundFont" /**< SoundFont */
#define SND_SEQ_INSTR_ID_GUS_PATCH   "GUS Patch" /**< Gravis Patch */
#define SND_SEQ_INSTR_ID_INTERWAVE   "Interwave FFFF" /**< InterWave FFFF */
#define SND_SEQ_INSTR_ID_OPL2_3   "OPL2/3 FM" /**< OPL2/3 FM */
#define SND_SEQ_INSTR_ID_OPL4   "OPL4" /**< OPL4 */
#define SND_SEQ_INSTR_TYPE0_DLS1   (1<<0) /**< MIDI DLS v1 */
#define SND_SEQ_INSTR_TYPE0_DLS2   (1<<1) /**< MIDI DLS v2 */
#define SND_SEQ_INSTR_TYPE1_SIMPLE   (1<<0) /**< Simple Wave */
#define SND_SEQ_INSTR_TYPE1_SOUNDFONT   (1<<1) /**< EMU SoundFont */
#define SND_SEQ_INSTR_TYPE1_GUS_PATCH   (1<<2) /**< Gravis UltraSound Patch */
#define SND_SEQ_INSTR_TYPE1_INTERWAVE   (1<<3) /**< InterWave FFFF */
#define SND_SEQ_INSTR_TYPE2_OPL2_3   (1<<0) /**< Yamaha OPL2/3 FM */
#define SND_SEQ_INSTR_TYPE2_OPL4   (1<<1) /**< Yamaha OPL4 */
#define SND_SEQ_INSTR_PUT_CMD_CREATE   0 /**< create a new layer */
#define SND_SEQ_INSTR_PUT_CMD_REPLACE   1 /**< replace the old layer with new one */
#define SND_SEQ_INSTR_PUT_CMD_MODIFY   2 /**< modify the existing layer */
#define SND_SEQ_INSTR_PUT_CMD_ADD   3 /**< add one to the existing layer */
#define SND_SEQ_INSTR_PUT_CMD_REMOVE   4 /**< remove the layer */
#define SND_SEQ_INSTR_GET_CMD_FULL   0 /**< get the full data stream */
#define SND_SEQ_INSTR_GET_CMD_PARTIAL   1 /**< get the partial data stream */
#define SND_SEQ_INSTR_QUERY_FOLLOW_ALIAS   (1<<0) /**< follow alias to get the instrument data */
#define SND_SEQ_INSTR_FREE_CMD_ALL   0 /**< remove all matching instruments */
#define SND_SEQ_INSTR_FREE_CMD_PRIVATE   1 /**< remove only private instruments */
#define SND_SEQ_INSTR_FREE_CMD_CLUSTER   2 /**< remove only cluster instruments */
#define SND_SEQ_INSTR_FREE_CMD_SINGLE   3 /**< remove single instrument */

Typedefs

typedef _snd_instr_header snd_instr_header_t
typedef void snd_instr_fm_t
typedef void snd_instr_simple_t
typedef void snd_instr_iwffff_t
typedef _snd_iwffff_handle snd_iwffff_handle_t

Functions

size_t snd_instr_header_sizeof (void)
 get size of snd_instr_header_t. More...

int snd_instr_header_malloc (snd_instr_header_t **ptr, size_t len)
 allocate an empty snd_instr_header_t using standard malloc. More...

void snd_instr_header_free (snd_instr_header_t *ptr)
 frees a previously allocated snd_instr_header_t. More...

void snd_instr_header_copy (snd_instr_header_t *dst, const snd_instr_header_t *src)
 copy one snd_instr_header_t to another. More...

const snd_seq_instr_tsnd_instr_header_get_id (const snd_instr_header_t *info)
 Get the instrument id of an instr_header container. More...

snd_seq_instr_cluster_t snd_instr_header_get_cluster (const snd_instr_header_t *info)
 Get the cluster id of an instr_header container. More...

unsigned int snd_instr_header_get_cmd (const snd_instr_header_t *info)
 Get the command of an instr_header container. More...

size_t snd_instr_header_get_len (const snd_instr_header_t *info)
 Get the length of extra data of an instr_header container. More...

const char * snd_instr_header_get_name (const snd_instr_header_t *info)
 Get the data name of an instr_header container. More...

int snd_instr_header_get_type (const snd_instr_header_t *info)
 Get the data type of an instr_header container. More...

const char * snd_instr_header_get_format (const snd_instr_header_t *info)
 Get the data format of an instr_header container. More...

const snd_seq_instr_tsnd_instr_header_get_alias (const snd_instr_header_t *info)
 Get the data alias of an instr_header container. More...

void * snd_instr_header_get_data (const snd_instr_header_t *info)
 Get the extra data pointer of an instr_header container. More...

int snd_instr_header_get_follow_alias (const snd_instr_header_t *info)
 Get the flag to follow alias of an instr_header container. More...

void snd_instr_header_set_id (snd_instr_header_t *info, const snd_seq_instr_t *id)
 Set the instrument id of an instr_header container. More...

void snd_instr_header_set_cluster (snd_instr_header_t *info, snd_seq_instr_cluster_t cluster)
 Set the cluster id of an instr_header container. More...

void snd_instr_header_set_cmd (snd_instr_header_t *info, unsigned int cmd)
 Set the command of an instr_header container. More...

void snd_instr_header_set_len (snd_instr_header_t *info, size_t len)
 Set the length of extra data of an instr_header container. More...

void snd_instr_header_set_name (snd_instr_header_t *info, const char *name)
 Set the data name of an instr_header container. More...

void snd_instr_header_set_type (snd_instr_header_t *info, int type)
 Set the data type of an instr_header container. More...

void snd_instr_header_set_format (snd_instr_header_t *info, const char *format)
 Set the data format of an instr_header container. More...

void snd_instr_header_set_alias (snd_instr_header_t *info, const snd_seq_instr_t *instr)
 Set the data alias id of an instr_header container. More...

void snd_instr_header_set_follow_alias (snd_instr_header_t *info, int val)
 Set the flag to follow alias of an instr_header container. More...

int snd_instr_fm_convert_to_stream (snd_instr_fm_t *fm, const char *name, snd_instr_header_t **put, size_t *size)
 Convert the FM instrument to byte stream. More...

int snd_instr_fm_convert_from_stream (snd_instr_header_t *data, size_t size, snd_instr_fm_t **fm)
 Convert the byte stream to FM instrument. More...

int snd_instr_fm_free (snd_instr_fm_t *fm)
 Free the FM instrument handle. More...

int snd_instr_simple_convert_to_stream (snd_instr_simple_t *simple, const char *name, snd_instr_header_t **put, size_t *size)
 Convert the simple instrument to byte stream. More...

int snd_instr_simple_convert_from_stream (snd_instr_header_t *data, size_t size, snd_instr_simple_t **simple)
 Convert the byte stream to simple instrument. More...

int snd_instr_simple_free (snd_instr_simple_t *simple)
 Free simple instrument. More...

int snd_instr_iwffff_open (snd_iwffff_handle_t **handle, const char *name_fff, const char *name_dta)
 Open IWFFFF files. More...

int snd_instr_iwffff_open_rom (snd_iwffff_handle_t **handle, int card, int bank, int file)
 Open IWFFFF ROM. More...

int snd_instr_iwffff_open_rom_file (snd_iwffff_handle_t **handle, const char *name, int bank, int file)
 Open IWFFFF ROM file. More...

int snd_instr_iwffff_close (snd_iwffff_handle_t *handle)
 Close and free IWFFFF handle. More...

int snd_instr_iwffff_load (snd_iwffff_handle_t *handle, int bank, int prg, snd_instr_iwffff_t **iwffff)
 Load IWFFFF instrument. More...

int snd_instr_iwffff_convert_to_stream (snd_instr_iwffff_t *iwffff, const char *name, snd_instr_header_t **data, size_t *size)
 Convert the IWFFFF instrument to byte stream. More...

int snd_instr_iwffff_convert_from_stream (snd_instr_header_t *data, size_t size, snd_instr_iwffff_t **iwffff)
 Convert the byte stream to IWFFFF instrument. More...

int snd_instr_iwffff_free (snd_instr_iwffff_t *iwffff)
 Free IWFFFF instrument. More...


Detailed Description

Application interface library for the ALSA driver.

>

Author:
Jaroslav Kysela <perex@suse.cz> , Abramo Bagnara <abramo@alsa-project.org> , Takashi Iwai <tiwai@suse.de>
Date:
1998-2001
Application interface library for the ALSA driver

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA


Generated on Sun Sep 29 12:29:29 2002 for ALSA project - the C library reference by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002