Let me start by saying that if by any means you can avoid having to reconnect media in Final Cut Pro X then avoid it. FCPX itself does not support reconnecting media. But I suppose you wouldn’t be reading this if … okay, so how can it be done?
I found a way to do it but it´s neither elegant nor really easy. Be warned that you do this at your own risk.
Let´s first look at how FCPX stores events:
An event is a directory that lies in your Movies/Final Cut Events folder. In this event folder you see the Original Media folder. If you chose to keep the original files where they were when you imported the media into FCPX this folder should contain a number of references to those original files. References that in my case are now broken:
To see where the problem lies open you Terminal.app and navigate to Original Media folder (cd is the command) and list all the files (ls -la):
You can see that in my case the files in that folder are aliases pointing to a network share where I used to have the originals. Please also note that (in my case!) the files have the .MOV suffix in uppercase letters whereas the extensions for the alias names consist of lowercase letters (.mov).
To fix those aliases I first renamed the Original Media folder to Original Media.broken (you can do that in the finder, make sure FCPX is not running). Then I created a new folder called Original Media.
Time to go back to the terminal. cd to the Original Media.broken folder and enter the following command:
for i in `ls *.mov`; do ln -s //NEW_PATH_TO_MEDIA/`echo $i | sed 's/.mov/.MOV/'` ../Original\ Media/$i; done
You have to substitute the NEW_PATH_TO_MEDIA with the appropriate path of course (for those of you who have little terminal experience: The tab key helps you a lot by doing auto completion!).
In my case this looks like this (the new network share is called Footage):
Your newly created Original Media folder should now contain references that point to the right files again:
If you can open those files by double clicking them, then FCPX should also be able to find them again. 😉