libremidi update to v5.4.3 and added virtual midi out as default

This commit is contained in:
Sebastian
2026-06-23 00:05:41 +02:00
parent dc0003232a
commit 51cd271b6f
166 changed files with 8135 additions and 2009 deletions
+5 -53
View File
@@ -1,59 +1,8 @@
#pragma once
#include <libremidi/config.hpp>
#include <libremidi/error.hpp>
#include <libremidi/port_information.hpp>
#include <compare>
#include <string>
namespace libremidi
NAMESPACE_LIBREMIDI
{
using client_handle = std::uint64_t;
using port_handle = std::uint64_t;
struct LIBREMIDI_EXPORT port_information
{
// Handle to the client object:
// ALSA Raw: unused
// ALSA Seq: snd_seq_t*
// CoreMIDI: MidiClientRef
// WebMIDI: unused
// JACK: jack_client_t*
// PipeWire: unused
// WinMM: unused
// WinUWP: unused
client_handle client = static_cast<client_handle>(-1);
// ALSA Raw: { uint16_t card, device, sub, padding; }
// ALSA Seq: { uint32_t client, uint32_t port; }
// CoreMIDI: MidiObjectRef's kMIDIPropertyUniqueID (uint32_t)
// WebMIDI: unused
// JACK: jack_port_id_t
// PipeWire: port.id
// WinMM: unset, identified by port_name
// WinUWP: unused
port_handle port = static_cast<port_handle>(-1);
std::string manufacturer{};
std::string device_name{};
std::string port_name{};
std::string display_name{};
bool operator==(const port_information& other) const noexcept = default;
std::strong_ordering operator<=>(const port_information& other) const noexcept = default;
};
struct input_port : port_information
{
bool operator==(const input_port& other) const noexcept = default;
std::strong_ordering operator<=>(const input_port& other) const noexcept = default;
};
struct output_port : port_information
{
bool operator==(const output_port& other) const noexcept = default;
std::strong_ordering operator<=>(const output_port& other) const noexcept = default;
};
using input_port_callback = std::function<void(const input_port&)>;
using output_port_callback = std::function<void(const output_port&)>;
struct observer_configuration
@@ -72,6 +21,9 @@ struct observer_configuration
// Observe software (virtual) ports if the API provides it
uint32_t track_virtual : 1 = false;
// Observe network ports if the API provides it
uint32_t track_network : 1 = false;
// Observe any port - some systems have other weird port types than hw / sw, this covers them
uint32_t track_any : 1 = false;