From alsa-devel-owner@alsa.jcu.cz  Tue Feb 23 14:19:59 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 OAA29405;
	Tue, 23 Feb 1999 14:18:30 +0100
Date: Tue, 23 Feb 1999 14:18:30 +0100 (CET)
From: Jaroslav Kysela <perex@jcu.cz>
To: "P.J.Leonard" <P.J.Leonard@bath.ac.uk>
cc: alsa-devel@alsa.jcu.cz
Subject: Re: Instrument abstract layer
In-Reply-To: <36D28251.15FB@bath.ac.uk>
Message-ID: <Pine.LNX.3.96.990223141401.1062D-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, P.J.Leonard wrote:

> Jaroslav Kysela wrote:
> > 
> > Hi!
> > 
> >         I tried to make the first proposal of the ALSA's instrument abstract
> > layer - http://alsa.jcu.cz/instprop.txt. I appreciate a feedback.
> 
> 
>  The awelib patch manager (which I use at present) allows you to
> allocate a voice to a  bank / preset / note.
>  Your scheme assumes that a single instrument is assigned to a bank /
> preset pair ? Or at best the bank/preset
> instrument map is defined in a device specific file ? 

I forgot specify the program number (preset) in the specification.

Prg (program or preset)
  - MIDI / own program number
  - 0..127 - melodic
  - 128..255 - drums

I also forgot write more about the CLUSTER event:

CLUSTER
-------

typedef struct {
        int result;                     /* operation result */
        char name[32];                  /* cluster name, '\0' => get */
        int priority;                   /* priority, -1 = get */
        char reserved[64];
} snd_seq_instrument_cluster_t;

The instrument priority will allow to the application load more than
one instrument with same standard/bank/program number.

======

As you can see, you can load multiple soundfont banks with same MIDI ID
(bank/preset) and specify priorities between clusters of instruments.

More comments?

							Jaroslav

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


