Plugin system

As well as providing dedicated stream creation functions, BASSMIDI supports the BASS plugin system, adding MIDI file support to the standard BASS stream creation functions: BASS_StreamCreateFile, BASS_StreamCreateURL, and BASS_StreamCreateFileUser. This is enabled using the BASS_PluginLoad function.

The BASSMIDI-specific stream flags are not supported via the plugin system but can be used with BASS_ChannelFlags after creation. MIDI streams created via the plugin system use the device's sample rate, equivalent to using freq=1 in a BASS_MIDI_StreamCreateFile call.

The entire file is preloaded, so unlike with most streams, the file can be deleted/moved (or memory freed) after the stream has been created.