IpatchDLSFile

IpatchDLSFile — DLS file object and functions

Stability Level

Stable, unless otherwise indicated

Synopsis

                    IpatchDLSFile;
#define             IPATCH_DLS_FOURCC_DLS
#define             IPATCH_DLS_FOURCC_COLH
#define             IPATCH_DLS_FOURCC_WVPL
#define             IPATCH_DLS_FOURCC_DWPL
#define             IPATCH_DLS_FOURCC_PTBL
#define             IPATCH_DLS_FOURCC_PATH
#define             IPATCH_DLS_FOURCC_WAVE
#define             IPATCH_DLS_FOURCC_LINS
#define             IPATCH_DLS_FOURCC_INS
#define             IPATCH_DLS_FOURCC_INSH
#define             IPATCH_DLS_FOURCC_LRGN
#define             IPATCH_DLS_FOURCC_RGN
#define             IPATCH_DLS_FOURCC_RGNH
#define             IPATCH_DLS_FOURCC_LART
#define             IPATCH_DLS_FOURCC_ART1
#define             IPATCH_DLS_FOURCC_WLNK
#define             IPATCH_DLS_FOURCC_WSMP
#define             IPATCH_DLS_FOURCC_VERS
#define             IPATCH_DLS_FOURCC_RGN2
#define             IPATCH_DLS_FOURCC_LAR2
#define             IPATCH_DLS_FOURCC_ART2
#define             IPATCH_DLS_FOURCC_CDL
#define             IPATCH_DLS_FOURCC_DLID
#define             IPATCH_DLS_FOURCC_INFO
#define             IPATCH_DLS_FOURCC_FMT
#define             IPATCH_DLS_FOURCC_DATA
#define             IPATCH_DLS_FOURCC_IARL
#define             IPATCH_DLS_FOURCC_IART
#define             IPATCH_DLS_FOURCC_ICMS
#define             IPATCH_DLS_FOURCC_ICMT
#define             IPATCH_DLS_FOURCC_ICOP
#define             IPATCH_DLS_FOURCC_ICRD
#define             IPATCH_DLS_FOURCC_IENG
#define             IPATCH_DLS_FOURCC_IGNR
#define             IPATCH_DLS_FOURCC_IKEY
#define             IPATCH_DLS_FOURCC_IMED
#define             IPATCH_DLS_FOURCC_INAM
#define             IPATCH_DLS_FOURCC_IPRD
#define             IPATCH_DLS_FOURCC_ISBJ
#define             IPATCH_DLS_FOURCC_ISFT
#define             IPATCH_DLS_FOURCC_ISRC
#define             IPATCH_DLS_FOURCC_ISRF
#define             IPATCH_DLS_FOURCC_ITCH
#define             IPATCH_DLS_VERS_SIZE
#define             IPATCH_DLS_INSH_SIZE
#define             IPATCH_DLS_RGNH_SIZE
#define             IPATCH_DLS_RGNH_LAYER_SIZE
#define             IPATCH_DLS_WLNK_SIZE
#define             IPATCH_DLS_WSMP_HEADER_SIZE
#define             IPATCH_DLS_WSMP_LOOP_SIZE
#define             IPATCH_DLS_ART_HEADER_SIZE
#define             IPATCH_DLS_CONN_SIZE
#define             IPATCH_DLS_PTBL_HEADER_SIZE
#define             IPATCH_DLS_POOLCUE_SIZE
#define             IPATCH_DLS_WAVE_FMT_SIZE
#define             IPATCH_DLS_DLID_SIZE
#define             IPATCH_DLS_INSH_BANK_MASK
#define             IPATCH_DLS_INSH_BANK_PERCUSSION
#define             IPATCH_DLS_RGNH_OPTION_SELF_NON_EXCLUSIVE
#define             IPATCH_DLS_WLNK_PHASE_MASTER
#define             IPATCH_DLS_WLNK_MULTI_CHANNEL
#define             IPATCH_DLS_WSMP_NO_TRUNCATION
#define             IPATCH_DLS_WSMP_NO_COMPRESSION
#define             IPATCH_DLS_WSMP_LOOP_FORWARD
#define             IPATCH_DLS_WSMP_LOOP_RELEASE
IpatchDLSFile *     ipatch_dls_file_new                 (void);

Object Hierarchy

  GObject
   +----IpatchItem
         +----IpatchFile
               +----IpatchDLSFile
                     +----IpatchGigFile

Description

Object type for DLS files and other constants and functions dealing with them.

Details

IpatchDLSFile

typedef struct _IpatchDLSFile IpatchDLSFile;

IPATCH_DLS_FOURCC_DLS

#define IPATCH_DLS_FOURCC_DLS   IPATCH_FOURCC ('D','L','S',' ')

IPATCH_DLS_FOURCC_COLH

#define IPATCH_DLS_FOURCC_COLH  IPATCH_FOURCC ('c','o','l','h')

IPATCH_DLS_FOURCC_WVPL

#define IPATCH_DLS_FOURCC_WVPL  IPATCH_FOURCC ('w','v','p','l')

