When you import a footage item, the date of the file is listed in the Project tab (see image below). If the actual file on disk is updated, is there a way to determine if the footage item in the project needs to be updated? I'm able to get the modified date of the file on disk, but can't seem to figure out how to get the date of the footage item listed in the project.
ExtendScript doesn't currently allow direct access to that item property on the project side unfortunately. What you may be able to do is create a .txt document via script that lists all your project assets with the current modified date in a array style layout with item id's used as variable names.
var projItem1 = ["Mon", "Jan", "31", "12:57:20"];
var projItem20 = ["Sun", "Mar", "5", "3:10:00"];
var projItem9 = ["Wed", "Jun", "10", "1:24:11"];
...and so on.
To do that you would need to loop through all items checking for the item types you want (stills, audio, video, etc...). Then saving their id. Then take the .modified values of each file and split the value into an array using the .split(" ") method. So "Mon Jan 30 2012 10:43:30 GMT-0800" would basically get broken down into separate array items like so...
var myItem = app.project.item(1).file.modified;
var miSplit = myItem.split(" ");
//You can now access each section of the modified date by the array index number.
alert(miSplit + " " + miSplit + " " + miSplit + " " + miSplit);
You would then have to combine all the info into a single string that would get written to your document. Something like...
"var projItem" + myItemID + " = [\"" + miSplit + "\", \"" + miSplit + "\", \"" +miSplit + "\", \"" + miSplit + "\"];";
You would then run a script to check this database up against the current modified values of the items and if they differ, you can tell if they are newer or not. I'm generalizing this whole description of course, in reality it would be a chore to script out, but not impossible though.
This is just another idea, but you can run a script that will loop through all project items and write the primitive date value in milliseconds returned by:
to the comment field of the item if it's empty, if the comment field is not empty then it will check to see if the modified.valueOf() is different from the one in the comment field. If it is different, it will write the new value to the comment field and inform you that it's been changed. Provided of course that you don't use the comment field for other things, in which case you can just append it to existing comments and do some parsing.