# cp.apple.finalcutpro.plugins

Scans an entire system for Final Cut Pro Effects, Generators, Titles & Transitions.

Usage:

    require("cp.apple.finalcutpro"):plugins():scan()

# Submodules


# API Overview

Constants - Useful values which cannot be changed

  • types

Functions - API calls offered directly by the extension

  • clearCaches
  • new
  • scan
  • scanAppEffectsPresets
  • scanned
  • scanSystemAudioUnits
  • scanUserColorPresets
  • scanUserEffectsPresets

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

  • app
  • audioEffects
  • effectBundleStrings
  • effectStrings
  • generators
  • ofType
  • registerPlugin
  • reset
  • scanAll
  • scanAppAudioEffectBundles
  • scanAppBuiltInPlugins
  • scanAppEdelEffects
  • scanAppMotionTemplates
  • scanPluginCategoryDirectory
  • scanPluginsDirectory
  • scanPluginThemeDirectory
  • scanSystemMotionTemplates
  • scanUserMotionTemplates
  • titles
  • transitions
  • translateEffectBundle
  • unwatch
  • videoEffects
  • watch

# API Documentation

# Constants

# types

Signature cp.apple.finalcutpro.plugins.types -> table
Type Constant
Description Table of the different audio/video/transition/generator types.
Notes None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 255

# Functions

# clearCaches

Signature cp.apple.finalcutpro.plugins.clearCaches() -> boolean
Type Function
Description Clears any local caches created for tracking the plugins.
Parameters
  • None
Returns
  • true if the caches have been cleared successfully.
Notes
  • Does not uninstall any of the actual plugins.
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1499

# new

Signature cp.apple.finalcutpro.plugins.new(fcp) -> plugins object
Type Function
Description Creates a new Plugins Object.
Parameters
  • fcp - The cp.apple.finalcutpro object
Returns
  • The plugins object
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1828

# scan

Signature cp.apple.finalcutpro.plugins:scan() -> none
Type Function
Description Scans Final Cut Pro for Effects, Transitions, Generators & Titles
Parameters
  • fcp - the cp.apple.finalcutpro instance
Returns
  • None
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1684

# scanAppEffectsPresets

Signature cp.apple.finalcutpro.plugins:scanAppEffectsPresets(locale) -> none
Type Function
Description Scans Final Cut Pro Built-in Effects Presets
Parameters
  • locale - The locale to scan for.
Returns
  • None
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 419

# scanned

Signature cp.apple.finalcutpro.plugins.scanned() -> boolean
Type Function
Description Gets if the system has been scanned.
Parameters
  • None
Returns
  • true is scanned otherwise false.
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1725

# scanSystemAudioUnits

Signature cp.apple.finalcutpro.plugins:scanSystemAudioUnits(locale) -> none
Type Function
Description Scans for Validated Audio Units, and saves the results to a cache for faster subsequent startup times.
Parameters
  • locale - the locale to scan in.
Returns
  • None
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 314

# scanUserColorPresets

Signature cp.apple.finalcutpro.plugins:scanUserColorPresets(locale) -> none
Type Function
Description Scans Final Cut Pro User Color Presets
Parameters
  • locale - The locale to scan for.
Returns
  • None
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 528

# scanUserEffectsPresets

Signature cp.apple.finalcutpro.plugins:scanUserEffectsPresets(locale) -> none
Type Function
Description Scans Final Cut Pro Effects Presets
Parameters
  • locale - The locale to scan for.
Returns
  • None
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 439

# Methods

# app

Signature cp.apple.finalcutpro.plugins:app() -> plugins
Type Method
Description Returns the cp.apple.finalcutpro object.
Parameters
  • None
Returns
  • The cp.apple.finalcutpro object.
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1339

# audioEffects

Signature cp.apple.finalcutpro.plugins:audioEffects([locale]) -> table
Type Method
Description Finds the 'audio effect' plugins.
Parameters
  • locale - The locale code to search for (e.g. "en"). Defaults to the current FCPX langauge.
