require
the cp.apple.finalcutpro
module to import it, like so:UpperCase
files, which represent the application itself:MenuBar
- The main menu bar.prefs/PreferencesWindow
- The preferences window.fcp
variable is the root application. It has functions which allow you to perform tasks or access parts of the UI. For example, to open the Preferences
window, you can do this:Preferences
window, navigate to the 'Import' panel and toggle the checkbox.UpperCase
classes also have a variety of UI
methods. These will return the axuielement
for the relevant GUI element, if it is accessible. If not, it will return nil
. These allow direct interaction with the GUI if necessary. It's most useful when adding new functions to UpperCase
files for a particular element.Preferences
window to finish loading before doing something else, you can do this with the just library:just
library, we can do a loop waiting until the function returns a result that will give up after a certain time period (10 seconds by default).cp.apple.finalcutpro
instance. For example:cp.apple.finalcutpro.ALLOWED_IMPORT_AUDIO_EXTENSIONS -> table
cp.apple.finalcutpro.ALLOWED_IMPORT_EXTENSIONS -> table
cp.apple.finalcutpro.ALLOWED_IMPORT_IMAGE_EXTENSIONS -> table
cp.apple.finalcutpro.ALLOWED_IMPORT_VIDEO_EXTENSIONS -> table
cp.apple.finalcutpro.EARLIEST_SUPPORTED_VERSION -> string
cp.apple.finalcutpro.EVENT_DESCRIPTION_PATH -> string
cp.apple.finalcutpro.FLEXO_LANGUAGES -> table
cp.apple.finalcutpro.PASTEBOARD_UTI -> string
cp.apple.finalcutpro.preferences <cp.app.prefs>
cp.app.prefs
for Final Cut Pro.cp.apple.finalcutpro.WORKSPACES_PATH -> string
cp.apple.finalcutpro.activeCommandSet <cp.prop: table; live>
table
. The result is cached, butcp.apple.finalcutpro:customWorkspaces <cp.prop: table; live>
cp.apple.finalcutpro:openAndSavePanelDefaultPath <cp.prop: string>
cp.apple.finalcutpro.selectedWorkspace <cp.prop: string; live>
cp.apple.finalcutpro.commandSet(path) -> string
path
- The path to the Command Set.nil
if there was a problem.cp.apple.finalcutpro.main.CommandEditor.matches(element) -> boolean
axuielementObject
to check.true
if matches otherwise false
cp.apple.finalcutpro.viewer.TranscodeMedia.matches(element) -> boolean
TranscodeMedia
instance.axuielement
to check.true
if it matches the pattern for a Viewer
TranscodeMedia
.cp.apple.finalcutpro.userCommandSetPath() -> string or nil
nil
if the folder doesn't exist.cp.apple.finalcutpro.workflowExtensions() -> table
cp.apple.finalcutpro.main.Color(app) -> Color
Color
instance.Color
.cp.apple.finalcutpro.viewer.TranscodeMedia(viewer)
TranscodeMedia
instance.TranscodeMedia
.cp.apple.finalcutpro.activeCommandSetPath <cp.prop: string>
cp.apple.finalcutpro.alert <cp.ui.Alert>
cp.apple.finalcutpro.inspector.color.VideoInspector.audioEnhancements <cp.prop: PropertyRow>
cp.apple.finalcutpro.timeline.audioLanes <cp.prop: boolean>
cp.apple.finalcutpro.backgroundTasksDialog <cp.apple.finalcutpro.main.BackgroundTasksDialog>
cp.apple.finalcutpro.browser <cp.apple.finalcutpro.main.Browser>
cp.apple.finalcutpro.color <ColorInspector>
cp.apple.finalcutpro.colorBoard <ColorBoard>
cp.apple.finalcutpro.presfs.GeneralPanel.colorCorrection <cp.ui.PopUpButton>
PopUpButton
.cp.apple.finalcutpro.commandEditor <CommandEditor>
cp.apple.finalcutpro.inspector.color.ShareInspector.contentUI <cp.prop: hs._asm.axuielement; read-only>
axuielement
containing the properties rows, if available.cp.apple.finalcutpro.inspector.color.TextInspector.contentUI <cp.prop: hs._asm.axuielement; read-only>
axuielement
containing the properties rows, if available.cp.apple.finalcutpro.inspector.color.TextInspector.deselectAll <cp.ui.Button>
cp.apple.finalcutpro.inspector.color.VideoInspector.effects <cp.prop: PropertyRow>
cp.apple.finalcutpro.effects <cp.apple.finalcutpro.main.EffectsBrowser>
cp.apple.finalcutpro.eventViewer <cp.apple.finalcutpro.viewer.Viewer>
cp.apple.finalcutpro.exportDialog <cp.apple.finalcutpro.main.ExportDialog>
cp.apple.finalcutpro.findAndReplaceTitleText <cp.apple.finalcutpro.main.FindAndReplaceTitleText>
cp.apple.finalcutpro.fullScreenWindow <FullScreenWindow>
cp.apple.finalcutpro.generators <cp.apple.finalcutpro.main.GeneratorsBrowser>
cp.apple.finalcutpro.inspector <cp.apple.finalcutpro.inspector.Inspector>
cp.apple.finalcutpro.presfs.GeneralPanel.inspectorUnits <cp.ui.PopUpButton>
PopUpButton
.cp.apple.finalcutpro:isFrontmost <cp.prop: boolean; read-only; live>
cp.apple.finalcutpro.isInstalled <cp.prop: boolean; read-only>
cp.apple.finalcutpro:isModalDialogOpen <cp.prop: boolean; read-only>
cp.apple.finalcutpro.main.Viewer.isPlaying <cp.prop: boolean>
cp.apple.finalcutpro.main.ControlBar.isPlaying <cp.prop: boolean>
cp.apple.finalcutpro.isRunning <cp.prop: boolean; read-only>
cp.apple.finalcutpro.isShowing <cp.prop: boolean; read-only; live>
cp.apple.finalcutpro.isSupported <cp.prop: boolean; read-only; live>
cp.apple.finalcutpro.isUnsupported <cp.prop: boolean; read-only>
cp.apple.finalcutpro.keywordEditor <KeywordEditor>
cp.apple.finalcutpro.libraries <cp.apple.finalcutpro.main.LibrariesBrowser>
cp.apple.finalcutpro.media <cp.apple.finalcutpro.main.MediaBrowser>
cp.apple.finalcutpro.mediaImport <MediaImport>
cp.apple.finalcutpro.inspector.color.VideoInspector.pan <cp.prop: PropertyRow>
cp.apple.finalcutpro.preferencesWindow <PreferencesWindow>