From alsa-devel-owner@alsa.jcu.cz  Mon Feb  8 17:54:20 1999
Received: from pat.bath.ac.uk (pat.bath.ac.uk [138.38.32.2])
	by marvin.jcu.cz (8.9.1a/8.9.1) with SMTP id RAA29542
	for <alsa-devel@alsa.jcu.cz>; Mon, 8 Feb 1999 17:53:12 +0100
Received: (qmail 15104 invoked from network); 8 Feb 1999 15:51:27 -0000
Received: from midge.bath.ac.uk (HELO bath.ac.uk) (mmdf@138.38.32.34)
  by pat.bath.ac.uk with SMTP; 8 Feb 1999 15:51:27 -0000
Received: from tobi.bath.ac.uk by midge.bath.ac.uk id aa09599;
          8 Feb 99 15:28 GMT
Message-ID: <36BF028A.63DE@bath.ac.uk>
Date: Mon, 08 Feb 1999 15:28:10 +0000
From: "P.J.Leonard" <P.J.Leonard@bath.ac.uk>
MIME-Version: 1.0
To: alsa-devel@alsa.jcu.cz
Subject: Re: Writing Article Re: Linux audio;  also have new hardware support
References: <199902072353.AAA31288@obelix.vande-pol.demon.nl>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Reply-To: alsa-devel@alsa.jcu.cz
Sender: alsa-devel-owner@alsa.jcu.cz
Precedence: list

Hello,

> Some utility which can provide patch names (and provide info on what to do
> to select this patch - ie. bank select, pgm change) is indeed very usefull,
> but this would get very very very big as there are many synths around at
> this planet. Some synth specific userland daemon or plugin code which is
> accessible through the alsa-lib might be the way to go.
> 
> Remember that besides synths that have their sounds in ROM there are also
> more devices that are user programmable, so the available patches depend on
> what kind of banks the user has loaded into that device (eg. Roland D10,
> Kawai K1, Korg M1, various samplers..) If we have this "Synth specific
> daemon" approach, this daemon can (and sometimes even _has_) to take care of
> patch management (downloading patch data / samples to the instrument).
> 
> This 'daemon' approach might be the solution for handling patch loading on
> onboard synths like GUS (and possibly many others) - for these kind of
> devices some daemon is needed anyway (perhaps a userland daemon to support
> the kernel client synth driver).
> 
> Problem is that to get full support for a certain device we need something
> specific (eg. a daemon program) for this device; there are VERY MANY
> devices... So to do this good it would be an absurd amount of work! (Hmmm, I
> get the feeling we are reinventing a wheel....)


 From the point of view of writting high level applications you want to
be able
to make your devices look generic (my midi program should not really
need to know 
about a specific device). 

 I imagine a patchmanager that is specific to a given device that has
all the 
details required to do its stuff. A patch managment program can be
implemented independently
from a midi sequencer/editor. However, there should be a generic
interface shared by
all patch managers that allows my midi sequencer to SAVE/RESTORE the
state of the device.
You should also be able to set the target bank/program pair by sending a
message from the midi
sequencer/editor to the patch manager.

 A typical sequence.

 
  Midi Editor                   Patch Manager
     
  set bank/program ----------------> 
                                   |
                               play about with the current patch
                                   |
 give me patch info ---------------> 
                                   |
     <------------------- send patch info                      
     |
  Save song with patch info
     |
  Load new song (reads patch infos)
     |
   please load patch infos ------->


 Should this communication be done via the ALSA kernel ? I think so
because using another
layer (e.g. CORBA ) would add duplication. 



-- 

 Cheers Paul.                                        
               __         __                  
              (  ) _ - _ (  )                 
               ~~         ~~                  
                (  0   0  )                   
----------ooO----(       )----Ooo------------ 
          '''     (     )     '''             
                   (   )                      
                    \ /                       
                   ~~O~~                      

  Tel: +44 1225 826108
  Fax: +44 1225 826305
snail: P.J.Leonard
       Applied Electromagnetic Research Centre
       Bath University,
       BATH, UK   BA2 7AY

