Skip to content

Releases: klingtnet/rosc

Bugfix release 🐞

22 Jul 05:51
ca83440
Compare
Choose a tag to compare

Thanks to @maxnoel for fixing tests on Windows. OscTimeError is also now a std::error::Error which makes it a bit more handy to use.

Improved ergonomics

19 Jul 16:02
839d15e
Compare
Choose a tag to compare

With this release development ergonomics improved slightly:

  • rosc now returns plain Result instead of the nom specific IResult (#33)
  • there's a new OscAddress type that allows validating OSC addresses only once. This change is also a performance improvement. (#32)

Special thanks to @DrLuke for implementing both changes and thus closing #29 and #30.

Address matching via `nom`

20 Mar 08:53
309bc85
Compare
Choose a tag to compare

We do not depend on the regex crate anymore since the address matching is now done entirely via nom. Thanks to @DrLuke for implementing this! 🎉

Add address module

21 Nov 11:16
Compare
Choose a tag to compare

This release adds a new address module that helps matching message addresses against OSC method address patterns. With other words, the Matcher can be used to dispatch incoming messages to the appropriate handler.

Thanks @DrLuke for the contribution with #20 .

Fix Osc-/SystemTime conversions for 32-bit systems

19 May 14:01
9ac64bc
Compare
Choose a tag to compare

This limits SystemTime to OscTime conversions, and vice versa, to time ranges since the unix epoch which prevents arithmetic overflows on 32-bit systems. Times before the unix epoch can still be represented using OscTime.

Implement error:Error for OscError

27 Mar 11:45
2922036
Compare
Choose a tag to compare

OscError is now implementing the std::error::Error trait. This increases code ergonomics because it allows OscError to be used with the ? operator and with anyhow:Error.

Thanks to @ooesili for implementing that!

Conversion between OscTime and SystemTime

23 Mar 20:05
5467083
Compare
Choose a tag to compare

This release adds conversion functionality between SystemTime and OscTime.
This comes with a minor breaking change but OscTime implements From/Into traits for (u32, u32) (the previous type alias) and so you can just use .into() to convert between (u32, u32) and OscTime. More details can be found in the docks docs.

Thanks to @ooesili for providing the implementation!