Returns
  • A table of the available plugins.
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1393

# effectBundleStrings

Signature cp.apple.finalcutpro.plugins:effectBundleStrings() -> table
Type Method
Description Returns all the Effect Bundle Strings.
Parameters
  • None
Returns
  • The effect bundle strings in a table.
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1062

# effectStrings

Signature cp.apple.finalcutpro.plugins:effectStrings() -> table
Type Method
Description Returns a table of Effects Strings.
Parameters
  • None
Returns
  • A table of effect strings.
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1294

# generators

Signature cp.apple.finalcutpro.plugins:generators([locale]) -> table
Type Method
Description Finds the 'generator' plugins.
Parameters
  • locale - The locale code to search for (e.g. "en"). Defaults to the current FCPX langauge.
Returns
  • A table of the available plugins.
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1435

# ofType

Signature cp.apple.finalcutpro.plugins:ofType(type[, locale]) -> table
Type Method
Description Finds the plugins of the specified type (types.videoEffect, etc.) and if provided, locale.
Parameters
  • type - The plugin type. See types for the complete list.
  • locale - The locale code to search for (e.g. "en"). Defaults to the current FCPX langauge.
Returns
  • A table of the available plugins of the specified type.
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1352

# registerPlugin

Signature cp.apple.finalcutpro.plugins:registerPlugin(path, type, categoryName, themeName, pluginName, locale) -> plugin
Type Method
Description Registers a plugin with the specified details.
Parameters
  • path - The path to the plugin directory.
  • type - The type of plugin
  • categoryName - The category name, in the specified locale.
  • themeName - The theme name, in the specified locale. May be nil if not in a theme.
  • pluginName - The plugin name, in the specified locale.
  • locale - The cp.i18n.localeID or string code for same (e.g. "en", "fr", "de")
Returns
  • The plugin object.
Notes
  • locale defaults to the current Final Cut Pro locale if nothing is supplied.
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 991

# reset

Signature cp.apple.finalcutpro.plugins:reset() -> none
Type Method
Description Resets all the cached plugins.
Parameters
  • None
Returns
  • None
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1048

# scanAll

Signature cp.apple.finalcutpro.plugins:scanAll() -> nil
Type Method
Description Scans all supported locales, loading them into memory.
Parameters
  • None
Returns
  • Nothing
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1738

# scanAppAudioEffectBundles

Signature cp.apple.finalcutpro.plugins:scanAppAudioEffectBundles() -> none
Type Method
Description Scans the Audio Effect Bundles directories.
Parameters
  • directoryPath - Directory to scan
Returns
  • None
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1100

# scanAppBuiltInPlugins

Signature cp.apple.finalcutpro.plugins:scanAppBuiltInPlugins([locale]) -> None
Type Method
Description Scan Built In Plugins.
Parameters
  • locale - The cp.i18n.localeID code to search for. Defaults to the current FCPX langauge.
Returns
  • None
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1449

# scanAppEdelEffects

Signature cp.apple.finalcutpro.plugins:scanAppEdelEffects() -> none
Type Method
Description Scans for Soundtrack Pro EDEL Effects.
Parameters
  • None
Returns
  • None
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1275

# scanAppMotionTemplates

Signature cp.apple.finalcutpro.plugins:scanAppMotionTemplates(locale) -> none
Type Method
Description Scans for app-provided Final Cut Pro Plugins.
Parameters
  • locale - The locale to scan for.
Returns
  • None
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1132

# scanPluginCategoryDirectory

Signature cp.apple.finalcutpro.plugins:scanPluginCategoryDirectory(locale, path, plugin) -> boolean
Type Method
Description Scans a folder as a plugin category folder. The contents will be folders that are either theme folders or actual plugins.
Parameters
  • locale - The locale to scan with.
  • path - The path to the plugin type directory
  • plugin - A table containing the plugin details collected so far.
Returns
  • true if the folder was scanned successfully.
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 901