IPATCH_DLS_FOURCC_DWPL

#define IPATCH_DLS_FOURCC_DWPL  IPATCH_FOURCC ('d','w','p','l')

IPATCH_DLS_FOURCC_PTBL

#define IPATCH_DLS_FOURCC_PTBL  IPATCH_FOURCC ('p','t','b','l')

IPATCH_DLS_FOURCC_PATH

#define IPATCH_DLS_FOURCC_PATH  IPATCH_FOURCC ('p','a','t','h')

IPATCH_DLS_FOURCC_WAVE

#define IPATCH_DLS_FOURCC_WAVE  IPATCH_FOURCC ('w','a','v','e')

IPATCH_DLS_FOURCC_LINS

#define IPATCH_DLS_FOURCC_LINS  IPATCH_FOURCC ('l','i','n','s')

IPATCH_DLS_FOURCC_INS

#define IPATCH_DLS_FOURCC_INS   IPATCH_FOURCC ('i','n','s',' ')

IPATCH_DLS_FOURCC_INSH

#define IPATCH_DLS_FOURCC_INSH  IPATCH_FOURCC ('i','n','s','h')

IPATCH_DLS_FOURCC_LRGN

#define IPATCH_DLS_FOURCC_LRGN  IPATCH_FOURCC ('l','r','g','n')

IPATCH_DLS_FOURCC_RGN

#define IPATCH_DLS_FOURCC_RGN   IPATCH_FOURCC ('r','g','n',' ')

IPATCH_DLS_FOURCC_RGNH

#define IPATCH_DLS_FOURCC_RGNH  IPATCH_FOURCC ('r','g','n','h')

IPATCH_DLS_FOURCC_LART

#define IPATCH_DLS_FOURCC_LART  IPATCH_FOURCC ('l','a','r','t')

IPATCH_DLS_FOURCC_ART1

#define IPATCH_DLS_FOURCC_ART1  IPATCH_FOURCC ('a','r','t','1')

IPATCH_DLS_FOURCC_WLNK

#define IPATCH_DLS_FOURCC_WLNK  IPATCH_FOURCC ('w','l','n','k')

IPATCH_DLS_FOURCC_WSMP

#define IPATCH_DLS_FOURCC_WSMP  IPATCH_FOURCC ('w','s','m','p')

IPATCH_DLS_FOURCC_VERS

#define IPATCH_DLS_FOURCC_VERS  IPATCH_FOURCC ('v','e','r','s')

IPATCH_DLS_FOURCC_RGN2

#define IPATCH_DLS_FOURCC_RGN2  IPATCH_FOURCC ('r','g','n','2')

IPATCH_DLS_FOURCC_LAR2

#define IPATCH_DLS_FOURCC_LAR2  IPATCH_FOURCC ('l','a','r','2')

IPATCH_DLS_FOURCC_ART2

#define IPATCH_DLS_FOURCC_ART2  IPATCH_FOURCC ('a','r','t','2')

IPATCH_DLS_FOURCC_CDL

#define IPATCH_DLS_FOURCC_CDL   IPATCH_FOURCC ('c','d','l',' ')

IPATCH_DLS_FOURCC_DLID

#define IPATCH_DLS_FOURCC_DLID  IPATCH_FOURCC ('d','l','i','d')

IPATCH_DLS_FOURCC_INFO

#define IPATCH_DLS_FOURCC_INFO  IPATCH_FOURCC ('I','N','F','O')

IPATCH_DLS_FOURCC_FMT

#define IPATCH_DLS_FOURCC_FMT   IPATCH_FOURCC ('f','m','t',' ')

IPATCH_DLS_FOURCC_DATA

#define IPATCH_DLS_FOURCC_DATA  IPATCH_FOURCC ('d','a','t','a')

IPATCH_DLS_FOURCC_IARL

#define IPATCH_DLS_FOURCC_IARL  IPATCH_FOURCC ('I','A','R','L')

IPATCH_DLS_FOURCC_IART

#define IPATCH_DLS_FOURCC_IART  IPATCH_FOURCC ('I','A','R','T')

IPATCH_DLS_FOURCC_ICMS

#define IPATCH_DLS_FOURCC_ICMS  IPATCH_FOURCC ('I','C','M','S')

IPATCH_DLS_FOURCC_ICMT

#define IPATCH_DLS_FOURCC_ICMT  IPATCH_FOURCC ('I','C','M','T')

IPATCH_DLS_FOURCC_ICOP

#define IPATCH_DLS_FOURCC_ICOP  IPATCH_FOURCC ('I','C','O','P')

IPATCH_DLS_FOURCC_ICRD

#define IPATCH_DLS_FOURCC_ICRD  IPATCH_FOURCC ('I','C','R','D')

IPATCH_DLS_FOURCC_IENG

#define IPATCH_DLS_FOURCC_IENG  IPATCH_FOURCC ('I','E','N','G')

IPATCH_DLS_FOURCC_IGNR

#define IPATCH_DLS_FOURCC_IGNR  IPATCH_FOURCC ('I','G','N','R')

