Rev 2097 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1528 | jag | 1 | /* |
2 | * midi_in.h |
||
2302 | jag | 3 | * DIN Is Noise is copyright (c) 2006-2025 Jagannathan Sampath |
1713 | jag | 4 | * DIN Is Noise is released under GNU Public License 2.0 |
1528 | jag | 5 | * For more information, please visit https://dinisnoise.org/ |
6 | */ |
||
7 | |||
8 | #ifndef __midi_in |
||
9 | #define __midi_in |
||
10 | |||
11 | #include "RtMidi.h" |
||
12 | #include <vector> |
||
13 | #include <string> |
||
14 | |||
15 | struct midi_in { |
||
16 | |||
17 | RtMidiIn rt; |
||
18 | |||
19 | int num_ports; |
||
20 | int input_port; |
||
21 | int available; |
||
22 | |||
1635 | jag | 23 | unsigned char channel; |
24 | unsigned char cc; |
||
25 | unsigned char val; |
||
1528 | jag | 26 | |
27 | std::vector<std::string> names; |
||
28 | |||
29 | midi_in (); |
||
30 | void probe (); |
||
31 | void open (); |
||
32 | void open (int _input_port); |
||
33 | void handle_input (); |
||
34 | std::string get_name (int i) { |
||
1635 | jag | 35 | if (i > -1 && i < num_ports) |
36 | return names[i]; |
||
37 | else |
||
38 | return "?"; |
||
1528 | jag | 39 | } |
40 | |||
41 | }; |
||
42 | |||
43 | void run_midi_cmd (const std::string& cmd, std::vector<unsigned char>& args); |
||
44 | extern midi_in midiin; |
||
45 | |||
46 | #endif |