Nativeless package
DryWetMIDI is shipped in two versions:
First one is the version containing all the features of the library and you should use it in most cases. But some things require platform-specific code which is placed in native binaries packed along with the main library. If you've encountered problems with such code and you don't need an API that depends on native binaries, you can use Melanchall.DryWetMidi.Nativeless package where such things are cut out. Following types are unavailable in the nativeless package:
- VirtualDevice;
- DevicesWatcher;
- DeviceAddedRemovedEventArgs;
- MidiDevice;
- InputDevice;
- InputDeviceProperty;
- MidiTimeCodeReceivedEventArgs;
- OutputDevice;
- OutputDeviceOption;
- OutputDeviceProperty;
- OutputDeviceTechnology;
- TickGeneratorException;
- HighPrecisionTickGenerator.
Also default tick generator for Playback there is RegularPrecisionTickGenerator instead of HighPrecisionTickGenerator.
Although built-in implementations of IInputDevice and IOutputDevice are unavailable in the nativeless package, you are still able to create your own implementations and use them across the library API (in Playback for example).