javax.microedition.amms
Interface EffectModule

EffectModule is a logical group of Players
and/or MIDI channels to which a common sequence of effects
can be applied. This may allow the implementation to make optimizations
in the audio processing. For example, an implementation might mix
all of the inputs together before applying the effects. The term effect is
used here to cover both effects extending
EffectControl and effect-like Controls extending
Control like VolumeControl of MMAPI.

The GlobalManager is used to retrieve
EffectModules.

Effects in Modules and Players

Typically, the set of effects provided by an EffectModule is a
set of effects which all the Players connected to the EffectModule can support. However, this is not always the case and the exact set of
Controls provided by the EffectModule is implementation
specific. For instance, the types of the connected Players and the available
media resources can affect the set of Controls provided by the
EffectModule.

An EffectModule, that has no Players attached to it, does not provide
any Controls. At least one Player can always be added to an EffectModule, but adding a MIDI channel or
a second Player is not guaranteed to work.
For instance, if the second Player is of a type that would make some
Control already retrieved from the EffectModule become
obsolete, then adding the second Player is not allowed and a MediaException is thrown.

In all essential parts in the guidelines above, the Player can instead be
a MIDI channel, when the device supports
access to individual MIDI channels.