# scanPluginsDirectory

Signature cp.apple.finalcutpro.plugins:scanPluginsDirectory(locale, path, filter) -> boolean
Type Method
Description Scans a root plugins directory.
Parameters
  • locale - The locale code to scan for (e.g. "en" or "fr").
  • path - The path of the root plugin directory to scan.
  • checkFn - A function which will receive the path being scanned and return true if it should be scanned.
Returns
  • true if the plugin directory was successfully scanned.
Notes
  • Plugins directories have a standard structure which comes in two flavours:
  • ** //.
  • ** ///.
  • ** ////.
  • This is somewhat complicated by 'localization', wherein each of the folder levels may have a .localized extension. If this is the case, it will contain a subfolder called .localized, which in turn contains files which describe the local name for the folder in any number of locales.
  • This function will drill down through the contents of the specified path, assuming the above structure, and then register any contained plugins in the locale provided. Other locales are ignored, other than some use of English when checking for specific effect types (Effect, Generator, etc.).
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 754

# scanPluginThemeDirectory

Signature cp.apple.finalcutpro.plugins:scanPluginThemeDirectory(locale, path, plugin) -> boolean
Type Method
Description Scans a folder as a plugin theme folder. The contents will be plugin folders.
Parameters
  • locale - The locale to scan with.
  • path - The path to the plugin type directory
  • plugin - A table containing the plugin details collected so far.
Returns
  • true if the folder was scanned successfully.
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 938

# scanSystemMotionTemplates

Signature cp.apple.finalcutpro.plugins:scanSystemMotionTemplates(locale) -> none
Type Method
Description Scans for system-provided Final Cut Pro Plugins.
Parameters
  • locale - The locale to scan for.
Returns
  • None
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1214

# scanUserMotionTemplates

Signature cp.apple.finalcutpro.plugins:scanUserMotionTemplates(locale) -> none
Type Method
Description Scans for user-provided Final Cut Pro Plugins.
Parameters
  • locale - The locale to scan for.
Returns
  • None
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1156

# titles

Signature cp.apple.finalcutpro.plugins:titles([locale]) -> table
Type Method
Description Finds the 'title' plugins.
Parameters
  • locale - The locale code to search for (e.g. "en"). Defaults to the current FCPX langauge.
Returns
  • A table of the available plugins.
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1407

# transitions

Signature cp.apple.finalcutpro.plugins:transitions([locale]) -> table
Type Method
Description Finds the 'transitions' plugins.
Parameters
  • locale - The locale code to search for (e.g. "en"). Defaults to the current FCPX langauge.
Returns
  • A table of the available plugins.
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1421

# translateEffectBundle

Signature cp.apple.finalcutpro.plugins:translateEffectBundle(input, locale) -> none
Type Method
Description Translates an Effect Bundle Item.
Parameters
  • input - The original name
  • locale - The locale code you want to attempt to translate to
Returns
  • The translated value for input in the specified locale, if present.
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1084

# unwatch

Signature cp.apple.finalcutpro.plugins:unwatch(id) -> watcher
Type Method
Description Unwatches a watcher with a specific ID.
Parameters
  • id - The ID of the watcher to stop watching.
Returns
  • The watcher object.
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1774

# videoEffects

Signature cp.apple.finalcutpro.plugins:videoEffects([locale]) -> table
Type Method
Description Finds the 'video effect' plugins.
Parameters
  • locale - The locale code to search for (e.g. "en"). Defaults to the current FCPX langauge.
Returns
  • A table of the available plugins.
Notes None
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1379

# watch

Signature cp.apple.finalcutpro.plugins:watch(events) -> watcher
Type Method
Description Adds a watcher for the provided events table.
Parameters
  • events - A table of events to watch.
Returns
  • The watcher object
Notes
  • The events can be:
  • ** videoEffects
  • ** audioEffects
  • ** transitions
  • ** titles
  • ** generators
Examples None
Source src/extensions/cp/apple/finalcutpro/plugins.lua line 1753