CONTROLLINGTHESAMPLER

The primary way to control the sampler is over MIDI. See
composite_midi(7) for complete documentation on the MIDI
implementation.

DRUMKITS

The drumkits for Composite are the same as for Hydrogen. To reuse your
Hydrogen drumkits, copy or symlink them to
$HOME/.composite/data/drumkits/. You can create and edit drumkits with
composite-gui (or Hydrogen).

PRESETS

The sampler responds to MIDI Program Change events. Based on the event
that it receives, it will load up another file (e.g. a drumkit). This
is how you can select the drumkit that you wish to use.
The presets are defined in a file
$HOME/.composite/data/presets/default.xml. For the sampler plugin, you
can override this by using default-presets.xml, but at the current time
there is no need to. When you first load the sampler, it will check for
this file. If it doesn´t exist, it will create one based on all your
user drumkits.
The presets file is a simple XML file that allows you to define MIDI
banks, and assign different resources for each program change. An
example file is as follows:
<?xml version="1.0"?>
<T:tritium xmlns:T="http://gabe.is-a-geek.org/tritium/xml/1/">
<T:presets>
<T:bank coarse="0" fine="0">
<T:program>
<T:midi_number>0</T:midi_number>
<T:resource>tritium:drumkits/GMkit</T:resource>
</T:program>
<T:program>
<T:midi_number>1</T:midi_number>
<T:resource>tritium:drumkits/TR808EmulationKit</T:resource>
</T:program>
</T:bank>
</T:presets>
</T:tritium>
You can define several <bank> elements for the MIDI banks. The
attributes coarse and fine correspond to the MIDI CC´s 0 and 32. Each
<program> section is a preset. The <midi_number> corresponds to the
number in the PC message.
The <resource> element holds a URI/URL to the thing you want loaded.
This will typically be a drum kit, but can be any kind of file that
Composite supports (like a .h2song, .h2pattern, etc.). The sampler will
do the Right Thing. (For example, when loading an .h2song, the drumkit
stored in the song will be loaded.) The URL´s supported are file://,
tritium:, and file names.
The tritium: scheme is designed to create portable URL´s to things like
drum kits. For example, the URL “tritium:drumkits/GMkit” will load the
drumkit “GMkit”, whether it´s installed in the user directory
($HOME/.composite/data/drumkits/GMkit/drumkit.xml) or in the system
directory (/usr/share/composite/data/drumkits/GMkit/drumkit.xml).
Note
The XML namespace declaration
“http://gabe.is-a-geek.org/tritium/xml/1/” is not optional.

FILES

/usr/share/composite/data/ — This is the main folder where system data
(drumkits, presets, etc.) are stored for Composite and Composite
Sampler.
$HOME/.composite/data/ — This is the main folder where user data
(drumkits, presets, etc.) are stored for Composite and Composite
Sampler.
$HOME/.composite/data/drumkits/ — This is the main folder where user
drumkits are stored. Each drumkit has its own folder, and each folder
has a file ´drumkit.xml´ that describes the drumkit.
$HOME/.composite/data/presets/default.xml — This is the default presets
file for Composite. If it does not exist, it will be created
automatically using all of your installed drumkits.
$HOME/.composite/data/presets/default.xml — This is the default presets
file for Composite. If it does not exist, it will be created
automatically using all of your installed drumkits.
$HOME/.composite/data/presets/default-plugin.xml — This is the default
presets file for the Composite Sampler. If it does not exist, then
$HOME/.composite/data/presets/default.xml is used.

KNOWNBUGS

Loading a .h2song through the presets is not happening in a real-time
safe manner. Loading drumkits works fine.