Give better debugging output for currently unsupported message types (-dm).
This commit is contained in:
parent
e09f62841b
commit
aa881bbd1c
14
midizap.c
14
midizap.c
|
@ -309,6 +309,10 @@ static char *debug_key(translation *tr, char *name,
|
||||||
sprintf(name, "%s%s%d-%d", prefix, note_names[data % 12],
|
sprintf(name, "%s%s%d-%d", prefix, note_names[data % 12],
|
||||||
data / 12 + midi_octave, chan+1);
|
data / 12 + midi_octave, chan+1);
|
||||||
break;
|
break;
|
||||||
|
case 0xa0:
|
||||||
|
sprintf(name, "%sKP:%s%d-%d", prefix, note_names[data % 12],
|
||||||
|
data / 12 + midi_octave, chan+1);
|
||||||
|
break;
|
||||||
case 0xb0: {
|
case 0xb0: {
|
||||||
int step = 1, is_incr = 0;
|
int step = 1, is_incr = 0;
|
||||||
if (tr) (void)find_ccs(tr, shift, chan, data, dir>0, &step, &is_incr);
|
if (tr) (void)find_ccs(tr, shift, chan, data, dir>0, &step, &is_incr);
|
||||||
|
@ -327,6 +331,9 @@ static char *debug_key(translation *tr, char *name,
|
||||||
case 0xc0:
|
case 0xc0:
|
||||||
sprintf(name, "%sPC%d-%d", prefix, data, chan+1);
|
sprintf(name, "%sPC%d-%d", prefix, data, chan+1);
|
||||||
break;
|
break;
|
||||||
|
case 0xd0:
|
||||||
|
sprintf(name, "%sCP-%d", prefix, chan+1);
|
||||||
|
break;
|
||||||
case 0xe0: {
|
case 0xe0: {
|
||||||
int step = 1;
|
int step = 1;
|
||||||
if (tr) (void)find_pbs(tr, shift, chan, dir>0, &step);
|
if (tr) (void)find_pbs(tr, shift, chan, dir>0, &step);
|
||||||
|
@ -353,10 +360,12 @@ static void debug_input(int portno,
|
||||||
if (status == 0xe0)
|
if (status == 0xe0)
|
||||||
// translate LSB,MSB to a pitch bend value in the range -8192..8191
|
// translate LSB,MSB to a pitch bend value in the range -8192..8191
|
||||||
data2 = ((data2 << 7) | data) - 8192;
|
data2 = ((data2 << 7) | data) - 8192;
|
||||||
|
else if (status == 0xd0)
|
||||||
|
data2 = data;
|
||||||
if (status == 0xc0)
|
if (status == 0xc0)
|
||||||
printf("[%d] %s\n", portno,
|
printf("[%d] %s\n", portno,
|
||||||
debug_key(0, name, status, chan, data, 0));
|
debug_key(0, name, status, chan, data, 0));
|
||||||
else
|
else if (status != 0xf0) // system messages ignored for now
|
||||||
printf("[%d] %s value = %d\n", portno,
|
printf("[%d] %s value = %d\n", portno,
|
||||||
debug_key(0, name, status, chan, data, 0), data2);
|
debug_key(0, name, status, chan, data, 0), data2);
|
||||||
}
|
}
|
||||||
|
@ -662,6 +671,7 @@ handle_event(uint8_t *msg, uint8_t portno)
|
||||||
//fprintf(stderr, "midi [%d]: %0x %0x %0x\n", portno, msg[0], msg[1], msg[2]);
|
//fprintf(stderr, "midi [%d]: %0x %0x %0x\n", portno, msg[0], msg[1], msg[2]);
|
||||||
int status = msg[0] & 0xf0, chan = msg[0] & 0x0f;
|
int status = msg[0] & 0xf0, chan = msg[0] & 0x0f;
|
||||||
if (status == 0x80) {
|
if (status == 0x80) {
|
||||||
|
// convert proper note-off to note-on with vel. 0
|
||||||
status = 0x90;
|
status = 0x90;
|
||||||
msg[0] = status | chan;
|
msg[0] = status | chan;
|
||||||
msg[2] = 0;
|
msg[2] = 0;
|
||||||
|
@ -782,7 +792,7 @@ handle_event(uint8_t *msg, uint8_t portno)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
// ignore everything else
|
// ignore everything else for now, specifically system messages
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue