652141e854ae6d5240753fcf017ebeae8aa09605
3 #include <alsa/asoundlib.h>
9 static snd_rawmidi_t
*midi_in
, *midi_out
;
10 struct ftdi_context ftdi
;
15 snd_rawmidi_open(&midi_in
, &midi_out
, "virtual", SND_RAWMIDI_NONBLOCK
);
16 //snd_rawmidi_open(&midi_in, &midi_out, "virtual", 0);
19 if (ftdi_init( &ftdi
)) {
20 fprintf(stderr
, "usb - init error !\n");
24 if (ftdi_usb_open(&ftdi
, 0x0403, 0x6001)) {
25 fprintf(stderr
, "usb - open error (cannot find?) !\n");
26 fprintf(stderr
, "ftdi_usb_open failed, error (%s)\n", ftdi_get_error_string(&ftdi
));
31 if (ftdi_usb_reset( &ftdi
)) {
32 fprintf(stderr
, "usb - reset error !\n");
33 ftdi_usb_close( &ftdi
);
38 ftdi_disable_bitbang( &ftdi
);
39 ftdi_set_baudrate(&ftdi
, BAUD
);
45 ret
= ftdi_read_data(&ftdi
,&buf
,1);
47 if(ret
> 0) snd_rawmidi_write(midi_out
, &buf
, 1);
50 ret
= snd_rawmidi_read(midi_in
,&buf
,1);
51 if(ret
< 0 && ret
!= -EAGAIN
) break;
52 if(ret
> 0) ftdi_write_data(&ftdi
, &buf
, 1);
This page took 0.425503 seconds and 4 git commands to generate.