Unlocking iMovie '09 & '11
(Warning: If you use this tip, be sure not to use it on clips that have already been added to a project. This tip changes the names of clips, which will break projects that use them. Thanks to Mgarbowski for sharing this in the comments below.)
If you have old analog footage you want to import into iMovie, there are a lot of options for doing so. Most import methods work like MiniDV cameras, where you import the footage directly into iMovie. The problem is that analog footage imported this way doesn't come with timecodes that tell iMovie when the footage was filmed. As a result, iMovie assumes the date of the footage is the current date.
This makes for a confusing Event library. If you view your footage by date, the stuff you really filmed in 1994 actually shows up as being from 2007. iMovie doesn't provide an easy way to change this. But there is a way, and it doesn't require you to change creation dates in the Terminal, or other complicated procedures. It just involves changing some file names. Here is how you change the date of DV event footage.
Although MiniDV footage has a timecode embedded in the file, iMovie uses filenames to organize footage by date. (This is because iMovie is creating new files when it imports DV footage, not copying existing files off of a camera. Other cameras' footage is sorted by the creation date of the files stored on the camera. I explain this more at the bottom of this post.) Presumably, when iMovie imports footage it looks for a timecode. If one exists, it names the imported DV clip with the timecode. If an embedded timecode doesn't exist--like with analog footage--it will use the current date to name the footage. Here is a list of some timecode-named clips
Here is where the footage exists in the Event library.
Because iMovie uses the names to evaluate the dates of the footage, this means that if you just change the names of footage to reflect the correct date, iMovie will change the date it uses to display the footage in the Event library.
Here is our list of clips again, but the dates were all changed to 1908.
Here is how they appear now in iMovie.
Everytime your change the names, iMovie will regenerate the thumbnails for the newly named footage. It doesn't delete the old thumbnail files, but you can delete the old ones yourself. They reside in the iMovie Thumbnails folder inside a given event folder. You can delete all of the thumbnails that use the old names you changed.
Other interesting behavior occurs if you have multiple dates in a single event. iMovie will group them into the year of the most recent footage. If I have footage from 1908 and 2006 in the same event, they will be listed under 2006.
Here is the renamed footage.
Here is how it appears in iMovie. Notice the date range listed under the clips.
If you split this event using the "Split Event Before Selected Clip option in the File menu--one event for the 1908 footage and one for the 2006 footage--iMovie will then display them under the proper years, respectively.
The timecode names are easy to interpret. Here is what a sample filename means:
The "clip-" is just part of the naming convention, and doesn't effect the name.
The "2006" refers to the year.
The "07" refers to the month.
The "15" refers to the day.
The 19;19;56 refers to the hour, minute, and second of the footage's beginning.
To change the name, just select the file in the Finder and hit enter. The text of the name will be highlighted and ready for your to change to the date you see fit.
This entire description works with DV footage, but I can't speak for other video formats as I don't have a wide range of cameras to play with. I do know that iMovie uses the file creation date for clips downloaded from still cameras. Replacing a name like "MVI_0186.AVI" with a timecode name like "clip-2006-07-15 19;19;56.AVI" doesn't change the date of the footage in the Event library. Still, footage like this may not need to have its date changed. I imagine that changing the creation date with some advanced tools would have the desired effect, but that is another topic for another day...