At Wed, 26 Dec 2007 23:48:37 +0100, Krzysztof Helt wrote: > > From: Krzysztof Helt <krzysztof.h1@xxxxx> > > This patch enables wavetable chips ES689/ES69X connected to > ESS ES18xx chips. The wavetable chip uses FM DAC if the clock signal > from the wavetable is active. > It has no effect if there is no ESS wavetable chip present. > > Signed-off-by: Krzysztof Helt <krzysztof.h1@xxxxx> Applied to HG tree now. Thanks. > --- > > This patch has a gotcha. In theory, the OPL synthesis or wavetable input should > use FM DAC depending on the active clock signal from the wavetable chip. > Unfortunately, the default state of the wavetable chip from ESS (ES689/ES690/ES692) > is to send clock signal all the time. This blocks OPL3 signal if the wavetable chip is > present. > > This problem can be solved with sysex command 4 send to the wavetable chip. > It sets the wavetable chip to auto-deactivate mode which switches the wavetable off > if there are 5 seconds without midi input (according to the es1879 datasheet). > > I tested this patch on the es1868 chip without the wavetable. The OPL3 synthesis > worked (no clock signal from the wavetable). > > I tested it on the card with es1868 chip and es690 wavetable. The OPL3 synthesis > did not work, the wavetable worked. Both the OPL3 and wavetable worked if the > sysex command 4 was sent to the wavetable chip (e.g. by amidi tool). > > Is it ok to add this sysex command sending to the driver? How? > The wavetable clock signal can be detected (there is status bit which says if wavetable is > active). You can use snd_rawmidi_kernel_*() functions for opening/sending data from the kernel code. See core/seq/seq_midi.c for example. But, I personally don't think it worth to add this to the driver. This could be done far easier on user-space (a simple cat), and it's the matter of setup script. Though... > Another question is about ES938 chip (bass, treble and 3D control) on the card. > This chip is controlled by sysex midi commands. It can be detected (by reading > settings with sysex commands). Is it possible to add this to the alsamixer or external tool > for setting these controls is recommended? Oh what a design... In this case, the driver implementation sounds better indeed. So, if both features are to be implemented, snd_rawmidi_kernel_*() would be worth. Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel