37 std::string
name =
"Pulp UMP Session";
98 const
std::
string& to_id);
102 std::unique_ptr<Impl> impl_;
Polymorphic endpoint handle.
Definition ump_endpoint.hpp:69
bool os_backend_active() const noexcept
Returns true if the OS-backed UMP backend is live (CoreMIDI client created etc).
UmpSession & operator=(const UmpSession &)=delete
std::vector< UmpEndpointInfo > enumerate_endpoints() const
Snapshot the OS endpoints known to the system, plus every virtual endpoint registered through this se...
UmpSession(const UmpSession &)=delete
std::size_t virtual_endpoint_count() const
Number of virtual endpoints currently registered.
UmpSession(UmpSessionConfig cfg)
bool unregister_virtual_endpoint(const std::string &id)
Drop a virtual endpoint.
UmpEndpoint * open_endpoint(const std::string &id, UmpOpenStatus *status=nullptr)
Open (or attach to) an endpoint by id.
std::shared_ptr< VirtualUmpEndpoint > register_virtual_endpoint(VirtualUmpEndpointConfig cfg)
Register a virtual endpoint with the session.
bool wire_virtual_loopback(const std::string &from_id, const std::string &to_id)
Connect two virtual endpoints in a loopback: every packet sent into from is delivered to to.
Definition ump_virtual_endpoint.hpp:57
Definition custom_node_events.hpp:26
UmpOpenStatus
Outcome of creating an endpoint connection through the session.
Definition ump_session.hpp:47
@ NotFound
Definition ump_session.hpp:49
@ OsError
Definition ump_session.hpp:51
@ Ok
Definition ump_session.hpp:48
@ OsBackendUnavailable
Definition ump_session.hpp:50
Static description of an endpoint discovered on the system or registered virtually.
Definition ump_endpoint.hpp:47
Options for creating a session.
Definition ump_session.hpp:36
std::string name
Definition ump_session.hpp:37
bool enable_os_backend
If true, the session attempts to open the OS UMP backend (e.g.
Definition ump_session.hpp:41
Configuration for a newly-registered virtual endpoint.
Definition ump_virtual_endpoint.hpp:44