Clemens Ladisch wrote: > Steve Longerbeam wrote: > >> I'm embarking on a big task: writing a new synthesizer driver. My device >> > > Which one? > it's an embedded SOC, the LSI Zevio 1020, here's a link: http://www.lsi.com/consumer_home/products_home/standard_product_ics/application_processors/zevio1020/index.html > >> has all the ingredients for a MIDI wavetable sythesizer: 64 voices, each >> voice with envelope, pitch, and LFO controls. Also global effects like >> reverb. It's similar to the emu10k1. >> >> So my first question would be, is the synth code under synth/emux/ >> general enough to use for a different synthesizer chip? Ie, can I >> implement my own operators in 'struct snd_emux_operators' and pass that >> to snd_emux_register() ? >> > > Probably not. The sound font loading code is somewhat generic, but that > is because the sound font format was designed to be the equivalent of > the Emu chips' hardware capabilities. > > All that code has been written for Emu hardware. How much it must be > changed depends on how different your hardware is. > > >> Would it be a simple matter to make synth/emux/ a generic synth layer, >> by moving all the source in synth/emux/ up one level to synth/, and then >> rename all functions and data structures starting with "snd_emux" to >> "snd_synth" ? >> > > I think it is possible to reuse some of that code, but it wouldn't be > as easy as just renaming some things. > > (The generic synth code is supposed to be in core/seq/seq_midi_emul.c. > The synth/emux directory just exists to factor out common code of the > Emu8000 and Emu10k1 drivers.) > ok, that's what it looked like. Steve _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel