Use case: you want to generate music with an instrument (preset, patch, program, there is a lot of synonyms!) other than Piano at the startup of your application.
By default when the synthesizer is loaded, all channels are set with the preset 0. Generally, preset 0 is associated with Piano moreover when it’s a General Midi SoundFont.
MPTK_ChannelPresetChange must be used for changing preset with a prefab
But, the method must be called just after the synthesizer is initialized. So, we used the event
OnEventSynthStarted to call
EndLoadingSynth (or the name that you want!) in the script.
This process can be applied for a lot of synthesizer parameters, for example Kill By Exclusive Class , or Release Same Note (If the same note is hit twice on the same channel, then the older voice process is advanced to the release stage).
Look here for detailed information and a script: how to change SoundFont Bank and Preset when application is started.
Don’t forget to initialize your prefab in your script, see link here.