Join CHOP
Summary
The Join CHOP takes all its inputs and appends one CHOP after another. It is expected they all have the same channels.
The end section of the first CHOP is overlapped with the start section of the second CHOP, and so on for the rest of the input CHOPs. The second input is shifted to line up with the end of the first.
Blending allows you to splice channels together by slowly phasing out one CHOP while phasing into the next, or by inserting interpolation curves between the channels of the adjacent CHOPs.
Quaternion Blend blends rotation triplets (rx ry rz) together using the shortest rotation arc. Rotation triplets are identified by "quaternion" attributes, which are set in the Attribute CHOP.
Translation Blending blends translation channels together by slowly changing from the final velocity of the previous channel to the initial velocity of the next. The next channel may be shifted up or down. If this is undesirable, use cubic blending instead (in the Shape menu). Translation Blending is done on channel triplets that represent translations or positions (*tx *ty *tz).
Parameters - Blend Page
blendmethod
- ⊞ - The blend method to produce a seamless sequence:
- Preserve Length
pre
- The total length of the CHOPs is constant.
- Overlap Sequences
ovl
- Overlaps the current CHOP with the prior CHOP. Better for audio.
- Insert Blend Region
ins
- Inserts a region between the CHOPs where the blending is done.
blendfunc
- ⊞ - The blend interpolation shape to use. See Shape in the Cycle CHOP.
- Linear
lin
-
- Ease in
ei
-
- Ease out
eo
-
- Ease in Ease out
cos
-
- Cubic
cub
-
- Add
add
-
- Hold Previous
holdprev
-
blendbyinput
- When this is checked on, the first input can be a multi-channel input which specifies blend regions for the remaining inputs into the Join CHOP. Channel 1 of input0 is used to blend between input1 & input2, channel 2 between input2 & input3, and so on. If not enough channels are specified, the last channel is repeated.
blendregion
- The size of the blend region.
blendregionunit
-
blendbias
- Which segment to favour when blending: the previous (-1), the next (+1) or neither (0).
match
- ⊞ - Match channels between inputs by index or by name.
- Channel Number
index
-
- Channel Name
name
-
Parameters - Scope Page
step
- If set to 1, the next segment will be shifted up or down so that it begins where the last segment ended.
stepscope
- The names of channels that use Step.
blendscope
- The names of the channels that should be blended. Other channels will not be blended.
transscopex
- The names of channels that will be translation-blended. Each string field contains a list of its component channels, such as *tx, *ty and *tz.
transscopey
- The names of channels that will be translation-blended. Each string field contains a list of its component channels, such as *tx, *ty and *tz.
transscopez
- The names of channels that will be translation-blended. Each string field contains a list of its component channels, such as *tx, *ty and *tz.
Parameters - Rotate Page
quatrot
- Use quaternion blending on rotation channels.
shortrot
- If enabled, compensates.
rotscope
- Enabled when Shortest Path Rotation Blending is turned on.
cyclelen
- Enabled when Shortest Path Rotation Blending is turned on.
Parameters - Common Page
timeslice
- Turning this on forces the channels to be "Time Sliced". A Time Slice is the time between the last cook frame and the current cook frame.
scope
- To determine which channels get affected, some CHOPs use a Scope string on the Common page. See Pattern Matching.
srselect
- ⊞ - Handle cases where multiple input CHOPs' sample rates are different. When Resampling occurs, the curves are interpolated according to the Interpolation Method Option, or "Linear" if the Interpolate Options are not available.
- Resample At First Input's Rate
first
- Use rate of first input to resample others.
- Resample At Maximum Rate
max
- Resample to the highest sample rate.
- Resample At Minimum Rate
min
- Resample to the lowest sample rate.
- Error If Rates Differ
err
- Doesn't accept conflicting sample rates.
exportmethod
- ⊞ - This will determine how to connect the CHOP channel to the parameter. Refer to the Export article for more information.
- DAT Table by Index
datindex
- Uses the docked DAT table and references the channel via the index of the channel in the CHOP.
- DAT Table by Name
datname
- Uses the docked DAT table and references the channel via the name of the channel in the CHOP.
- Channel Name is Path:Parameter
autoname
- The channel is the full destination of where to export to, such hasgeo1/transform1:tx
.
autoexportroot
- This path points to the root node where all of the paths that exporting by Channel Name is Path:Parameter are relative to.
exporttable
- The DAT used to hold the export information when using the DAT Table Export Methods (See above).
Operator Inputs
- Input 0: -
Info CHOP Channels
Extra Information for the Join CHOP can be accessed via an Info CHOP.
Common CHOP Info Channels
- start - Start of the CHOP interval in samples.
- length - Number of samples in the CHOP.
- sample_rate - The samplerate of the channels in frames per second.
- num_channels - Number of channels in the CHOP.
- time_slice - 1 if CHOP is Time Slice enabled, 0 otherwise.
- export_sernum - A count of how often the export connections have been updated.
Common Operator Info Channels
- total_cooks - Number of times the operator has cooked since the process started.
- cook_time - Duration of the last cook in milliseconds.
- cook_frame - Frame number when this operator was last cooked relative to the component timeline.
- cook_abs_frame - Frame number when this operator was last cooked relative to the absolute time.
- cook_start_time - Time in milliseconds at which the operator started cooking in the frame it was cooked.
- cook_end_time - Time in milliseconds at which the operator finished cooking in the frame it was cooked.
- cooked_this_frame - 1 if operator was cooked this frame.
- warnings - Number of warnings in this operator if any.
- errors - Number of errors in this operator if any.
TouchDesigner Build: