[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#474312: linux-source-2.6.24: emux midi synthesizer doesn't honor SOFT_PEDAL-release event



Package: linux-source-2.6.24
Version: 2.6.24-5
Severity: normal
Tags: patch

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.

The attached patch fixes this problem by analysing the value (0 or 127) 
of the midi control event and resetting the effect register in case of a 
release event. I'm not 100% sure if the code to reset the register is 
correct but at least it works.

--- linux-source-2.6.24.orig/sound/synth/emux/emux_synth.c  2008-04-03 22:23:00.000000000 +0200
+++ linux-source-2.6.24/sound/synth/emux/emux_synth.c   2008-04-03 22:28:12.000000000 +0200
@@ -341,8 +341,13 @@
        case MIDI_CTL_SOFT_PEDAL:
 #ifdef SNDRV_EMUX_USE_RAW_EFFECT
                /* FIXME: this is an emulation */
+         if( chan->control[type] ) {
                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;

-- System Information:
Debian Release: lenny/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.24ku
Locale: LANG=en_US.ISO-8859-15, LC_CTYPE=en_US.ISO-8859-15 (charmap=ISO-8859-15)
Shell: /bin/sh linked to /bin/bash

Versions of packages linux-source-2.6.24 depends on:
ii  binutils            2.18.1~cvs20080103-1 The GNU assembler, linker and bina
ii  bzip2               1.0.5-0.1            high-quality block-sorting file co

Versions of packages linux-source-2.6.24 recommends:
ii  gcc                           4:4.2.2-2  The GNU C compiler
ii  libc6-dev [libc-dev]          2.7-10     GNU C Library: Development Librari
ii  make                          3.81-3.1   The GNU version of the "make" util

-- no debconf information



Reply to: