From alsa-user-owner@alsa.jcu.cz  Mon Jun 15 22:52:42 1998
Received: from mailhub.iastate.edu (mailhub.iastate.edu [129.186.1.102])
	by marvin.jcu.cz (8.8.8/8.8.8) with ESMTP id WAA32135
	for <alsa-user@jcu.cz>; Mon, 15 Jun 1998 22:50:16 +0200
Received: from iastate.edu (westgate45.res.iastate.edu [129.186.177.45])
	by mailhub.iastate.edu (8.8.5/8.8.5) with ESMTP id PAA14979
	for <alsa-user@jcu.cz>; Mon, 15 Jun 1998 15:48:39 -0500 (CDT)
Message-ID: <35858831.13208794@iastate.edu>
Date: Mon, 15 Jun 1998 15:46:42 -0500
From: Jacob Jaeggli <jjaeggli@iastate.edu>
MIME-Version: 1.0
To: alsa-user@jcu.cz
Subject: Re: 16 digital stereo channels
References: <199806151628.SAA21653@smtp3.xs4all.nl> <35854F51.7D451F00@ironweb.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Reply-To: alsa-user@alsa.jcu.cz
Sender: alsa-user-owner@alsa.jcu.cz
Precedence: list

Ben Reed wrote:

> Exyll wrote:
> > On normal gus(max) the rate drops when the drivers reserve more then 16
> > channels..
> >
> > 16 channels and lower can be played at 44k1 Hz.. Over 16 channels.. the
> > rate drops in minor decreases..
>
> Actually, I think with anything using the GF1 chip from ultrasound, it's
> 14 channels, but either way, it would be cool to have hardware mixing
> that way.  :)  Maybe this could be done along with whoever's writing
> esound..?

  I'm not sure, but I think that you could actually have 16 stereo channels,
as it is a 32 channel synth.. I think that the 14 comes from several
channels being reserved for the drums.  This may just be in the driver.  For
the interwave card under the ALSA driver you have the Codec audio device...
which can play 16-bit, 48khz audio.  This resides under the device
/proc/sound/[device no (probably 0)]/pcm0.  If you look, you will also see
pcm0p and pcm0r.  Look a little further and you will see pcm1 and pcm1p.
The second sound playback device is, in fact, two channels on the GF1
synth.  You will, of course, need the 512k dram (for the Dynasonix3D); if
you have the GUS PnP, you already have the onboard ram.  With this device,
you can play over this device with an ALSA-compatible sound player (aplay).
It's not hard to test out either.  Find some audio files that are fairly
long and try it out:

aplay -d 0 [sound file 1] &
aplay -d 1 [sound file 2] &

  You will also notice that there is another device that shows up on your
OSS mixer.  This is your pcm1 volume setting (or you could have used
alsamixer and it would have told you that).

Here is a snippet from interwave.c:

-----

struct snd_interwave {
  int use_count;
  int irqnum;
  int dma1num;
  int dma2num;
  snd_card_t *card;
  snd_gus_card_t *gus;
  snd_pcm_t *pcm;
  snd_pcm_t *pcm1;              /* GF1 compatible PCM interface */
  snd_kmixer_t *mixer;
  snd_rawmidi_t *midi_uart;
  unsigned short gus_status_reg;
  unsigned short pcm_status_reg;
#ifdef SNDCFG_PNP
  struct pnp_device *pnpdev;
#endif
};
-----

As you will notice, it is labeled nicely there for you in the source.  Now,
as one might imagine, pcm2, pcm3, pcm4, etc. could probably be easily added
by a little inspection of the existing code.

  -Jacob


