Skip to content

Commit

Permalink
[ALSA] emux midi synthesizer doesn't honor SOFT_PEDAL-release event
Browse files Browse the repository at this point in the history
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 Kraeger" <[email protected]>
Submitted to http://bugs.debian.org/474312

Signed-off-by: maximilian attems <[email protected]>
Cc: [email protected]
Cc: Clemens Ladisch <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
  • Loading branch information
brainflux authored and tiwai committed May 13, 2008
1 parent c714a53 commit bf91141
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion sound/synth/emux/emux_synth.c
Original file line number Diff line number Diff line change
Expand Up @@ -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] >= 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;

Expand Down

0 comments on commit bf91141

Please sign in to comment.