Animating Keyframes > Advanced Animation: About Expressions > Function Reference >

# Slip Functions

Use the following functions to slip the starting frame of a clip backwards or forwards using the slip channel. In effect, the displayed frame in a layer's clip will be the animation's current frame number plus the slip value. For example, a slip value of -15 holds the clip at the first frame and repeats it 15 times before the clip begins. In this way, you can create a freeze frame effect with one layer while animating another layer. A slip value of 10 begins the clip at frame 11. See Modifying Surfaces.

NoteSlip functions are actually implemented as user-defined functions in the functions file. See Defining Your Own Functions.

## pingpong

Returns a slip value that makes a clip continuously cycle forwards and backwards. The result should usually be assigned to the slip channel of a layer.

Syntax: | pingpong(length)
Arguments: | length is the number of frames to display before starting to play backwards. This is usually the length of the original clip.
Examples: | pingpong(10) returns a slip value that makes a clip continuously play in a forward and backward cycle from frame 1 to frame 10. pingpong(30) yields the following curve:

## repeat

Returns a slip value that makes a clip continuously repeat forwards. The result should usually be assigned to the slip channel of a layer.

Syntax: | repeat(length)
Arguments: | length is the number of frames to display before repeating from the beginning. This is usually the length of the original clip.
Examples: | repeat(10) returns a slip value that makes a clip repeat forwards from frame 1 to frame 10. repeat(30) yields the following curve:

## repeatback

Returns a slip value that makes a clip continuously repeat backwards. The result should usually be assigned to the slip channel of a layer.

Syntax: | repeatback(length)
Arguments: | length is the number of frames from the beginning to display backwards before repeating. This is usually the length of the original clip.
Examples: | repeatback(10) returns a slip value that makes a clip repeat backwards from frame 10 to frame 1. repeatback(30) yields the following curve:

## frametoslip

Returns a slip value that makes a clip display at a given timebar frame. If the given frame number is constant, the resulting clips will freeze at that frame. The result should usually be assigned to the slip channel of a layer.

Syntax: | frametoslip(TimebarFrame)
Arguments: | TimebarFrame is the timebar frame at which to display the clip.
Examples: | frametoslip(10) returns a slip value that makes a clip freeze at frame 10. frametoslip(frame / 2) returns a slip value that makes a clisplay at half the normal speed. frametoslip(14) yields the following curve: