Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123]
 NMidiPlayerTK
 CMidiExternalPlayerPlay a Local MIDI file or from a Web site. This class must be used with the prefab MidiExternalPlayer
 CMidiFileLoader@Warning - will be soon deprecated, please rather use MidiFilePlayer prefab which have the same features + eventually MIDI sequencer and MIDI synth! Exemple for just loading a MIDI with MidiFilePlayer:
 CMidiFilePlayerPlays a MIDI file from the MidiDB. This class must be used with the prefab MidiFilePlayer.
See "Midi File Setup" in the Unity menu MPTK for adding MIDI in MidiDB.
 CMidiInReaderRead MIDI events from a MIDI keyboard connected to your Windows or Mac desktop. This class must be used with the prefab MidiInReader.
There is no need to writing a script. For a simple usage, all the job can be done in the prefab inspector. More information here https://paxstellar.fr/prefab-midiinreader/
 CMidiKeyboardBase class to send and receive Midi Message from a Midi keyboard connected to the desktop
 CMidiListPlayerPlay a list of pre-selected MIDI files from the MidiDB. This class must be used with the prefab MidiListPlayer.
 CMidiListPlayerStatusMidi Player status for the two MIDI Players defined in the MidiListPlayer.
 CMPTK_MidiPlayItemDefine a MIDI file from DBMidi to be added in the list
 CMidiLoadBase class for loading a MIDI file and reading MIDI event in a MIDI sequencer. It's not possible to instanciate directly this class.
Rather, use MidiFilePlayer to load a MIDI This class is used by MidiFilePlayer, MidiListPlayer, MidiFileWrite2, MidiFileLoader (see members MPTK_MidiLoaded of these classes).
 CMidiPlayerGlobalSingleton class to manage all global MPTK features. More information here: https://paxstellar.fr/midiplayerglobal/
 CMidiSpatializerFor playing Spatialized MIDI by channels or by tracks from the MidiDB. This class must be used with the prefab MidiSpatializer
 CMidiStreamPlayerBuilds and plays real-time music in relation to user actions or algorithms. This class must be used with the prefab MidiStreamPlayer.
 CMidiSynth
 CMPTKChannelDescription of a MIDI Channel associated to the MIDI synth.
They serve to distinguish between instruments and provide independent control over each one.
By transmitting MIDI messages on their respective channels, you can alter the instrument, volume, pitch, and other parameters.
Within the Maestro Midi Player Toolkit, MIDI channels are designated numerically from 0 to 15. Notably, channel 9 is set aside specifically for drum sounds
 CMPTKChannelsDescription and list of MIDI Channels associated to the MIDI synth.
Each MIDI synth has 16 channels that carry all the relevant MIDI information
 CMPTKChordBuilderBuild chords and play them with MidiStreamPlayer.
 CMPTKChordLibBuild chords from a library and play them with MidiStreamPlayer.
 CMPTKEffectSoundFontA SoundFont contains parameters to apply three kinds of effects: low-pass filter, reverb, chorus.
These parameters can be specifics for each instruments and even each voices.
Maestro MPTK effects are based on FluidSynth algo effects modules. Furthermore, to get more liberty from SoundFont, Maestro can increase or decrease the impact of effects (from the inspector or by script). To summarize:
 CMPTKEffectUnityUnlike SoundFont effects, they applied to the whole player. On the other hand, the Unity effects parameters are rich and, obviously based on Uniy algo!
https://docs.unity3d.com/Manual/class-AudioEffectMixer.html
Only most important effect are integrated in Maestro: Reverb and Chorus. On need, others effects could be added
 CMPTKEventDescription of a MIDI Event. It's the heart of MPTK! Essential to handling MIDI by script from all others classes as MidiStreamPlayer, MidiFilePlayer, MidiFileLoader, MidiFileWriter2 ...
 CMPTKFootPrintExperimental - Search a MIDI from a sequence of notes and calculate a score tempo.
 CFootPrintContains detailed information about a MIDI footprint.
 CMPTKInnerLoopMIDI inner loop settings available for MidiFilePlayer and MidiExternalPlayer [Pro].
See MidiFilePlayer.MPTK_InnerLoop and MidiExternalPlayer.MPTK_InnerLoop. See example:
 CMPTKListItemThis class is useful when a list of paired value string+id is needed.
 CMPTKScaleLibBuild scales and play them with MidiStreamPlayer.
 CMPTKSignatureContains information about time signature changes in a MIDI file
 CMPTKSoundFontWhen your application is running, SoundFonts can be dynamically loaded either from a local file system or directly from the web.
This means you don't need to include a SoundFont in your build, making it ideal for scenarios like in-app purchases or downloadable content.
For compatibility, the legacy mode still allows loading SoundFonts from the internal MPTK database.
Additionally, Maestro MPTK supports assigning different SoundFonts to different MIDI players, enabling flexible and customized audio rendering across multiple instruments or scenes.
 CMPTKTempoContains information about the tempo change.
 CMPTKWriterCreate, build, write, import, and play MIDI by script. See full examples with these scripts: