Skip to content

Commit 5440cd1

Browse files
committed
midi: update libremidi. Support midi sync input messages
1 parent e834142 commit 5440cd1

3 files changed

Lines changed: 9 additions & 8 deletions

File tree

3rdparty/libremidi

src/ossia-qt/qml_protocols.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -439,7 +439,7 @@ static void midi_port_information(
439439

440440
// Port type flags
441441
auto typeObj = qjs->newArray();
442-
using pflags = libremidi::port_information;
442+
using pflags = libremidi::transport_type;
443443
auto pushy = typeObj.property("push");
444444
if(static_cast<bool>(port.type & pflags::software))
445445
pushy.call({"Software"});
@@ -515,8 +515,8 @@ static libremidi::port_information qjs_to_midi_port_information(const QJSValue&
515515
for(int i = 0; i < length; ++i)
516516
{
517517
auto typeStr = typeArr.property(i).toString();
518-
using pflags = libremidi::port_information;
519-
using pftype = libremidi::port_information::port_type;
518+
using pftype = libremidi::transport_type;
519+
using pflags = libremidi::transport_type;
520520
if(typeStr == "Software")
521521
port.type = pftype((uint8_t)port.type | (uint8_t)pflags::software);
522522
else if(typeStr == "Loopback")

src/ossia/protocols/midi/midi_protocol.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ midi_protocol::midi_protocol(
2222
{
2323
conf.on_message = [this](const libremidi::message& m) { midi_callback(m); };
2424

25+
conf.ignore_timing = false;
2526
m_input = std::make_unique<libremidi::midi_in>(conf, api);
2627
}
2728

@@ -564,10 +565,6 @@ void midi_protocol::midi_callback(const libremidi::message& mess)
564565
return;
565566
}
566567

567-
const auto chan = mess.get_channel();
568-
if(chan == 0)
569-
return;
570-
571568
if(m_registers)
572569
{
573570
this->to_midi2.convert(
@@ -583,6 +580,10 @@ void midi_protocol::midi_callback(const libremidi::message& mess)
583580
});
584581
}
585582

583+
const auto chan = mess.get_channel();
584+
if(chan == 0)
585+
return;
586+
586587
midi_channel& c = m_channels[chan - 1];
587588
switch(mess.get_message_type())
588589
{

0 commit comments

Comments
 (0)