$POOL command ( together with the corresponding
$ENDPOOL command ) are enclosing parameter sets -
but mostly movements.
It is a relative of the segmentation commands, as it has a set of movements
and the control for selecting the next movement from the set,
SEQ= parameter controls the sequence as for the other segmentation commands.
The difference is, that
$POOL doesn't get a screen area to let it's movements to run, it only stores them.
The lines containing the
POOL= parameter invoke the next movement from the pool:
<NameList> == <Name> ||
<NameList> , <Name>
the names should be the names of pools - given by the
N= parameter at the pool definition.
Usually you will put here only one pool name, getting the movement from a single pool,
but it is possible to get different parameters from different pools -
for example, storing movements with the train definitions in one pool,
and background definitions in another.
The advantage of this organization is, that you can invoke the next movement and train from the set
in different environments -
for a full-screen background picture, for a low background stripe,
for single movements before the default background, or in scenes.
More tracks in the scene can use the same set of movements.
You can achieve a similar effect by defining the trains in a macro with a huge selection,
but this method has 2 advantages compared with the train macro:
- The use of the selection method - either you can control the sequence the movements will be obeyed by using the
SEQ= parameter, or the user controls it in the configuration window. The macro with a huge selection expression selects always fully randomly.
- The ability of accompanying the train with other parameters - even with the type of the movement. All the parameters belonging to a movement - more train parts, speed, acceleration, stop positions, actions during the stop times can be specified in the usual way. The lines can be tested outside the pool, and moved without any change into the pool.
As the pools are not part of an active segment (
$SECTION ), they cannot be defined inside a
$SECTION, $GROUP, $SCENE or
If we take a closer look on the
$POOL command and the invoking
we will notice, that the mechanism only stores and retrieves parameter sets,
it does not deal with the movements themselves.
So, it is possible to use the
POOL= mechanism for retrieving other parameters -
for example, background and foreground definitions.