cp.apple.finalcutpro.timeline.Timeline

Timeline Module. The timeline module provides an interface to the Final Cut Pro timeline. It delegates to the contents property, so any functions which can be called on the contents property can be called on the Timeline module.


API Overview

Functions - API calls offered directly by the extension

  • matches
  • matchesMain

Constructors - API calls which return an object, typically one that offers API methods

  • Timeline

Fields - Variables which can only be accessed from an object returned by a constructor

  • contents
  • effects
  • index
  • isFocused
  • isOnPrimary
  • isOnSecondary
  • isPlaying
  • isShowing
  • mainUI
  • rangeSelected
  • speedPopover
  • title
  • toolbar
  • transitions

Methods - API calls which can only be made on an object returned by a constructor

  • app
  • doHide
  • doOpenProject
  • doShowOnPrimary
  • doShowOnSecondary
  • hide
  • show
  • showOnPrimary
  • showOnSecondary

API Documentation

Functions

matches

   
Signature cp.apple.finalcutpro.timeline.Timeline.matches(element) -> boolean
Type Function
Description Checks to see if an element matches what we think it should be.
Parameters
  • element - An axuielementObject to check.
Returns
  • true if matches otherwise false.
Notes
  • element should be an AXGroup, which contains an AXSplitGroup with an
  • AXIdentifier of _NS:237 (as of Final Cut Pro 10.4)
Examples None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 42

matchesMain

   
Signature cp.apple.finalcutpro.timeline.Timeline.matchesMain(element) -> boolean
Type Function
Description Checks to see if an element matches what we think it should be.
Parameters
  • element - An axuielementObject to check.
Returns
  • true if matches otherwise false
Notes
  • element should be an AXSplitGroup with an AXIdentifier of _NS:237
  • (as of Final Cut Pro 10.4)
  • Because the timeline contents is hard to detect, we look for the timeline
  • toolbar instead.
Examples None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 62

Constructors

Timeline

   
Signature cp.apple.finalcutpro.timeline.Timeline(app) -> Timeline
Type Constructor
Description Creates a new Timeline instance.
Parameters
  • app - The cp.apple.finalcutpro object.
Returns
  • A new Timeline object.
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 107

Fields

contents

   
Signature cp.apple.finalcutpro.timeline.Timeline.contents <cp.apple.finalcutpro.timeline.Contents>
Type Field
Description The Timeline Contents. The Content is the main body of the timeline,
Notes None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 380

effects

   
Signature cp.apple.finalcutpro.timeline.Timeline.effects <cp.apple.finalcutpro.main.EffectsBrowser>
Type Field
Description The (sometimes hidden) Effect Browser.
Notes None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 388

index

   
Signature cp.apple.finalcutpro.timeline.Timeline.index <cp.apple.finalcutpro.timeline.Index>
Type Field
Description The Index.
Notes None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 427

isFocused

   
Signature cp.apple.finalcutpro.timeline.Timeline.isFocused <cp.prop: boolean>
Type Field
Description Is the timeline focused?
Notes None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 179

isOnPrimary

   
Signature cp.apple.finalcutpro.timeline.Timeline.isOnPrimary <cp.prop: boolean; read-only>
Type Field
Description Checks if the Timeline is on the Primary Display.
Notes None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 138

isOnSecondary

   
Signature cp.apple.finalcutpro.timeline.Timeline.isOnSecondary <cp.prop: boolean; read-only>
Type Field
Description Checks if the Timeline is on the Secondary Display.
Notes None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 128

isPlaying

   
Signature cp.apple.finalcutpro.timeline.Timeline.isPlaying <cp.prop: boolean>
Type Field
Description Is the timeline playing?
Notes None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 172

isShowing

   
Signature cp.apple.finalcutpro.timeline.Timeline.isShowing <cp.prop: boolean; read-only>
Type Field
Description Checks if the Timeline is showing on either the Primary or Secondary display.
Notes None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 148

