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_t * | snd_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_t * | snd_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... |
>
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