open device in sync mode

This commit is contained in:
Tomasz Moń
2009-04-27 13:46:27 +02:00
parent 85ce157bb8
commit f1359d18e4

13
gdigi.c
View File

@@ -59,7 +59,7 @@ gboolean open_device()
{ {
int err; int err;
err = snd_rawmidi_open(&input, &output, device, SND_RAWMIDI_NONBLOCK); err = snd_rawmidi_open(&input, &output, device, SND_RAWMIDI_SYNC);
if (err) { if (err) {
fprintf(stderr, "snd_rawmidi_open %s failed: %d\n", device, err); fprintf(stderr, "snd_rawmidi_open %s failed: %d\n", device, err);
return TRUE; return TRUE;
@@ -462,7 +462,7 @@ GString *get_current_preset()
{ {
GString *data = NULL; GString *data = NULL;
send_message(REQUEST_PRESET, "\x04\x00", 3); send_message(REQUEST_PRESET, "\x04\x00", 2);
/* read reply */ /* read reply */
data = get_message_by_id(RECEIVE_PRESET_PARAMETERS); data = get_message_by_id(RECEIVE_PRESET_PARAMETERS);
@@ -583,10 +583,15 @@ int main(int argc, char *argv[]) {
} }
} }
if (output != NULL) if (output != NULL) {
snd_rawmidi_drain(output);
snd_rawmidi_close(output); snd_rawmidi_close(output);
if (input != NULL) }
if (input != NULL) {
snd_rawmidi_drain(input);
snd_rawmidi_close(input); snd_rawmidi_close(input);
}
return EXIT_SUCCESS; return EXIT_SUCCESS;
} }