Tracks¶
A track refers to all actions that have a label of some form and to the message whose head has some form. A track is defined using a statement:
          @track_def track::T
          {
                print, "synth.*"
          }
refers to all actions that: (1) have a label or a label that matches (i.e. any name that starts with the prefix ) and (2) all Max or PD messages whose receivers satisfy the same constraints and (3) the children of these actions (recursively).
More generally,
- 
a track definition is a list of tokens separated by a comma; 
- 
a token is either a symbol (an identifier without double-quotes) or a string; 
- 
a symbol refers to labels or receivers equal to this symbol; 
- 
a string denotes a regular expressions1 (without the double quote) used to match a label or a receiver name; 
- 
an action belongs to a track if there is a symbol in the track equal to the label of the action or if there is a regular expression that matches the label; 
- 
in addition, a Max or PD message belongs to the track if the receiver's name fulfills the same constraint; 
- 
in addition, an action nested in a compound action belonging to the track also belongs to the track; 
- 
an action may belong to several tracks (or none); 
- 
there is a maximum of 32 definable tracks. 
Tracks can be muted or unmuted:
          antescofo::mute track::T
          antescofo::unmute track::T
A string can be also used for the name of the track:
          antescofo::mute "track::T"
          antescofo::unmute "track::T"
which means that the track to mute or unmute can be computed dynamically:
          $tracks := ["track::T", "track::Harmo", "track::Synthe", "track::Reverb"]
          whenever ($track_to_mute == $track_to_mute)
          {
                antescofo::mute ($tracks[$track_to_mute])
          }
Tracks are muted/unmuted independently. An action is muted if it belongs to a track that is muted, otherwise it is unmuted. A muted action has the same behavior as an unmuted action except for messages: their arguments are evaluated as usual but the final shipping to Max or PD is inhibited. It is important to note that muting/unmuting a track has no effect on the Antescofo internal computations, only in the sending of messages.
For example, to inhibit the sending of all messages, one can define the track:
          @track_def track::all { ".*" }
and mute it:
          antescofo::mute track::all
- 
The syntax used to define the regular expression follows the posix extended syntax as defined in IEEE Std 1003.2, see for instance regular expression on Wikipedia. ↩