16 halp_meta(name,
"MIDI to array")
17 halp_meta(c_name,
"MidiToArray")
18 halp_meta(category,
"Midi")
19 halp_meta(author,
"ossia score")
20 halp_meta(manual_url,
"")
21 halp_meta(description,
"Converts a MIDI 1 input to a sequence of bytes")
22 halp_meta(uuid,
"1311a0fb-3468-4e35-b0ba-c5aaf20efe7a");
33 halp::enum_t<midi_mode,
"Mode"> mode;
42 if(inputs.mode == midi_mode::MIDI1)
44 for(
auto& msg : inputs.port.value->messages)
46 std::vector<ossia::value> vals;
48 for(
auto byte : libremidi::midi1_from_ump(msg).bytes)
49 vals.emplace_back((
int)byte);
50 outputs.port.value->write_value(std::move(vals), msg.timestamp);
55 for(
auto& msg : inputs.port.value->messages)
57 std::vector<ossia::value> vals;
59 for(std::size_t i = 0; i < msg.size(); i++)
60 vals.emplace_back((
int)msg.data[i]);
61 outputs.port.value->write_value(std::move(vals), msg.timestamp);