| libinstpatch Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Properties | ||||
IpatchSF2Phdr;
IpatchSF2Ihdr;
IpatchSF2Shdr;
IpatchSF2Bag;
IpatchSF2File;
#define IPATCH_SFONT_FOURCC_SFBK
#define IPATCH_SFONT_FOURCC_INFO
#define IPATCH_SFONT_FOURCC_SDTA
#define IPATCH_SFONT_FOURCC_PDTA
#define IPATCH_SFONT_FOURCC_SMPL
#define IPATCH_SFONT_FOURCC_SM24
#define IPATCH_SFONT_FOURCC_PHDR
#define IPATCH_SFONT_FOURCC_PBAG
#define IPATCH_SFONT_FOURCC_PMOD
#define IPATCH_SFONT_FOURCC_PGEN
#define IPATCH_SFONT_FOURCC_INST
#define IPATCH_SFONT_FOURCC_IBAG
#define IPATCH_SFONT_FOURCC_IMOD
#define IPATCH_SFONT_FOURCC_IGEN
#define IPATCH_SFONT_FOURCC_SHDR
#define IPATCH_SFONT_FOURCC_IFIL
#define IPATCH_SFONT_FOURCC_ISNG
#define IPATCH_SFONT_FOURCC_INAM
#define IPATCH_SFONT_FOURCC_IROM
#define IPATCH_SFONT_FOURCC_IVER
#define IPATCH_SFONT_FOURCC_ICRD
#define IPATCH_SFONT_FOURCC_IENG
#define IPATCH_SFONT_FOURCC_IPRD
#define IPATCH_SFONT_FOURCC_ICOP
#define IPATCH_SFONT_FOURCC_ICMT
#define IPATCH_SFONT_FOURCC_ISFT
#define IPATCH_SFONT_VERSION_SIZE
#define IPATCH_SFONT_PHDR_SIZE
#define IPATCH_SFONT_INST_SIZE
#define IPATCH_SFONT_SHDR_SIZE
#define IPATCH_SFONT_BAG_SIZE
#define IPATCH_SFONT_MOD_SIZE
#define IPATCH_SFONT_GEN_SIZE
#define IPATCH_SFONT_NAME_SIZE
enum IpatchSF2FileSampleType;
IpatchSF2File * ipatch_sf2_file_new (void);
void ipatch_sf2_file_set_sample_pos (IpatchSF2File *file,
guint sample_pos);
guint ipatch_sf2_file_get_sample_pos (IpatchSF2File *file);
void ipatch_sf2_file_set_sample_size (IpatchSF2File *file,
guint sample_size);
guint ipatch_sf2_file_get_sample_size (IpatchSF2File *file);
void ipatch_sf2_file_set_sample24_pos (IpatchSF2File *file,
guint sample24_pos);
guint ipatch_sf2_file_get_sample24_pos (IpatchSF2File *file);
"sample-pos" guint : Read / Write "sample-size" guint : Read / Write "sample24-pos" guint : Read / Write
typedef struct {
char name[20]; /* preset name */
guint16 program; /* MIDI program number */
guint16 bank; /* MIDI bank number */
guint16 bag_index; /* index into preset bag (#IPFileBag) */
guint32 library; /* Not used (preserved) */
guint32 genre; /* Not used (preserved) */
guint32 morphology; /* Not used (preserved) */
} IpatchSF2Phdr;
typedef struct {
char name[20]; /* name of instrument */
guint16 bag_index; /* instrument bag index (#IPFileBag) */
} IpatchSF2Ihdr;
typedef struct {
char name[20]; /* sample name */
guint32 start; /* offset to start of sample */
guint32 end; /* offset to end of sample */
guint32 loop_start; /* offset to start of loop */
guint32 loop_end; /* offset to end of loop */
guint32 rate; /* sample rate recorded at */
guint8 root_note; /* root midi note number */
gint8 fine_tune; /* pitch correction in cents */
guint16 link_index; /* linked sample index for stereo samples */
guint16 type; /* type of sample (see IpatchSF2SampleFlags) */
} IpatchSF2Shdr;
typedef struct {
guint16 mod_index; /* index into modulator list */
guint16 gen_index; /* index into generator list */
} IpatchSF2Bag;
#define IPATCH_SFONT_NAME_SIZE 20 /* name string size (Preset/Inst/Sample) */
typedef enum
{
IPATCH_SF2_FILE_SAMPLE_TYPE_MONO = 1 << 0,
IPATCH_SF2_FILE_SAMPLE_TYPE_RIGHT = 1 << 1,
IPATCH_SF2_FILE_SAMPLE_TYPE_LEFT = 1 << 2,
IPATCH_SF2_FILE_SAMPLE_TYPE_LINKED = 1 << 3,
IPATCH_SF2_FILE_SAMPLE_TYPE_ROM = 1 << 15
} IpatchSF2FileSampleType;
SoundFont file sample channel mode
IpatchSF2File * ipatch_sf2_file_new (void);
Create a new SoundFont file object.
Returns : |
New SoundFont file object (derived from IpatchFile) with a reference count of 1. Caller owns the reference and removing it will destroy the item. |
void ipatch_sf2_file_set_sample_pos (IpatchSF2File *file, guint sample_pos);
Sets the position of the sample data chunk in a SoundFont file object.
|
SoundFont file object to set position of sample chunk |
|
Position in the SoundFont file of the first sample of the sample data chunk, in bytes |
guint ipatch_sf2_file_get_sample_pos (IpatchSF2File *file);
Gets the position of the sample data chunk in a SoundFont file object.
|
SoundFont file object to get position of sample chunk from |
Returns : |
Position in the SoundFont file of the first sample of the sample data chunk, in bytes |
void ipatch_sf2_file_set_sample_size (IpatchSF2File *file, guint sample_size);
Sets the size of the sample data chunk in a SoundFont file object.
|
SoundFont file object to set the size of the sample chunk |
|
Size of the sample data chunk, in samples |
guint ipatch_sf2_file_get_sample_size (IpatchSF2File *file);
Gets the size of the sample data chunk in a SoundFont file object.
|
SoundFont file object to get the size of the sample chunk from |
Returns : |
Size of the sample data chunk, in samples |
void ipatch_sf2_file_set_sample24_pos (IpatchSF2File *file, guint sample24_pos);
Sets the position of the sample 24 data chunk in a SoundFont file object. This optional chunk contains the lower significant bytes of 24 bit samples.
|
SoundFont file object to set position of sample24 chunk |
|
Position in the SoundFont file of the first sample of the sample 24 data chunk, in bytes |
guint ipatch_sf2_file_get_sample24_pos (IpatchSF2File *file);
Gets the position of the sample24 data chunk in a SoundFont file object.
|
SoundFont file object to get position of sample24 chunk from |
Returns : |
Position in the SoundFont file of the first byte of the sample24 data chunk, in bytes |
"sample-pos" property"sample-pos" guint : Read / Write
Position in file of sample data chunk.
Default value: 0
"sample-size" property"sample-size" guint : Read / Write
Size of sample data chunk, in samples.
Default value: 0
"sample24-pos" property"sample24-pos" guint : Read / Write
Position in file of 24 bit sample chunk.
Default value: 0