fcp.co logo transparent
fcp clapperboard
Welcome, Guest
Username: Password: Remember me
14 Nov 2020
Moving over to a new system, we couldn't take the old avatars - so please upload a new one!
  • Page:
  • 1

TOPIC: UPdate library for new version

UPdate library for new version 04 Jan 2021 20:10 #111901

After FCP is updated and I try to open a library it states that the library needs to be updated to work with this version of FCP. No problem....I understand the need. I have a "best practices" question. I have 20+ libraries (1 per year). I rarely open them but "some day" I hope to use them and I want them to work with latest version of FCP. Whenever there is an update, I go through and open each library and update it to work the the latest version of FCP that I am running. Is this wise or necessary? Should I just wait and do it every few years? If necessary, is there a short cut (rather than open each library one at a time)? I read that after 10.1  there was an "Update Projects and Events” in the File menu that would update everything. Did that go away? I don't see it in 10.5.1

Please Log in or Create an account to join the conversation.

UPdate library for new version 04 Jan 2021 20:38 #111902

Update Projects and Events was for pre-10.1 versions of FCPX. The function was removed a few years ago.

Please Log in or Create an account to join the conversation.

Last edit: by Tom Wolsky.

UPdate library for new version 05 Jan 2021 01:54 #111910

  • Ben Balser
  • Ben Balser's Avatar
  • Offline
  • Platinum Boarder
  • Platinum Boarder
  • bbalser.com
  • Posts: 4021
  • Karma: 34
  • Thank you received: 563
Yeah, you're going to have to do it manually... I'd kill for a utility that scans your drives for Libraries and then updates them to the latest version of FCP.

Please Log in or Create an account to join the conversation.

UPdate library for new version 05 Jan 2021 02:03 #111912

Maybe something the Arctic Whiteness guys could work into their software.

Please Log in or Create an account to join the conversation.

UPdate library for new version 05 Jan 2021 04:53 #111914

Thanks all!

Please Log in or Create an account to join the conversation.

UPdate library for new version 05 Jan 2021 19:50 #111948

  • Soran
  • Soran's Avatar
  • Offline
  • Expert Boarder
  • Expert Boarder
  • Posts: 100
  • Karma: 1
  • Thank you received: 0
You're right Ben,
That'll certainly be a very sleek feature for FCP if only Apple adds that feature to the FCP...
Maybe, the Arctic Whiteness comes up with a solution, who knows!

Please Log in or Create an account to join the conversation.

UPdate library for new version 07 Jan 2021 20:58 #111983

Thank you for thinking about us!

First problem: we have absolutely no access to the FCP APIs. It's private.

And even if we had it, we think it would be dangerous to automate this batch update process. Blindly, for safety, this will require a prior backup of each library. If all the libraries were exclusively with external media, we could possibly do some cleanups, then backups, before running the batch update. But in most cases, libraries contain media. They are heavy. It would then be catastrophic to launch a general batch backup ...

No, we believe that such a possibility will put a lot of users in very critical situations. We believe this is a process that should be considered on a case-by-case basis.

Vincent, Arcticwhiteness  :)

Please Log in or Create an account to join the conversation.

Last edit: by Vinc26.

UPdate library for new version 08 Jan 2021 03:55 #111984

  • joema
  • joema's Avatar
  • Offline
  • Platinum Boarder
  • Platinum Boarder
  • Posts: 1775
  • Karma: 27
  • Thank you received: 395
Final Cut Library Manager can scan drives, locate FCP libraries and do various tasks like delete render files. However this is only possible because those items are in well-known folders within the library, and interpretation of the contents isn't required -- just deletion. It is a great and valuable utility, but it is constrained by the opaque "black box" nature of FCP libraries.

The media file metadata and edits themselves are stored in various SQLite databases within the library. There's a database per event and one per project. Each database contains several SQL tables with relational links between them. It is possible to open those tables and read the contents using a SQLite utility or code library, but the schema and data dictionary are not documented. IOW the meaning of values in row/column positions, what columns within a table signify and what tables serve what function -- are all undocumented.

Moreover there are primary<->foreign key links between tables and some of those reference tables with binary (aka "blob") columns. There is no apparent way to decipher (for example) what byte offsets in a row of a blob table signify a URL, inode or bookmark locator.  A single SQL table must be updated in coordination with other tables, else it will break referential integrity and corrupt the database.

It appears the programmer-facing API within FCP or other MacOS apps is Core Data, which implements an object graph (normally in memory) but which can be translated by a lower layer to a persistent data store implemented by SQLite. 

It is possible to observationally determine a few things by exporting to CSV the before/after state of FCP SQL tables and using a utility like Beyond Compare for a "diff" comparison. However that is not remotely sufficient to write a utility to update the tables, or even determine where URL or file locators are stored. 

It will likely not be possible to write a utility of the type discussed until and unless Apple publishes an API for 3rd-party access to FCP libraries. I don't see that ever happening.

Beyond Compare:  www.scootersoftware.com

SQLite database utility:  www.sqlitepro.com

Edit/add: I just remembered Final Cut Library Manager has the optional ability to export to CSV the full pathname of every media file used in a FCP library. I don't know how they do that, but that is impressive!

Please Log in or Create an account to join the conversation.

Last edit: by joema.
  • Page:
  • 1