From alsa-devel-owner@alsa.jcu.cz  Tue Feb 23 19:17:54 1999
Received: from entry.jcu.cz (IDENT:perex@entry.jcu.cz [160.217.1.111])
	by marvin.jcu.cz (8.9.1a/8.9.1) with SMTP id TAA20089;
	Tue, 23 Feb 1999 19:15:52 +0100
Date: Tue, 23 Feb 1999 19:15:52 +0100 (CET)
From: Jaroslav Kysela <perex@jcu.cz>
To: Takashi Iwai <iwai@ww.uni-erlangen.de>
cc: alsa-devel@alsa.jcu.cz
Subject: Re: Instrument abstract layer
In-Reply-To: <9902231540.AA21258@servww1.ww.uni-erlangen.de>
Message-ID: <Pine.LNX.3.96.990223190734.3172B-100000@entry.jcu.cz>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Reply-To: alsa-devel@alsa.jcu.cz
Sender: alsa-devel-owner@alsa.jcu.cz
Precedence: list

On Tue, 23 Feb 1999, Takashi Iwai wrote:

> >>>>> On Tue, 23 Feb 1999 14:18:30 +0100 (CET), Jaroslav Kysela
> <perex@jcu.cz> said: 
> 
> > I forgot specify the program number (preset) in the specification.
> 
> > Prg (program or preset)
> >   - MIDI / own program number
> >   - 0..127 - melodic
> >   - 128..255 - drums
> 
> It would be flexible that the key number can be given explicitly as
> another parameter.
> For example, not only drums but sfx presets have different sample per
> key.  Most of these tones are defined in somewhere other banks but
> possibly with different key number.  Then, we need to alias between
> different bank/preset/key combinations.

I mean - 0-127 melodic instruments which could be used for the melodic
channel. 128-255 drum/fx (note based) instruments. As an extension it
could be selected instruments 128-255 as the melodic instrument (this
doesn't follow some MIDI standard).

If you want use own instrument numbers - you can use the high byte from
program number. Maybe we can use 7. bit of this variable to specify "note"
based instrument.

If you want mix more instruments from different banks, you can use:

1) bank selection for the drum channel (for GS = program change)
2) different instrument clusters with different priorities (each
   note for the instrument range 128-255 can be overriden).

> About bank number.
> The bank number should be (unsigned) short, too.  XG and GS formats
> utilize both MSB and LSB bank numbers.  But, as wellknown, both
> formats use different way of MSB and LSB.  It's confusing.

I extend the appropriate structure.

> Then, using an optional parameter (like bank-map) would be nice, too.

Already done via bitmap.

						Jaroslav

-----
Jaroslav Kysela <perex@jcu.cz>
Academic Computer Centre, University of South Bohemia
Branisovska 31, C. Budejovice, CZ-370 05 Czech Republic


