SuperTrack
Categories: [‘Sockpuppet’, ‘Track and Sequencing’]
Base class: Resource
Subclasses: Track
Properties
DMX_fixtures : int
Options: {0: ‘Off’, 1: ‘On’}
arrows : List[Arrow]
audio_sections : List[AudioSection]
bpm : float
clock_divide : float
count_in_beats : float
Customize how layers appear on the timeline
UserName: Layer colour rules
lengthInBeats : float
lengthInSec : float (Read-Only)
quant : int
Options: {0: ‘0’, 1: ‘1’, 2: ‘4’}
Variables
DontTouchLayers : Final = 0
EditEnd : Final = 1
EditStart : Final = 0
MoveLayers : Final = 1
Next : Final = 1
Prev : Final = -1
StretchLayers : Final = 2
Methods
addLayer(self, l: SuperLayer, t: float, iLayer: int)
addNewLayer(self, moduleType: Type, t: float, length: float, name: str) -> Layer
audioTrack(self, iBeat: float) -> AudioTrack
beatIsEnd(self, iBeat: float) -> bool
beatIsStart(self, iBeat: float) -> bool
beatIsValid(self, iBeat: float) -> bool
beatToTime(self, iBeat: float) -> float
bpmAt(self, iBeat: float) -> float
clearArrows(self)
contains(self, sl: SuperLayer, searchLeafOnly: bool = True) -> bool
Whether the track contains the layer sl
Parameters:
- sl: The superlayer to search for
- searchLeafOnly: If true, only leaf layers will be searched, otherwise all layers (including GroupLayer instances) will be searched.
return: Whether the superlayer is found in the track
duplicateLayer(self, layer: SuperLayer, duplicateName: str) -> SuperLayer
duplicateLayerIndex(self, layer: SuperLayer, duplicateName: str, index: int) -> SuperLayer
enableRender(self, onOff: bool)
findLayerByName(self, name: str) -> Layer
findLayerIndex(self, layer: SuperLayer) -> int
getLayersAssociatedWithPatch(self, patch: ControlPatch) -> List[Layer]
globalBeatToLocalBeat(self, tGlobal: float) -> float
insertAudioBeats(self, iBeat: float, nBeats: float, affect: int)
Insert audio bars into the track at position iBeat, shifting everything after that point forward by nBeats.
After manipulating audio sections, this also inserts beats into the track and adjusts layers accordingly.
Parameters:
- iBeat The beat position at which to insert new audio bars.
- nBeats The number of beats to insert.
- affect Specifies how layers should be affected:
- DontTouchLayers: Only the track length is changed; layers remain unaffected.
- MoveLayers: Layers starting at or after iBeat are moved backward by nBeats.
- StretchLayers: Layers starting at or after iBeat are compressed to accommodate the removed beats.
insertBeats(self, iBeat: float, nBeats: float, affect: int)
Insert beats into the track at position iBeat, shifting everything after that point forward by nBeats.
Note this does not affect audio sections; use insertAudioBeats() for that.
Parameters:
- iBeat The beat position at which to insert new beats.
- nBeats The number of beats to insert.
- affect Specifies how layers should be affected:
- DontTouchLayers: Only the track length is changed; layers remain unaffected.
- MoveLayers: Layers starting at or after iBeat are moved forward by nBeats.
- StretchLayers: Layers starting at or after iBeat are stretched to accommodate the new beats.
insertBlank(self, iBeat: float, nBeats: float, affect: int)
Insert blank space into the track at position iBeat, shifting all layers and keys forward by nBeats.
Note this does not affect any Cues or audio sections; use insertBeats() / insertAudioBeats() for that.
Parameters:
- iBeat The beat position at which to insert blank space.
- nBeats The number of beats of blank space to insert.
- affect Specifies how layers should be affected:
- DontTouchLayers: Only the track length is changed; layers remain unaffected.
- MoveLayers: Layers starting at or after iBeat are moved backward by nBeats.
- StretchLayers: Layers starting at or after iBeat are compressed to accommodate the removed beats.
insertSilentAudioBeats(self, iBeat: float, nBeats: float, affect: int)
Insert silent audio bars into the track at position iBeat, shifting everything after that point forward by nBeats.
After manipulating audio sections, this also inserts beats into the track and adjusts layers accordingly.
Parameters:
- iBeat The beat position at which to insert new audio bars.
- nBeats The number of beats to insert.
- affect Specifies how layers should be affected:
- DontTouchLayers: Only the track length is changed; layers remain unaffected.
- MoveLayers: Layers starting at or after iBeat are moved backward by nBeats.
- StretchLayers: Layers starting at or after iBeat are compressed to accommodate the removed beats.
makeArrow(self, src: Layer, dest: Layer)
moveLayerToIndex(self, l: SuperLayer, newIndex: int)
moveLayerToIndexInGroup(self, l: SuperLayer, newIndex: int)
moveLayersDown(self, layers: List[SuperLayer])
moveLayersUp(self, layers: List[SuperLayer])
removeArrow(self, arrow: Arrow)
removeAudioBeats(self, iBeat: float, nBeats: float, deleteBars: bool)
Remove audio bars from the track starting at position iBeat, shifting everything after that point backward by nBeats.
After manipulating audio sections, this also removes beats from the track and adjusts layers accordingly.
Parameters:
- iBeat The beat position at which to insert new audio bars.
- nBeats The number of beats to insert.
- affect Specifies how layers should be affected:
- DontTouchLayers: Only the track length is changed; layers remain unaffected.
- MoveLayers: Layers starting at or after iBeat are moved backward by nBeats.
- StretchLayers: Layers starting at or after iBeat are compressed to accommodate the removed beats.
removeBeats(self, iBeat: float, nBeats: float, affect: int)
Remove beats from the track starting at position iBeat, shifting everything after that point backward by nBeats.
Note this does not affect audio sections; use removeAudioBeats() for that.
Parameters:
- iBeat The beat position from which to start removing beats.
- nBeats The number of beats to remove.
- affect Specifies how layers should be affected:
- DontTouchLayers: Only the track length is changed; layers remain unaffected.
- MoveLayers: Layers starting at or after iBeat are moved backward by nBeats.
- StretchLayers: Layers starting at or after iBeat are compressed to accommodate the removed beats.
removeLayer(self, layer: SuperLayer) -> int
Remove layers & sequencing from the track starting at position iBeat, shifting all layers and keys afterward backward by nBeats.
Note this does not affect any Cues or audio sections; use removeBeats() / removeAudioBeats() for that.
Parameters:
- iBeat The beat position from which to start removing space.
- nBeats The number of beats of space to remove.
splitLayersAtBeat(self, layers: List[SuperLayer], t: float) -> List[SuperLayer]
timeOfNoteContainingBeat(self, iBeat: float) -> float
timeToBeat(self, tSec: float) -> float
ungroupLayer(self, g: GroupLayer)