midi2-dev / bl-midi2-rs

Ergonomic, versatile, strong types wrapping MIDI 2.0 message data.
https://crates.io/crates/midi2
Apache License 2.0
22 stars 4 forks source link

Feature | ⚠️ Breaking Change ⚠️ | Remove jitter reduction property and trait #13

Closed BenLeadbetter closed 4 months ago

BenLeadbetter commented 4 months ago

12

Context

After some discussion on the rust audio discord (shout out @m-hilgendorf), it became apparent that integrating jitter reduction into every message was not a particularly user-friendly design. Jitter reduction messages are in fact distinct messages and should be handled by this crate as such.

The Changes

We remove the extra u32 allowance from message buffers. So that all fixed size ump messages fit into a [u32; 4] rather than [u32; 5].

We Remove the JitterReduced trait. Whether or not a message has jitter reduction is now beyond the scope of this crate.

Utility messages are integrated into the top level aggregate message and are handled the same as any other ump message.