mainUI

   
Signature cp.apple.finalcutpro.timeline.Timeline.mainUI <cp.prop: hs.axuielement; read-only>
Type Field
Description Returns the axuielement representing the 'timeline', or nil if not available.
Notes None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 158

rangeSelected

   
Signature cp.apple.finalcutpro.timeline.Timeline.rangeSelected <cp.prop: boolean; read-only>
Type Field
Description Checks if a range is selected in the timeline.
Notes None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 416

speedPopover

   
Signature cp.apple.finalcutpro.timeline.Timeline.speedPopover <cp.apple.finalcutpro.timeline.SpeedPopover>
Type Field
Description The SpeedPopover.
Notes None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 472

title

   
Signature cp.apple.finalcutpro.timeline.Timeline.title <cp.ui.StaticText>
Type Field
Description The StaticText containing the title.
Notes None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 409

toolbar

   
Signature cp.apple.finalcutpro.timeline.Timeline.toolbar <Toolbar>
Type Field
Description The bar at the top of the timeline.
Notes None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 402

transitions

   
Signature cp.apple.finalcutpro.timeline.Timeline.transitions <cp.apple.finalcutpro.main.EffectsBrowser>
Type Field
Description The (sometimes hidden) Transitions Browser.
Notes None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 395

Methods

app

   
Signature cp.apple.finalcutpro.timeline.Timeline:app() -> App
Type Method
Description Returns the app instance representing Final Cut Pro.
Parameters
  • None
Returns
  • App
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 186

doHide

   
Signature cp.apple.finalcutpro.timeline.Timeline:doHide() -> cp.rx.go.Statement
Type Method
Description Returns a Statement that will hide the Timeline (regardless of whether it was on the Primary or Secondary window).
Parameters
  • None
Returns
  • A Statement ready to run.
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 342

doOpenProject

   
Signature cp.apple.finalcutpro.timeline.Timeline:doOpenProject(title) -> cp.rx.go.Statement
Type Method
Description Opens a project from the timeline navigation popups.
Parameters
  • title - The title of the project you want to open.
Returns
  • The Statement to run.
Notes
  • The title supports patterns, so you can do things like:
  • require("cp.apple.finalcutpro").timeline:doOpenProject("Audio.*"):Now()
Examples None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 448

doShowOnPrimary

   
Signature cp.apple.finalcutpro.timeline.Timeline:doShowOnPrimary() -> cp.rx.go.Statement <boolean>
Type Method
Description Returns a Statement that will ensure the timeline is in the primary window.
Parameters
  • timeout - The timeout period for the operation.
Returns
  • A Statement which will send true if it successful, or false otherwise.
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 252

doShowOnSecondary

   
Signature cp.apple.finalcutpro.timeline.Timeline:doShowOnSecondary() -> cp.rx.go.Statement <boolean>
Type Method
Description Returns a Statement that will ensure the timeline is in the secondary window.
Parameters
  • timeout - The timeout period for the operation.
Returns
  • A Statement which will send true if it successful, or false otherwise.
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 300

hide

   
Signature cp.apple.finalcutpro.timeline.Timeline:hide() -> Timeline
Type Method
Description Hide's the Timeline (regardless of whether it was on the Primary or Secondary display).
Parameters
  • None
Returns
  • Timeline object.
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 321

show

   
Signature cp.apple.finalcutpro.timeline.Timeline:show() -> Timeline
Type Method
Description Show's the Timeline on the Primary Display.
Parameters
  • None
Returns
  • Timeline object.
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 205

showOnPrimary

   
Signature cp.apple.finalcutpro.timeline.Timeline:showOnPrimary() -> Timeline
Type Method
Description Show's the Timeline on the Primary Display.
Parameters
  • None
Returns
  • Timeline object.
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 228

showOnSecondary

   
Signature cp.apple.finalcutpro.timeline.Timeline:showOnSecondary() -> Timeline
Type Method
Description Show's the Timeline on the Secondary Display.
Parameters
  • None
Returns
  • Timeline object.
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/timeline/Timeline.lua line 280