IPATCH_DLS_FOURCC_IKEY

#define IPATCH_DLS_FOURCC_IKEY  IPATCH_FOURCC ('I','K','E','Y')

IPATCH_DLS_FOURCC_IMED

#define IPATCH_DLS_FOURCC_IMED  IPATCH_FOURCC ('I','M','E','D')

IPATCH_DLS_FOURCC_INAM

#define IPATCH_DLS_FOURCC_INAM  IPATCH_FOURCC ('I','N','A','M')

IPATCH_DLS_FOURCC_IPRD

#define IPATCH_DLS_FOURCC_IPRD  IPATCH_FOURCC ('I','P','R','D')

IPATCH_DLS_FOURCC_ISBJ

#define IPATCH_DLS_FOURCC_ISBJ  IPATCH_FOURCC ('I','S','B','J')

IPATCH_DLS_FOURCC_ISFT

#define IPATCH_DLS_FOURCC_ISFT  IPATCH_FOURCC ('I','S','F','T')

IPATCH_DLS_FOURCC_ISRC

#define IPATCH_DLS_FOURCC_ISRC  IPATCH_FOURCC ('I','S','R','C')

IPATCH_DLS_FOURCC_ISRF

#define IPATCH_DLS_FOURCC_ISRF  IPATCH_FOURCC ('I','S','R','F')

IPATCH_DLS_FOURCC_ITCH

#define IPATCH_DLS_FOURCC_ITCH  IPATCH_FOURCC ('I','T','C','H')

IPATCH_DLS_VERS_SIZE

#define IPATCH_DLS_VERS_SIZE        8 /* version chunk size */

IPATCH_DLS_INSH_SIZE

#define IPATCH_DLS_INSH_SIZE        12 /* instrument header chunk size */

IPATCH_DLS_RGNH_SIZE

#define IPATCH_DLS_RGNH_SIZE        12 /* region header size */

IPATCH_DLS_RGNH_LAYER_SIZE

#define IPATCH_DLS_RGNH_LAYER_SIZE  14 /* with optional Layer field */

IPATCH_DLS_WLNK_SIZE

#define IPATCH_DLS_WLNK_SIZE        12 /* wave link chunk size */

IPATCH_DLS_WSMP_HEADER_SIZE

#define IPATCH_DLS_WSMP_HEADER_SIZE 20 /* sample info chunk without loops */

IPATCH_DLS_WSMP_LOOP_SIZE

#define IPATCH_DLS_WSMP_LOOP_SIZE   16 /* sample loop size */

IPATCH_DLS_ART_HEADER_SIZE

#define IPATCH_DLS_ART_HEADER_SIZE  8 /* articulator header size */

IPATCH_DLS_CONN_SIZE

#define IPATCH_DLS_CONN_SIZE        12 /* connection block size */

IPATCH_DLS_PTBL_HEADER_SIZE

#define IPATCH_DLS_PTBL_HEADER_SIZE 8 /* default pool table header size */

IPATCH_DLS_POOLCUE_SIZE

#define IPATCH_DLS_POOLCUE_SIZE     4 /* size of a pool cue offset */

IPATCH_DLS_WAVE_FMT_SIZE

#define IPATCH_DLS_WAVE_FMT_SIZE    16 /* PCM wave fmt chunk size */

IPATCH_DLS_DLID_SIZE

#define IPATCH_DLS_DLID_SIZE        16 /* DLID unique ID chunk size */

IPATCH_DLS_INSH_BANK_MASK

#define IPATCH_DLS_INSH_BANK_MASK 0x3FFF

IPATCH_DLS_INSH_BANK_PERCUSSION

#define IPATCH_DLS_INSH_BANK_PERCUSSION (1 << 31)

IPATCH_DLS_RGNH_OPTION_SELF_NON_EXCLUSIVE

#define IPATCH_DLS_RGNH_OPTION_SELF_NON_EXCLUSIVE 0x0001

IPATCH_DLS_WLNK_PHASE_MASTER

#define IPATCH_DLS_WLNK_PHASE_MASTER  0x0001

IPATCH_DLS_WLNK_MULTI_CHANNEL

#define IPATCH_DLS_WLNK_MULTI_CHANNEL 0x0002

IPATCH_DLS_WSMP_NO_TRUNCATION

#define IPATCH_DLS_WSMP_NO_TRUNCATION  0x0001

IPATCH_DLS_WSMP_NO_COMPRESSION

#define IPATCH_DLS_WSMP_NO_COMPRESSION 0x0002

IPATCH_DLS_WSMP_LOOP_FORWARD

#define IPATCH_DLS_WSMP_LOOP_FORWARD  0x0000

IPATCH_DLS_WSMP_LOOP_RELEASE

#define IPATCH_DLS_WSMP_LOOP_RELEASE  0x0001

ipatch_dls_file_new ()

IpatchDLSFile *     ipatch_dls_file_new                 (void);

Create a new DLS file object.

Returns :

New DLS file object (derived from IpatchFile) with a reference count of 1. Caller owns the reference and removing it will destroy the item.