libremidi update to v5.4.3 and added virtual midi out as default
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
#pragma once
|
||||
#include <libremidi/backends/coremidi/config.hpp>
|
||||
|
||||
namespace libremidi::coremidi_ump
|
||||
NAMESPACE_LIBREMIDI::coremidi_ump
|
||||
{
|
||||
struct input_configuration
|
||||
{
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include <libremidi/detail/midi_in.hpp>
|
||||
#include <libremidi/detail/midi_stream_decoder.hpp>
|
||||
|
||||
namespace libremidi::coremidi_ump
|
||||
NAMESPACE_LIBREMIDI::coremidi_ump
|
||||
{
|
||||
|
||||
class midi_in_impl final
|
||||
@@ -26,8 +26,7 @@ public:
|
||||
if (auto result = init_client(configuration); result != noErr)
|
||||
{
|
||||
libremidi_handle_error(
|
||||
this->configuration,
|
||||
"error creating MIDI client object: " + std::to_string(result));
|
||||
this->configuration, "error creating MIDI client object: " + std::to_string(result));
|
||||
client_open_ = from_osstatus(result);
|
||||
return;
|
||||
}
|
||||
@@ -69,8 +68,7 @@ public:
|
||||
{
|
||||
close_client(*this);
|
||||
libremidi_handle_error(
|
||||
this->configuration, "error creating macOS MIDI input port: "
|
||||
+ std::to_string(result));
|
||||
this->configuration, "error creating macOS MIDI input port: " + std::to_string(result));
|
||||
return from_osstatus(result);
|
||||
}
|
||||
|
||||
@@ -79,8 +77,7 @@ public:
|
||||
{
|
||||
MIDIPortDispose(port);
|
||||
close_client(*this);
|
||||
libremidi_handle_error(
|
||||
this->configuration, "error connecting macOS MIDI input port.");
|
||||
libremidi_handle_error(this->configuration, "error connecting macOS MIDI input port.");
|
||||
return from_osstatus(result);
|
||||
}
|
||||
|
||||
@@ -113,10 +110,7 @@ public:
|
||||
return stdx::error{};
|
||||
}
|
||||
|
||||
stdx::error close_port() override
|
||||
{
|
||||
return coremidi_data::close_port();
|
||||
}
|
||||
stdx::error close_port() override { return coremidi_data::close_port(); }
|
||||
|
||||
timestamp absolute_timestamp() const noexcept override
|
||||
{
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include <libremidi/detail/midi_out.hpp>
|
||||
#include <libremidi/detail/ump_stream.hpp>
|
||||
|
||||
namespace libremidi::coremidi_ump
|
||||
NAMESPACE_LIBREMIDI::coremidi_ump
|
||||
{
|
||||
class midi_out_impl final
|
||||
: public midi2::out_api
|
||||
@@ -27,8 +27,7 @@ public:
|
||||
if (auto result = init_client(configuration); result != noErr)
|
||||
{
|
||||
libremidi_handle_error(
|
||||
this->configuration,
|
||||
"error creating MIDI client object: " + std::to_string(result));
|
||||
this->configuration, "error creating MIDI client object: " + std::to_string(result));
|
||||
client_open_ = from_osstatus(result);
|
||||
return;
|
||||
}
|
||||
@@ -63,8 +62,7 @@ public:
|
||||
if (result != noErr)
|
||||
{
|
||||
close_client(*this);
|
||||
libremidi_handle_error(
|
||||
this->configuration, "error creating macOS MIDI output port.");
|
||||
libremidi_handle_error(this->configuration, "error creating macOS MIDI output port.");
|
||||
return from_osstatus(result);
|
||||
}
|
||||
|
||||
@@ -84,9 +82,7 @@ public:
|
||||
if (result != noErr)
|
||||
{
|
||||
this->endpoint = 0;
|
||||
libremidi_handle_error(
|
||||
this->configuration,
|
||||
"error creating macOS virtual MIDI source.");
|
||||
libremidi_handle_error(this->configuration, "error creating macOS virtual MIDI source.");
|
||||
|
||||
return from_osstatus(result);
|
||||
}
|
||||
@@ -94,10 +90,7 @@ public:
|
||||
return stdx::error{};
|
||||
}
|
||||
|
||||
stdx::error close_port() override
|
||||
{
|
||||
return coremidi_data::close_port();
|
||||
}
|
||||
stdx::error close_port() override { return coremidi_data::close_port(); }
|
||||
|
||||
stdx::error send_ump(const uint32_t* ump_stream, std::size_t count) override
|
||||
{
|
||||
@@ -142,9 +135,7 @@ public:
|
||||
auto result = MIDISendEventList(this->port, this->destinationId, eventList);
|
||||
if (result != noErr)
|
||||
{
|
||||
libremidi_handle_warning(
|
||||
this->configuration,
|
||||
"error sending MIDI message to port.");
|
||||
libremidi_handle_warning(this->configuration, "error sending MIDI message to port.");
|
||||
return std::errc::io_error;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +1,20 @@
|
||||
#pragma once
|
||||
#include <libremidi/backends/coremidi_ump/config.hpp>
|
||||
#include <libremidi/backends/coremidi/observer.hpp>
|
||||
#include <libremidi/backends/coremidi_ump/config.hpp>
|
||||
|
||||
namespace libremidi::coremidi_ump
|
||||
NAMESPACE_LIBREMIDI::coremidi_ump
|
||||
{
|
||||
|
||||
class observer_impl final : public libremidi::observer_core
|
||||
{
|
||||
public:
|
||||
explicit observer_impl(libremidi::observer_configuration&& conf, coremidi_ump::observer_configuration&& apiconf)
|
||||
: observer_core{std::move(conf), coremidi_observer_configuration{apiconf.client_name, apiconf.on_create_context}}
|
||||
explicit observer_impl(
|
||||
libremidi::observer_configuration&& conf, coremidi_ump::observer_configuration&& apiconf)
|
||||
: observer_core{
|
||||
std::move(conf),
|
||||
coremidi_observer_configuration{apiconf.client_name, apiconf.on_create_context}}
|
||||
{
|
||||
|
||||
finish_init();
|
||||
}
|
||||
|
||||
libremidi::API get_current_api() const noexcept override { return libremidi::API::COREMIDI_UMP; }
|
||||
|
||||
Reference in New Issue
Block a user