This is a list of all effects that can be used in the [[Manual: Patterns|Pattern Editor]]. <br />
Commands that go into the effect column use '''uppercase''' effect letters (e.g. <code>G05</code>), while effects that go into the volume column use '''lowercase''' effect letters (e.g. <code>g05</code>).

The MOD and XM formats share a similar set of effects, with XM offering more effects than MOD. The S3M, IT, and MPTM formats share a different set of effects, of which many are compatible to those from the MOD and XM formats but have different letters (e.g. <code>F75</code> in MOD turns into <code>T75</code> in S3M).

Currently, some effects, in particular those related to volume and panning, only directly affect samples, not instrument plugins (but their effect may be observed by a plugin through [[Manual: Zxx Macros|MIDI macros]]). Since this might change in the future, such effects should be avoided on channels that make use of instrument plugins.

The behaviour of some effects is influenced by the [[Manual: Compatible Playback|Compatible Playback]] settings.

== Effect Layout ==
{| class="wikitable" style="float:right; margin:10px;"
|
<code>'''A'''xy</code>: Effect letter <br />
<code>A'''xy'''</code>: Parameter
|}
An effect command consists of one character (the '''“effect letter”''') followed by the value that will be applied (the '''“parameter”'''), which is a '''[[Manual: Basics#Hexadecimal Notation|hexadecimal]]''' number in the effect column and a '''decimal''' number in the volume column. <br />

If the notation for a parameter is given as '''<code>xx</code>''', it means that a 2-digit hexadecimal number is expected. <br /> For this notation, 62h would be equal to 98, 29h would be equal to 41, and E8h would be equal to 232.

If the notation is '''<code>xy</code>''', it means that for <code>x</code> and <code>y</code> each, a 1-digit hexadecimal number is expected. <br /> For this notation, each of the digits in 62h would be read separately — as 6 and 2. Similarly, 29h would mean 2 and 9, and E8h would mean 14 and 8.

If you do not wish to manually convert decimal to hexadecimal and vice versa, you can double-click on a pattern cell or press the <kbd>▤ Application</kbd> key (by default) to open the [[Manual: Note Properties|Note Properties]] dialog. From there, you can adjust the effect parameters using sliders and see their meaning.

Note that the parameter range of some commands is limited, such as the XM command <abbr title="Set Volume"><code>Cxx</code></abbr>, whose maximum value is 40h (64). Entering out-of-range values is not recommended as they might be interpreted differently by non-conforming players.

== Frequency Units ==

