Reading in data from IPTC keywords from a CSV and writing those keywords to TIFF images
Hi All,
I have a client that I'm working with that has a specific request for a script, or possibly a plugin. I'm interested in both hearing if folks here think it is feasible, and also if anybody here would be interested in doing the work on this.
I have never done PhotoShop scripting and I think it would be the best use of resources to subscontract this out, unless it proves exceedingly easy. The kind of thing someone can do in a single forum post. In which case, if you do that for me, I'll be sure to get you something for your time as a thank you :-)
Here's the situation: my client runs a niche stock photography business and deals with tens of thousands of hi-res TIFF images. Each of those images is assigned a list of keywords, a serial number, the photographer who took the picture, the date, the location, etc. Lots of information. He's got a FileMaker Pro database where he stores all that information.
Some of those bits of information he also wants in the IPTC data for the TIFF image. The keywords in particular are the main field he's interested in getting into the TIFF images.
He has been dealing with this process manually so far in Bridge CS4. He goes to each image, and copy/pastes the keywords into the IPTC data. But he's interested in figuring out a better way to do this. He can get a spreadsheet that has all the keywords and filenames out of his database, and what we'd like to do is have a Photoshop script that can read in that CSV file, and then scan a directory for TIFF images with those filenames, and write the appropriate keywords onto those TIFF images.
Is this possible? I'm eager to hear feedback on this. Right now he's got a slew of 1800 images that he got on slide film from photographers, and has scanned, but hasn't written the IPTC keywords to yet. If we can use this process on those, that would be great.
-Josh
Hi Paul and Mark,
That link Paul posted looks very promising. I'll have to test it out.
One question: is there anywhere I can get Adobe Bridge CS4? Since that's what my client has, that's what I'd like to test with. I've been looking but can't find anything but the most recent version (CS5) for trial download.
-Josh
Similar Messages
-
My optical drive will not read any music cds or recognize a blank cd. it might read some data cds. what is wrong with it and how can i fix it?
The optics might be dirty. Try running a cleaning CD through it and see if that makes a difference.
If not, it will have to be replace.
Allan -
How to protect read-only data in Swing app from tampering?
First off I am new to cryptography and trying to find the best approach for a problem.
We have a Swing application that uses xml-based template files to display complex forms and validate data entry. Based on the size and complexity of the forms it was deemed better to have a distributed stand-alone application instead of a web-based solution. However, we want to ensure users do not tamper with the template rules in order to pass the validation checks. All of the xml-based template files are distributed within a single jar file.
The first thought was to build a list of check-sums of the template files and to compare the template to the approariate check-sum from within the list before loading a template. This would prevent the more casual user from tampering with the file but not someone knowledgeable in check-sum who could recalculate the CRC and update the list after making changes.
Another thought was to use a private key to encrypt the CRC list before distribution and a public key to decrypt it during execution with the keys maintained in a keystore. However, once again, an adventurous user could weed through the obfuscated code to determine the password to the keystore, create a new keystore with the same password and use its private key to regenerate the CRC list from altered templates.
I feel like there must be a simpler approach that will provide a bullet prove implementation. Any suggestions?I think you have to re-think your design.
Whether you use Java, C#,C or C++ a hacker can look through the binary (class file, exe file etc) and after working out what is happening he can modify your code.
It is my opinion that your best bet is to use client/server but even with that you cannot keep any private data or code on the client.
You will still have to think about 'man-in-the-middle' and 'spoof site' attacks. -
IPhoto reads wrong date of .mov file from iPhone 3GS...help!
Hi all
Need some help/advice please.
I have a bunch of files I am importing in to iPhoto that were initially downloaded to a windows laptop. I used Graphic Converter (GC) to successfully rotate and align the creation/modified dates so iPhoto reads the correct date. Now GC edits the .jpg and .avi file metadata fine, but wont edit .mov files from my iPhone? So now the iPhone videos are strewn all over the place in iPhoto compared to where they should be date-wise. Any ideas on how to fix this issue?
The .mov files in GC show the correct creation date, but iPhoto reads the actuals file's modified date instead of the internal creation date? So strange?
Thanks
JarediPhoto gets it's date and time from the Photos Exif metadata, not the file creation or modification dates. It will only use those if your photos have no Exif.
If you subsequently export these files then the created and modification dates a re very likely to change.
You can adjust the date and time rather more easily in iPhoto (Using either the Photos -> Adjust Date and Time and/or the Photos -> Batch Change commands) You can also write the corrected date and time to the Exif of the oriignals files, and export it along with the file in the future.
I'm not sure what's up with the dates on these mov files, but Movies don't have an Exif. You might want to check with the makers of Graphic Coverter for help.
You know that you can move pics and movies around inside iPhoto, right? Drag them from Event to Event?
Regards
TD -
ImageIo: reading and writing a jpeg corrupts the image
Sometimes, ImageIo manages to read an image wrong. If I simply read() and write() the
image without any transformations, the image writtten will have its colors all wrong. The
output image format here doesn't matter.
An example image is: http://bram.name/~brama/pics/test.jpg
And output after reading and writing it: http://bram.name/~brama/pics/test_output.jpg
Is the image io lib to blame, or is it a broken image? The image displays fine in other programs.
Message was edited by:
Bram_AUse this code to load the image.
From my experience it is much more stable and also faster.
My guess is that the problem is related to the ICC profile embeded in the JPEG.
JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(new URL("http://www.stack.nl/~brama/pics/imageio.jpg").openStream());
BufferedImage image = decoder.decodeAsBufferedImage(); -
How can I read/write data files (text file) from PL/SQL Script
I had an oracle forms pl/sql program to read/write a data file (text file). When this code is run on a command line as a PL/SQL script using the SQL*Plus I am getting an error:
-- sample.sql
DECLARE
vLocation VARCHAR2(50) := 'r:\';
vFilename VARCHAR2(100) := 'sample.dat';
vTio TEXT_IO.FILE_TYPE;
vLinebuf VARCHAR2(2000);
vRownum NUMBER := 0;
-- use array to store data FROM each line of the text file
TYPE array_type IS VARRAY(15) OF VARCHAR2(100);
vColumn array_type := array_type('');
PROCEDURE prc_open_file(p_filename IN VARCHAR, p_access IN VARCHAR2) is
BEGIN
vTio := TEXT_IO.FOPEN(vLocation||p_filename,p_access);
EXCEPTION
WHEN OTHERS then
-- raise_application_error(-20000,'Unable to open '||p_filename);
message(sqlerrm);pause;
END;
PROCEDURE prc_close_file is
BEGIN
IF TEXT_IO.IS_OPEN(vTio) then
TEXT_IO.FCLOSE(vTio);
END IF;
END;
BEGIN
--extend AND initialize the array to 4 columns
vColumn.EXTEND(4,1);
prc_open_file(vFilename,'r');
LOOP
LTEXT_IO.GET_LINE(vTio,vLinebuf);
vColumn(1) := SUBSTR(vLineBuf, 1, 3);
vColumn(2) := SUBSTR(vLineBuf, 5, 8);
vColumn(3) := SUBSTR(vLineBuf,10,14);
Insert Into MySampleTable
Values
(vColumn(1), vColumn(2), vColumn(3));
EXIT WHEN vLinebuf IS NULL;
END LOOP;
prc_close_file;
END;
SQL> @c:\myworkspace\sql\scripts\sample.sql;
PLS-00201: identifier 'TEXT_IO.FILE_TYPE' must be declaredIt works on the oracle forms but not on the SQL*Plus. Is there an alternative method using a PL/SQL script? A simple sample would help. Thanks.Did you ever noticed the search box at the right side of the forum?
A quick search (limited to this years entries) brought up this thread for example
Re: UTL_FILE Examples -
Reading Hex data- how to typecast from string
Hi,
I am reading a file having hex data ( say 100 lines).When i read it i think it is being read as a string.
How can i typecast or convert it to int .
I am using dis.readLine() to read from file and assigning it to a variable(int).
Thanks.
Edited by: Motorcycle on Jun 10, 2009 3:16 PMSorry for that..:)
ok a few lines of the file are as folloes
0x004D1202
0x0002E1E5
0x004C1202
0x0002E1EB
0x004E1202
I tried reading it as data [indr][indc].tag = ( int ) dis.readLine() ;
It said " cannot convert from String to int.
data is a structure having int variables.
Thanks. -
Read XML data without name spaces from PL/SQL
Hi,
I am trying to upload XML data without namespaces into Oracle tables from PL/SQL. Below is the sample XML data.
Please let me know,How this is achievable in PL/SQL?
<?xml version="1.0" ?>
<insplist ver="2" count="1">
<insp id="219991" timestamp="134817078" stat="G" operator_id="999999" >
<data name="TIME CLOCK - PUNCH" val="INNER" type="STRING" />
</insp>
</insplist>
ThanksAnd it's even simpler with the GET method as we just have to pass the url :
SQL> DECLARE
2
3 v_url varchar2(200) := 'http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address=';
4 v_address varchar2(200) := '1 rue Victor Hugo Paris France';
5
6 v_req utl_http.req;
7 v_rsp utl_http.resp;
8
9
10
11 v_xml varchar2(32767);
12
13 v_lng number;
14 v_lat number;
15
16 BEGIN
17
18 v_req := utl_http.begin_request(v_url || utl_url.escape(v_address), 'GET', utl_http.HTTP_VERSION_1_1);
19 v_rsp := utl_http.get_response(v_req);
20
21 utl_http.read_text(v_rsp, v_xml);
22 utl_http.end_response(v_rsp);
23
24 select longitude, latitude
25 into v_lng, v_lat
26 from xmltable(
27 '/GeocodeResponse/result/geometry/location'
28 passing xmlparse(document v_xml)
29 columns longitude number path 'lng'
30 , latitude number path 'lat'
31 )
32 ;
33
34 dbms_output.put_line('Longitude = ' || v_lng);
35 dbms_output.put_line('Latitude = ' || v_lat);
36
37 END;
38 /
Longitude = 2.2734472
Latitude = 48.8282741
PL/SQL procedure successfully completed
Or, taking shorcuts :
SQL> select *
2 from xmltable(
3 '/GeocodeResponse/result/geometry/location'
4 passing httpuritype('http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address='
5 || utl_url.escape('1 rue Victor Hugo Paris France')
6 ).getxml()
7 columns longitude number path 'lng'
8 , latitude number path 'lat'
9 )
10 ;
LONGITUDE LATITUDE
2,2734472 48,8282741 -
How to copy keywords from one image to many in Bridge CS6 (workaround)
I see a few questions about how to do this, but I didn't see this workaround (maybe it's even the workflow Adobe had in mind). Hope it helps others searching for this.
To copy keywords from one photo, and then apply the same keywords to many, in Bridge CS6:
Select one image that has the keywords you want to copy.
Right-click and choose File Info...
On the IPTC tab, scroll down to find the Keywords field. Select and copy the keywords you want (probably all).
Click Cancel to exit without making accidental changes.
Select the files you want to add the keywords to.
Right-click and choose File Info...
On the IPTC tab, scroll down to find the Keywords field.
Click in it and paste your copied keywords.
Click OK. Keywords are applied to all files. (NOTE: I think this replaces keywords, rather than adding to them).
I'm using CS6 on OS X 10.6.8.Sara,
Why wouldn't you just use a Windows .bat file with xcopy statements? You could even schedule it to run with the Windows task scheduler.
Regards,
Jeremy Good -
Reading and writing to and from a file to a form
Hi there
I would like somebody to send me a code example,
showing me how to reading records from a file to a form,
and writing records to the same file from the same form.
I know that I have to use sycronize, but I just have not been
successful. I can constract forms, go from form to a form,
do buttons, do text fields. I can even read and write from and
to files. However I cannot do is write from a file to a form and
from a form to a file.
could somebody please explain how this done, and could you
please give me a code example. All the books seem to either
deal with forms or with files. None seem to combine both.
I am sure it is very ease to do if ONLY I knew how!!!
thank you very much in advance for you help.I understand that code and I have used it before, however thanks for
trying to help me, it is really appreciated. However, that is not my
problem. I can read and write from a file to the console and vice versa.
what I cannot do, no matter how hard I try, is to write from a file, and
output it in.
I will tell you how far I have got.
I have a MenuFrame class, this is the code for it:
package WorkflowApp;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class MenuFrame extends JFrame {
JMenuBar menuBar1 = new JMenuBar();
JMenu menuFile = new JMenu();
JMenuItem menuFileExit = new JMenuItem();
JMenu menuHelp = new JMenu();
JMenuItem menuHelpAbout = new JMenuItem();
JToolBar toolBar = new JToolBar();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JButton jButton3 = new JButton();
ImageIcon image1;
ImageIcon image2;
ImageIcon image3;
JLabel statusBar = new JLabel();
Button button2 = new Button();
Button button3 = new Button();
Button button4 = new Button();
Button button5 = new Button();
Button button6 = new Button();
Button button7 = new Button();
Button button1 = new Button();
//Construct the frame
public MenuFrame() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
catch(Exception e) {
e.printStackTrace();
//Component initialization
private void jbInit() throws Exception {
image1 = new ImageIcon(WorkflowApp.MenuFrame.class.getResource("openFile.gif"));
image2 = new ImageIcon(WorkflowApp.MenuFrame.class.getResource("closeFile.gif"));
image3 = new ImageIcon(WorkflowApp.MenuFrame.class.getResource("help.gif"));
this.getContentPane().setLayout(null);
this.setSize(new Dimension(400, 492));
this.setTitle("MenuFrame");
statusBar.setText(" ");
statusBar.setBounds(new Rectangle(0, 0, 3, 17));
menuFile.setText("File");
menuFileExit.setText("Exit");
menuFileExit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
fileExit_actionPerformed(e);
menuHelp.setText("Help");
menuHelpAbout.setText("About");
menuHelpAbout.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
helpAbout_actionPerformed(e);
jButton1.setIcon(image1);
jButton1.setToolTipText("Open File");
jButton2.setIcon(image2);
jButton2.setToolTipText("Close File");
jButton3.setIcon(image3);
jButton3.setToolTipText("Help");
toolBar.setBorder(null);
toolBar.setBounds(new Rectangle(2, 2, 389, 30));
button2.setBounds(new Rectangle(217, 62, 135, 44));
button2.setLabel("Staff Details");
button2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
button2_actionPerformed(e);
button3.setBounds(new Rectangle(26, 127, 135, 44));
button3.setLabel("Arange Viewing");
button3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
button3_actionPerformed(e);
button4.setBounds(new Rectangle(218, 127, 136, 41));
button4.setLabel("Valuation");
button4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
button4_actionPerformed(e);
button5.setBounds(new Rectangle(28, 196, 135, 41));
button5.setLabel("Schedule");
button6.setBounds(new Rectangle(221, 194, 133, 40));
button6.setName("button6");
button6.setLabel("Register Interest");
button7.setBounds(new Rectangle(31, 266, 133, 42));
button7.setLabel("Register Offers");
button1.setBounds(new Rectangle(27, 62, 131, 42));
button1.setLabel("New Client");
button1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
button1_actionPerformed(e);
menuFile.add(menuFileExit);
menuHelp.add(menuHelpAbout);
menuBar1.add(menuFile);
menuBar1.add(menuHelp);
this.setJMenuBar(menuBar1);
this.getContentPane().add(statusBar, null);
this.getContentPane().add(toolBar, null);
toolBar.add(jButton1);
toolBar.add(jButton2, null);
toolBar.add(jButton3, null);
this.getContentPane().add(button3, null);
this.getContentPane().add(button5, null);
this.getContentPane().add(button7, null);
this.getContentPane().add(button2, null);
this.getContentPane().add(button4, null);
this.getContentPane().add(button6, null);
this.getContentPane().add(button1, null);
//File | Exit action performed
public void fileExit_actionPerformed(ActionEvent e) {
System.exit(0);
//Help | About action performed
public void helpAbout_actionPerformed(ActionEvent e) {
MenuFrame_AboutBox dlg = new MenuFrame_AboutBox(this);
Dimension dlgSize = dlg.getPreferredSize();
Dimension frmSize = getSize();
Point loc = getLocation();
dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y);
dlg.setModal(true);
dlg.show();
//Overridden so we can exit on System Close
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if(e.getID() == WindowEvent.WINDOW_CLOSING) {
fileExit_actionPerformed(null);
void button2_actionPerformed(ActionEvent e) {
StaffDetails myFrame = new StaffDetails();
myFrame.show();
void button3_actionPerformed(ActionEvent e) {
ArrangeViewing myFrame = new ArrangeViewing();
myFrame.show();
void button1_actionPerformed(ActionEvent e) {
NewClientFrame myFrame = new NewClientFrame();
myFrame.show();
// System.exit(1);
void button4_actionPerformed(ActionEvent e) {
Valuation myFrame = new Valuation();
myFrame.show();
then I have a new form class, this is the code for it
package WorkflowApp;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class NewClientFrame extends JFrame {
Label label1 = new Label();
Label label2 = new Label();
Label label3 = new Label();
Label label4 = new Label();
Label label5 = new Label();
Label label6 = new Label();
Label label7 = new Label();
Label label8 = new Label();
Label label9 = new Label();
Label label10 = new Label();
TextField textField1 = new TextField();
TextField textField2 = new TextField();
TextField textField3 = new TextField();
TextField textField4 = new TextField();
TextField textField5 = new TextField();
TextField textField6 = new TextField();
TextField textField7 = new TextField();
TextField textField8 = new TextField();
TextField textField9 = new TextField();
TextField textField10 = new TextField();
Button button1 = new Button();
Button button2 = new Button();
//Construct the frame
public NewClientFrame() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
catch(Exception e) {
e.printStackTrace();
//Component initialization
private void jbInit() throws Exception {
this.getContentPane().setLayout(null);
this.setSize(new Dimension(411, 488));
this.setTitle("NewClientFrame ");
this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(WindowEvent e) {
this_windowClosing(e);
label1.setBounds(new Rectangle(21, 23, 110, 23));
label1.setAlignment(2);
label1.setText("Assign Number");
label2.setBounds(new Rectangle(23, 57, 108, 25));
label2.setAlignment(2);
label2.setText("Name");
label3.setBounds(new Rectangle(40, 91, 94, 24));
label3.setAlignment(2);
label3.setText("Address 1");
label4.setBounds(new Rectangle(21, 124, 112, 29));
label4.setAlignment(2);
label4.setText("Address 2");
label5.setBounds(new Rectangle(20, 159, 116, 29));
label5.setAlignment(2);
label5.setText("PoscCode");
label6.setBounds(new Rectangle(18, 197, 119, 26));
label6.setAlignment(2);
label6.setText("Telephone");
label7.setBounds(new Rectangle(25, 228, 112, 26));
label7.setAlignment(2);
label7.setText("Other Telephone");
label8.setBounds(new Rectangle(12, 261, 125, 24));
label8.setAlignment(2);
label8.setText("Email Address");
label9.setBounds(new Rectangle(6, 301, 138, 25));
label9.setAlignment(2);
label9.setText("Staff Assigned (Name)");
label10.setBounds(new Rectangle(22, 341, 124, 23));
label10.setAlignment(2);
label10.setText("Staff Assigned (No.)");
textField1.setBounds(new Rectangle(155, 19, 80, 26));
textField2.setBounds(new Rectangle(155, 58, 193, 24));
textField3.setBounds(new Rectangle(156, 90, 192, 25));
textField4.setBounds(new Rectangle(157, 126, 192, 23));
textField5.setBounds(new Rectangle(157, 159, 195, 25));
textField6.setBounds(new Rectangle(157, 194, 195, 26));
textField7.setBounds(new Rectangle(157, 230, 192, 24));
textField8.setBounds(new Rectangle(157, 263, 193, 25));
textField9.setBounds(new Rectangle(157, 303, 196, 24));
textField10.setBounds(new Rectangle(158, 337, 95, 24));
button1.setBounds(new Rectangle(23, 398, 144, 34));
button1.setLabel("Staff Available");
button2.setBounds(new Rectangle(211, 396, 148, 34));
button2.setLabel("Submit Record");
button2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
button2_actionPerformed(e);
this.getContentPane().add(label1, null);
this.getContentPane().add(label2, null);
this.getContentPane().add(label3, null);
this.getContentPane().add(label4, null);
this.getContentPane().add(label5, null);
this.getContentPane().add(label6, null);
this.getContentPane().add(label7, null);
this.getContentPane().add(label8, null);
this.getContentPane().add(label9, null);
this.getContentPane().add(label10, null);
this.getContentPane().add(textField1, null);
this.getContentPane().add(textField2, null);
this.getContentPane().add(textField3, null);
this.getContentPane().add(textField4, null);
this.getContentPane().add(textField5, null);
this.getContentPane().add(textField6, null);
this.getContentPane().add(textField7, null);
this.getContentPane().add(textField8, null);
this.getContentPane().add(textField9, null);
this.getContentPane().add(textField10, null);
this.getContentPane().add(button1, null);
this.getContentPane().add(button2, null);
public void fileExit_actionPerformed(ActionEvent e) {
System.exit(0);
// exit(this);
// close();
//Overridden so we can exit on System Close
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if(e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
void button2_actionPerformed(ActionEvent e) {
// myFrame.close();
this.dispose();
void this_windowClosing(WindowEvent e) {
this.dispose();
I also have an about box, staff details, and valuation forms.
what I am trying to do is for the New client form to be able to read and write from and to a file, and display the info.
I am working in JBuilder3, a bit out of date I know, but it is the best I can do. Any Ideas how to do this. -
Retrieve data passed in session from another application in visual jsf
hi,
I'm using jboss 4.2.2, visual jsf, etbeans 6.0.1
My application needs to read the data passed in session from the calling application.
i try to get it using the below in init()
HttpServletRequest request=(HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest();
String value=(String) request.getAttribute("id");
System.out.print(value);
But it always prints null.
any idea??
Thanks.Hi,
My value is still null.
I created a simple web application. In the jsp page, ==>
<form method="post" action="http://localhost:8080/MyApp/">
<input type="hidden" name="username" value="ME"/>
<input type="submit" value="Submit" name="Submit"/>
</form>
In MyApp, which is a Web application with Visual JSF, in the welcome file init() method, i get the values ==>
String value = (String) FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("username");
System.out.print("request value in welcome page init() = " + value);
Fearing loss of data by request, i tried in session too. But no luck. -
How to read the date of ZL table in schema
Dear all,
I want to read the record of the ZL table,and I wanted to read the date of every record in ZL table, and then choose which wage type should be used.
Thank you.Hi Simon,
You need to write a custom function.
Please refer to the following wiki of mine:
http://wiki.sdn.sap.com/wiki/display/ERPHCM/CreateaCustomPayrollFunctionUpdatingZL+Table
Regards,
Dilek -
I had to move photos and LR4 catalog from one external storage to another. I now have two identical sets of photos in the catalog but one full set is shown as missing. Easy enough to delete these but they have all my hours and hours of work on keywords attached to them. The other set of photos, the one that actually exists on the drive, has no keywords attached. I gotta have those keywords! Is there a way that won't take the rest of my life to get photos and keywords connected again?
Thanks for helping!
Your suggestion didn't work, but it did get me tinkering around and led me to a solution that's not necessarily quick but definitely easier than re-entering all the keywords.
I was smart enough to not have deleted the photos from the thumb drive they were first saved on, so I plugged it back in. Then I went to the folders list in LR and deleted the existing, missing-keyword photos, folder by folder. Then I just dragged the images from the original drive to the the new one. Well, I'm still doing it to 1500 photos but it's working and it saves me lots of work. So thank you for helping me think of the problem and its solution in a different way. I appreciate your time. -
Read keywords from file but not develop settings?
Is there any way to read IPTC Core metadata, but not develop settings, from a file? I'm still figuring out my Lightroom workflow and made some errors that I'd like to recover from. Here's the situation:
In Lightroom 2.x I selected images, gave them star ratings, and made initial Develop module adjustments. I did NOT write the metadata back to the files (my mistake). Later, my keywording assistant opened the files in another program (Breeze Browser) and added extensive keywords using a controlled vocabulary that works very well and very fast in Breeze. Now I have extensive caption and keyword data in the XMP sidecars, but develop settings in Lightroom's database. I need to merge them.
The slow and tedious workaround in Lightroom is to select the photo, copy the develop settings, read the metadata from the file, then paste the develop settings back in. It works, but is repetative and slow. There's not even a keyboard shortcut for reading metadata. The other tedious workaround is to export the keywords to a text file (using Breeze) and copy & paste them into Lightroom's keywords field. But that's even slower.
Is there a way to write only the develop settings to the files?
Any other suggestions on how to proceed? I have several hundred images that need to be fixed.
In the future, I know I need to write the metadata to the files after making any adjustments in Lightroom so the data travels with the files themselves and isn't just in Lightroom's database.
-- Mark TurnerOk, thanks for the reply.
I feel a bit ashamed now, because my topic title contains the function i needed...
So, assuming that i would have
String content = "458,304,0,345,432";i could split this and put this in an array string using a code like
String[] arry = null;
array = content.split("\\.");I haven't tested the code yet, cause i'll go to bed soon, but will this split all at once and put it in the array or do i have to create a loop or something ?
And is it possible to put number one using split in the array[x][v] on the x location and the others at the [v] location ? (the first number of each five has to be added to [x] and the other 4 to [v] )
Again thanks for your reply, cause im a bit further this way in accomplishing what i want to reach :) -
Stuck with date from IPTC core
I usually change date from template when not corresponding to real one, and succesfully. Now doesn't work, daTE is stuck at date at IPTC core, and I can actually change from there but I prefer to change from template
(small icon top right)
I did tools/purge cache for folder, and restarted B holding down option key.
Also in accounts language and tex>region, I am in correct country
Problem is I dont like date format from the IPTC core, I prefer 6/6/11 to 11-06-06
thanks1. The question about batch rename was not about changing the date, but changing the format. In other words, if I select a picture,
select DDMMYYYY, click on "rename" and nothing changes in the date order, how do you use it if you want to actually change the date order?
If you read my previous post, it says: the option of date format is interesting, but I can't apply it. In other words, it doesn't work.
Just try it: select a picture in B, give it a date format different from 2011-06-19 which is the (for me at least) default format, click on rename, and NOTHING changes, that's why I was wondering what else I had to click on.
2. As far as changing the date created, yes, I need that: If I have pictures taken in Libya in june 2011, during a fight in Misrata, and
all the world knows that Misrata had the Arab spring in 2011 and they show may 2012, which is the day that I fixed them or
who knows why, that is ridiculous, right?
So I have to change the date back. Can somebody tell me how that happened, or I will make a post for that.
Pease keep the 2 issues separate.
Maybe you are looking for
-
Different error when starting Lite Server
I have managed to get Oracle Lite 10g_2 installed... However, when I try to start it, I get a message: Mobile Server ID not found, Failed to register. I am using Oracle Express Edition for the repository, on the same machine. Parameters are localhost
-
Error -50 when trying to copy files to external hard drive.
When trying to copy files (itunes music folder) to an external hard drive, I get the following message: Copying music failed. An unknown error occurred (-50). I have tried repairing disk permissions but still get the message. Any thoughts?
-
Setting text of a JLabel in an array
Hey everyone. Im making a spreadsheet type program, but i have hit a brickwall and for the life of me i can't figure out what is wrong. What i'm trying to do, is check if the input in a cell is in the form e.g "=A3". Then i want the program to goto A
-
What can I remove from a new installation to free up space
I use Retrospect to backup 10.4.6. I only use the Mac for Logic Audio - and I've got 20GB of files on a new installation. This seems a bit high? Is there a way to cut down the total size of the files by 5GB - or some significant amount?
-
Installed QuickTime7 from Snow Leopard 10.6.8 installation disc and still can't view videos on iPhoto. A box appeared saying "you have installed Mac OS X software older than your current version of Mac OS X and may not work properly." Now what?