Synthesizer::note_on, Synthesizer::note_off, Synthesizer::process_midi_message and friends expect input parameters that are a byte each, i.e. u8 or i8. However, currently, they all take i32, making it difficult to guess what ranges of values are expected.
Most notably, note_on will fail silently with a velocity larger than i8::MAX.
Would it be possible for these public APIs (and ideally their internals as well, so that the library doesn't consume more memory than needed) to be adjusted to use smaller integer types that better represent their actual size?
Synthesizer::note_on,Synthesizer::note_off,Synthesizer::process_midi_messageand friends expect input parameters that are a byte each, i.e.u8ori8. However, currently, they all takei32, making it difficult to guess what ranges of values are expected.Most notably,
note_onwill fail silently with a velocity larger thani8::MAX.Would it be possible for these public APIs (and ideally their internals as well, so that the library doesn't consume more memory than needed) to be adjusted to use smaller integer types that better represent their actual size?