Difference between revisions of "CHOP Class"

From TouchDesigner Documentation
Jump to: navigation, search
Line 71: Line 71:
 
|Sectionsummary=
 
|Sectionsummary=
 
|items=
 
|items=
+
{{ClassMethod
 +
    |class=CHOP
 +
    |name=[]
 +
    |call=[nameOrIndex]
 +
    |returns=Channel
 +
    |text=channels may be easily accessed from a CHOP using the [] subscript operator.
 +
*nameOrIndex - Must be an exact string name, or it may be a numeric channel index. Wildcards are not supported. Refer to the help on channels to see how to use the returned Channel object.
 +
<syntaxhighlight lang=python>
 +
c = n[4]
 +
c = n['chan2']
 +
</syntaxhighlight>
 +
}}
 
{{ClassMethod
 
{{ClassMethod
 
     |class=CHOP
 
     |class=CHOP
 
     |name=save
 
     |name=save
 
     |call=save(filepath)
 
     |call=save(filepath)
     |returns=
+
     |returns=filepath
     |text=: -> filepath
+
     |text=Saves the channel to the file system. Supported file formats are .clip, .bclip, .chan, .bchan and .aiff.
Saves the channel to the file system. Supported file formats are .clip, .bclip, .chan, .bchan and .aiff.
 
 
Returns the file path used.
 
Returns the file path used.
filepath - (Optional) The path and filename to save to.
+
*filepath - (Optional) The path and filename to save to.
 +
<syntaxhighlight lang=python>
 
name = n.save()  #save in native format with default name
 
name = n.save()  #save in native format with default name
 
n.save('output.chan')  #ascii readable tab delimited format
 
n.save('output.chan')  #ascii readable tab delimited format
 
n.save('output.aiff')  #supported audio format
 
n.save('output.aiff')  #supported audio format
 +
</syntaxhighlight>
 
}}
 
}}
 
{{ClassMethod
 
{{ClassMethod
Line 89: Line 101:
 
     |name=chan
 
     |name=chan
 
     |call=chan(nameOrIndex1, nameOrIndex2..., caseSensitive=True)
 
     |call=chan(nameOrIndex1, nameOrIndex2..., caseSensitive=True)
     |returns=
+
     |returns=Channel or None
     |text=: -> Channel or None
+
     |text=Returns the first Channel that matches the given name or index or None if none are found.
Returns the first Channel that matches the given name or index or None if none are found.
 
 
Multiple patterns may be specified which are all added to the search.
 
Multiple patterns may be specified which are all added to the search.
nameOrIndex - May be a string name, possibly using Pattern Matching, or it may be a numeric channel index.
+
*nameOrIndex - May be a string name, possibly using Pattern Matching, or it may be a numeric channel index.
caseSensitive - (Optional) Specifies whether or not case sensitivity is used.
+
*caseSensitive - (Optional) Specifies whether or not case sensitivity is used.
 +
<syntaxhighlight lang=python>
 
c = n.chan(4)
 
c = n.chan(4)
 
c = n.chan('chan*')
 
c = n.chan('chan*')
 
c = n.chan('chan3zall', caseSensitive=False)
 
c = n.chan('chan3zall', caseSensitive=False)
 +
</syntaxhighlight>
 
}}
 
}}
 
{{ClassMethod
 
{{ClassMethod
Line 103: Line 116:
 
     |name=chans
 
     |name=chans
 
     |call=chans(nameOrIndex1, nameOrIndex2..., caseSensitive=True)
 
     |call=chans(nameOrIndex1, nameOrIndex2..., caseSensitive=True)
     |returns=
+
     |returns=list
     |text=: -> list
+
     |text=Returns a (possibly empty) list of Channels that match that specified names or indices. Multiple names and indices may be provided.
Returns a (possibly empty) list of Channels that match that specified names or indices. Multiple names and indices may be provided.
+
*nameOrIndex - (Optional) One or more string names, possibly using Pattern Matching, or numeric channel index. No arguments are passed, a list of all channels is returned.
nameOrIndex - (Optional) One or more string names, possibly using Pattern Matching, or numeric channel index. No arguments are passed, a list of all channels is returned.
+
*caseSensitive - (Optional) Specifies whether or not case sensitivity is used.
caseSensitive - (Optional) Specifies whether or not case sensitivity is used.
+
<syntaxhighlight lang=python>
 
newlist = n.chans() # get all channels in the CHOP
 
newlist = n.chans() # get all channels in the CHOP
 
newlist = n.chans('a*', 3,4,5, 'd*')
 
newlist = n.chans('a*', 3,4,5, 'd*')
 +
</syntaxhighlight>
 
}}
 
}}
 