If [[Manual: Song Properties#Linear Frequency Slides|Linear Frequency Slides]] are enabled, each unit of a pitch sliding effect (e.g. <abbr title="Portamento Down"><code>Exx</code></abbr> or <abbr title="Tone Portamento"><code>Gxx</code></abbr> in the IT / MPTM format) is equal to <sup>1</sup>⁄<sub>16</sub> of a semitone. Extra fine (e.g. <abbr title="Extra Fine Portamento Down"><code>EEx</code></abbr> or <abbr title="Extra Fine Portamento Up"><code>FEx</code></abbr>) units are equal to <sup>1</sup>⁄<sub>64</sub> of a semitone.

Otherwise, the unit of a pitch sliding effect is one ''period'', a metric inverse to frequency. This means that the lower the current note, the smaller the effect of one pitch slide unit, and the higher the note, the bigger the effect is. The period of a frequency can be calculated by dividing 3,546,895 by the frequency (3,579,364 in the XM format).

Linear Frequency Slides are not available in the MOD and S3M formats.

== Common Effect Parameters ==

Most effect parameters follow a simple scheme, but some effects also use a look-up table for their parameters. Depending on the effect, different parameters might do completely different things. Some common look-up table effects are described below.

=== Waveform Types ===

Some oscillator effects (namely Vibrato, Tremolo and Panbrello) use preset oscillator waveforms. They can be changed using special commands; the possible parameters of these commands are listed here.
{|
| style="text-align:center;" |
==== S3M / IT / MPTM Formats ====

{| class="wikitable" style="text-align:left; margin-right:10px;"
|-
! Parameter !! Waveform
|-
| '''0''' (default) || Sine (retrigger)
|-
| '''1''' || Sawtooth (retrigger)
|-
| '''2''' || Square (retrigger)
|-
| '''3''' || Random (retrigger)
|}

| style="text-align:center;" |
==== MOD / XM Formats ====

{| class="wikitable" style="text-align:left;"
|-
! Parameter !! Waveform !! Parameter !! Waveform
|-
| '''0''' (default) || Sine (retrigger) || '''4''' || Sine (continue)
|-
| '''1''' || Sawtooth (retrigger) || '''5''' || Sawtooth (continue)
|-
| '''2''' || Square (retrigger) || '''6''' || Square (continue)
|-
| '''3''' || Random<sup>†</sup> (retrigger) || '''7''' || Random<sup>†</sup> (continue)
|}
|}

'''Retrigger''' means that the oscillator waveform is played from its starting point when a new note is played. <br />
'''Continue''' means that the waveform continues at its last playback position when a new note is played. This waveform type is exclusive to the MOD and XM formats.

Every oscillator waveform is 64 points long, and the speed parameter denotes by how many points per tick the play position is advanced. So at a vibrato speed of 2, the vibrato waveform repeats after 32 ticks.

<sup>†</sup> The '''Random''' waveforms are not supported by ProTracker and FastTracker. While they are supported by some MOD / XM players, they should be avoided.

=== Retrigger Volume ===

The Retrigger command (<code>Rxy</code> in the XM format, <code>Qxy</code> in the S3M / IT / MPTM formats) does not only retrigger the note every <code>y</code> ticks, but also changes the note volume depending on the <code>x</code> value.

The following table explains the meaning of every possible <code>x</code> parameter:

{| class="wikitable"
|-
! Parameter !! Effect !! Parameter !! Effect
|-
| '''0''' || (XM) Last <code>x</code> value <br /> (S3M / IT / MPTM) No volume change || '''8''' || No volume change
|-
| '''1''' || Volume - 1 || '''9''' || Volume + 1
|-
| '''2''' || Volume - 2 || '''A''' || Volume + 2
|-
| '''3''' || Volume - 4 || '''B''' || Volume + 4
|-
| '''4''' || Volume - 8 || '''C''' || Volume + 8
|-
| '''5''' || Volume - 16 || '''D''' || Volume + 16
|-
| '''6''' || Volume × ⅔ || '''E''' || Volume × 1.5
|-
| '''7''' || Volume × ½ || '''F''' || Volume × 2
|}

=== Sound Control ===

The sound control effect (<code>X9x</code> in the XM format, <code>S9x</code> in the S3M / IT / MPTM formats) can be used to control various aspects of sound playback. Possible parameters are listed here.

<big>{{Warning|1=Using any of these commands outside of the MPTM format (except <abbr title="Surround On"><code>S91</code></abbr> which is native to only the IT and MPTM formats) is considered a ModPlug hack.}}</big>

{| class="wikitable"
|-
! Parameter
! Name
! Description
|-
| '''0'''
| Surround Off
| Disables surround playback on the current channel. <br /> This should only be used when using Quad Surround Panning. <br /> To keep compatibility with other trackers, a normal panning effect should be used in Center Surround mode.
|-
| '''1'''
| Surround On
| Enables surround playback on the current channel. <br /> When using stereo playback, the right channel of a sample is played with inversed phase (Pro Logic Surround). When using quad playback, the rear channels are used for playing this channel.
|-
| '''8'''
| Reverb Off
| Disables Reverb on the current channel.
|-
| '''9'''
| Reverb On
| {{Warning|As there is no per-song configuration for reverb available, use of this command is discouraged. Use a reverb plugin such as [[Manual: I3DL2Reverb Plugin|I3DL2Reverb]] or [[Manual: WavesReverb Plugin|WavesReverb]] instead.}} <br /> Enables Reverb on the current channel. <br /> The reverb parameters from the [[Manual: Setup/DSP|DSP Setup]] are used.
|-
| '''A'''
| Center Surround
| Sets the surround mode to Center Surround for all channels. This is the default mode. <br /> The <abbr title="Surround On"><code>S91</code></abbr> command will place the channel in the center of the rear channels. Any panning command will bring it back to the front channels.
|-
| '''B'''
| Quad Surround
| Sets the surround mode to Quad Surround for all channels. <br /> In this mode, panning commands can adjust the position of the rear channels. <br /> Switching between the front and rear channels can only be done by using the <abbr title="Surround On"><code>S91</code></abbr> and <abbr title="Surround Off"><code>S90</code></abbr> commands.
|-
| '''C'''
| Global Filters
| Sets filter mode to Global on all channels (Impulse Tracker behaviour). <br /> In this mode, when resonant filters are enabled with a <abbr title="MIDI Macro"><code>Zxx</code></abbr> effect, they will stay active until explicitly disabled by setting the cutoff frequency to the maximum (<code>Z7F</code>), and the resonance to the minimum (<code>Z80</code>).
|-
| '''D'''
| Local Filters
| Sets filter mode to Local on all channels. <br /> In this mode, the resonant filter will only affect the current note and will revert when a new note is played.
|-
| '''E'''
| Play Forward
| Forces the current sample to play forward.
|-
| '''F'''
| Play Backward
| Forces the current sample to play backward.
|}

== MOD Effect Commands ==

=== Effect Column ===

The MOD format only allows use of the effect column; there are no volume column commands.

All parameter values are '''hexadecimal'''.

{| class="wikitable sortable"
|-
! <abbr title="Effect">Eff</abbr>
! Name
! <abbr title="Memory">Mem</abbr><sup>†</sup>
! Description
! Category
|-
| '''<code>0xy</code>'''
| Arpeggio
| No
| Plays an arpeggiation of three notes in one row, cycling between the current note, current note + <code>x</code> semitones, and current note + <code>y</code> semitones.
| class="eff-pitch" | Pitch
|-
| '''<code>1xx</code>'''
| Portamento Up
| No
| Increases current note pitch by <code>xx</code> [[#Frequency Units|units]] on every tick of the row except the first.
| class="eff-pitch" | Pitch
|-
| '''<code>2xx</code>'''
| Portamento Down
| No
| Decreases current note pitch by <code>xx</code> [[#Frequency Units|units]] on every tick of the row except the first.
| class="eff-pitch" | Pitch
|-
| '''<code>3xx</code>'''
| Tone Portamento
| Yes
| Slides the pitch of the previous note towards the current note by <code>xx</code> [[#Frequency Units|units]] on every tick of the row except the first.
| class="eff-pitch" | Pitch
|-
| '''<code>4xy</code>'''
| Vibrato
| Yes
| Executes vibrato with speed <code>x</code> and depth <code>y</code> on the current note. <br /> Modulates with selected vibrato waveform (see the [[#Waveform Types|Waveform Types table]] for more details).
| class="eff-pitch" | Pitch
|-
| '''<code>5xy</code>'''
| Volume Slide + Tone Portamento
| <abbr title="500 will call Tone Portamento memory">No</abbr>
| Functions like <abbr title="Volume Slide"><code>Axy</code></abbr> with <abbr title="Tone Portamento memory"><code>300</code></abbr>. <br /> Parameters are used like <code>Axy</code>.
| class="eff-misc" | Miscellaneous
|-
| '''<code>6xy</code>'''
| Volume Slide + Vibrato
| <abbr title="600 will call Vibrato memory">No</abbr>
| Functions like <abbr title="Volume Slide"><code>Axy</code></abbr> with <abbr title="Vibrato memory"><code>400</code></abbr>. <br /> Parameters are used like <code>Axy</code>.
| class="eff-misc" | Miscellaneous
|-
| '''<code>7xy</code>'''
| Tremolo
| Yes
| Executes tremolo with speed <code>x</code> and depth <code>y</code> on the current note. <br /> Modulates with selected tremolo waveform (see the [[#Waveform Types|Waveform Types table]] for more details).
| class="eff-vol" | Volume
|-
| '''<code>8xx</code>'''
| Set Panning
| —
| Sets the current channel's panning position. <br /> Ranges from 00h (left) to FFh (right).
| class="eff-pan" | Panning
|-
| '''<code>9xx</code>'''
| Sample Offset
| Yes
| Starts playing the current sample from position <code>xx</code> × 256, instead of position 0.  <br /> Ineffective if there is no note in the same pattern cell.
| class="eff-misc" | Miscellaneous
|-
| '''<code>Axy</code>'''
| Volume Slide
| No
| Slides the current note volume up or down.
* '''<code>A0y</code>''' '''decreases''' note volume by <code>y</code> units on every tick of the row except the first.
* '''<code>Ax0</code>''' '''increases''' note volume by <code>x</code> units on every tick of the row except the first.
| class="eff-vol" | Volume
|-
| '''<code>Bxx</code>'''
| Position Jump
| —
| Causes playback to jump to pattern position <code>xx</code>. <br /><code>B00</code> would restart a song from the beginning (first pattern in the Order List). <br /> If <abbr title="Pattern Break"><code>Dxx</code></abbr> is on the same row, the pattern specified by <code>Bxx</code> will be the pattern <code>Dxx</code> jumps in. <br /> Ranges from 00h to 7Fh (127; maximum amount of patterns for the MOD format).
| class="eff-global" | Global <small>(Pattern)</small>
|-
| '''<code>Cxx</code>'''
| Set Volume
| —
| Sets the current note volume to <code>xx</code>. <br /> Ranges from 00h (off) to 40h (full).
| class="eff-vol" | Volume
|-
| '''<code>Dxx</code>'''
| Pattern Break
| —
| Jumps to row <code>xx</code> of the next pattern in the Order List. <br /> If the current pattern is the last pattern in the Order List, <code>Dxx</code> will jump to row <code>xx</code> of the first pattern. <br /> If <abbr title="Position Jump"><code>Bxx</code></abbr> is on the same row, the pattern specified by <code>Bxx</code> will be the pattern <code>Dxx</code> jumps in. <br /> Ranges from 00h to 3Fh (64; maximum amount of rows for each pattern in the MOD format).
| class="eff-global" | Global <small>(Pattern)</small>
|-
| '''<code>E0x</code>'''
| Set Filter
| —
| Configures the Amiga's LED lowpass filter.
* '''<code>E00</code>''' '''enables''' emulation of the lowpass filter.
* '''<code>E01</code>''' '''disables''' emulation of the lowpass filter.
Enabling the filter makes the sound output more muffled and is not recommended. <br /> Using this effect is only recommended to explicitly disable the filter for environments where it might not be disabled by default (such as a real Amiga system). <br />OpenMPT only emulates the lowpass filter if the [[Manual: Setup/Mixer#Use Amiga resampler for Amiga modules|Amiga resampler]] is enabled in the Mixer settings.
| class="eff-misc" | Miscellaneous
|-
| '''<code>E1x</code>'''
| Fine Portamento Up
| No
| Similar to <abbr title="Portamento Up"><code>1xx</code></abbr>, but only applies on the first tick of the row.
| class="eff-pitch" | Pitch
|-
| '''<code>E2x</code>'''
| Fine Portamento Down
| No
| Similar to <abbr title="Portamento Down"><code>2xx</code></abbr>, but only applies on the first tick of the row.
| class="eff-pitch" | Pitch
|-
| '''<code>E3x</code>'''
| Glissando Control
| —
| {{Warning|This effect is not widely supported and behaves quirky in OpenMPT.}} <br /> Configures whether tone portamento effects slide by semitones or not.
* '''<code>E30</code> disables''' glissando.
* '''<code>E31</code> enables''' glissando.
| class="eff-pitch" | Pitch
|-
| '''<code>E4x</code>'''
| Set Vibrato Waveform
| —
| Sets the waveform of future Vibrato effects (see the [[#Waveform Types|Waveform Types table]] for more details).
| class="eff-pitch" | Pitch
|-
| '''<code>E5x</code>'''
| Set Finetune
| —
| Overrides the finetune value for the currently playing note. <br /> Functions similarly to the same setting in the Sample Editor but is only applied temporarily. <br /> This command only works with a note next to it.
| class="eff-pitch" | Pitch
|-
| '''<code>E60</code>'''
| Pattern Loop Start
| —
| Marks the current row position to be used as the start of a pattern loop.
| class="eff-global" | Global <small>(Pattern)</small>
|-
| '''<code>E6x</code>'''
| Pattern Loop
| —
| Each time this command is reached, jumps to the row marked by <abbr title="Pattern Loop Start"><code>E60</code></abbr> until <code>x</code> jumps have occured in total. <br /> If <code>E6x</code> is used in a pattern with no <code>E60</code> effect, <code>E6x</code> will use the row position marked by any previous <code>E60</code> effect. <br /> Pattern loops cannot span multiple patterns. <br /> Ranges from 1h to Fh.
| class="eff-global" | Global <small>(Pattern)</small>
|-
| '''<code>E7x</code>'''
| Set Tremolo Waveform
| —
| Sets the waveform of future Tremolo effects (see the [[#Waveform Types|Waveform Types table]] for more details).
| class="eff-vol" | Volume
|-
| '''<code>E8x</code>'''
| Set Panning
| —
| ''<small><abbr title="Set Panning"><code>8xx</code></abbr> is a much finer panning effect.</small>'' <br /> Sets the current channel's panning position. <br /> Ranges from 0h (left) to Fh (right).
| class="eff-pan" | Panning
|-
| '''<code>E9x</code>'''
| Retrigger
| No
| Retriggers the current note every <code>x</code> ticks. <br /> This effect works with parameters greater than the current Speed setting if the row after it also contains an <code>E9x</code> effect.
| class="eff-misc" | Miscellaneous
|-
| '''<code>EAx</code>'''
| Fine Volume Slide Up
| No
| Similar to <abbr title="Volume Slide Up"><code>Ax0</code></abbr>, but only applies on the first tick of the row.
| class="eff-vol" | Volume
|-
| '''<code>EBx</code>'''
| Fine Volume Slide Down
| No
| Similar to <abbr title="Volume Slide Down"><code>A0y</code></abbr>, but only applies on the first tick of the row.
| class="eff-vol" | Volume
|-
| '''<code>ECx</code>'''
| Note Cut
| —
| Sets note volume to 0 after <code>x</code> ticks. <br /> If <code>x</code> is greater than or equal to the current module Speed, this command is ignored.
| class="eff-misc" | Miscellaneous
|-
| '''<code>EDx</code>'''
| Note Delay
| —
| Delays the note or instrument change in the current pattern cell by <code>x</code> ticks. <br /> If <code>x</code> is greater than or equal to the current module Speed, the current pattern cell's contents are never played.
| class="eff-misc" | Miscellaneous
|-
| '''<code>EEx</code>'''
| Pattern Delay
| —
| Repeats the current row <code>x</code> times. <br /> Notes are not retriggered on every repetition, but effects are still processed. <br /> If multiple <code>EEx</code> commands are found on the same row, only the rightmost is considered.
| class="eff-global" | Global <small>(Pattern)</small>
|-
| '''<code>EFx</code>'''
| Invert Loop
| —
| {{Warning|This effect permanently modifies the module file when encountered during playback.}}
* '''<code>EFx</code>''', when used with a looped sample, goes through the sample loop and inverts all sampling points (i.e. changes the sign) one by one at speed <code>x</code>.
* '''<code>EF0</code>''' cancels <code>EFx</code>.
Samples modified by this effect cannot be recovered automatically (e.g. no undo point is created).
| class="eff-misc" | Miscellaneous
|-
| '''<code>Fxx</code>'''
| Set Speed / Tempo
| —
| {{Warning|Avoid using 20h or 00h as parameters.}}
* Sets the module '''Speed''' (ticks per row) if <code>xx</code> is less than 20h.
* Sets the module '''Tempo''' if <code>xx</code> greater than or equal to 20h.
Some players (including old OpenMPT versions) differ in their interpretations of <code>F20</code>. <br /> <code>F00</code> does nothing in OpenMPT, but some players stop the song when they encounter it.
| class="eff-global" | Global <small>(Timing)</small>
|}

'''<sup>†</sup> Effect Memory''': <br />
Assuming that all available parameters for a given effect (e.g. <code>xx</code>, <code>xy</code>, <code>x</code>, or <code>y</code>) are equivalent to 0:
* '''No''' means that the command does nothing.
* '''Yes''' means that the effect calls its own parameter memory. <br /> For example, if the effect <abbr title="Vibrato with speed 8 and depth 2"><code>482</code></abbr> is followed by the effect <abbr title="Vibrato memory"><code>400</code></abbr> on a subsequent row, the <code>400</code> effect recalls the effect parameter 82h.
* '''—''' means that the value has no special meaning. <br /> For example, <abbr title="Set Volume"><code>C00</code></abbr> sets note volume to 0, <abbr title="Set Panning"><code>800</code></abbr> sets the channel's panning position to hard left, <abbr title="Position Jump"><code>B00</code></abbr> jumps to the first pattern, etc.

== XM Effect Commands ==

Fasttracker II's XM format uses an extended version of the MOD command set.

As Fasttracker II was a rather buggy program, many effect commands may behave in a quirky way. Always enable the default [[Manual: Compatible Playback#XM compatibility settings|FT2 compatible playback settings]] for the best possible emulation of those quirks.

=== Effect Column ===

Some effects and features mentioned here are not actually part of the original XM format specifications. They will be labeled '''ModPlug hacks''', as they are not compatible with Fasttracker II. Use of these effects in the XM format is strongly discouraged; if you wish to use them, you should use a different format with equivalent, natively implemented effects.

All parameter values are '''hexadecimal'''.

{| class="wikitable sortable"
|-
! <abbr title="Effect">Eff</abbr>
! Name
! <abbr title="Memory">Mem</abbr><sup>†</sup>
! Description
! Category
|-
| '''<code>0xy</code>'''
| Arpeggio
| No
| Plays an arpeggiation of three notes in one row, cycling between the current note, current note + <code>x</code> semitones, and current note + <code>y</code> semitones.
| class="eff-pitch" | Pitch
|-
| '''<code>1xx</code>'''
| Portamento Up
| Yes
| Increases current note pitch by <code>xx</code> [[#Frequency Units|units]] on every tick of the row except the first.
| class="eff-pitch" | Pitch
|-
| '''<code>2xx</code>'''
| Portamento Down
| Yes
| Decreases current note pitch by <code>xx</code> [[#Frequency Units|units]] on every tick of the row except the first.
| class="eff-pitch" | Pitch
|-
| '''<code>3xx</code>'''
| Tone Portamento
| Yes
| Slides the pitch of the previous note towards the current note by <code>xx</code> [[#Frequency Units|units]] on every tick of the row except the first.
| class="eff-pitch" | Pitch
|-
| '''<code>4xy</code>'''
| Vibrato
| Yes
| Executes vibrato with speed <code>x</code> and depth <code>y</code> on the current note. <br /> Modulates with selected vibrato waveform (see the [[#Waveform Types|Waveform Types table]] for more details).
| class="eff-pitch" | Pitch
|-
| '''<code>5xy</code>'''
| Volume Slide + Tone Portamento
| Yes
| Functions like <abbr title="Volume Slide"><code>Axy</code></abbr> with <abbr title="Tone Portamento memory"><code>300</code></abbr>. <br /> Parameters are used like <code>Axy</code>.
| class="eff-misc" | Miscellaneous
|-
| '''<code>6xy</code>'''
| Volume Slide + Vibrato
| Yes
| Functions like <abbr title="Volume Slide"><code>Axy</code></abbr> with <abbr title="Vibrato memory"><code>400</code></abbr>. <br /> Parameters are used like <code>Axy</code>.
| class="eff-misc" | Miscellaneous
|-
| '''<code>7xy</code>'''
| Tremolo
| Yes
| Executes tremolo with speed <code>x</code> and depth <code>y</code> on the current note. <br /> Modulates with selected tremolo waveform (see the [[#Waveform Types|Waveform Types table]] for more details).
| class="eff-vol" | Volume
|-
| '''<code>8xx</code>'''
| Set Panning
| —
| Sets the current sample's panning position. <br /> As every sample has an enforced default panning, this setting is reset by any future entries in the instrument column. <br /> Ranges from 00h (left) to FFh (right).
| class="eff-pan" | Panning
|-
| '''<code>9xx</code>'''
| Sample Offset
| Yes
| Starts playing the current sample from position <code>xx</code> × 256, instead of position 0. <br /> Ineffective if there is no note in the same pattern cell.
| class="eff-misc" | Miscellaneous
|-
| '''<code>Axy</code>'''
| Volume Slide
| Yes
| Slides the current note volume up or down.
* '''<code>A0y</code>''' '''decreases''' note volume by <code>y</code> units on every tick of the row except the first.
* '''<code>Ax0</code>''' '''increases''' note volume by <code>x</code> units on every tick of the row except the first.
| class="eff-vol" | Volume
|-
| '''<code>Bxx</code>'''
| Position Jump
| —
| Causes playback to jump to pattern position <code>xx</code>. <br /><code>B00</code> would restart a song from the beginning (first pattern in the Order List). <br /> If <abbr title="Pattern Break"><code>Dxx</code></abbr> is on the same row and '''to the right''' of <code>Bxx</code>, the pattern specified by <code>Bxx</code> will be the pattern <code>Dxx</code> jumps in.
| class="eff-global" | Global <small>(Pattern)</small>
|-
| '''<code>Cxx</code>'''
| Set Volume
| —
| Sets the current note volume to <code>xx</code>. <br /> Ranges from 00h (off) to 40h (full).
| class="eff-vol" | Volume
|-
| '''<code>Dxx</code>'''
| Pattern Break
| —
| {{Warning|To maintain compatibility with Fasttracker II, you should not jump past row 3Fh (63).}} <br /> Jumps to row <code>xx</code> of the next pattern in the Order List. <br /> If the current pattern is the last pattern in the Order List, <code>Dxx</code> will jump to row <code>xx</code> of the first pattern. <br /> If <abbr title="Position Jump"><code>Bxx</code></abbr> is on the same row and '''to the left''' of <code>Bxx</code>, the pattern specified by <code>Bxx</code> will be the pattern <code>Dxx</code> jumps in.
| class="eff-global" | Global <small>(Pattern)</small>
|-
| '''<code>E1x</code>'''
| Fine Portamento Up
| Yes
| Similar to <abbr title="Portamento Up"><code>1xx</code></abbr>, but only applies on the first tick of the row.
| class="eff-pitch" | Pitch
|-
| '''<code>E2x</code>'''
| Fine Portamento Down
| Yes
| Similar to <abbr title="Portamento Down"><code>2xx</code></abbr>, but only applies on the first tick of the row.
| class="eff-pitch" | Pitch
|-
| '''<code>E3x</code>'''
| Glissando Control
| —
| {{Warning|This effect is not widely supported and behaves quirky in OpenMPT.}} <br /> Configures whether tone portamento effects slide by semitones or not.
* '''<code>E30</code>''' '''disables''' glissando.
* '''<code>E31</code>''' '''enables''' glissando.
| class="eff-pitch" | Pitch
|-
| '''<code>E4x</code>'''
| Set Vibrato Waveform
| —
| Sets the waveform of future Vibrato effects (see the [[#Waveform Types|Waveform Types table]] for more details).
| class="eff-pitch" | Pitch
|-
| '''<code>E5x</code>'''
| Set Finetune
| —
| Overrides the finetune value for the currently playing note. <br /> Functions similarly to the same setting in the Sample Editor but is only applied temporarily. <br /> This command only works with a note next to it.
| class="eff-pitch" | Pitch
|-
| '''<code>E60</code>'''
| Pattern Loop Start
| —
| {{Warning|A Fasttracker II bug makes use of this command non-trivial.}} <br /> Marks the current row position to be used as the start of a pattern loop. <br /> {{Warning|1=When <code>E60</code> is used on pattern row <code>x</code>, the following pattern also starts from row <code>x</code> instead of row 0. <br /> This can be circumvented by using a <abbr title="Pattern Break"><code>D00</code></abbr> command on the last row of the same pattern.}}
| class="eff-global" | Global <small>(Pattern)</small>
|-
| '''<code>E6x</code>'''
| Pattern Loop
| —
| Each time this command is reached, jumps to the row marked by <abbr title="Pattern Loop Start"><code>E60</code></abbr> until <code>x</code> jumps have occured in total. <br /> If <code>E6x</code> is used in a pattern with no <code>E60</code> effect, <code>E6x</code> will use the row position marked by any previous <code>E60</code> effect. <br /> Pattern loops cannot span multiple patterns. <br /> Ranges from 1h to Fh.
| class="eff-global" | Global <small>(Pattern)</small>
|-
| '''<code>E7x</code>'''
| Set Tremolo Waveform
| —
| Sets the waveform of future Tremolo effects (see the [[#Waveform Types|Waveform Types table]] for more details).
| class="eff-vol" | Volume
|-
| '''<code>E8x</code>'''
| Set Panning
| —
| ''<small><abbr title="Set Panning"><code>8xx</code></abbr> is a much finer panning effect.</small>'' <br /> Sets the current channel's panning position. <br /> Ranges from 0h (left) to Fh (right).
| class="eff-pan" | Panning
|-
| '''<code>E9x</code>'''
| Retrigger
| No
| Retriggers the current note every <code>x</code> ticks. <br /> This effect works with parameters greater than the current Speed setting if the row after it also contains an <code>E9x</code> effect.
| class="eff-misc" | Miscellaneous
|-
| '''<code>EAx</code>'''
| Fine Volume Slide Up
| Yes
| Similar to <abbr title="Volume Slide Up"><code>Ax0</code></abbr>, but only applies on the first tick of the row.
| class="eff-vol" | Volume
|-
| '''<code>EBx</code>'''
| Fine Volume Slide Down
| Yes
| Similar to <abbr title="Volume Slide Down"><code>A0y</code></abbr>, but only applies on the first tick of the row.
| class="eff-vol" | Volume
|-
| '''<code>ECx</code>'''
| Note Cut
| —
| Sets note volume to 0 after <code>x</code> ticks. <br /> If <code>x</code> is greater than or equal to the current module Speed, this command is ignored.
| class="eff-misc" | Miscellaneous
|-
| '''<code>EDx</code>'''
| Note Delay
| —
| {{Warning|This command is very buggy (e.g. portamento effects next to a note delay are ignored). You should not rely on these bugs to be emulated by other players.}} <br /> Delays the note or instrument change in the current pattern cell by <code>x</code> ticks. <br /> If <code>x</code> is greater than or equal to the current module Speed, the current pattern cell's contents are never played.
| class="eff-misc" | Miscellaneous
|-
| '''<code>EEx</code>'''
| Pattern Delay
| —
| Repeats the current row <code>x</code> times. <br /> Notes are not retriggered on every repetition, but effects are still processed. <br /> If multiple <code>EEx</code> commands are found on the same row, only the rightmost is considered.
| class="eff-global" | Global <small>(Pattern)</small>
|-
| '''<code>EFx</code>'''
| Set Active Macro
| —
| {{Warning|This effect is a ModPlug hack.}} <br /> Selects the active [[Manual: Zxx Macros#Parametered Macros|parametered macro]] for the current channel.
| class="eff-misc" | Miscellaneous
|-
| '''<code>Fxx</code>'''
| Set Speed / Tempo
| —
| {{Warning|Avoid using 00h as a parameter.}}
* Sets the module '''Speed''' (ticks per row) if <code>xx</code> is less than 20h.
* Sets the module '''Tempo''' if <code>xx</code> greater than or equal to 20h.
In OpenMPT and Fasttracker II, <code>F00</code> sets the Speed to 65535 ticks per row, but in other players it may stop the song entirely, or simply do nothing.
| class="eff-global" | Global <small>(Timing)</small>
|-
| '''<code>Gxx</code>'''
| Set Global Volume
| —
| Sets the global volume. <br /> Ranges from 00h (off) to 40h (full).
| class="eff-vol" | Volume
|-
| '''<code>Hxy</code>'''
| Global Volume Slide
| Yes
| Similar to <abbr title="Volume Slide"><code>Axy</code></abbr>, but applies to the global volume.
| class="eff-vol" | Volume
|-
| '''<code>Kxx</code>'''
| Key Off
| —
| {{Warning|Avoid using 00h as a parameter; it interferes with other entries (e.g. notes, instruments) in the same pattern cell.}} <br /> Triggers a Note Off command after <code>xx</code> ticks.
| class="eff-misc" | Miscellaneous
|-
| '''<code>Lxx</code>'''
| Set Envelope Position
| —
| Sets the volume envelope playback position to <code>xx</code> ticks. <br /> If the volume envelope’s sustain point is enabled, the panning envelope position is also changed.
| class="eff-vol" | Volume
|-
| '''<code>Pxy</code>'''
| Panning Slide
| Yes
| Slides the current sample's panning position left or right.
* '''<code>P0y</code>''' slides the panning to the '''left''' by <code>y</code> units on the first tick of the row.
* '''<code>Px0</code>''' slides the panning to the '''right''' by <code>x</code> units on the first tick of the row.
| class="eff-pan" | Panning
|-
| '''<code>Rxy</code>'''
| Retrigger
| Yes
| {{Warning|This command is very buggy (e.g. if a volume command is in the same pattern cell as <code>Rxy</code>, it will skip some ticks).}} <br /> Retriggers the current note every <code>y</code> ticks and changes the volume based on the <code>x</code> value (see the [[#Retrigger Volume|Retrigger Volume table]] for more details).
| class="eff-misc" | Miscellaneous
|-
| '''<code>Txy</code>'''
| Tremor
| Yes
| Rapidly switches the sample volume on and off on every tick of the row except the first. <br /> Volume is '''on''' for <code>x</code> + 1 ticks and '''off''' for <code>y</code> + 1 ticks. <br /> For instrument plugins {{Warning|(ModPlug hack)}}, this command sends note-on and note-off messages instead of modifying the volume.
| class="eff-vol" | Volume
|-
| '''<code>X1x</code>'''
| Extra Fine Portamento Up
| Yes
| Similar to <abbr title="Fine Portamento Up"><code>E1x</code></abbr>, but with 4 times the precision.
| class="eff-pitch" | Pitch
|-
| '''<code>X2x</code>'''
| Extra Fine Portamento Down
| Yes
| Similar to <abbr title="Fine Portamento Down"><code>E2x</code></abbr>, but with 4 times the precision.
| class="eff-pitch" | Pitch
|-
| '''<code>X5x</code>'''
| Set Panbrello Waveform
| —
| {{Warning|This effect is a ModPlug hack.}} <br /> Sets the waveform of future Panbrello effects (see the [[#Waveform Types|Waveform Types table]] for more details).
| class="eff-pan" | Panning
|-
| '''<code>X6x</code>'''
| Fine Pattern Delay
| —
| {{Warning|This effect is a ModPlug hack.}} <br /> Extends the current row by <code>x</code> ticks. <br /> If multiple <code>X6x</code> commands are found on the same row, the sum of their parameters is used.
| class="eff-global" | Global <small>(Pattern)</small>
|-
| '''<code>X9x</code>'''
| Sound Control
| —
| {{Warning|This effect is a ModPlug hack.}} <br /> Executes a sound control command (see the [[Manual: Effect Reference#Sound Control|Sound Control table]] for more details).
| class="eff-misc" | Miscellaneous
|-
| '''<code>XAx</code>'''
| High Offset
| —
| {{Warning|This effect is a ModPlug hack.}} <br /> Sets the high offset for future <abbr title="Sample Offset"><code>9xx</code></abbr> commands. <br /> <code>x</code> × 65536 (10000h) is added to all offset effects that follow this command.
| class="eff-misc" | Miscellaneous
|-
| '''<code>Yxy</code>'''
| Panbrello
| Yes
| {{Warning|This effect is a ModPlug hack.}} <br /> Executes Panbrello with speed <code>x</code> and depth <code>y</code> on the current note. <br /> Modulates with selected Panbrello waveform (see the [[#Waveform Types|Waveform Types table]] for more details).
| class="eff-pan" | Panning
|-
| '''<code>Zxx</code>'''
| MIDI Macro
| —
| {{Warning|This effect is a ModPlug hack.}} <br /> Executes a [[Manual: Zxx Macros|MIDI Macro]].
| class="eff-misc" | Miscellaneous
|-
| '''<code>\xx</code>'''
| Smooth MIDI Macro
| —
| {{Warning|This effect is a ModPlug hack.}} <br /> Executes an interpolated MIDI Macro.
| class="eff-misc" | Miscellaneous
|}

=== Volume Column ===

The following commands can be entered into the effect column.

All parameter values are '''decimal'''.

{| class="wikitable sortable"
|-
! <abbr title="Effect">Eff</abbr>
! Name
! <abbr title="Memory">Mem</abbr><sup>†</sup>
! Description
! Category
|-
| '''<code>axx</code>'''
| Fine Volume Slide Up
| No
| Functions like <abbr title="Fine Volume Slide Up"><code>EAx</code></abbr> (slides the volume up <code>xx</code> units on the first tick).
| class="eff-vol" | Volume
|-
| '''<code>bxx</code>'''
| Fine Volume Slide Down
| No
| Functions like <abbr title="Fine Volume Slide Down"><code>EBx</code></abbr> (slides the volume down <code>xx</code> units on the first tick).
| class="eff-vol" | Volume
|-
| '''<code>cxx</code>'''
| Volume Slide Up
| No
| Functions like <abbr title="Volume Slide Up"><code>Ax0</code></abbr> (slides the volume up <code>xx</code> units on all ticks except the first).
| class="eff-vol" | Volume
|-
| '''<code>dxx</code>'''
| Volume Slide Down
| No
| Functions like <abbr title="Volume Slide Down"><code>A0y</code></abbr> (slides the volume down <code>xx</code> units on all ticks except the first).
| class="eff-vol" | Volume
|-
| '''<code>gxx</code>'''
| Tone Portamento
| Yes
| Functions like <abbr title="Tone Portamento"><code>3xx</code></abbr> (pitch-bends from the previous note to the current note). <br /> Compared to <code>3xx</code>, parameters are 16 times more coarse (e.g. <code>g01</code> = <abbr title="Tone Portamento with speed 16 (10h)"><code>310</code></abbr>). <br /> Combining the effect with <code>3xx</code> will double the effect parameter (e.g. <code>g01</code> would act like <code>g02</code>) and ignores the <code>3xx</code> command. <br /> Ineffective if <abbr title="Note Delay"><code>EDx</code></abbr> is in the same pattern cell.
| class="eff-pitch" | Pitch
|-
| '''<code>hxx</code>'''
| Vibrato Depth
| Yes
| Executes vibrato with depth <code>xx</code> and speed from the last <abbr title="Vibrato"><code>4xy</code></abbr> or <abbr title="Vibrato Speed"><code>u0x</code></abbr> command.
| class="eff-pitch" | Pitch
|-
| '''<code>lxx</code>'''
| Panning Slide Left
| No
| Functions like <abbr title="Panning Slide Left"><code>P0y</code></abbr> (slides the panning left by <code>xx</code> units).
| class="eff-pan" | Panning
|-
| '''<code>pxx</code>'''
| Set Panning
| No
| Sets the current channel's panning position. <br /> This effect only accepts 4-bit parameters (with 16 distinct values); when saving the file, parameters that are not multiples of 4 will be rounded down to a multiple of 4 (e.g. 55 will save as 52 and 5 will save as 4). <br /> Ranges from 0 (left) to 64 (right).
| class="eff-pan" | Panning
|-
| '''<code>rxx</code>'''
| Panning Slide Right
| No
| Functions like <abbr title="Panning Slide Right"><code>Px0</code></abbr> (slides the panning right by <code>xx</code> units).
| class="eff-pan" | Panning
|-
| '''<code>uxx</code>'''
| Vibrato Speed
| No
| Sets the vibrato speed to <code>xx</code>, but does not execute a vibrato.
| class="eff-pitch" | Pitch
|-
| '''<code>vxx</code>'''
| Set Volume
| No
| Sets the current note volume to <code>xx</code>. <br /> The behaviour of this command when sent to instrument plugins can be configured in the [[Manual: Instruments#Plugin / MIDI|Instrument Editor]] {{Warning|(ModPlug hack)}}. <br /> Ranges from 0 (off) to 64 (full). 
| class="eff-vol" | Volume
|}

'''<sup>†</sup> Effect Memory''': <br />
Assuming that all available parameters for a given effect (e.g. <code>xx</code>, <code>xy</code>, <code>x</code>, or <code>y</code>) are equivalent to 0:
* '''No''' means that the command does nothing.
* '''Yes''' means that the effect calls its own parameter memory. <br /> For example, if the effect <abbr title="Vibrato with speed 8 and depth 2"><code>482</code></abbr> is followed by the effect <abbr title="Vibrato memory"><code>400</code></abbr> on a subsequent row, the <code>400</code> effect recalls the effect parameter 82h.
* '''—''' means that the value has no special meaning. <br /> For example, <abbr title="Set Volume"><code>C00</code></abbr> sets note volume to 0, <abbr title="Set Panning"><code>800</code></abbr> sets the channel's panning position to hard left, <abbr title="Position Jump"><code>B00</code></abbr> jumps to the first pattern, etc.

== S3M Effect Commands ==

Scream Tracker′s S3M format uses a command set that is entirely different from the MOD and XM formats'. Its use of the volume column is very limited.

The format was soon extended by other programs and players to support more effect commands (e.g. 7-Bit panning, panning slides, channel volume, etc.). Though these are also supported by OpenMPT, they are not original Scream Tracker 3 commands, and thus will be marked as such below.

=== Effect Column ===

The following commands can be entered into the effect column.

All parameter values are '''hexadecimal'''.

{| class="wikitable sortable"
|-
! <abbr title="Effect">Eff</abbr>
! Name
! <abbr title="Memory">Mem</abbr><sup>†</sup>
! Description
! Category
|-
| '''<code>Axx</code>'''
| Set Speed
| No
| Sets the module Speed (ticks per row).
| class="eff-global" | Global <small>(Timing)</small>
|-
| '''<code>Bxx</code>'''
| Position Jump
| —
| Causes playback to jump to pattern position <code>xx</code>. <br /> <code>B00</code> would restart a song from the beginning (first pattern in the Order List). <br /> If <abbr title="Pattern Break"><code>Cxx</code></abbr> is on the same row, the pattern specified by <code>Bxx</code> will be the pattern <code>Cxx</code> jumps in.
| class="eff-global" | Global <small>(Pattern)</small>
|-
| '''<code>Cxx</code>'''
| Pattern Break
| —
| Jumps to row <code>xx</code> of the next pattern in the Order List. <br /> If the current pattern is the last pattern in the Order List, <code>Cxx</code> will jump to row <code>xx</code> of the first pattern. <br />If <abbr title="Position Jump"><code>Bxx</code></abbr> is on the same row, the pattern specified by <code>Bxx</code> will be the pattern <code>Cxx</code> jumps in. <br /> Ranges from 00h to 3Fh (64; maximum amount of pattern rows for the S3M format); higher values are ignored.
| class="eff-global | Global <small>(Pattern)</small>
|-
| '''<code>Dxy</code>'''
| Volume Slide <br /> <small>or</small> Fine Volume Slide
| Global
| Slides the current note volume up or down.
* '''<code>D0y</code> decreases''' note volume by <code>y</code> units on every tick of the row except the first. <br /> If <code>y</code> is Fh and [[Manual: Song Properties#Fast Volume Slides|Fast Volume Slides]] are enabled, volume decreases on every tick.
* '''<code>Dx0</code> increases''' note volume by <code>x</code> units on every tick of the row except the first. <br /> If <code>x</code> is Fh and [[Manual: Song Properties#Fast Volume Slides|Fast Volume Slides]] are enabled, volume decreases on every tick.<br /> Volume will not exceed 64 (40h).
* '''<code>DFy</code> finely decreases''' note volume by only applying <code>y</code> units on the first tick of the row. <br /> <code>y</code> cannot be Fh.
* '''<code>DxF</code> finely increases''' note volume by only applying <code>x</code> units on the first tick of the row. <br /> <code>x</code> cannot be Fh.
| class="eff-vol" | Volume
|-
| '''<code>Exx</code>'''
| Portamento Down <br /> <small>or</small> Fine Portamento Down <br /> <small>or</small> Extra Fine Portamento Down
| Global
| Decreases current note pitch by <code>xx</code> [[#Frequency Units|units]] on every tick of the row except the first.
* '''<code>EFx</code> finely''' decreases note pitch by only applying <code>x</code> [[#Frequency Units|units]] on the first tick of the row.
* '''<code>EEx</code> extra-finely''' decreases note pitch by applying with 4 times the precision of <code>EFx</code>.
| class="eff-pitch" | Pitch
|-
| '''<code>Fxx</code>'''
| Portamento Up <br /> <small>or</small> Fine Portamento Up <br /> <small>or</small> Extra Fine Portamento Up
| Global
| Increases current note pitch by <code>xx</code> [[#Frequency Units|units]] on every tick of the row except the first.
* '''<code>FFx</code> finely''' increases note pitch by only applying <code>x</code> [[#Frequency Units|units]] on the first tick of the row.
* '''<code>FEx</code> extra-finely''' increases note pitch by applying with 4 times the precision of <code>EFx</code>.
| class="eff-pitch" | Pitch
|-
| '''<code>Gxx</code>'''
| Tone Portamento
| Yes
| Slides the pitch of the previous note towards the current note by <code>xx</code> [[#Frequency Units|units]] on every tick of the row except the first.
| class="eff-pitch" | Pitch
|-
| '''<code>Hxy</code>'''
| Vibrato
| Yes
| Executes vibrato with speed <code>x</code> and depth <code>y</code> on the current note. <br /> Modulates with selected vibrato waveform (see the [[#Waveform Types|Waveform Types table]] for more details). <br /> Shares memory with <abbr title="Fine Vibrato"><code>Uxy</code></abbr>.
| class="eff-pitch" | Pitch
|-
| '''<code>Ixy</code>'''
| Tremor
| Global
| Rapidly switches the sample volume on and off. <br /> Volume is on for <code>x</code> ticks and off for <code>y</code> ticks.
| class="eff-vol" | Volume
|-
| '''<code>Jxy</code>'''
| Arpeggio
| Global
| Plays an arpeggiation of three notes in one row, cycling between the current note, current note + <code>x</code> semitones, and current note + <code>y</code> semitones.
| class="eff-pitch" | Pitch
|-
| '''<code>Kxy</code>'''
| Volume Slide + Vibrato
| Global
| Functions like <abbr title="Volume Slide"><code>Dxy</code></abbr> with <abbr title="Vibrato memory"><code>H00</code></abbr>. <br /> Parameters are used like <code>Dxy</code>.
| class="eff-misc" | Miscellaneous
|-
| '''<code>Lxy</code>'''
| Volume Slide + Tone Portamento
| Global
| Functions like <abbr title="Volume Slide"><code>Dxy</code></abbr> with <abbr title="Tone Portamento memory"><code>G00</code></abbr>. <br /> Parameters are used like <code>Dxy</code>.
| class="eff-misc" | Miscellaneous
|-
| '''<code>Mxx</code>'''
| Set Channel Volume
| —
| {{Warning|This is not an original Scream Tracker 3 effect.}} <br /> Sets the current channel volume, which multiplies all note volumes it encompasses. <br /> Ranges from 00h (off) to 40h (full).
| class="eff-vol" | Volume
|-
| '''<code>Nxy</code>'''
| Channel Volume Slide
| Yes
| {{Warning|This is not an original Scream Tracker 3 effect.}} <br /> Similar to <abbr title="Volume Slide"><code>Dxy</code></abbr>, but applies to the current channel's volume.
| class="eff-vol" | Volume
|-
| '''<code>Oxx</code>'''
| Sample Offset
| Yes
| Starts playing the current sample from position <code>xx</code> × 256, instead of position 0. <br /> Ineffective if there is no note in the same pattern cell.
| class="eff-misc" | Miscellaneous
|-
| '''<code>Pxy</code>'''
| Panning Slide <br /> <small>or</small> Fine Panning Slide
| Yes
| {{Warning|This is not an original Scream Tracker 3 effect.}} <br /> Slides the current channel's panning position left or right.
* '''<code>P0y</code>''' slides the panning to the '''right''' by <code>y</code> units on every tick of the row except the first.
* '''<code>Px0</code>''' slides the panning to the '''left''' by <code>x</code> units on every tick of the row except the first.
* '''<code>PFy</code> finely''' slides the panning to the right by only applying <code>y</code> units on the first tick of the row. <br /> <code>y</code> cannot be Fh.
* '''<code>PxF</code> finely''' slides the panning to the left by only applying <code>x</code> units on the first tick of the row. <br /> <code>x</code> cannot be Fh.
| class="eff-pan" | Panning
|-
| '''<code>Qxy</code>'''
| Retrigger
| Global
| Retriggers the current note every <code>y</code> ticks and changes the volume based on the <code>x</code> value (see the [[#Retrigger Volume|Retrigger Volume table]] for more details).
| class="eff-misc" | Miscellaneous
|-
| '''<code>Rxy</code>'''
| Tremolo
| Global
| Executes tremolo with speed <code>x</code> and depth <code>y</code> on the current note. <br /> Modulates with selected tremolo waveform (see the [[#Waveform Types|Waveform Types table]] for more details).
| class="eff-vol" | Volume
|-
| '''<code>S1x</code>'''
| Glissando Control
| <abbr title="Global memory can be called with S00">—</abbr>
| {{Warning|This effect is not widely supported and behaves quirky in OpenMPT.}} <br /> Configures whether tone portamento effects slide by semitones or not.
* '''<code>S10</code> disables''' glissando.
* '''<code>S11</code> enables''' glissando.
| class="eff-pitch" | Pitch
|-
| '''<code>S2x</code>'''
| Set Finetune
| <abbr title="Global memory can be called with S00">—</abbr>
| ''<small>Considered a legacy command.</small>'' <br /> Overrides the current sample's C-5 frequency with a MOD finetune value.
| class="eff-pitch" | Pitch
|-
| '''<code>S3x</code>'''
| Set Vibrato Waveform
| <abbr title="Global memory can be called with S00">—</abbr>
| Sets the waveform of future Vibrato effects (see the [[#Waveform Types|Waveform Types table]] for more details).
| class="eff-pitch" | Pitch
|-
| '''<code>S4x</code>'''
| Set Tremolo Waveform
| <abbr title="Global memory can be called with S00">—</abbr>
| Sets the waveform of future Tremolo effects (see the [[#Waveform Types|Waveform Types table]] for more details).
| class="eff-vol" | Volume
|-
| '''<code>S5x</code>'''
| Set Panbrello Waveform
| <abbr title="Global memory can be called with S00">—</abbr>
| {{Warning|This is not an original Scream Tracker 3 effect.}} <br /> Sets the waveform of future Panbrello effects (see the [[#Waveform Types|Waveform Types table]] for more details).
| class="eff-pan" | Panning
|-
| '''<code>S6x</code>'''
| Fine Pattern Delay
| <abbr title="Global memory can be called with S00">—</abbr>
| Extends the current row by <code>x</code> ticks. <br /> If multiple <code>S6x</code> commands are on the same row, the sum of their parameters is used.
| class="eff-global" | Global <small>(Pattern)</small>
|-
| '''<code>S8x</code>'''
| Set Panning
| <abbr title="Global memory can be called with S00">—</abbr>
| ''<small><abbr title="Set Panning"><code>Xxx</code></abbr> is a much finer panning effect.</small>'' <br /> Sets the current channel's panning position. <br /> Ranges from 0h (left) to Fh (right).
| class="eff-pan" | Panning
|-
| '''<code>S9x</code>'''
| Sound Control
| <abbr title="Global memory can be called with S00">—</abbr>
| {{Warning|This is not an original Scream Tracker 3 effect.}} <br /> Executes a sound control command (see the [[#Sound Control|Sound Control table]] for more details).
| class="eff-misc" | Miscellaneous
|-
| '''<code>SAx</code>'''
| High Offset
| <abbr title="Global memory can be called with S00">—</abbr>
| {{Warning|This is not an original Scream Tracker 3 effect.}} <br /> Sets the high offset for future <abbr title="Sample Offset"><code>Oxx</code></abbr> commands. <br /> <code>x</code> × 65536 (10000h) is added to all offset effects that follow this command.
| class="eff-misc" | Miscellaneous
|-
| '''<code>SB0</code>'''
| Pattern Loop Start
| <abbr title="Global memory can be called with S00">—</abbr>
| Marks the current row position to be used as the start of a pattern loop.
| class="eff-global" | Global <small>(Pattern)</small>
|-
| '''<code>SBx</code>'''
| Pattern Loop
| <abbr title="Global memory can be called with S00">—</abbr>
| Each time this command is reached, jumps to the row marked by <abbr title="Pattern Loop Start"><code>SB0</code></abbr> until <code>x</code> jumps have occurred in total. <br /> If <code>SBx</code> is used in a pattern with no <code>SB0</code> effect, <code>SBx</code> will use the row position marked by any previous <code>SB0</code> effect. <br /> Pattern loops cannot span multiple patterns. <br /> Ranges from 1h to Fh.
| class="eff-global" | Global <small>(Pattern)</small>
|-
| '''<code>SCx</code>'''
| Note Cut
| <abbr title="Global memory can be called with S00">—</abbr>
| Stops the current sample after <code>x</code> ticks. <br /> If <code>x</code> is 0, or greater than or equal to the current module Speed, this command is ignored.
| class="eff-misc" | Miscellaneous
|-
| '''<code>SDx</code>'''
| Note Delay
| <abbr title="Global memory can be called with S00">—</abbr>
| Delays the note or instrument change in the current pattern cell by <code>x</code> ticks. <br /> If <code>x</code> is 0, or greater than or equal to the current module Speed, the current pattern cell's contents are never played.
| class="eff-misc" | Miscellaneous
|-
| '''<code>SEx</code>'''
| Pattern Delay
| <abbr title="Global memory can be called with S00">—</abbr>
| Repeats the current row <code>x</code> times. <br /> Notes are not retriggered on every repetition, but effects are still processed. <br /> If multiple <code>SEx</code> commands are on the same row, only the leftmost command is used.
| class="eff-global" | Global <small>(Pattern)</small>
|-
| '''<code>T0x</code>'''
| Decrease Tempo
| Yes
| Decreases the module Tempo by <code>x</code> BPM on every tick of the row except the first.
| class="eff-global" | Global <small>(Timing)</small>
|-
| '''<code>T1x</code>'''
| Increase Tempo
| Yes
| Increases the module Tempo by <code>x</code> BPM on every tick of the row except the first.
| class="eff-global" | Global <small>(Timing)</small>
|-
| '''<code>Txx</code>'''
| Set Tempo
| No
| Sets the module Tempo if <code>xx</code> is greater than or equal to 20h.
| class="eff-global" | Global <small>(Timing)</small>
|-
| '''<code>Uxy</code>'''
| Fine Vibrato
| Yes
| Similar to <abbr title="Vibrato"><code>Hxy</code></abbr>, but with 4 times the precision. <br /> Shares memory with <code>Hxy</code>.
| class="eff-pitch" | Pitch
|-
| '''<code>Vxx</code>'''
| Set Global Volume
| —
| Sets the global volume. <br /> Ranges from 00h (off) to 40h (full).
| class="eff-vol" | Volume
|-
| '''<code>Wxy</code>'''
| Global Volume Slide
| Yes
| {{Warning|This is not an original Scream Tracker 3 effect.}} <br /> Similar to <abbr title="Volume Slide"><code>Dxy</code></abbr>, but applies to the global volume.
| class="eff-vol" | Volume
|-
| '''<code>Xxx</code>'''
| Set Panning
| —
| Sets the current channel's panning position.
* '''<code>XA4</code> enables surround playback''' on the current channel. <br /> When using '''stereo''' playback, the right channel of a sample is played with inversed phase (Pro Logic Surround). <br /> When using '''quad''' playback, the rear channels are used for playing this channel.
Surround mode can be disabled by using a different <code>Xxx</code> command on the same channel it was enabled on. <br /> Ranges from 00h (left) to 80h (right).
| class="eff-pan" | Panning
|-
| '''<code>Yxy</code>'''
| Panbrello
| Yes
| {{Warning|This is not an original Scream Tracker 3 effect.}} <br /> Executes panbrello with speed <code>x</code> and depth <code>y</code> on the current note. <br /> Modulates with selected panbrello waveform (see the [[#Waveform Types|Waveform Types table]] for more details).
| class="eff-pan" | Panning
|-
| '''<code>Zxx</code>'''
| MIDI Macro
| —
| {{Warning|This is not an original Scream Tracker 3 effect.}} <br /> Executes a [[Manual: Zxx Macros|MIDI Macro]]. <br /> Since MIDI Macros are not stored in S3M files, only the default macro configuration can be used to control the resonant filter.
| class="eff-misc" | Miscellaneous
|}

=== Volume Column ===

The following commands can be entered into the volume column.

All parameter values are '''decimal'''.

{| class="wikitable sortable"
|-
! <abbr title="Effect">Eff</abbr>
! Name
! <abbr title="Memory">Mem</abbr><sup>†</sup>
! Description
! Category
|-
| '''<code>pxx</code>'''
| Set Panning
| No
| {{Warning|This is not an original Scream Tracker 3 effect.}} <br /> Sets the current channel's panning position to <code>xx</code>. <br /> Ranges from 0 to 64 (decimal).
| class="eff-pan" | Panning
|-
| '''<code>vxx</code>'''
| Set Volume
| No
| Sets the current note volume to <code>xx</code>. <br /> Ranges from 0 to 64 (decimal).
| class="eff-vol" | Volume
|}

'''<sup>†</sup> Effect Memory:''' <br />
Assuming that all available parameters for a given effect (e.g. <code>xx</code>, <code>xy</code>, <code>x</code>, or <code>y</code>) are equivalent to 0:
* '''No''' means that the command does nothing.
* '''Yes''' means that the effect calls its own parameter memory. <br /> For example, if the effect <abbr title="Vibrato with speed 8 and depth 2"><code>H82</code></abbr> is followed by the effect <abbr title="Vibrato memory"><code>H00</code></abbr> on a subsequent row, the <code>H00</code> command recalls the effect parameter 82h.
* '''—''' means that the value has no special meaning. <br /> For example, <abbr title="Set Global Volume"><code>V00</code></abbr> sets the global volume to 0, <abbr title="Set Panning"><code>X00</code></abbr> sets the channel's panning position to hard left, <abbr title="Position Jump"><code>B00</code></abbr> jumps to the first pattern, etc.
* '''Global''' means that the effect calls any previous non-zero parameter in the same column. <br /> For example, if the effect <abbr title="Portamento Down by 22h (34) units"><code>E22</code></abbr> is followed by <abbr title="Tremor memory"><code>I00</code></abbr>, the <code>I00</code> command recalls the effect parameter 22h.


=== AdLib / OPL3 Instruments ===
OpenMPT supports AdLib / OPL3 instruments in the S3M format, but not all effects are compatible with them. Below is a list of effects that do not function with AdLib / OPL3 instruments in S3M files:
* <code>Oxx</code> (Sample Offset)
* <code>S9x</code> (Sound Control)
* <code>SAx</code> (High Offset)
* <code>XA4</code> (Enable Surround)

The following effects are not supported in Scream Tracker 3 but work with AdLib / OPL3 instruments in OpenMPT:
* <code>Mxx</code> (Set Channel Volume)
* <code>Nxy</code> (Channel Volume Slide)

Additionally, since AdLib / OPL3 instruments only support hard left, center, and hard right panning, the range of <abbr title="Set Panning"><code>Xxx</code></abbr> and <abbr title="Set Panning"><code>pxx</code></abbr> are effectively restricted to those positions.

== IT Effect Commands ==

Impulse Tracker's IT format uses a command set that expands upon the S3M format's, adding several new effects and improving effect memory usage.

=== Effect Column ===

The following commands can be entered into the effect column.

All parameter values are '''hexadecimal'''.

{| class="wikitable sortable"
|-
! <abbr title="Effect">Eff</abbr>
! Name
! <abbr title="Memory">Mem</abbr><sup>†</sup>
! Description
! Category
|-
| '''<code>Axx</code>'''
| Set Speed
| No
| Sets the module Speed (ticks per row).
| class="eff-global" | Global <small>(Timing)</small>
|-
| '''<code>Bxx</code>'''
| Position Jump
| —
| Causes playback to jump to pattern position <code>xx</code>. <br /> <code>B00</code> would restart a song from the beginning (first pattern in the Order List). <br /> If <abbr title="Pattern Break"><code>Cxx</code></abbr> is on the same row, the pattern specified by <code>Bxx</code> will be the pattern <code>Cxx</code> jumps in.
| class="eff-global" | Global <small>(Pattern)</small>
|-
| '''<code>Cxx</code>'''
| Pattern Break
| —
| Jumps to row <code>xx</code> of the next pattern in the Order List. <br /> If the current pattern is the last pattern in the Order List, <code>Cxx</code> will jump to row <code>xx</code> of the first pattern. <br /> If <abbr title="Position Jump"><code>Bxx</code></abbr> is on the same row, the pattern specified by <code>Bxx</code> will be the pattern <code>Cxx</code> jumps in. <br /> Ranges from 00h to the next pattern's row length; higher values are treated as 00h.
| class="eff-global | Global <small>(Pattern)</small>
|-
| '''<code>Dxy</code>'''
| Volume Slide <br /> <small>or</small> Fine Volume Slide
| Yes
| Slides the current note volume up or down.
* '''<code>D0y</code> decreases''' note volume by <code>y</code> units on every tick of the row except the first. <br /> If <code>y</code> is Fh, volume decreases on every tick.
* '''<code>Dx0</code> increases''' note volume by <code>x</code> units on every tick of the row except the first. <br /> Volume will not exceed 64 (40h).
* '''<code>DFy</code> finely decreases''' note volume by only applying <code>y</code> units on the first tick of the row. <br /> <code>y</code> cannot be Fh.
* '''<code>DxF</code> finely increases''' note volume by only applying <code>x</code> units on the first tick of the row. <br /> <code>x</code> cannot be Fh.
| class="eff-vol" | Volume
|-
| '''<code>Exx</code>'''
| Portamento Down <br /> <small>or</small> Fine Portamento Down <br /> <small>or</small> Extra Fine Portamento Down
| Yes
| Decreases current note pitch by <code>xx</code> [[#Frequency Units|units]] on every tick of the row except the first.
* '''<code>EFx</code> finely''' decreases note pitch by only applying <code>x</code> [[#Frequency Units|units]] on the first tick of the row.
* '''<code>EEx</code> extra-finely''' decreases note pitch by applying with 4 times the precision of <code>EFx</code>.
| class="eff-pitch" | Pitch
|-
| '''<code>Fxx</code>'''
| Portamento Up <br /> <small>or</small> Fine Portamento Up <br /> <small>or</small> Extra Fine Portamento Up
| Yes
| Increases current note pitch by <code>xx</code> [[#Frequency Units|units]] on every tick of the row except the first.
* '''<code>FFx</code> finely''' increases note pitch by only applying <code>x</code> [[#Frequency Units|units]] on the first tick of the row.
* '''<code>FEx</code> extra-finely''' increases note pitch by applying with 4 times the precision of <code>EFx</code>.
| class="eff-pitch" | Pitch
|-
| '''<code>Gxx</code>'''
| Tone Portamento
| Yes
| Slides the pitch of the previous note towards the current note by <code>xx</code> [[#Frequency Units|units]] on every tick of the row except the first.
| class="eff-pitch" | Pitch
|-
| '''<code>Hxy</code>'''
| Vibrato
| Yes
| Executes vibrato with speed <code>x</code> and depth <code>y</code> on the current note. <br /> Modulates with selected vibrato waveform (see the [[#Waveform Types|Waveform Types table]] for more details). <br /> Shares memory with <abbr title="Fine Vibrato"><code>Uxy</code></abbr>.
| class="eff-pitch" | Pitch
|-
| '''<code>Ixy</code>'''
| Tremor
| Yes
| Rapidly switches the sample volume on and off. <br /> Volume is on for <code>x</code> ticks and off for <code>y</code> ticks. <br /> For instrument plugins {{Warning|(ModPlug hack)}}, this command sends note-on and note-off messages instead of modifying the volume.
| class="eff-vol" | Volume
|-
| '''<code>Jxy</code>'''
| Arpeggio
| Yes
| Plays an arpeggiation of three notes in one row, cycling between the current note, current note + <code>x</code> semitones, and current note + <code>y</code> semitones.
| class="eff-pitch" | Pitch
|-
| '''<code>Kxy</code>'''
| Volume Slide + Vibrato
| Yes
| Functions like <abbr title="Volume Slide"><code>Dxy</code></abbr> with <abbr title="Vibrato memory"><code>H00</code></abbr>. <br /> Parameters are used like <code>Dxy</code>.
| class="eff-misc" | Miscellaneous
|-
| '''<code>Lxy</code>'''
| Volume Slide + Tone Portamento
| Yes
| Functions like <abbr title="Volume Slide"><code>Dxy</code></abbr> with <abbr title="Tone Portamento memory"><code>G00</code></abbr>. <br /> Parameters are used like <code>Dxy</code>.
| class="eff-misc" | Miscellaneous
|-
| '''<code>Mxx</code>'''
| Set Channel Volume
| —
| Sets the current channel volume, which multiplies all note volumes it encompasses. <br /> Ranges from 00h (off) to 40h (full).
| class="eff-vol" | Volume
|-
| '''<code>Nxy</code>'''
| Channel Volume Slide
| Yes
| Similar to <abbr title="Volume Slide"><code>Dxy</code></abbr>, but applies to the current channel's volume.
| class="eff-vol" | Volume
|-
| '''<code>Oxx</code>'''
| Sample Offset
| Yes
| Starts playing the current sample from position <code>xx</code> × 256, instead of position 0. <br /> Ineffective if there is no note in the same pattern cell.
| class="eff-misc" | Miscellaneous
|-
| '''<code>Pxy</code>'''
| Panning Slide <br /> <small>or</small> Fine Panning Slide
| Yes
| Slides the current channel's panning position left or right.
* '''<code>P0y</code>''' slides the panning to the '''right''' by <code>y</code> units on every tick of the row except the first.
* '''<code>Px0</code>''' slides the panning to the '''left''' by <code>x</code> units on every tick of the row except the first.
* '''<code>PFy</code> finely''' slides the panning to the right by only applying <code>y</code> units on the first tick of the row. <br /> <code>y</code> cannot be Fh.
* '''<code>PxF</code> finely''' slides the panning to the left by only applying <code>x</code> units on the first tick of the row. <br /> <code>x</code> cannot be Fh.
| class="eff-pan" | Panning
|-
| '''<code>Qxy</code>'''
| Retrigger
| Yes
| Retriggers the current note every <code>y</code> ticks and changes the volume based on the <code>x</code> value (see the [[#Retrigger Volume|Retrigger Volume table]] for more details).
| class="eff-misc" | Miscellaneous
|-
| '''<code>Rxy</code>'''
| Tremolo
| Yes
| Executes tremolo with speed <code>x</code> and depth <code>y</code> on the current note. <br /> Modulates with selected tremolo waveform (see the [[#Waveform Types|Waveform Types table]] for more details).
| class="eff-vol" | Volume
|-
| '''<code>S1x</code>'''
| Glissando Control
| <abbr title="Memory can be called with S00">—</abbr>
| {{Warning|This effect is not widely supported and behaves quirky in OpenMPT.}} <br /> Configures whether tone portamento effects slide by semitones or not.
* '''<code>S10</code> disables''' glissando.
* '''<code>S11</code> enables''' glissando.
| class="eff-pitch" | Pitch
|-
| '''<code>S2x</code>'''
| Set Finetune
| <abbr title="Memory can be called with S00">—</abbr>
| ''<small>Considered a legacy command.</small>'' <br /> Overrides the current sample's C-5 frequency with a MOD finetune value.
| class="eff-pitch" | Pitch
|-
| '''<code>S3x</code>'''
| Set Vibrato Waveform
| <abbr title="Memory can be called with S00">—</abbr>
| Sets the waveform of future Vibrato effects (see the [[#Waveform Types|Waveform Types table]] for more details).
| class="eff-pitch" | Pitch
|-
| '''<code>S4x</code>'''
| Set Tremolo Waveform
| <abbr title="Memory can be called with S00">—</abbr>
| Sets the waveform of future Tremolo effects (see the [[#Waveform Types|Waveform Types table]] for more details).
| class="eff-vol" | Volume
|-
| '''<code>S5x</code>'''
| Set Panbrello Waveform
| <abbr title="Memory can be called with S00">—</abbr>
| Sets the waveform of future Panbrello effects (see the [[#Waveform Types|Waveform Types table]] for more details).
| class="eff-pan" | Panning
|-
| '''<code>S6x</code>'''
| Fine Pattern Delay
| <abbr title="Memory can be called with S00">—</abbr>
| Extends the current row by <code>x</code> ticks. <br /> If multiple <code>S6x</code> commands are on the same row, the sum of their parameters is used.
| class="eff-global" | Global <small>(Pattern)</small>
|-

| '''<code>S70</code>'''
| Past Note Cut
| <abbr title="Memory can be called with S00">—</abbr>
| '''Cuts''' all notes playing as a result of New Note Actions on the current channel.
| class="eff-misc" | Miscellaneous
|-
| '''<code>S71</code>'''
| Past Note Off
| <abbr title="Memory can be called with S00">—</abbr>
| '''Sends a Note Off''' to all notes playing as a result of New Note Actions on the current channel.
| class="eff-misc" | Miscellaneous
|-
| '''<code>S72</code>'''
| Past Note Fade
| <abbr title="Memory can be called with S00">—</abbr>
| '''Fades out''' all notes playing as a result of New Note Actions on the current channel.
| class="eff-misc" | Miscellaneous
|-
| '''<code>S73</code>'''
| NNA Note Cut
| <abbr title="Memory can be called with S00">—</abbr>
| Sets the currently active note's New Note Action to '''Note Cut'''.
| class="eff-misc" | Miscellaneous
|-
| '''<code>S74</code>'''
| NNA Note Continue
| <abbr title="Memory can be called with S00">—</abbr>
| Sets the currently active note's New Note Action to '''Continue'''.
| class="eff-misc" | Miscellaneous
|-
| '''<code>S75</code>'''
| NNA Note Off
| <abbr title="Memory can be called with S00">—</abbr>
| Sets the currently active note's New Note Action to '''Note Off'''.
| class="eff-misc" | Miscellaneous
|-
| '''<code>S76</code>'''
| NNA Note Fade
| <abbr title="Memory can be called with S00">—</abbr>
| Sets the currently active note's New Note Action to '''Note Fade'''.
| class="eff-misc" | Miscellaneous
|-
| '''<code>S77</code>'''
| Volume Envelope Off
| <abbr title="Memory can be called with S00">—</abbr>
| '''Disables''' the currently active note's '''volume''' envelope.
| class="eff-misc" | Miscellaneous
|-
| '''<code>S78</code>'''
| Volume Envelope On
| <abbr title="Memory can be called with S00">—</abbr>
| '''Enables''' the currently active note's '''volume''' envelope.
| class="eff-misc" | Miscellaneous
|-
| '''<code>S79</code>'''
| Panning Envelope Off
| <abbr title="Memory can be called with S00">—</abbr>
| '''Disables''' the currently active note's '''panning''' envelope.
| class="eff-misc" | Miscellaneous
|-
| '''<code>S7A</code>'''
| Panning Envelope On
| <abbr title="Memory can be called with S00">—</abbr>
| '''Enables''' the currently active note's '''panning''' envelope.
| class="eff-misc" | Miscellaneous
|-
| '''<code>S7B</code>'''
| Pitch Envelope Off
| <abbr title="Memory can be called with S00">—</abbr>
| '''Disables''' the currently active note's '''pitch''' or '''filter''' envelope.
| class="eff-misc" | Miscellaneous
|-
| '''<code>S7C</code>'''
| Pitch Envelope On
| <abbr title="Memory can be called with S00">—</abbr>
| '''Enables''' the currently active note's '''pitch''' envelope.
| class="eff-misc" | Miscellaneous
|-
| '''<code>S8x</code>'''
| Set Panning
| <abbr title="Memory can be called with S00">—</abbr>
| ''<small><abbr title="Set Panning"><code>Xxx</code></abbr> is a much finer panning effect.</small>'' <br /> Sets the current channel's panning position. <br /> Ranges from 0h (left) to Fh (right).
| class="eff-pan" | Panning
|-
| '''<code>S9x</code>'''
| Sound Control
| <abbr title="Memory can be called with S00">—</abbr>
| {{Warning|1=Only <abbr title="Surround On"><code>S91</code></abbr> is an original Impulse Tracker command.}} <br /> Executes a sound control command (see the [[#Sound Control|Sound Control table]] for more details).
| class="eff-misc" | Miscellaneous
|-
| '''<code>SAx</code>'''
| High Offset
| <abbr title="Memory can be called with S00">—</abbr>
| Sets the high offset for future <abbr title="Sample Offset"><code>Oxx</code></abbr> commands. <br /> <code>x</code> × 65536 (10000h) is added to all offset effects that follow this command.
| class="eff-misc" | Miscellaneous
|-
| '''<code>SB0</code>'''
| Pattern Loop Start
| <abbr title="Memory can be called with S00">—</abbr>
| Marks the current row position to be used as the start of a pattern loop.
| class="eff-global" | Global <small>(Pattern)</small>
|-
| '''<code>SBx</code>'''
| Pattern Loop
| <abbr title="Memory can be called with S00">—</abbr>
| Each time this command is reached, jumps to the row marked by <abbr title="Pattern Loop Start"><code>SB0</code></abbr> until <code>x</code> jumps have occurred in total. <br /> If <code>SBx</code> is used in a pattern with no <code>SB0</code> effect, <code>SBx</code> will use the row position marked by any previous <code>SB0</code> effect. <br /> Pattern loops cannot span multiple patterns. <br /> Ranges from 1h to Fh.
| class="eff-global" | Global <small>(Pattern)</small>
|-
| '''<code>SCx</code>'''
| Note Cut
| <abbr title="Memory can be called with S00">—</abbr>
| Stops the current sample after <code>x</code> ticks. <br /> If <code>x</code> is greater than or equal to the current module Speed, this command is ignored. <br /> If <code>x</code> is 0, it will be treated as if it were 1.
| class="eff-misc" | Miscellaneous
|-
| '''<code>SDx</code>'''
| Note Delay
| <abbr title="Memory can be called with S00">—</abbr>
| Delays the note or instrument change in the current pattern cell by <code>x</code> ticks. <br /> If <code>x</code> is greater than or equal to the current module Speed, the current cell's contents are not played. <br /> If <code>x</code> is 0, it will be treated as if it were 1.
| class="eff-misc" | Miscellaneous
|-
| '''<code>SEx</code>'''
| Pattern Delay
| <abbr title="Memory can be called with S00">—</abbr>
| Repeats the current row <code>x</code> times. <br /> Notes are not retriggered on every repetition, but effects are still processed. <br /> If multiple <code>SEx</code> commands are on the same row, only the leftmost command is used.
| class="eff-global" | Global <small>(Pattern)</small>
|-
| '''<code>SFx</code>'''
| Set Active Macro
| <abbr title="Memory can be called with S00">—</abbr>
| Sets the current channel's active [[Manual: Zxx Macros#Parametered Macros|parametered macro]].
| class="eff-misc" | Miscellaneous
|-
| '''<code>T0x</code>'''
| Decrease Tempo
| Yes
| Decreases the module Tempo by <code>x</code> BPM on every tick of the row except the first.
| class="eff-global" | Global <small>(Timing)</small>
|-
| '''<code>T1x</code>'''
| Increase Tempo
| Yes
| Increases the module Tempo by <code>x</code> BPM on every tick of the row except the first.
| class="eff-global" | Global <small>(Timing)</small>
|-
| '''<code>Txx</code>'''
| Set Tempo
| No
| Sets the module Tempo if <code>xx</code> is greater than or equal to 20h.
| class="eff-global" | Global <small>(Timing)</small>
|-
| '''<code>Uxy</code>'''
| Fine Vibrato
| Yes
| Similar to <abbr title="Vibrato"><code>Hxy</code></abbr>, but with 4 times the precision. <br /> Shares memory with <code>Hxy</code>.
| class="eff-pitch" | Pitch
|-
| '''<code>Vxx</code>'''
| Set Global Volume
| —
| Sets the global volume. <br /> Ranges from 00h (off) to 80h (full).
| class="eff-vol" | Volume
|-
| '''<code>Wxy</code>'''
| Global Volume Slide
| Yes
| Similar to <abbr title="Volume Slide"><code>Dxy</code></abbr>, but applies to the global volume.
| class="eff-vol" | Volume
|-
| '''<code>Xxx</code>'''
| Set Panning
| —
| Sets the current channel's panning position. <br /> Ranges from 00h (left) to FFh (right).
| class="eff-pan" | Panning
|-
| '''<code>Yxy</code>'''
| Panbrello
| Yes
| Executes panbrello with speed <code>x</code> and depth <code>y</code> on the current note. <br /> Modulates with selected panbrello waveform (see the [[#Waveform Types|Waveform Types table]] for more details).
| class="eff-pan" | Panning
|-
| '''<code>Zxx</code>'''
| MIDI Macro
| —
| Executes a [[Manual: Zxx Macros|MIDI Macro]].
| class="eff-misc" | Miscellaneous
|-
| '''<code>\xx</code>'''
| Smooth MIDI Macro
| —
| {{Warning|This effect is a ModPlug hack.}} <br /> Executes an interpolated MIDI Macro.
| class="eff-misc" | Miscellaneous
|}

=== Volume Column ===

The following commands can be entered into the volume column.

All parameter values are '''decimal'''.

{| class="wikitable sortable"
|-
! <abbr title="Effect">Eff</abbr>
! Name
! <abbr title="Memory">Mem</abbr><sup>†</sup>
! Description
! Category
|-
| <code>'''a0x'''</code>
| Fine Volume Slide Up
| Yes
| Functions like <abbr title="Fine Volume Slide Up"><code>DxF</code></abbr> (slides the volume up <code>x</code> units on the first tick).
| class="eff-vol" | Volume
|-
| <code>'''b0x'''</code>
| Fine Volume Slide Down
| Yes
| Functions like <abbr title="Fine Volume Slide Down"><code>DFy</code></abbr> (slides the volume down <code>x</code> units on the first tick).
| class="eff-vol" | Volume
|-
| <code>'''c0x'''</code>
| Volume Slide Up
| Yes
| Functions like <abbr title="Volume Slide Up"><code>Dx0</code></abbr> (slides the volume up <code>x</code> units on all ticks except the first).
| class="eff-vol" | Volume
|-
| <code>'''d0x'''</code>
| Volume Slide Down
| Yes
| Functions like <abbr title="Volume Slide Down"><code>D0y</code></abbr> (slides the volume down <code>x</code> units on all ticks except the first).
| class="eff-vol" | Volume
|-
| <code>'''e0x'''</code>
| Portamento Down
| Yes
| Similar to <abbr title="Portamento Down"><code>Exx</code></abbr>. <br /> Compared to <code>Exx</code>, parameters are 4 times more coarse (e.g. <code>e01</code> = <abbr title="Portamento Down by 4 units"><code>E04</code></abbr>).
| class="eff-pitch" | Pitch
|-
| <code>'''f0x'''</code>
| Portamento Up
| Yes
| Similar to <abbr title="Portamento Up"><code>Fxx</code></abbr>. <br /> Compared to <code>Fxx</code>, parameters are 4 times more coarse (e.g. <code>f01</code> = <abbr title="Portamento Up by 4 units"><code>F04</code></abbr>).
| class="eff-pitch" | Pitch
|-
| <code>'''g0x'''</code>
| Tone Portamento
| Yes
| Similar to <abbr title="Tone Portamento"><code>Gxx</code></abbr>. <br /> Below is a table that translates <code>g0x</code> parameters to <code>Gxx</code> parameters:
{|
|-
|
{| class="wikitable"
|-
! <tt>g0x</tt> !! <tt>Gxx</tt>
|-
| <code>g00</code> || <code>G00</code>
|-
| <code>g01</code> || <code>G01</code>
|-
| <code>g02</code> || <code>G04</code>
|-
| <code>g03</code> || <code>G08</code>
|-
| <code>g04</code> || <code>G10</code>
|}
|
{| class="wikitable"
|-
! <tt>g0x</tt> !! <tt>Gxx</tt>
|-
| <code>g05</code> || <code>G20</code>
|-
| <code>g06</code> || <code>G40</code>
|-
| <code>g07</code> || <code>G60</code>
|-
| <code>g08</code> || <code>G80</code>
|-
| <code>g09</code> || <code>GFF</code>
|}
|}
| class="eff-pitch" | Pitch
|-
| <code>'''h0x'''</code>
| Vibrato Depth
| Yes
| Executes a vibrato with depth <code>x</code> and speed from the last <abbr title="Vibrato"><code>Hxy</code></abbr> or <abbr title="Fine Vibrato"><code>Uxy</code></abbr> command.
| class="eff-pitch" | Pitch
|-
| <code>'''pxx'''</code>
| Set Panning
| —
| Sets the current channel's panning position to <code>xx</code>. <br /> Ranges from 0 to 64.
| class="eff-pan" | Panning
|-
| <code>'''vxx'''</code>
| Set Volume
| —
| Sets the current note volume to <code>xx</code>. <br /> The behaviour of this command when sent to instrument plugins can be configured in the [[Manual: Instruments#Plugin / MIDI|Instrument Editor]] {{Warning|(ModPlug hack)}}.
| class="eff-vol" | Volume
|}

'''<sup>†</sup> Effect Memory:''' <br />
Assuming that all available parameters for a given effect (e.g. <code>xx</code>, <code>xy</code>, <code>x</code>, or <code>y</code>) are equivalent to 0:
* '''No''' means that the command does nothing.
* '''Yes''' means that the effect calls its own parameter memory. <br /> For example, if the effect <abbr title="Vibrato with speed 8 and depth 2"><code>H82</code></abbr> is followed by the effect <abbr title="Vibrato memory"><code>H00</code></abbr> on a subsequent row, the <code>H00</code> command recalls the effect parameter 82h.
* '''—''' means that the value has no special meaning. <br /> For example, <abbr title="Set Global Volume"><code>V00</code></abbr> sets the global volume to 0, <abbr title="Set Panning"><code>X00</code></abbr> sets the channel's panning position to hard left, <abbr title="Position Jump"><code>B00</code></abbr> jumps to the first pattern, etc.

: '''Volume Column Effect Memory:'''
:*  All volume slide effects in the volume column share effect memory with each other.
:* <abbr title="Portamento Down"><code>e0x</code></abbr> and <abbr title="Portamento Up"><code>f0x</code></abbr> share effect memory with <abbr title="Portamento Down"><code>Exx</code></abbr> and <abbr title="Portamento Up"><code>Fxx</code></abbr> (respectively).

== MPTM Effect Commands ==

OpenMPT′s MPTM format is heavily based on the IT format and [[#IT Effect Commands|its effect command set]], but it does add several new features.

=== Effect Column ===

OpenMPT's MPTM format generally uses the same effect commands as the IT format. Commands from the IT section that are labeled as ModPlug hacks or unsupported by Impulse Tracker may be freely used in the MPTM format.

The following additional commands, exclusive to the MPTM format, can be entered in the effect column.

All parameter values are '''hexadecimal'''.

{| class="wikitable sortable"
|-
! <abbr title="Effect">Eff</abbr>
! Name
! <abbr title="Memory">Mem</abbr><sup>†</sup>
! Description
! Category
|-
| '''<code>S7D</code>'''
| Force Pitch Envelope
| <abbr title="Memory can be called with S00">—</abbr>
| Enables the currently active note's pitch envelope and forces it to act as a pitch envelope (rather than a filter cutoff envelope).
| class="eff-misc" | Miscellaneous
|-
| '''<code>S7E</code>'''
| Force Filter Envelope
| <abbr title="Memory can be called with S00">—</abbr>
| Enables the currently active note's pitch envelope and forces it to act as a filter cutoff envelope (rather than a pitch envelope).
| class="eff-misc" | Miscellaneous
|-
| '''<code>:xy</code>'''
| Note Delay + Cut
| —
| Delays the note in the current pattern cell by <code>x</code> ticks and cuts it after <code>x</code> + <code>y</code> ticks. <br /> If <code>x</code> is greater than or equal to the current module Speed, the note will be ignored (and as such, cannot be cut with <code>y</code>). <br /> If <code>x</code> + <code>y</code> is greater than or equal to the current module Speed, only the note cut will be ignored.
| class="eff-misc" | Miscellaneous
|-
| '''<code>#xx</code>'''
| Parameter Extension
| —
| Extends the parameter of the last <abbr title="Position Jump"><code>Bxx</code></abbr>, <abbr title="Pattern Break"><code>Cxx</code></abbr>, <abbr title="Sample Offset"><code>Oxx</code></abbr>, <abbr title="Set Tempo"><code>Txx</code></abbr>, <abbr title="Finetune"><code>+xx</code></abbr> or <abbr title="Finetune (Smooth)"><code>*xx</code></abbr> command. If placed after such a command, the parameter values are combined. <br /> If there is only one <code>#xx</code> command below the actual command (the limit for <code>Bxx</code>, <code>Cxx</code>, and <code>Txx</code>), the original command is multiplied by 256 and then parameter <code>xx</code> is added to it. <br /> For <code>Oxx</code>, up to 4 rows can be combined. The fourth row is multiplied by 1, the third by 256 (100h), the second by 65536 (10000h), and so on.

'''Example:'''
<pattern>
ModPlug Tracker MPT
|C-501...O21
|........#02
|........#01
</pattern>
In this example, the '''hexadecimal''' sample offset is (21h × 10000h) + (2h × 100h) + 1h = 210201h. <br /> In '''decimal''', it is (33 × 65536) + (2 × 256) + 1 = 2,163,201.
| class="eff-misc" | Miscellaneous
|-
| '''<code>+xx</code>'''
| Finetune
| —
| Changes the current note’s tuning. <code>+80</code> is center (no change to the tuning), lower values decrease the tuning and higher values increase the tuning. In sample mode, the depth of this command is fixed at ±1 semitone. For sample-based instruments, the depth is defined by the instrument’s [[Manual: Instruments#Plugin / MIDI|pitch bend range]] setting. For plugins, this command directly translates to MIDI pitch bend commands, so the depth is whatever the pitch bend depth of the plugin or MIDI device is set to.<br>This command can be extended by <code>#xx</code> Parameter extensions for even finer control over the tuning.
| class="eff-pitch" | Pitch
|-
| '''<code>*xx</code>'''
| Finetune (Smooth)
| —
| Exactly the same as <abbr title="Finetune"><code>+xx</code></abbr>, but slides from the previous finetune value to the new value on every tick of the row.
| class="eff-pitch" | Pitch
|}

=== Volume Column ===

In addition to all of the IT format's [[#Volume Column_3|volume column commands]], the following commands can be entered in the volume column.

All parameter values are '''decimal'''.

{| class="wikitable sortable"
|-
! <abbr title="Effect">Eff</abbr>
! Name
! <abbr title="Memory">Mem</abbr><sup>†</sup>
! Description
! Category
|-
| '''<code>o0x</code>'''
| Sample Cue
| Yes
| Starts playing the current sample from cue point <code>x</code>, instead of position 0. <br /> Cue points can be chosen in the [[Manual: Samples#Sample Display Context Menu|Sample Editor]]. <br /> Ineffective if there is no note in the same pattern cell. <br /> Shares effect memory with <abbr title="Sample Offset"><code>Oxx</code></abbr> and can be [[#Combined Commands|combined]] with that command.
| class="eff-misc" | Miscellaneous
|}

'''<sup>†</sup> Effect Memory:''' <br />
Assuming that all available parameters for a given effect (e.g. <code>xx</code>, <code>xy</code>, <code>x</code>, or <code>y</code>) are equivalent to 0:
* '''Yes''' means that the effect calls its own parameter memory. <br /> For example, if the effect <abbr title="Vibrato with speed 8 and depth 2"><code>H82</code></abbr> is followed by the effect <abbr title="Vibrato memory"><code>H00</code></abbr> on a subsequent row, the <code>H00</code> command recalls the effect parameter 82h.
* '''—''' means that the value has no special meaning. <br /> For example, <abbr title="Set Global Volume"><code>V00</code></abbr> sets the global volume to 0, <abbr title="Set Panning"><code>X00</code></abbr> sets the channel's panning position to hard left, <abbr title="Position Jump"><code>B00</code></abbr> jumps to the first pattern, etc.

=== Combined Commands ===

By combining the volume column <abbr title="Sample Cue"><code>oxx</code></abbr> and effect column <abbr title="Sample Offset"><code>Oxx</code></abbr> commands, two special offset behaviours can be achieved:
* <code>o00</code> + <code>Oxx</code>: A cue point command with a parameter of 0 turns the effect column offset into a percentage offset, i.e. the command jumps to <code>xx</code> × <sup>1</sup>/<sub>256</sub>th of the total sample length. For example <code>o00</code> + <code>O80</code> plays the second half of any sample. Further precision can be achieved by combining the <code>Oxx</code> command with <code>#xx</code>.
* <code>o0x</code> + <code>Oyy</code>: For <code>x</code> > 0, the effect column <code>Oyy</code> is added on top of the cue point, so <code>o05</code> + <code>O01</code> plays from the 5th cue point of the sample + 256 samples.

=== AdLib / OPL3 Instruments ===
OpenMPT supports AdLib / OPL3 instruments in the MPTM format, but not all effects are compatible with them. Below is a list of effects that do not function with AdLib / OPL3 instruments in MPTM files:
* <code>Oxx</code> (Sample Offset)
* <code>S9x</code> (Sound Control) parameters other than Ch and Dh (Global & Local Filters)
* <code>SAx</code> (High Offset)
* <code>o0x</code> (Sample Cue)

Additionally, since AdLib / OPL3 instruments only support hard left, center, and hard right panning, the range of <abbr title="Set Panning"><code>Xxx</code></abbr> and <abbr title="Set Panning"><code>pxx</code></abbr> are effectively restricted to those positions. Panning Slides like <abbr title="Panning Slide"><code>Pxy</code></abbr> and <abbr title="Panbrello"><code>Yxy</code></abbr> work with the same reduced granularity, but should be best avoided if possible.

=== Parameter Control Events ===

Another feature similar to effects that is only available in MPTM files are [[Manual: Parameter Control Events|Parameter Control Events]], which can be used to automate plugin parameters.

[[Category:Manual|Effect Reference]]
[[de:Handbuch: Effektbefehle]]