Skip to content

Releases: chris-zen/coremidi

Fix object conversions

18 Nov 11:40
3a9f51a
Compare
Choose a tag to compare
  • Removes the capability to convert between different types of objects.
  • Allows to clone Device, Entity, Source and Destination because they are just object references which lifetime is managed by CoreMIDI.
  • Introduces the type AnyObject that can encapsulate different types of objects as needed by the Notifications

BREAKING CHANGES:

  • The Notifications structs change from using ObjectType/Object to using AnyObject.
  • Several From conversions are removed.

Adding support for the MIDI 2.0 protocol

26 Mar 18:38
267e269
Compare
Choose a tag to compare

This release adds support for the MIDI 2.0 protocol and cleans up some other things:

  • Added EventList and EventBuffer support.
  • Added input_port_with_protocol and virtual_destination_with_protocol to Client.
  • input_port_with_protocol creates a InputPortWithContext<T> that allows to define a context to every source that is connected through connect_source.
  • OutputPort::send and VirtualSource::received can work with both PacketList and EventList.
  • Using blocks for callbacks from Client.
  • Client notifications allowed by reference or ownership.
  • Simplified the PacketList and PacketBuffer implementations.
  • Added set_property and get_property to Object.
  • Conversions between Source, Destination, VirtualSource, VirtualDestination, Device, Entity and Object.
  • Updated all the examples and documentation to use EventList.

Refactoring && CI migration to GitHub Actions && PacketBuffer improvements

16 Jan 20:02
Compare
Choose a tag to compare
  • Rust compiler upgraded to 1.51.0
  • Rust edition upgraded to 2018
  • Upgrade coremidi-sys, core-foundation and core-foundation-sys
  • Moved structs and impls together
  • PacketBuffer uses MIDIPacketListInit and MIDIPacketListAdd
  • Applied cargo fmt
  • Several Clippy fixes
  • Migrated CI to Github Actions
  • Breaks retro-compatibility for notification events
    • IOErrorInfo renamed to IoErrorInfo
    • Notification::IOError renamed to Notification::IoError

Fixed bugs around Client Notifications and Core Framework

05 Jun 16:11
14eff2e
Compare
Choose a tag to compare
0.5.0

Documented How to Receive Client Notifications (#28)

Implement Send for BoxedCallback

19 Sep 07:28
f43c092
Compare
Choose a tag to compare
0.4.0

implement Send for BoxedCallback (#15)

Allow empty PacketBuffer and initial capacity

10 Mar 16:01
Compare
Choose a tag to compare
0.3.1

Allow empty PacketBuffer and initial capacity