Erlang wrapper library for Core MIDI.
test() ->
application:ensure_all_started(coremidi),
{ok, Devices} = coremidi:list_devices(),
{ok, Con} = coremidi:start_link([{device, "My MIDI Device"}, {entity, {0, 0}}]),
% blocking recv
Msg1 = coremidi:recv(Con),
coremidi:send(Con, Msg1),
% non blocking recv
coremidi:arecv(Con),
receive
{Con, Msg2} ->
coremidi:send(Con, Msg2)
end,
% non blocking sub
coremidi:sub(Con),
lists:foreach(fun(_) ->
receive
{Con, Msg} ->
coremidi:send(Con, Msg)
end
end,
lists:seq(0, 9)),
coremidi:unsub(Con),
coremidi:stop(Con).