Interface Application


public interface Application
An interface that provides methods for accessing the most common global application commands. In addition, functions are provided for accessing any application action in a generic and categorized way, pretty much as displayed in the Bitwig Studio commander dialog (see getActions(), getAction(String), getActionCategories()), getActionCategory(String)). To receive an instance of the application interface call ControllerHost.createApplication().
  • Field Details

    • PANEL_LAYOUT_ARRANGE

      static final String PANEL_LAYOUT_ARRANGE
      This identifier can be used as parameter for setPanelLayout(String) in order to switch to the `ARRANGE` panel layout that is available in various display profiles.
      See Also:
    • PANEL_LAYOUT_MIX

      static final String PANEL_LAYOUT_MIX
      This identifier can be used as parameter for setPanelLayout(String) in order to switch to the `EDIT` panel layout that is available in various display profiles.
      See Also:
    • PANEL_LAYOUT_EDIT

      static final String PANEL_LAYOUT_EDIT
      This identifier can be used as parameter for setPanelLayout(String) in order to switch to the `MIX` panel layout that is available in various display profiles.
      See Also:
  • Method Details

    • createAudioTrack

      void createAudioTrack(int position)
      Creates a new audio track at the given position.
      Parameters:
      position - the index within the list of main tracks where the new track should be inserted, or `-1` in case the track should be inserted at the end of the list. Values outside the valid range will get pinned to the valid range, so the actual position might be different from the provided parameter value.
      Since:
      API version 1
    • createInstrumentTrack

      void createInstrumentTrack(int position)
      Creates a new instrument track at the given position.
      Parameters:
      position - the index within the list of main tracks where the new track should be inserted, or `-1` in case the track should be inserted at the end of the list. Values outside the valid range will get pinned to the valid range, so the actual position might be different from the provided parameter value.
      Since:
      API version 1
    • createEffectTrack

      void createEffectTrack(int position)
      Creates a new effect track at the given position.
      Parameters:
      position - the index within the list of effect tracks where the new track should be inserted, or `-1` in case the track should be inserted at the end of the list. Values outside the valid range will get pinned to the valid range, so the actual position might be different from the provided parameter value.
      Since:
      API version 1
    • getActions

      Action[] getActions()
      Returns a list of actions that the application supports. Actions are commands in Bitwig Studio that are typically accessible through menus or keyboard shortcuts. Please note that many of the commands encapsulated by the reported actions are also accessible through other (probably more convenient) interfaces methods of the API. In contrast to that, this method provides a more generic way to find available application functionality.
      Returns:
      the list of actions
      Since:
      API version 1
    • getAction

      Action getAction(String id)
      Returns the action for the given action identifier. For a list of available actions, see getActions().
      Parameters:
      id - the action identifier string, must not be `null`
      Returns:
      the action associated with the given id, or null in case there is no action with the given identifier.
      Since:
      API version 1
    • getActionCategories

      ActionCategory[] getActionCategories()
      Returns a list of action categories that is used by Bitwig Studio to group actions into categories.
      Returns:
      the list of action categories
      Since:
      API version 1
    • getActionCategory

      ActionCategory getActionCategory(String id)
      Returns the action category associated with the given identifier. For a list of available action categories, see getActionCategories().
      Parameters:
      id - the category identifier string, must not be `null`
      Returns:
      the action associated with the given id, or null in case there is no category with the given identifier
      Since:
      API version 1
    • activateEngine

      void activateEngine()
      Activates the audio engine in Bitwig Studio.
      Since:
      API version 1
    • deactivateEngine

      void deactivateEngine()
      Deactivates the audio engine in Bitwig Studio.
      Since:
      API version 1
    • hasActiveEngine

      BooleanValue hasActiveEngine()
      Value that reports whether an audio engine is active or not.
      Since:
      API version 2
    • addHasActiveEngineObserver

      @Deprecated void addHasActiveEngineObserver(BooleanValueChangedCallback callable)
      Deprecated.
      Use hasActiveEngine() instead.
      Registers an observer that gets called when the audio engine becomes active or inactive.
      Parameters:
      callable - a callback function that accepts a single boolean parameter. The callback parameter indicates whether the audio engine became active (true) or inactive (false).
      Since:
      API version 1
    • projectName

      StringValue projectName()
      Value that reports the name of the current project.
      Since:
      API version 2
    • addProjectNameObserver

      @Deprecated void addProjectNameObserver(StringValueChangedCallback callback, int maxChars)
      Deprecated.
      Use projectName() instead.
      Registers an observer that reports the name of the current project.
      Parameters:
      callback - a callback function that accepts a single string parameter.
      maxChars - the maximum length of the reported name. Longer names will get truncated.
      Since:
      API version 1
    • nextProject

      void nextProject()
      Switches to the next project tab in Bitwig Studio.
      Since:
      API version 1
    • previousProject

      void previousProject()
      Switches to the previous project tab in Bitwig Studio.
      Since:
      API version 1
    • undo

      void undo()
      Sends an undo command to Bitwig Studio.
      Since:
      API version 1
    • undoAction

    • canUndo

      BooleanValue canUndo()
      Value that reports if there is an action to undo.
      Since:
      API version 15
    • redo

      void redo()
      Sends a redo command to Bitwig Studio.
      Since:
      API version 1
    • redoAction

    • canRedo

      BooleanValue canRedo()
      Value that reports if there is an action to redo.
      Since:
      API version 15
    • setPanelLayout

      void setPanelLayout(String panelLayout)
      Switches the Bitwig Studio user interface to the panel layout with the given name. The list of available panel layouts depends on the active display profile.
      Parameters:
      panelLayout - the name of the new panel layout
      Since:
      API version 1
    • nextPanelLayout

      void nextPanelLayout()
      Switches to the next panel layout of the active display profile in Bitwig Studio.
      Since:
      API version 1
    • previousPanelLayout

      void previousPanelLayout()
      Switches to the previous panel layout of the active display profile in Bitwig Studio.
      Since:
      API version 1
    • panelLayout

      StringValue panelLayout()
      Value that reports the name of the active panel layout.
      Since:
      API version 2
    • addPanelLayoutObserver

      @Deprecated void addPanelLayoutObserver(StringValueChangedCallback callable, int maxChars)
      Deprecated.
      Use panelLayout() instead.
      Registers an observer that reports the name of the active panel layout.
      Parameters:
      callable - a callback function object that accepts a single string parameter
      maxChars - the maximum length of the panel layout name
      Since:
      API version 1
    • displayProfile

      StringValue displayProfile()
      Value that reports the name of the active display profile.
      Since:
      API version 2
    • addDisplayProfileObserver

      @Deprecated void addDisplayProfileObserver(StringValueChangedCallback callable, int maxChars)
      Deprecated.
      Use displayProfile() instead.
      Registers an observer that reports the name of the active display profile.
      Parameters:
      callable - a callback function object that accepts a single string parameter
      maxChars - the maximum length of the display profile name
      Since:
      API version 1
    • toggleInspector

      void toggleInspector()
      Toggles the visibility of the inspector panel.
      Since:
      API version 1
    • toggleDevices

      void toggleDevices()
      Toggles the visibility of the device chain panel.
      Since:
      API version 1
    • toggleMixer

      void toggleMixer()
      Toggles the visibility of the mixer panel.
      Since:
      API version 1
    • toggleNoteEditor

      void toggleNoteEditor()
      Toggles the visibility of the note editor panel.
      Since:
      API version 1
    • toggleAutomationEditor

      void toggleAutomationEditor()
      Toggles the visibility of the automation editor panel.
      Since:
      API version 1
    • toggleBrowserVisibility

      void toggleBrowserVisibility()
      Toggles the visibility of the browser panel.
      Since:
      API version 1
    • previousSubPanel

      void previousSubPanel()
      Shows the previous detail panel (note editor, device, automation).
      Since:
      API version 1
    • nextSubPanel

      void nextSubPanel()
      Shows the next detail panel (note editor, device, automation).
      Since:
      API version 1
    • arrowKeyLeft

      void arrowKeyLeft()
      Equivalent to an Arrow-Left key stroke on the computer keyboard. The concrete functionality depends on the current keyboard focus in Bitwig Studio.
      Since:
      API version 1
    • arrowKeyRight

      void arrowKeyRight()
      Equivalent to an Arrow-Right key stroke on the computer keyboard. The concrete functionality depends on the current keyboard focus in Bitwig Studio.
      Since:
      API version 1
    • arrowKeyUp

      void arrowKeyUp()
      Equivalent to an Arrow-Up key stroke on the computer keyboard. The concrete functionality depends on the current keyboard focus in Bitwig Studio.
      Since:
      API version 1
    • arrowKeyDown

      void arrowKeyDown()
      Equivalent to an Arrow-Down key stroke on the computer keyboard. The concrete functionality depends on the current keyboard focus in Bitwig Studio.
      Since:
      API version 1
    • enter

      void enter()
      Equivalent to an Enter key stroke on the computer keyboard. The concrete functionality depends on the current keyboard focus in Bitwig Studio.
      Since:
      API version 1
    • escape

      void escape()
      Equivalent to an Escape key stroke on the computer keyboard. The concrete functionality depends on the current keyboard focus in Bitwig Studio.
      Since:
      API version 1
    • selectAll

      void selectAll()
      Selects all items according the current selection focus in Bitwig Studio.
      Since:
      API version 1
    • selectAllAction

      HardwareActionBindable selectAllAction()
    • selectNone

      void selectNone()
      Deselects any items according the current selection focus in Bitwig Studio.
      Since:
      API version 1
    • selectNoneAction

      HardwareActionBindable selectNoneAction()
    • selectPrevious

      void selectPrevious()
      Selects the previous item in the current selection.
      Since:
      API version 10
    • selectPreviousAction

      HardwareActionBindable selectPreviousAction()
    • selectNext

      void selectNext()
      Selects the next item in the current selection.
      Since:
      API version 10
    • selectNextAction

      HardwareActionBindable selectNextAction()
    • selectFirst

      void selectFirst()
      Selects the first item in the current selection.
      Since:
      API version 10
    • selectFirstAction

      HardwareActionBindable selectFirstAction()
    • selectLast

      void selectLast()
      Selects the last item in the current selection.
      Since:
      API version 10
    • selectLastAction

      HardwareActionBindable selectLastAction()
    • cut

      void cut()
      Cuts the selected items in Bitwig Studio if applicable.
      Since:
      API version 1
    • cutAction

    • copy

      void copy()
      Copies the selected items in Bitwig Studio to the clipboard if applicable.
      Since:
      API version 1
    • copyAction

    • paste

      void paste()
      Pastes the clipboard contents into the current selection focus in Bitwig Studio if applicable.
      Since:
      API version 1
    • pasteAction

      HardwareActionBindable pasteAction()
    • duplicate

      void duplicate()
      Duplicates the active selection in Bitwig Studio if applicable.
      Since:
      API version 1
    • duplicateAction

      HardwareActionBindable duplicateAction()
      Since:
      API version 10
    • remove

      void remove()
      Deletes the selected items in Bitwig Studio if applicable. Originally this function was called `delete` (Bitwig Studio 1.0). But as `delete` is reserved in JavaScript this function got renamed to `remove` in Bitwig Studio 1.0.9.
      Since:
      API version 1
    • removeAction

      HardwareActionBindable removeAction()
    • rename

      void rename()
      Opens a text input field in Bitwig Studio for renaming the selected item.
      Since:
      API version 1
    • zoomIn

      void zoomIn()
      Zooms in one step into the currently focused editor of the Bitwig Studio user interface.
      Since:
      API version 1
    • zoomInAction

      HardwareActionBindable zoomInAction()
    • zoomOut

      void zoomOut()
      Zooms out one step in the currently focused editor of the Bitwig Studio user interface.
      Since:
      API version 1
    • zoomOutAction

      HardwareActionBindable zoomOutAction()
    • zoomLevel

      Same as zoomIn/zoomOut, but as a stepper
      Since:
      API version 14
    • zoomToSelection

      void zoomToSelection()
      Adjusts the zoom level of the currently focused editor so that it matches the active selection.
      Since:
      API version 1
    • zoomToSelectionAction

      HardwareActionBindable zoomToSelectionAction()
    • zoomToSelectionOrAll

      void zoomToSelectionOrAll()
      Toggles between zoomToSelection and zoomToFit.
      Since:
      API version 10
    • zoomToSelectionOrAllAction

      HardwareActionBindable zoomToSelectionOrAllAction()
    • zoomToSelectionOrPrevious

      void zoomToSelectionOrPrevious()
      Toggles between zoomToSelection and the last śet zoom level.
      Since:
      API version 10
    • zoomToSelectionOrPreviousAction

      HardwareActionBindable zoomToSelectionOrPreviousAction()
    • zoomToFit

      void zoomToFit()
      Adjusts the zoom level of the currently focused editor so that all content becomes visible.
      Since:
      API version 1
    • zoomToFitAction

      HardwareActionBindable zoomToFitAction()
    • focusPanelToLeft

      void focusPanelToLeft()
      Moves the panel focus to the panel on the left of the currently focused panel.
      Since:
      API version 1
    • focusPanelToRight

      void focusPanelToRight()
      Moves the panel focus to the panel right to the currently focused panel.
      Since:
      API version 1
    • focusPanelAbove

      void focusPanelAbove()
      Moves the panel focus to the panel above the currently focused panel.
      Since:
      API version 1
    • focusPanelBelow

      void focusPanelBelow()
      Moves the panel focus to the panel below the currently focused panel.
      Since:
      API version 1
    • toggleFullScreen

      void toggleFullScreen()
      Toggles between full screen and windowed user interface.
      Since:
      API version 1
    • setPerspective

      @Deprecated void setPerspective(String perspective)
      Deprecated.
      Since:
      API version 1
    • nextPerspective

      @Deprecated void nextPerspective()
      Deprecated.
      Use nextPanelLayout() instead.
      Since:
      API version 1
    • previousPerspective

      @Deprecated void previousPerspective()
      Deprecated.
      Since:
      API version 1
    • addSelectedModeObserver

      @Deprecated void addSelectedModeObserver(StringValueChangedCallback callable, int maxChars, String fallbackText)
      Since:
      API version 1
    • recordQuantizationGrid

      SettableEnumValue recordQuantizationGrid()
      Returns the record quantization grid setting from the preferences. Possible values are "OFF", "1/32", "1/16", "1/8", "1/4".
      Since:
      API version 10
    • recordQuantizeNoteLength

      SettableBooleanValue recordQuantizeNoteLength()
      Returns a settable value to choose if the record quantization should quantize note length.
      Since:
      API version 10