MCPcopy Create free account
hub / github.com/celtera/libremidi / main

Function main

examples/backends/midi2_out_jack.cpp:8–44  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6using api = libremidi::jack_ump::backend;
7
8int main(void)
9try
10{
11 std::cerr << "API: " << api::name << "\n";
12
13 libremidi::observer_configuration obs_config{.track_any = true};
14 api::midi_observer_configuration obs_api_config;
15 libremidi::observer obs{obs_config, obs_api_config};
16
17 auto ports = obs.get_output_ports();
18 for (const auto& port : ports)
19 {
20 std::cerr << "Port: " << port.port_name << "\n";
21 }
22
23 libremidi::output_configuration out_config;
24 api::midi_out_configuration out_api_config;
25 libremidi::midi_out midiout{out_config, out_api_config};
26
27 {
28 midiout.open_virtual_port();
29
30 for (int n = 0; n < 100; n++)
31 {
32 for (int i = 81; i < 89; i++)
33 midiout.send_message(libremidi::channel_events::control_change(1, i, rand()));
34 std::this_thread::sleep_for(std::chrono::milliseconds(1000));
35 }
36 }
37
38 return 0;
39}
40catch (const std::exception& error)
41{
42 std::cerr << error.what() << std::endl;
43 exit(EXIT_FAILURE);
44}

Callers

nothing calls this directly

Calls 3

get_output_portsMethod · 0.45
open_virtual_portMethod · 0.45
send_messageMethod · 0.45

Tested by

no test coverage detected