# 3.5. Patchsets

On the bottom panel at the top left you'll find the patchset selector. For KMidi as distributed, you'll see three patchset options: `piano+guitar`, `piano`, and `guitar`. There isn't any real point to selecting the piano or guitar patchsets; the choices are there merely as an illustration. When you acquire a bunch of patchsets, you can set things up so as to switch between them from the panel. Here is how to do that:

For each patchset, create a `cfg` file describing the patches and their banks and instrument (midi ``program'') numbers. Then in the file `timidity.cfg`, enter a line `source` <filename> and a preceding line if <n>, where <filename> is the name you gave to the file describing the patches, and <n> is the line where <filename> will appear in KMidi's panel in the ``Select Patchset'' box. Clicking on this name will select the patchset. The numbering of the patchsets starts with number 0.

In `cfg` files, the banks/drumsets and names of patches must be given, since those that are not declared will not be loaded from files (GUS patch files or sound fonts) even though the patches are available. This way it's easy to exclude certain patches from a sound font so as to load better ones from a subseqently loaded font. Just don't declare them before you've asked to load the font. .

When the same patch of the same bank or drumset is declared more than once, only the first declaration counts. So put your best fonts first.

There is a utility `sf2cfg` to construct a `cfg` file for a `sbk/sf2` sound font, which spits out all the patches that are present in the font. Also, I've included sample `cfg` files for `chaos8m.sf2` and `chaos12m.sf2`.