{{ClassMethod
 
{{ClassMethod
Line 115: Line 129:
 
     |name=convertToKeyframes
 
     |name=convertToKeyframes
 
     |call=convertToKeyframes(tolerance=0.1)
 
     |call=convertToKeyframes(tolerance=0.1)
     |returns=
+
     |returns=animationCOMP
     |text=: -> animationCOMP
+
     |text=Create an Animation COMP that contains a keyframed approximation of the CHOP's channels.
Create an Animation COMP that contains a keyframed approximation of the CHOP's channels.
 
 
The resultant animationCOMP is returned.
 
The resultant animationCOMP is returned.
tolerance - (Keyword, Optional) If this is not given, the default value is 0.1. It may be overridden for higher accuracy match between the source channels and the resulting keyframed channels.
+
*tolerance - (Keyword, Optional) If this is not given, the default value is 0.1. It may be overridden for higher accuracy match between the source channels and the resulting keyframed channels.
 
}}}}
 
}}}}
 
<section end=HELPBODY />
 
<section end=HELPBODY />
 
{{History}}
 
{{History}}
 
{{#invoke:Category|list|Python Reference}}
 
{{#invoke:Category|list|Python Reference}}

Revision as of 12:03, 20 September 2017

A CHOP describes a reference to a CHOP operator, containing a set of channels accessed with the Channel Class.


Members[edit]

As these attributes are dependent on each other, set the rate and start (or startTime) attributes, before the len, end (or endTime) attributes.

end(Read Only):

The end index of the channels. This can be modified only when the CHOP is a scriptCHOP.

export(Read Only):

Get or set export flag.

exportChanges(Read Only):

Number of times the export mapping information has changed.

isCHOP(Read Only):

True if the operator is a CHOP.

isTimeSlice(Read Only):

True if the CHOP last cooked as a time slice.

numChans(Read Only):

The number of channels.

numSamples(Read Only):

The number of samples (or indices) per channel. You can change the number of samples by setting this value, only in a scriptCHOP.

rate(Read Only):

The sample rate of the CHOP. This can be modified only when the CHOP is a scriptCHOP.

start(Read Only):

The start index of the channels. This can be modified only when the CHOP is a scriptCHOP.

Methods[edit]

[nameOrIndex]Channel:

channels may be easily accessed from a CHOP using the [] subscript operator.

  • nameOrIndex - Must be an exact string name, or it may be a numeric channel index. Wildcards are not supported. Refer to the help on channels to see how to use the returned Channel object.
c = n[4]
c = n['chan2']

save(filepath)filepath:

Saves the channel to the file system. Supported file formats are .clip, .bclip, .chan, .bchan and .aiff.

Returns the file path used.

  • filepath - (Optional) The path and filename to save to.
name = n.save()   #save in native format with default name
n.save('output.chan')  #ascii readable tab delimited format
n.save('output.aiff')  #supported audio format

chan(nameOrIndex1, nameOrIndex2..., caseSensitive=True)Channel or None:

Returns the first Channel that matches the given name or index or None if none are found.

Multiple patterns may be specified which are all added to the search.

  • nameOrIndex - May be a string name, possibly using Pattern Matching, or it may be a numeric channel index.
  • caseSensitive - (Optional) Specifies whether or not case sensitivity is used.
c = n.chan(4)
c = n.chan('chan*')
c = n.chan('chan3zall', caseSensitive=False)

chans(nameOrIndex1, nameOrIndex2..., caseSensitive=True)list:

Returns a (possibly empty) list of Channels that match that specified names or indices. Multiple names and indices may be provided.

  • nameOrIndex - (Optional) One or more string names, possibly using Pattern Matching, or numeric channel index. No arguments are passed, a list of all channels is returned.
  • caseSensitive - (Optional) Specifies whether or not case sensitivity is used.
newlist = n.chans() # get all channels in the CHOP
newlist = n.chans('a*', 3,4,5, 'd*')

convertToKeyframes(tolerance=0.1)animationCOMP:

Create an Animation COMP that contains a keyframed approximation of the CHOP's channels.

The resultant animationCOMP is returned.

  • tolerance - (Keyword, Optional) If this is not given, the default value is 0.1. It may be overridden for higher accuracy match between the source channels and the resulting keyframed channels.

TouchDesigner Build:

An Operator Family which operate on Channels (a series of numbers) which are used for animation, audio, mathematics, simulation, logic, UI construction, and many other applications.

A CHOP outputs one or more channels, where a channel is simply a sequence of numbers, representing motion, audio, etc. Channels are passed between CHOPs in TouchDesigner networks. See also Export.

Matching strings using wildcard characters and bracketing. Useful in "Select" parameters to select multiple operators, paths, etc.

Matching strings using wildcard characters and bracketing. Useful in "Select" parameters to select multiple operators, paths, etc.

An Operator Family that contains its own Network inside. There are twelve 3D Object Component and eight 2D Panel Component types. See also Network Path.