Interface Track
- All Superinterfaces:
Channel,DeleteableObject,DeviceChain,DuplicableObject,ObjectProxy,Subscribable
- All Known Subinterfaces:
CursorTrack,MasterTrack
Instances of this interface represent tracks in Bitwig Studio.
- Since:
- API version 1
-
Method Summary
Modifier and TypeMethodDescriptionvoidDeprecated.voidDeprecated.UseisQueuedForStop()instead.voidaddNoteSource(NoteInput noteInput) Routes the given noteInput directly to the track regardless of monitoring.voidRegisters an observer that reports names for note key values on this track.voidDeprecated.Useposition()instead.voidaddTrackTypeObserver(int numChars, String textWhenUnassigned, StringValueChangedCallback callback) Deprecated.UsetrackType()instead.InsertionPointthat can be used to insert after this track.arm()Returns an object that provides access to the arm state of the track.Deprecated.InsertionPointthat can be used to insert after this track.Returns an object that indicates if the track may contain audio events.Returns an object that indicates if the track may contain notes.Returns an object that can be used to access the clip launcher slots of the track.Returns an object that provides access to the cursor item of the track's device selection as shown in the Bitwig Studio user interface.createCursorDevice(String name) Creates a named device selection cursor that is independent from the device selection in the Bitwig Studio user interface, assuming the name parameter is not null.createCursorDevice(String name, int numSends) Creates a named device selection cursor that is independent from the device selection in the Bitwig Studio user interface, assuming the name parameter is not null.createCursorRemoteControlsPage(int parameterCount) Creates a cursor for the selected remote controls page in the device with the supplied number of parameters.createCursorRemoteControlsPage(String name, int parameterCount, String filterExpression) Creates a cursor for a remote controls page in the device with the supplied number of parameters.createEffectTrackBank(int numTracks, int numScenes, boolean hasFlatTrackList) Returns a track bank with the given number of child effect tracks and scenes.createEffectTrackBank(int numTracks, int numSends, int numScenes, boolean hasFlatTrackList) Returns a track bank with the given number of child effect tracks and scenes.createMainTrackBank(int numTracks, int numSends, int numScenes, boolean hasFlatTrackList) Returns a track bank with the given number of child tracks, sends and scenes.createMasterTrack(int numScenes) Returns an object that represents the master track of the connected track group.voidcreateNewLauncherClip(int slotIndex) Will create a new empty clip at or after slot index.voidcreateNewLauncherClip(int slotIndex, int lengthInBeats) Will create a new empty clip at or after slot index.createParentTrack(int numSends, int numScenes) Creates an object that represent the parent track.createSiblingsTrackBank(int numTracks, int numSends, int numScenes, boolean shouldIncludeEffectTracks, boolean shouldIncludeMasterTrack) Returns a bank of sibling tracks with the given number of tracks, sends and scenes.createTrackBank(int numTracks, int numSends, int numScenes, boolean hasFlatTrackList) Returns a track bank with the given number of child tracks, sends and scenes.Returns an object that provides access to the cross-fade mode of the track.getArm()Deprecated.Usearm()instead.Deprecated.UseautoMonitor()instead.Deprecated.UsecanHoldAudioData()instead.Deprecated.UsecanHoldNoteData()instead.Deprecated.UsegetClipLauncherSlots()instead.Deprecated.UseclipLauncherSlotBank()instead.Deprecated.UsecrossFadeMode()instead.Deprecated.UseisQueuedForStop()instead.Deprecated.UseisStopped()instead.If the track is an effect track, returns an object that indicates if the effect track is configured as pre-fader.Deprecated.Usemonitor()instead.Deprecated.UsecreateCursorDevice("Primary")instead.Deprecated.UsecreateCursorDevice("Primary")instead.Deprecated.UsesourceSelector()instead.isGroup()Value that reports if the track may contain child tracks, which is the case for group tracks.Value that indicates if the group's child tracks are visible.Returns an object that provides a readout of the monitoring state of the track.Value that reports if the clip launcher slots are queued for stop.Value that reports if this track is currently stopped.voidlaunchLastClipWithOptions(String quantization, String launchMode) Launches the last clip with the given options:launchLastClipWithOptionsAction(String quantization, String launchMode) monitor()Deprecated.Returns an object that provides access to the auto-monitoring mode of the track.voidplayNote(int key, int velocity) Plays a note on the track with a default duration and the given key and velocity.position()Value that reports the position of the track within the list of Bitwig Studio tracks.voidrecordNewLauncherClip(int slotIndex) Will start recording a new clip at or after slot index.voidremoveNoteSource(NoteInput noteInput) Removes a routing operated byaddNoteSource(NoteInput)voidCalling this method causes the arrangement sequencer to take over playback.voidselectSlot(int slotIndex) Selects the slot at the given index.voidsendMidi(int status, int data1, int data2) Sends a MIDI message to the hardware device.voidUpdates the name of the track.Returns the source selector for the track, which is shown in the IO section of the track in Bitwig Studio and lists either note or audio sources or both depending on the track type.voidstartNote(int key, int velocity) Starts playing a note on the track with the given key and velocity.voidstop()Stops playback of the track.Action to callstop().voidstopAlt()Stops playback of the track using alternative quantization.Action to callstopAlt().voidstopNote(int key, int velocity) Stops playing a currently played note.Value that reports the track type.Methods inherited from interface com.bitwig.extension.controller.api.Channel
addColorObserver, addIsSelectedInMixerObserver, addNoteObserver, addVuMeterObserver, channelId, channelIndex, color, duplicate, getMute, getPan, getSend, getSolo, getVolume, isActivated, isMutedBySolo, makeVisibleInArranger, makeVisibleInMixer, mute, pan, playingNotes, selectInMixer, sendBank, solo, volumeMethods inherited from interface com.bitwig.extension.controller.api.DeleteableObject
deleteObject, deleteObjectActionMethods inherited from interface com.bitwig.extension.controller.api.DeviceChain
addIsSelectedInEditorObserver, addIsSelectedObserver, addNameObserver, browseToInsertAtEndOfChain, browseToInsertAtStartOfChain, createDeviceBank, createDeviceBrowser, endOfDeviceChainInsertionPoint, name, select, selectInEditor, startOfDeviceChainInsertionPointMethods inherited from interface com.bitwig.extension.controller.api.DuplicableObject
duplicateObject, duplicateObjectActionMethods inherited from interface com.bitwig.extension.controller.api.ObjectProxy
createEqualsValue, existsMethods inherited from interface com.bitwig.extension.controller.api.Subscribable
isSubscribed, setIsSubscribed, subscribe, unsubscribe
-
Method Details
-
position
IntegerValue position()Value that reports the position of the track within the list of Bitwig Studio tracks.- Since:
- API version 2
-
addPositionObserver
Deprecated.Useposition()instead.Registers an observer that reports the position of the track within the list of Bitwig Studio tracks.- Parameters:
callback- a callback function that receives a single integer parameter- Since:
- API version 1
-
getClipLauncherSlots
Deprecated.UseclipLauncherSlotBank()instead.Returns an object that can be used to access the clip launcher slots of the track.- Returns:
- an object that represents the clip launcher slots of the track
- Since:
- API version 1
-
clipLauncherSlotBank
ClipLauncherSlotBank clipLauncherSlotBank()Returns an object that can be used to access the clip launcher slots of the track.- Returns:
- an object that represents the clip launcher slots of the track
- Since:
- API version 2
-
getClipLauncher
Deprecated.UsegetClipLauncherSlots()instead.- Since:
- API version 1
-
addIsQueuedForStopObserver
Deprecated.UseisQueuedForStop()instead.Registers an observer that reports if the clip launcher slots are queued for stop.- Parameters:
callback- a callback function that receives a single boolean argument.- Since:
- API version 1
-
getArm
Deprecated.Usearm()instead.Returns an object that provides access to the arm state of the track.- Returns:
- a boolean value object
- Since:
- API version 1
-
arm
SettableBooleanValue arm()Returns an object that provides access to the arm state of the track.- Returns:
- a boolean value object
- Since:
- API version 5
-
getMonitor
Deprecated.Usemonitor()instead.Returns an object that provides access to the monitoring state of the track.- Returns:
- a boolean value object
- Since:
- API version 1
-
monitor
Deprecated.Returns an object that provides access to the monitoring state of the track.- Returns:
- a boolean value object
- Since:
- API version 5
-
isMonitoring
BooleanValue isMonitoring()Returns an object that provides a readout of the monitoring state of the track.- Returns:
- a read-only boolean value object
- Since:
- API version 14
-
getAutoMonitor
Deprecated.UseautoMonitor()instead.Returns an object that provides access to the auto-monitoring state of the track.- Returns:
- a boolean value object
- Since:
- API version 1
-
autoMonitor
Deprecated.Returns an object that provides access to the auto-monitoring state of the track.- Returns:
- a boolean value object
- Since:
- API version 5
-
monitorMode
SettableEnumValue monitorMode()Returns an object that provides access to the auto-monitoring mode of the track.- Returns:
- a boolean value object
- Since:
- API version 14
-
getCrossFadeMode
Deprecated.UsecrossFadeMode()instead.Returns an object that provides access to the cross-fade mode of the track.- Returns:
- an enum value object that has three possible states: "A", "B", or "AB"
- Since:
- API version 1
-
crossFadeMode
SettableEnumValue crossFadeMode()Returns an object that provides access to the cross-fade mode of the track.- Returns:
- an enum value object that has three possible states: "A", "B", or "AB"
- Since:
- API version 5
-
isStopped
BooleanValue isStopped()Value that reports if this track is currently stopped. When a track is stopped it is not playing content from the arranger or clip launcher.- Since:
- API version 2
-
getIsMatrixStopped
Deprecated.UseisStopped()instead.Returns a value object that provides access to the clip launcher playback state of the track.- Returns:
- a boolean value object that indicates if the clip launcher is stopped for this track
- Since:
- API version 1
- See Also:
-
getIsMatrixQueuedForStop
Deprecated.UseisQueuedForStop()instead.Returns a value object that provides access to the clip launcher's queue-for-stop state on this track. A clip is considered to be queued for stop when playback has been requested to be stopped on that clip, but the playback has not stopped yet due to the current launch quantization settings.- Returns:
- a boolean value object that indicates if the clip launcher slots have been queued for stop
- Since:
- API version 1
- See Also:
-
isQueuedForStop
BooleanValue isQueuedForStop()Value that reports if the clip launcher slots are queued for stop.- Since:
- API version 2
-
getSourceSelector
Deprecated.UsesourceSelector()instead.Returns the source selector for the track, which is shown in the IO section of the track in Bitwig Studio and lists either note or audio sources or both depending on the track type.- Returns:
- a source selector object
- Since:
- API version 1
-
sourceSelector
SourceSelector sourceSelector()Returns the source selector for the track, which is shown in the IO section of the track in Bitwig Studio and lists either note or audio sources or both depending on the track type.- Returns:
- a source selector object
- Since:
- API version 5
-
stop
void stop()Stops playback of the track.- Since:
- API version 1
-
stopAction
HardwareActionBindable stopAction()Action to callstop().- Since:
- API version 10
-
stopAlt
void stopAlt()Stops playback of the track using alternative quantization.- Since:
- API version 18
-
stopAltAction
HardwareActionBindable stopAltAction()Action to callstopAlt().- Since:
- API version 18
-
returnToArrangement
void returnToArrangement()Calling this method causes the arrangement sequencer to take over playback.- Since:
- API version 1
-
setName
Updates the name of the track.- Parameters:
name- the new track name- Since:
- API version 1
-
addPitchNamesObserver
Registers an observer that reports names for note key values on this track. The track might provide special names for certain keys if it contains instruments that support that features, such as the Bitwig Drum Machine.- Parameters:
callback- a callback function that receives two arguments: 1. the key value in the range [0..127], and 2. the name string- Since:
- API version 1
-
playNote
void playNote(int key, int velocity) Plays a note on the track with a default duration and the given key and velocity.- Parameters:
key- the key value of the played notevelocity- the velocity of the played note- Since:
- API version 1
-
startNote
void startNote(int key, int velocity) Starts playing a note on the track with the given key and velocity.- Parameters:
key- the key value of the played notevelocity- the velocity of the played note- Since:
- API version 1
-
stopNote
void stopNote(int key, int velocity) Stops playing a currently played note.- Parameters:
key- the key value of the playing notevelocity- the note-off velocity- Since:
- API version 1
-
sendMidi
void sendMidi(int status, int data1, int data2) Sends a MIDI message to the hardware device.- Parameters:
status- the status byte of the MIDI messagedata1- the data1 part of the MIDI messagedata2- the data2 part of the MIDI message- Since:
- API version 2
-
trackType
StringValue trackType()Value that reports the track type. Possible reported track types are `Group`, `Instrument`, `Audio`, `Hybrid`, `Effect` or `Master`.- Since:
- API version 2
-
addTrackTypeObserver
@Deprecated void addTrackTypeObserver(int numChars, String textWhenUnassigned, StringValueChangedCallback callback) Deprecated.UsetrackType()instead.Registers an observer that reports the track type. Possible reported track types are `Group`, `Instrument`, `Audio`, `Hybrid`, `Effect` or `Master`.- Parameters:
numChars- the maximum number of characters used for the reported track typetextWhenUnassigned- the default text that gets reported when the track is not yet associated with a Bitwig Studio track.callback- a callback function that receives a single track type parameter (string).- Since:
- API version 1
-
isGroup
BooleanValue isGroup()Value that reports if the track may contain child tracks, which is the case for group tracks.- Since:
- API version 2
-
isGroupExpanded
SettableBooleanValue isGroupExpanded()Value that indicates if the group's child tracks are visible.- Since:
- API version 15
-
getIsPreFader
SettableBooleanValue getIsPreFader()If the track is an effect track, returns an object that indicates if the effect track is configured as pre-fader.- Since:
- API version 10
-
addIsGroupObserver
Deprecated.UseisGroup()instead.Registers an observer that reports if the track may contain child tracks, which is the case for group tracks.- Parameters:
callback- a callback function that receives a single boolean parameter.- Since:
- API version 1
-
getCanHoldNoteData
Deprecated.UsecanHoldNoteData()instead.Returns an object that indicates if the track may contain notes.- Returns:
- a boolean value object
- Since:
- API version 1
-
canHoldNoteData
SettableBooleanValue canHoldNoteData()Returns an object that indicates if the track may contain notes.- Returns:
- a boolean value object
- Since:
- API version 5
-
getCanHoldAudioData
Deprecated.UsecanHoldAudioData()instead.Returns an object that indicates if the track may contain audio events.- Returns:
- a boolean value object
- Since:
- API version 1
-
canHoldAudioData
SettableBooleanValue canHoldAudioData()Returns an object that indicates if the track may contain audio events.- Returns:
- a boolean value object
- Since:
- API version 5
-
createCursorDevice
CursorDevice createCursorDevice()Returns an object that provides access to the cursor item of the track's device selection as shown in the Bitwig Studio user interface.- Returns:
- the requested device selection cursor object
- Since:
- API version 1
-
createCursorDevice
Creates a named device selection cursor that is independent from the device selection in the Bitwig Studio user interface, assuming the name parameter is not null. When `name` is `null` the result is equal to callingcreateCursorDevice().- Parameters:
name- the name of the custom device selection cursor, for example "Primary", or `null` to refer to the device selection cursor in the arranger cursor track as shown in the Bitwig Studio user interface.- Returns:
- the requested device selection cursor object
- Since:
- API version 1
- See Also:
-
createCursorDevice
Creates a named device selection cursor that is independent from the device selection in the Bitwig Studio user interface, assuming the name parameter is not null. When `name` is `null` the result is equal to callingcreateCursorDevice().- Parameters:
name- the name of the custom device selection cursor, for example "Primary", or `null` to refer to the device selection cursor in the arranger cursor track as shown in the Bitwig Studio user interface.numSends- the number of sends that are simultaneously accessible in nested channels.- Returns:
- the requested device selection cursor object
- Since:
- API version 1
- See Also:
-
getPrimaryDevice
Deprecated.UsecreateCursorDevice("Primary")instead.Gets the channels primary device.- Returns:
- an object that provides access to the channels primary device.
- Since:
- API version 1
-
getPrimaryInstrument
Deprecated.UsecreateCursorDevice("Primary")instead.- Since:
- API version 1
-
createTrackBank
Returns a track bank with the given number of child tracks, sends and scenes. The track bank will only have content if the connected track is a group track.
A track bank can be seen as a fixed-size window onto the list of tracks in the connected track group including their sends and scenes, that can be scrolled in order to access different parts of the track list. For example a track bank configured for 8 tracks can show track 1-8, 2-9, 3-10 and so on.
The idea behind the `bank pattern` is that hardware typically is equipped with a fixed amount of channel strips or controls, for example consider a mixing console with 8 channels, but Bitwig Studio documents contain a dynamic list of tracks, most likely more tracks than the hardware can control simultaneously. The track bank returned by this function provides a convenient interface for controlling which tracks are currently shown on the hardware.
Creating a track bank using this method will consider all tracks in the document, including effect tracks and the master track. UsecreateMainTrackBank(int, int, int, boolean)orcreateEffectTrackBank(int, int, boolean)in case you are only interested in tracks of a certain kind.- Parameters:
numTracks- the number of child tracks spanned by the track banknumSends- the number of sends spanned by the track banknumScenes- the number of scenes spanned by the track bankhasFlatTrackList- specifies whether the track bank should operate on a flat list of all nested child tracks or only on the direct child tracks of the connected group track.- Returns:
- an object for bank-wise navigation of tracks, sends and scenes
- Since:
- API version 1
- See Also:
-
createMainTrackBank
Returns a track bank with the given number of child tracks, sends and scenes. Only audio tracks, instrument tracks and hybrid tracks are considered. The track bank will only have content if the connected track is a group track. For more information about track banks and the `bank pattern` in general, see the documentation forcreateTrackBank(int, int, int, boolean).- Parameters:
numTracks- the number of child tracks spanned by the track banknumSends- the number of sends spanned by the track banknumScenes- the number of scenes spanned by the track bankhasFlatTrackList- specifies whether the track bank should operate on a flat list of all nested child tracks or only on the direct child tracks of the connected group track.- Returns:
- an object for bank-wise navigation of tracks, sends and scenes
- Since:
- API version 1
- See Also:
-
createEffectTrackBank
Returns a track bank with the given number of child effect tracks and scenes. Only effect tracks are considered. The track bank will only have content if the connected track is a group track. For more information about track banks and the `bank pattern` in general, see the documentation forcreateTrackBank(int, int, int, boolean).- Parameters:
numTracks- the number of child tracks spanned by the track banknumScenes- the number of scenes spanned by the track bankhasFlatTrackList- specifies whether the track bank should operate on a flat list of all nested child tracks or only on the direct child tracks of the connected group track.- Returns:
- an object for bank-wise navigation of tracks, sends and scenes
- Since:
- API version 1
- See Also:
-
createEffectTrackBank
TrackBank createEffectTrackBank(int numTracks, int numSends, int numScenes, boolean hasFlatTrackList) Returns a track bank with the given number of child effect tracks and scenes. Only effect tracks are considered. The track bank will only have content if the connected track is a group track. For more information about track banks and the `bank pattern` in general, see the documentation forcreateTrackBank(int, int, int, boolean).- Parameters:
numTracks- the number of child tracks spanned by the track banknumSends- the number of sends spanned by the track banknumScenes- the number of scenes spanned by the track bankhasFlatTrackList- specifies whether the track bank should operate on a flat list of all nested child tracks or only on the direct child tracks of the connected group track.- Returns:
- an object for bank-wise navigation of tracks, sends and scenes
- Since:
- API version 18
- See Also:
-
createMasterTrack
Returns an object that represents the master track of the connected track group. The returned object will only have content if the connected track is a group track.- Parameters:
numScenes- the number of scenes for bank-wise navigation of the master tracks clip launcher slots.- Returns:
- an object representing the master track of the connected track group.
- Since:
- API version 1
-
createSiblingsTrackBank
TrackBank createSiblingsTrackBank(int numTracks, int numSends, int numScenes, boolean shouldIncludeEffectTracks, boolean shouldIncludeMasterTrack) Returns a bank of sibling tracks with the given number of tracks, sends and scenes. For more information about track banks and the `bank pattern` in general, see the documentation forcreateTrackBank(int, int, int, boolean).- Parameters:
numTracks- the number of child tracks spanned by the track banknumSends- the number of sends spanned by the track banknumScenes- the number of scenes spanned by the track bankshouldIncludeEffectTracks- specifies whether effect tracks should be includedshouldIncludeMasterTrack- specifies whether the master should be included- Returns:
- an object for bank-wise navigation of sibling tracks
- Since:
- API version 1
- See Also:
-
afterTrackInsertionPoint
InsertionPoint afterTrackInsertionPoint()InsertionPointthat can be used to insert after this track.- Since:
- API version 7
-
beforeTrackInsertionPoint
InsertionPoint beforeTrackInsertionPoint()InsertionPointthat can be used to insert after this track.- Since:
- API version 7
-
createParentTrack
Creates an object that represent the parent track.- Since:
- API version 10
-
addNoteSource
Routes the given noteInput directly to the track regardless of monitoring.- Since:
- API version 10
-
removeNoteSource
Removes a routing operated byaddNoteSource(NoteInput)- Since:
- API version 10
-
createNewLauncherClip
void createNewLauncherClip(int slotIndex, int lengthInBeats) Will create a new empty clip at or after slot index. If necessary, a new scene will be created. The new clip will be selected.- Parameters:
slotIndex- absolute slot index in the track (unrelated to banks)- Since:
- API version 10
-
createNewLauncherClip
void createNewLauncherClip(int slotIndex) Will create a new empty clip at or after slot index. It will use the default clip length. If necessary, a new scene will be created. The new clip will be selected.- Parameters:
slotIndex- absolute slot index in the track (unrelated to banks)- Since:
- API version 10
-
recordNewLauncherClip
void recordNewLauncherClip(int slotIndex) Will start recording a new clip at or after slot index. If necessary, a new scene will be created. The new clip will be selected.- Parameters:
slotIndex- absolute slot index in the track (unrelated to banks)- Since:
- API version 10
-
selectSlot
void selectSlot(int slotIndex) Selects the slot at the given index.- Parameters:
slotIndex- absolute slot index in the track (unrelated to banks)- Since:
- API version 10
-
launchLastClipWithOptions
Launches the last clip with the given options:- Parameters:
quantization- possible values are "default", "none", "8", "4", "2", "1", "1/2", "1/4", "1/8", "1/16"launchMode- possible values are: "default", "from_start", "continue_or_from_start", "continue_or_synced", "synced"- Since:
- API version 16
-
launchLastClipWithOptionsAction
-
createCursorRemoteControlsPage
Creates a cursor for the selected remote controls page in the device with the supplied number of parameters. This section will follow the current page selection made by the user in the application.- Parameters:
parameterCount- The number of parameters the remote controls should contain- Since:
- API version 18
-
createCursorRemoteControlsPage
CursorRemoteControlsPage createCursorRemoteControlsPage(String name, int parameterCount, String filterExpression) Creates a cursor for a remote controls page in the device with the supplied number of parameters. This section will be independent from the current page selected by the user in Bitwig Studio's user interface. The supplied filter is an expression that can be used to match pages this section is interested in. The expression is matched by looking at the tags added to the pages. If the expression is empty then no filtering will occur.- Parameters:
name- A name to associate with this section. This will be used to remember manual mappings made by the user within this section.parameterCount- The number of parameters the remote controls should containfilterExpression- An expression used to match pages that the user can navigate through. For now this can only be the name of a single tag the pages should contain (e.g "drawbars", "dyn", "env", "eq", "filter", "fx", "lfo", "mixer", "osc", "overview", "perf").- Since:
- API version 18
-
isGroup()instead.