From alsa-devel-owner@alsa.jcu.cz  Fri Oct 16 21:14:56 1998
Received: from altrade.nijmegen.inter.nl.net (altrade.nijmegen.inter.nl.net [193.67.237.6])
	by marvin.jcu.cz (8.9.1a/8.9.1) with ESMTP id VAA24711
	for <alsa-devel@jcu.cz>; Fri, 16 Oct 1998 21:14:45 +0200
Received: from obelix.fvdpol.inter.nl.net by altrade.nijmegen.inter.nl.net
	via bd99-16.Breda.NL.net [193.79.246.241] with ESMTP for <alsa-devel@jcu.cz>
	id VAA27052 (8.8.8/3.28); Fri, 16 Oct 1998 21:14:42 +0200 (MET DST)
Received: (from frank@localhost) by obelix.fvdpol.inter.nl.net (8.8.7/8.7.3) id TAA19574 for alsa-devel@jcu.cz; Fri, 16 Oct 1998 19:47:59 +0100
From: Frank van de Pol <F.K.W.van.de.Pol@inter.nl.net>
Message-Id: <199810161847.TAA19574@obelix.fvdpol.inter.nl.net>
Subject: AWE Synth support for ALSA Sequencer
To: alsa-devel@jcu.cz
Date: Fri, 16 Oct 1998 19:47:59 +0100 (MET)
In-Reply-To: <3624641B.773C@bath.ac.uk> from "P.J.Leonard" at Oct 14, 98 09:43:07 am
Content-Type: text
Reply-To: alsa-devel@alsa.jcu.cz
Sender: alsa-devel-owner@alsa.jcu.cz
Precedence: list

P.J.Leonard wrote:
> 
>  The AWE driver written by takashi would be a good start. I believe
> this plugs into the OSS stuff using the following interface.
> [I think synth_operations is defined in soundcard.h]
> 
>  static struct synth_operations awe_operations =
> {
> #ifdef AWE_OSS38
> 	"EMU8K",
> #endif
> 	&awe_info,
> 	0,
> 	SYNTH_TYPE_SAMPLE,
> 	SAMPLE_TYPE_AWE32,
> 	awe_open,
> 	awe_close,
> 	awe_ioctl,
> 	awe_kill_note,
> 	awe_start_note,
> 	awe_set_instr_2,
> 	awe_reset,
> 	awe_hw_control,
> 	awe_load_patch,
> 	awe_aftertouch,
> 	awe_controller,
> 	awe_panning,
> 	awe_volume_method,
> #ifndef AWE_NO_PATCHMGR
> 	awe_patchmgr,
> #endif
> 	awe_bender,
> 	awe_alloc,
> 	awe_setup_voice
> };
> 
> 
>  This interface allows loading patches / playing notes / allocating
> voices . As far
> as I can tell the OSS stuff is just a wrapper for these calls (OK it
> adds a bit of timing
> stuff but your design takes care of that). 
> 
>  Midi events would call the relavent functions in the above structure.
> You would also
> need to be able to forward the IOCTL calls. 
> 
>  Is this the right direction ? 
> 

Seeing that the existing (though OSS) "takashi" driver already implements
the low-level handling it might give us a good start at getting AWE synth
support. One thing that needs to be resolved is the Patch loading issue...
Maybe that can (temporarily) be done from some userland utility (as with the
GUS cards). 

Good news is that tomorrow I'll get my new PC, which has an SoundBlaster
AWE64 SE card... Perhaps that will motivate me getting things working :-)

Cheers, 
Frank.

+---- --- -- -  -   -    - 
|Frank van de Pol                  -o)
|F.K.W.van.de.Pol@inter.NL.net     /\\
|                                 _\_v
|Linux - Why use Windows, since there is a door?
|
|ALSA Sequencer: http://www.inter.nl.net/users/F.K.W.van.de.Pol/alsa/

