Share via


Conditional Regions and Articulations

Windows Media Encoder SDK banner art

You can set conditions in Region Settings and Articulations List Properties that control the circumstances in which regions and articulations are downloaded and used when an instrument is played. For example, you can specify that some regions be used with DLS2 synthesizers and others with DLS1 synthesizers, or restrict a region so it plays only on a software synthesizer.

If a region has conditions that do not fit the playback environment, the wave is not downloaded to the synthesizer, and settings for the region are not used. If no other region has conditions that fit the playback environment, the instrument is silent for all notes in the region.

Similarly, an articulations list is not used if the conditions set for it are not met.

Conditions are ignored by DLS1 synthesizers, even if a region with conditions is in the bottom layer in the DLS Designer Window, which is the only layer used by DLS1.

If you want to tailor regions for DLS1 and DLS2 synthesizers, put all DLS2 regions in layers other than the bottom one. To have the DLS2 synthesizer ignore regions in the bottom layer, attach a condition such as the following:

(SupportsDLS1 && (SamplePlaybackRate <= 22050))

Because a DLS2 synthesizer uses a sample playback rate of 44100, this condition specifies both that the region is meant for DLS1, and that a DLS2 synthesizer should ignore it.

Each articulations list or region can have a single condition. However, this condition can be a complex statement that in effect sets multiple conditions. When you create a condition, it becomes available in the drop-down list both in the DLS Designer Window and in the Articulations List Properties window.

See Also