Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

concat

Concatenate one or more homogeneous timelines.

Call shape

concat<T: Video | Audio>(values: T...) -> T

This is call-shape notation for lookup, not ClipAsm declaration syntax.

Graph inputs

NameTypeCardinality
valuesTone or more (minimum 1)

Parameters and defaults

This program has no scalar parameters.

Result and stack behavior

Outputs: T.

All T inputs and outputs use one homogeneous type: Video or Audio. Use an explicit <Video> or <Audio> argument when the accessible stack makes inference ambiguous.

Default stack access is owned. See stack binding for ownership and visibility rules.

Timeline and markers

The program places the values bound to values one after another in their existing order.

Example

clipasm 1

config {
    video {
        fps = 30
    }
}

image("assets/one.png", 1s)
image("assets/two.png", 1s)
concat

Expected validation result: Video with exactly 60 project frames at the example’s explicit fps = 30.

The reference checks parse and compile this exact example. Compilation does not inspect the named media files.

Behavior

  • Every bound value must use the same inferred Video or Audio type.
  • The program concatenates the bound values in stack order.
  • Use concat<Video> or concat<Audio> when both homogeneous bindings are possible.

See also