Include decoder instance ID in normal outputs
authorKarl Palsson <karlp@etactica.com>
Tue, 29 Nov 2016 13:19:46 +0000 (13:19 +0000)
committerUwe Hermann <uwe@hermann-uwe.de>
Mon, 20 Feb 2017 15:30:50 +0000 (16:30 +0100)
Without this, it's nigh impossible to determine what lines of output are
from what decoder. While -l 4 and above will include this information,
this feels like something that is essential even at the basic level.

Old:
System Realtime: active sensing
System Realtime: active sensing
System Realtime: active sensing
UNHANDLED DATA: 0x00
Channel 1: note on (note = 51 'D#3', velocity = 70)
System Realtime: active sensing
System Realtime: active sensing
System Realtime: active sensing
System Realtime: active sensing
UNHANDLED DATA: 0x00
Channel 1: note on (note = 51 'D#3', velocity = 70)
System Realtime: active sensing

New:

midi1: System Realtime: active sensing
midi1: System Realtime: active sensing
midi1: System Realtime: active sensing
midi1: UNHANDLED DATA: 0x00
midi1: Channel 1: note on (note = 51 'D#3', velocity = 70)
midi1: System Realtime: active sensing
midi2: System Realtime: active sensing
midi2: System Realtime: active sensing
midi2: System Realtime: active sensing
midi2: UNHANDLED DATA: 0x00
midi2: Channel 1: note on (note = 51 'D#3', velocity = 70)
midi2: System Realtime: active sensing

This fixes parts of bug #868.

Signed-off-by: Karl Palsson <karlp@etactica.com>
decode.c

index 6b3490a..8a52eda 100644 (file)
--- a/decode.c
+++ b/decode.c
@@ -446,12 +446,12 @@ void show_pd_annotations(struct srd_proto_data *pdata, void *cb_data)
 
        if (opt_loglevel <= SR_LOG_WARN) {
                /* Show only the longest annotation. */
-               printf("%s", pda->ann_text[0]);
+               printf("%s: %s", pdata->pdo->proto_id, pda->ann_text[0]);
        } else if (opt_loglevel >= SR_LOG_INFO) {
                /* Sample numbers and quotes around the longest annotation. */
                printf("%"PRIu64"-%"PRIu64"", pdata->start_sample, pdata->end_sample);
                if (opt_loglevel == SR_LOG_INFO) {
-                       printf(" \"%s\"", pda->ann_text[0]);
+                       printf(" %s \"%s\"", pdata->pdo->proto_id, pda->ann_text[0]);
                } else {
                        /* Protocol decoder id, annotation class,
                         * all annotation strings. */