- Documentation fixes
[ardour.git] / libs / midi++2 / miditrace.cc
1 #include <cstdio>
2 #include <fcntl.h>
3
4 #include <pbd/error.h>
5 #include <pbd/textreceiver.h>
6
7 Transmitter error (Transmitter::Error);
8 Transmitter info (Transmitter::Info);
9 Transmitter warning (Transmitter::Warning);
10 Transmitter fatal (Transmitter::Fatal);
11 TextReceiver text_receiver ("mmctest");
12
13 #include "midi++/port.h"
14 #include "midi++/port_request.h"
15 #include "midi++/manager.h"
16
17 using namespace MIDI;
18
19 Port *port;
20 PortRequest midi_device;
21
22 int 
23 setup_midi ()
24
25 {
26         midi_device.devname = "/dev/snd/midiC0D0";
27         midi_device.tagname = "trident";
28         midi_device.mode = O_RDWR;
29         midi_device.type = Port::ALSA_RawMidi;
30
31         if ((port = MIDI::Manager::instance()->add_port (midi_device)) == 0) {
32                 info << "MIDI port is not valid" << endmsg;
33                 return -1;
34         } 
35
36         return 0;
37 }
38
39 main (int argc, char *argv[]) 
40
41 {
42         byte buf[1];
43         
44         text_receiver.listen_to (error);
45         text_receiver.listen_to (info);
46         text_receiver.listen_to (fatal);
47         text_receiver.listen_to (warning);
48
49         if (setup_midi ()) {
50                 exit (1);
51         }
52
53         port->input()->trace (true, &cout);
54
55         while (1) {
56                 if (port->read (buf, 1) < 0) {
57                         error << "cannot read byte"
58                               << endmsg;
59                         break;
60                 } 
61         }
62 }
63
64