Skip to content

v0.3.0 - Client + Host roles

Latest

Choose a tag to compare

@DatanoiseTV DatanoiseTV released this 19 Jun 13:48

The endpoint can now act as both a Network MIDI 2.0 Client and Host on a single instance.

Added:

  • Client/initiator role: midi2_net_host_connect() / midi2_net_host_disconnect(). Full outbound handshake (Invitation with repeat/timeout; Invitation Reply Accepted/Pending/Auth/UserAuth) and client-side SHA-256 authentication.
  • act_as_host config flag for a Client-only endpoint (no mDNS advertising, rejects inbound Invitations).
  • Demo option to also connect out as a Client.

Fixed:

  • Outbound IPv4 sends on the dual-stack IPv6 socket now use IPv4-mapped addresses (::ffff:a.b.c.d).

Verified on ESP32-P4 over Ethernet: connects out to a remote Host (Invitation accepted, session established, UMP exchanged) while concurrently serving as a Host.