Skip to main content
Curtis-B
Participant
October 23, 2018
Question

How to Edit Capture Time With TIFF Images?

  • October 23, 2018
  • 3 replies
  • 1974 views

In the "What's New" article for your new Oct 2018 version 9 of Adobe Bridge, it states that:

"Adobe Bridge now lets you change the capture time of the JPEG and RAW image files, just like the way it is done in Adobe Lightroom."

I have a massive collection of photographs I've scanned on a flatbed scanner and saved in the .TIFF format. When I load these into the new version of Bridge and go to use this "Edit Capture Time," it's always grayed out and I can't select it.

Question: Are we really only allowed to edit the capture time of JPEG and RAW images, or am I doing something wrong?

Thanks for any help!

    This topic has been closed for replies.

    3 replies

    Stephen Marsh
    Community Expert
    Community Expert
    November 2, 2018

    Does this script by Paul Riggott help?

    https://raw.githubusercontent.com/Paul-Riggott/PS-Scripts/master/Change%20CreateDate.jsx

    Prepression: Downloading and Installing Adobe Scripts

    #target bridge

    if( BridgeTalk.appName == "bridge" ) {

    var menu = MenuElement.find ('myBridgeMenu');

    if (menu == null){

    var newMenu = MenuElement.create( "menu", "Bridge", "before tools/ps", "myBridgeMenu" );

    changeDate = MenuElement.create( "command", "Change CreateDate", "at the end of myBridgeMenu" );

    }else{

      changeDate = MenuElement.create( "command", "Change CreateDate", "at the end of myBridgeMenu" );

      }

    }

    changeDate.onSelect = function () {

    if(app.document.selectionLength == 0){

      alert("No documents are selected");

      return;

      }

    thumbs= app.document.getSelection("psd, jpg, tif, dng");

    thumbsRaw = app.document.getSelection("3fr,crw,cr2,tiff,raw,rw2,nef,orf,erf,mef,mos,dcr,raf,rwl,srf,sr2,pef,x3f,arw,kdc,mrw,iiq,nrw,srw");

    if(thumbs.length == 0 && thumbsRaw.length == 0) {

      alert("No valid documents are selected");

      return;

      }

    var win = new Window('dialog','CreateDate');

    g = win.graphics;

    var myBrush = g.newBrush(g.BrushType.SOLID_COLOR, [0.99, 0.99, 0.99, 1]);

    var myPen =g.newPen (g.PenType.SOLID_COLOR, [0.00, 0.00, 0.00, 1],lineWidth=1);

    g.backgroundColor = myBrush;

    g.foregroundColor = myPen;

    win.alignChildren="row";

    win.g10 = win.add('group');

    win.g10.orientation = "row";

    win.title = win.g10.add('statictext',undefined,"Change CreateDate");

    win.title.helpTip="Written by Paul Riggott";

    win.title.alignment="bottom";

    var g = win.title.graphics;

    try{g.font = ScriptUI.newFont("Georgia","BOLDITALIC",26);

    }catch(e){g.font = ScriptUI.newFont("Arial","BOLDITALIC",26);}

    win.p1= win.add("panel", undefined, undefined, {borderStyle:"black"});

    win.g2 =win.p1.add('group');

    win.g2.orientation = "row";

    win.g2.alignment="left";

    win.g2.rb1 = win.g2.add('radiobutton',undefined,'Add to Date');

    win.g2.rb2 = win.g2.add('radiobutton',undefined,'Subtract from Date');

    win.g2.rb1.value=true;

    win.g2.cb2 = win.g2.add('checkbox',undefined,'Set all dates same as createdate');

    win.g2.cb2.helpTip="Non RAW files only!";

    win.g3 =win.p1.add('group');

    win.g3.orientation = "row";

    win.g3.alignment="left";

    win.g3.st1 = win.g3.add('statictext',undefined,'Weeks');

    win.g3.dd1 = win.g3.add('dropdownlist');

    win.g3.dd1.preferredSize=[50,20];

    for(var a = 0;a<53;a++){win.g3.dd1.add('item',a);}

    win.g3.dd1.selection=0;

    win.g3.st2 = win.g3.add('statictext',undefined,'Days');

    win.g3.dd2 = win.g3.add('dropdownlist');

    win.g3.dd2.preferredSize=[50,20];

    for(var a = 0;a<7;a++){win.g3.dd2.add('item',a);}

    win.g3.dd2.selection=0;

    win.g3.st3 = win.g3.add('statictext',undefined,'Hours');

    win.g3.dd3 = win.g3.add('dropdownlist');

    win.g3.dd3.preferredSize=[50,20];

    for(var a = 0;a<24;a++){win.g3.dd3.add('item',a);}

    win.g3.dd3.selection=0;

    win.g3.st4 = win.g3.add('statictext',undefined,'Minutes');

    win.g3.dd4 = win.g3.add('dropdownlist');

    win.g3.dd4.preferredSize=[50,20];

    for(var a = 0;a<60;a++){win.g3.dd4.add('item',a);}

    win.g3.dd4.selection=0;

    win.g3.st5 = win.g3.add('statictext',undefined,'Seconds');

    win.g3.dd5 = win.g3.add('dropdownlist');

    win.g3.dd5.preferredSize=[50,20];

    for(var a = 0;a<60;a++){win.g3.dd5.add('item',a);}

    win.g3.dd5.selection=0;

    win.g4 =win.p1.add('group');

    win.g4.orientation = "row";

    win.g4.bu1 = win.g4.add('button',undefined,'Process selected files');

    win.g4.bu1.preferredSize=[240,35];

    win.g4.bu2 = win.g4.add('button',undefined,'Cancel');

    win.g4.bu2.preferredSize=[240,35];

    win.g4.bu1.onClick = function(){

    try{

    var sec = 1000;

    var min = sec * 60;

    var hour = min * 60;

    var day = hour * 24;

    var week = day * 7;

    var changeTime = 0;

    changeTime += win.g3.dd5.selection.index * sec;

    changeTime += win.g3.dd4.selection.index * min;

    changeTime += win.g3.dd3.selection.index * hour;

    changeTime += win.g3.dd2.selection.index * day;

    changeTime += win.g3.dd1.selection.index * week;

    if(changeTime == 0) {

      alert("You have not selected any time!");

      win.g3.dd5.selection.active=true;

      return;

      }

    win.close(0);

    if (ExternalObject.AdobeXMPScript == undefined) ExternalObject.AdobeXMPScript = new ExternalObject("lib:AdobeXMPScript");

    for(var z in thumbs){

    var md = thumbs.synchronousMetadata;

    md.namespace = "http://ns.adobe.com/exif/1.0/";

    var DateCreated = md.DateTimeOriginal ? new XMPDateTime(md.DateTimeOriginal.toString()).getDate().getTime() : thumbs.spec.created.getTime();

    if(win.g2.rb1.value){

    var newDate = DateCreated + changeTime;

    }else{

      var newDate = DateCreated - changeTime;

      }

    md.DateTimeOriginal ='';

    md.DateTimeOriginal = new XMPDateTime(new Date(newDate));

    if(win.g2.cb2.value){

      md.namespace = "http://ns.adobe.com/photoshop/1.0/";

      md.DateCreated = '';

      md.DateCreated = new XMPDateTime(new Date(newDate));

      md.namespace = "http://ns.adobe.com/xap/1.0/";

      md.CreateDate='';

      md.CreateDate = new XMPDateTime(new Date(newDate));

      md.ModifyDate='';

      md.ModifyDate = new XMPDateTime(new Date(newDate));

      md.MetadataDate='';

      md.MetadataDate= new XMPDateTime(new Date(newDate));

      }

      }

    ////////////// Process Raw ///////////

    for(var r in thumbsRaw){

    var md = thumbsRaw.synchronousMetadata;

    md.namespace = "http://ns.adobe.com/exif/1.0/";

    var DateCreated = md.DateTimeOriginal ? new XMPDateTime(md.DateTimeOriginal.toString()).getDate().getTime() : thumbs.spec.created.getTime();

    var Name = File(thumbsRaw.spec).name.replace(/\.[^\.]+$/, '');

    var file = File(thumbsRaw.spec.path + "/" + Name + ".xmp");

      if(file.exists){

      file.open('r');

      file.encoding = "UTF8";

      file.lineFeed = "unix";

      file.open("r", "TEXT", "????");

      var xmpStr = file.read();

      file.close();

      }else{

      var xmpStr='';

      }

    var xmp = new XMPMeta( xmpStr );

    if(win.g2.rb1.value){

    var newDate = DateCreated + changeTime;

    }else{

      var newDate = DateCreated - changeTime;

      }

    if( xmp.doesPropertyExist(XMPConst.NS_EXIF, "DateTimeOriginal" ) ) xmp.deleteProperty( XMPConst.NS_EXIF, "DateTimeOriginal" );

      xmp.setProperty( XMPConst.NS_EXIF, "DateTimeOriginal" ,new XMPDateTime(new Date(newDate)));

      file.open('w');

      file.encoding = "UTF8";

      file.lineFeed = "unix";

      file.write( xmp.serialize() );

      file.close();

    }

    }catch(e){alert(e + "\n" + e.line);}

    }

    var result = win.show();

    if(result == 0){

    app.document.chooseMenuItem("PurgeCacheForSelected");

    alert("All done");

    }

    };

    Chuck Uebele
    Community Expert
    Community Expert
    October 24, 2018

    Another workaround hack would be to paste the scans into an existing image shot with a camera, then you can change the capture time using Bridge. Not the speediest method.

    Adobe Employee
    October 26, 2018

    Dear Users,

    Please post this as a feature request on Adobe Bridge Feedback

    Regards,

    Abhishek Seth.

    Curtis-B
    Curtis-BAuthor
    Participant
    October 29, 2018

    Alright, so with AbhishekSeth12's suggestion (above) that I make this a feature request, it appears Adobe Bridge CC 2019 for sure can't edit the "Capture Time" of a .TIFF file.

    For anyone reading this thread who ALSO feels let down that their copy of Adobe Bridge can't edit your .TIFF files, please go to this link where I just added this as a feature request, and click the top left button that reads "VOTE," so this will be added to a development ticket and eventually written into the core software.

    Feature Request Link:  Allow "Edit Capture Time" to Also Modify .TIFF files for Those Who Scan and Archive Old Photos! – Adobe Bridge Feedback

    Thank you!

    Chuck Uebele
    Community Expert
    Community Expert
    October 23, 2018

    I believe the change capture time only works with images that are made with a camera, as scanners don't create a capture time in the metadata.

    Stephen Marsh
    Community Expert
    Community Expert
    October 24, 2018

    The fallback, as always with metadata, would be ExifTool…

    Curtis-B
    Curtis-BAuthor
    Participant
    October 24, 2018

    Thanks for the referral of ExifTool Stephen. Appreciate it.

    An additional application like this is certainly an option, though of course, it requires more work and deeper concentration to go back and forth from one to the other with two entirely different interfaces. And it's also certainly a lot harder for me to teach people (on my website) how to handle the whole workflow of scanning and organizing photos when you tell them how many different pieces of software they will need to acquire and learn to use just to do certain tasks. Their eyes just glaze over when they realize all of the additional complications.