I notice on FCPX 10.4.4 and Mojave 10.14.2 that if external media (ie imported with "leave files in place") is moved to another location on the volume, it does not require relinking. No matter how many files are moved, how far they are moved, how deeply nested, etc. Provided they are on the same volume I never see any red missing clips.
Has it always been this way? I seem to recollect it didn't always behave this way but maybe I was thinking about external proxies which don't have this behavior.
This is confusing since symlinks (not aliases) are used within the library to point to the media file. Symlinks are path-dependent and if the target is moved it should cause an error. By contrast aliases do an inode lookup, so the target file can be moved anywhere on the volume and it will be found.
Even though Finder identifies them both as "aliases", you can distinguish between them by doing CMD+I. An alias will show the the button "Select New Original", whereas a symlink will not. In terminal, ls -l on a symlink will show the path to the target, whereas an alias looks like a regular file.
I also tried disabling Spotlight to make sure it wasn't doing a fast indexed lookup. It wasn't.
This implies that FCPX is storing within the library the inode for each original media file. It is apparently not doing this for external proxies, otherwise they would not be so "brittle" and go off line so easily.
Just this week Howard Oakley has been writing some articles about how HFS+ and APFS handles files and folders for various forms of "Copy/Clone/Aliases/Symlinks/…" Interesting read think you will find your answers here.…
I have a lot of respect for Howard and his work, so very worth checking out his site. He has many free apps and tools that he has written available in the "Downloads" tab. His other love is Art.
It will prove helpful for posters to state what format the drives are in, and where media files are stored. You specifically said this is an external drive, so it could be formatted in any number of ways.
joema wrote: I notice on FCPX 10.4.4 and Mojave 10.14.2 that if external media (ie imported with "leave files in place") is moved to another location on the volume, it does not require relinking. No matter how many files are moved, how far they are moved, how deeply nested, etc. Provided they are on the same volume I never see any red missing clips....
To elaborate, it's not restricted to moving a folder containing a group of media files. All media files can be individually moved from any location to any other location on the volume, all combined in one big folder, or spread across many new folders, or nested 10 levels deep -- it doesn't matter. FCPX will never lose track of these and relinking is not required (at least in the current FCPX version and using HFS+ on Mojave). Relink is only needed if moving the external media files to another disk volume.
Under the covers FCPX upon startup is updating the symlinks inside the library to point to the new physical location of each moved media file. How it determines those locations so rapidly, I don't know. I speculate they are storing inside the library the inode for each external media file. Given the inode and drive ID, the system itself will locate the file for you. However I have inspected snapshots of the SQL tables inside CurrentVersion.fcpevent before and after importing a clip, and I don't see the inode in an obvious place. But a lot of the data is stored as Binary Large Objects in the table ZCOLLECTIONSMD which is connected by a PK<->FK relationship to the main table ZCOLLECTIONS.
The main reason for investigating this is external proxies are not handled that way, and this can cause problems. Even though Ripple Training documented the procedure for using external proxies (and I use it), in hindsight I'm not sure it's a good idea. The slightest location change or drive name change will make them go offline, and they cannot be relinked. As currently designed, proxies are more reliable inside the library, despite this preventing use of a small "lean" library.
Proxy management is so limited in FCPX, it encourages workarounds like those discussed in this article Peter wrote "Cheating Final Cut Pro X proxies to store where you want by using aliases":
At first glance it seems that neat trick solves all the proxy problems and allows relocating and relinking them.
However I've done further testing of that method and it can sometimes cause unexpected behavior, which I am still investigating. In general I suggest caution before using that method in a widespread manner.