Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::midi::UmpEndpoint Class Referenceabstract

Polymorphic endpoint handle. More...

#include <ump_endpoint.hpp>

Public Member Functions

virtual ~UmpEndpoint ()=default
virtual const UmpEndpointInfo & info () const noexcept=0
 Snapshot of the endpoint's static metadata.
virtual void set_receive_callback (UmpReceiveCallback cb)=0
 Register the receive callback.
virtual bool send (const UmpPacket &packet)=0
 Send a UMP packet.
virtual bool is_open () const noexcept=0
 True iff the endpoint is currently usable (port connected, virtual endpoint live).

Detailed Description

Polymorphic endpoint handle.

The concrete subclass lives in the platform backend (or VirtualUmpEndpoint for the in-process kind).

Constructor & Destructor Documentation

◆ ~UmpEndpoint()

virtual pulp::midi::UmpEndpoint::~UmpEndpoint ( )
virtualdefault

Member Function Documentation

◆ info()

virtual const UmpEndpointInfo & pulp::midi::UmpEndpoint::info ( ) const
pure virtualnoexcept

Snapshot of the endpoint's static metadata.

Implemented in pulp::midi::VirtualUmpEndpoint.

◆ is_open()

virtual bool pulp::midi::UmpEndpoint::is_open ( ) const
pure virtualnoexcept

True iff the endpoint is currently usable (port connected, virtual endpoint live).

Implemented in pulp::midi::VirtualUmpEndpoint.

◆ send()

virtual bool pulp::midi::UmpEndpoint::send ( const UmpPacket & packet)
pure virtual

Send a UMP packet.

Returns false if the endpoint is not open for sending or the OS rejected the write. The packet's word_count must be 1..4; senders are responsible for choosing the right MessageType.

Implemented in pulp::midi::VirtualUmpEndpoint.

◆ set_receive_callback()

virtual void pulp::midi::UmpEndpoint::set_receive_callback ( UmpReceiveCallback cb)
pure virtual

Register the receive callback.

Pass nullptr to detach. Calling this while the endpoint is open is permitted: the new callback takes effect for subsequent deliveries (callers that care about strict ordering should detach, drain, then re-attach).

On endpoints that lack a receive direction this is a no-op.

Implemented in pulp::midi::VirtualUmpEndpoint.


The documentation for this class was generated from the following file: