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