Creates a new preset.
The sound bank this preset belongs to.
The optional global zone to associate within the preset.
Bank LSB (CC#32) of this patch.
This is mostly used in XG and GM2 for selecting variations of instruments, much like MSB in GS.
Bank MSB (CC#0) of this patch.
It is used for sound variation in GS, and for channel type in XG and GM2. This means that with bank MSB of 127 for example, a channel in XG mode will turn into a drum channel.
Unused preset metadata, preserved.
ReadonlyglobalPreset's global zone. Its parameters are overridden by the local zone parameters.
If the preset is marked as GM/GS drum preset.
This flag is exclusive to GM and GS systems. These don't use bank MSB as a drum flag. GM has channel 9 hardcoded as drums, and GS has a system exclusive for setting them. This allows XG and GS drums to coexist in a single sound bank and can be thought of as bank 128 in SF2.
Unused preset metadata, preserved.
Unused preset metadata, preserved.
The preset's name.
ReadonlyparentThe parent soundbank instance Currently used for determining default modulators and XG status
The MIDI program number.
The preset's zones. These are limited to specific key/velocity ranges and contain associated instruments.
A boolean indicating if this preset is a drum preset.
Creates a new preset zone and returns it.
The instrument to associate with the zone.
Deletes a preset zone from this preset.
The zone's index to delete.
Returns the voice synthesis data for this preset.
The MIDI note number.
The MIDI velocity.
The returned sound data.
Checks if the bank and program numbers are the same for the given preset as this one. Shortened version of MIDIPatchTools.matches
The preset to check.
Preloads (loads and caches synthesis data) for a given key range.
The lowest allowed MIDI note number.
The highest allowed MIDI note number.
Combines preset into an instrument, flattening the preset zones into instrument zones. This is a really complex function that attempts to work around the DLS limitations of only having the instrument layer.
The instrument containing the flattened zones. If flattening was successful, it should exactly the same as this preset.
Alias for MIDIPatchTools.toMIDIString
Alias for MIDIPatchTools.toFullMIDIString
Represents a single preset. This is what is used for MIDI playback.