From 243d176936152bc2691a5594f76583948af70618 Mon Sep 17 00:00:00 2001 From: cbdev Date: Fri, 22 Nov 2019 14:45:33 +0100 Subject: Exclude buttons from feedback filtering for maweb backend --- backends/maweb.c | 4 +++- backends/winmidi.c | 14 ++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/backends/maweb.c b/backends/maweb.c index 57d04ae..453dfa4 100644 --- a/backends/maweb.c +++ b/backends/maweb.c @@ -837,7 +837,9 @@ static int maweb_set(instance* inst, size_t num, channel** c, channel_value* v){ //i/o value space separation chan->in = v[n].normalised; - chan->input_blocked = 1; + if(chan->type == exec_fader){ + chan->input_blocked = 1; + } switch(chan->type){ case exec_fader: diff --git a/backends/winmidi.c b/backends/winmidi.c index d6bc0bc..ffca3b4 100644 --- a/backends/winmidi.c +++ b/backends/winmidi.c @@ -277,17 +277,19 @@ static int winmidi_handle(size_t num, managed_fd* fds){ //pretty-print channel-wide events if(backend_config.event[u].channel.fields.type == pitchbend || backend_config.event[u].channel.fields.type == aftertouch){ - fprintf(stderr, "Incoming MIDI data on channel %s.ch%d.%s\n", + fprintf(stderr, "Incoming MIDI data on channel %s.ch%d.%s, value %f\n", backend_config.event[u].inst->name, backend_config.event[u].channel.fields.channel, - winmidi_type_name(backend_config.event[u].channel.fields.type)); + winmidi_type_name(backend_config.event[u].channel.fields.type), + backend_config.event[u].value); } else{ - fprintf(stderr, "Incoming MIDI data on channel %s.ch%d.%s%d\n", + fprintf(stderr, "Incoming MIDI data on channel %s.ch%d.%s%d, value %f\n", backend_config.event[u].inst->name, backend_config.event[u].channel.fields.channel, winmidi_type_name(backend_config.event[u].channel.fields.type), - backend_config.event[u].channel.fields.control); + backend_config.event[u].channel.fields.control, + backend_config.event[u].value); } } chan = mm_channel(backend_config.event[u].inst, backend_config.event[u].channel.label, 0); @@ -434,7 +436,7 @@ static int winmidi_match_input(char* prefix){ printf("\tID %d: %s\n", n, input_caps.szPname); } else if(!strncmp(input_caps.szPname, prefix, strlen(prefix))){ - fprintf(stderr, "winmidi selected input device %s for name %s\n", input_caps.szPname, prefix); + fprintf(stderr, "winmidi selected input device %s (ID %" PRIsize_t ") for name %s\n", input_caps.szPname, n, prefix); return n; } } @@ -467,7 +469,7 @@ static int winmidi_match_output(char* prefix){ printf("\tID %d: %s\n", n, output_caps.szPname); } else if(!strncmp(output_caps.szPname, prefix, strlen(prefix))){ - fprintf(stderr, "winmidi selected output device %s for name %s\n", output_caps.szPname, prefix); + fprintf(stderr, "winmidi selected output device %s (ID %" PRIsize_t " for name %s\n", output_caps.szPname, n, prefix); return n; } } -- cgit v1.2.3