Skip to content
This repository has been archived by the owner on Jun 9, 2023. It is now read-only.

Latest commit

 

History

History
144 lines (122 loc) · 11.3 KB

plugins.finalcutpro.browser.layouts.md

File metadata and controls

144 lines (122 loc) · 11.3 KB

docs » plugins.finalcutpro.browser.layouts


Allows you to save and restore Browser Layouts.

This plugin creates two different types of actions:

Save/Restore Browser Layout to Memory This feature allows you save and restore five custom browser layouts, which can be easily triggered by a CommandPost action, such as a keyboard shortcut.

Save/Restore/Set Browser Layout for Selected Collection* This feature allows you to save a browser layout for the currently selected collection. This feature will only work if a single collection (either Keyword Collection or Smart Collection) is selected - if more than one is selected then you'll just hear an error beep. Once you save a browser layout, then the next time you click on the collection with your mouse, your previously saved browser layout will be automatically restored. Browser layouts are only automatically loaded when you use your mouse - collection layouts won't be loaded if you change collections using keyboard shortcuts. You can also temporarily prevent a browser layout from automatically loading by holding down the OPTION key.

Developer Note: This plugin currently uses a hs.eventtap rather than AX Notifications, because in testing we found the AX Notifications to be too unreliable. We also opted to just use the collection name as the reference point, rather than the path to the collection name (i.e. "Edits" instead of "Library Name > Event Name > Folder Name > Collection Name") so that browser layouts can easily be common across multiple libraries (i.e if you always have a Smart Collection called "Edits", then this smart collection will always have the same browser layout across all your libraries.

We're also currently using the menu position for selecting "Show/Hide All Columns" as the strings for these values are contained within a .nib file not a .strings file.

API Overview

API Documentation

Variables

Signature plugins.finalcutpro.browser.layouts.busy -> boolean
Type Variable
Description Are we already in the process of doing something?

| Signature | plugins.finalcutpro.browser.layouts.lastCollection -> string | nil | | -----------------------------------------------------|---------------------------------------------------------------------------------------------------------| | Type | Variable | | Description | The last collection registered. |

Functions

Signature plugins.finalcutpro.browser.layouts.getActiveColumnsNames() -> table
Type Function
Description Get active column names in a table.
Parameters
  • None
Returns
  • A table of active column names or an empty table if something goes wrong.

| Signature | plugins.finalcutpro.browser.layouts.getClipNameSize() -> string | nil | | -----------------------------------------------------|---------------------------------------------------------------------------------------------------------| | Type | Function | | Description | Gets the Clip Name Size as a string. | | Parameters |

  • None
| | Returns |
  • The Clip Name Size as a string or nil if cannot be found.
|

| Signature | plugins.finalcutpro.browser.layouts.getSingleSelectedCollection() -> string | nil | | -----------------------------------------------------|---------------------------------------------------------------------------------------------------------| | Type | Function | | Description | If a single collection is selected in the browser it's value is returned as a string. | | Parameters |

  • None
| | Returns |
  • A string if successful otherwise nil.
|

Signature plugins.finalcutpro.browser.layouts.resetBrowserLayoutForSelectedCollection() -> none
Type Function
Description Reset Browser Layout for selected collection.
Parameters
  • None
Returns
  • None
Notes
  • An error sound will play if there's nothing to reset.
Signature plugins.finalcutpro.browser.layouts.restoreBrowserLayoutForSelectedCollection() -> none
Type Function
Description Restore Browser Layout for selected collection.
Parameters
  • None
Returns
  • None
Notes
  • An error sound will play if there's nothing to restore.
Signature plugins.finalcutpro.browser.layouts.restoreLayoutFromTable(layout) -> boolean
Type Function
Description Restore Layout from Table.
Parameters
  • layout - The layout settings in a table.
Returns
  • true if successful otherwise false
Signature plugins.finalcutpro.browser.layouts.saveBrowserLayoutForSelectedCollection() -> none
Type Function
Description Save Browser Layout for selected collection.
Parameters
  • None
Returns
  • None
Notes
  • An error sound will play if there's nothing to save.

| Signature | plugins.finalcutpro.browser.layouts.saveLayoutToTable() -> table | boolean | | -----------------------------------------------------|---------------------------------------------------------------------------------------------------------| | Type | Function | | Description | Save Layout to Table. | | Parameters |

  • None
| | Returns |
  • A table containing the layout settings if successful otherwise false.
|

Signature plugins.finalcutpro.browser.layouts.setupWatcher() -> none
Type Function
Description Creates or destroys the keyboard watcher.
Parameters
  • None
Returns
  • None