| 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