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
| Name | Type | Cardinality |
|---|---|---|
values | T | one 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>orconcat<Audio>when both homogeneous bindings are possible.