| libInstPatch Reference Manual |
|---|
IpatchSF2FileIpatchSF2File — SoundFont file type |
IpatchSF2Phdr;
IpatchSF2Ihdr;
IpatchSF2Shdr;
IpatchSF2Bag;
IpatchSF2File;
IpatchSF2FileClass;
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);
typedef struct {
guint8 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 key 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;
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.
file : |
SoundFont file object to set position of sample chunk |
sample_pos : |
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.
file : |
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.
file : |
SoundFont file object to set the size of the sample chunk |
sample_size : |
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.
file : |
SoundFont file object to get the size of the sample chunk from |
| Returns : | Size of the sample data chunk, in samples |
| << IpatchSF2 | IpatchSF2Reader >> |