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.