From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: [PATCH] emux midi synthesizer doesn't honor SOFT_PEDAL-release event Date: Fri, 09 May 2008 12:48:55 +0200 Message-ID: References: <1210322694-8868-1-git-send-email-max@stro.at> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by alsa0.perex.cz (Postfix) with ESMTP id EF49024422 for ; Fri, 9 May 2008 12:48:59 +0200 (CEST) In-Reply-To: <1210322694-8868-1-git-send-email-max@stro.at> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: alsa-devel-bounces@alsa-project.org Errors-To: alsa-devel-bounces@alsa-project.org To: maximilian attems Cc: alsa-devel@alsa-project.org, Clemens Ladisch , uwe_debbug@arcor.de List-Id: alsa-devel@alsa-project.org At Fri, 9 May 2008 10:44:54 +0200, maximilian attems wrote: > = > When the hardware wavetable synthesizer of an Creative SB Audigy or SB > Live! card (with emu10k chip) receives the MIDI SOFT_PEADAL-press event > (?? 67 127) the appropriate voice is attenuted. Unfortunately when the > pedal is released (event ?? 67 0) the voice does not get it's original > volume again. > = > Boolean MIDI controls should interpret 0..63 as false and 64..127 as true. > Thanks to Clemens Ladisch for review and correction. > = > Original patch from "Uwe Kr=C3#ger" > Submitted to http://bugs.debian.org/474312 > = > Signed-off-by: maximilian attems > Cc: uwe_debbug@arcor.de > Cc: Clemens Ladisch > --- > sound/synth/emux/emux_synth.c | 6 +++++- > 1 files changed, 5 insertions(+), 1 deletions(-) Thanks, applied to ALSA tree now. Takashi > = > diff --git a/sound/synth/emux/emux_synth.c b/sound/synth/emux/emux_synth.c > index 478369b..b343818 100644 > --- a/sound/synth/emux/emux_synth.c > +++ b/sound/synth/emux/emux_synth.c > @@ -341,8 +341,12 @@ snd_emux_control(void *p, int type, struct snd_midi_= channel *chan) > case MIDI_CTL_SOFT_PEDAL: > #ifdef SNDRV_EMUX_USE_RAW_EFFECT > /* FIXME: this is an emulation */ > - snd_emux_send_effect(port, chan, EMUX_FX_CUTOFF, -160, > + if (chan->control[type] >=3D 64) > + snd_emux_send_effect(port, chan, EMUX_FX_CUTOFF, -160, > EMUX_FX_FLAG_ADD); > + else > + snd_emux_send_effect(port, chan, EMUX_FX_CUTOFF, 0, > + EMUX_FX_FLAG_OFF); > #endif > break; > = > -- = > 1.5.5.1 > =