Add XMP data and store the file

Hi, I tried with the following code. But unfortunately the datas added is not stored.

Where I did a little bit?

int main(int argc, char* argv[])
{
    if(argc != 2)
    {
        cout << "Invalid numbers of arguments!" << endl;
        cout << "Usage: " << argv[0] << " [FILENAME]" << endl;
    }

    // initialize XMP Toolkit
    if(!SXMPMeta::Initialize() || !SXMPFiles::Initialize())
    {
        cout << "Failed to initialise XMP Toolkit!" << endl;
        return 1;
    }

    XMP_OptionBits opts = kXMPFiles_OpenForUpdate | kXMPFiles_OpenUseSmartHandler;
    SXMPFiles file;

    string fileName = argv[1];
    string transcriptionFileName = fileName.substr(0, fileName.find_last_of('.')) + ".txt";
    string transcription;

    cout << "Opening files " << fileName << " and " << transcriptionFileName << endl;
    // first check if files exist
    if(!fileExists(fileName.c_str()))
        return 1;

    transcription = readStringFromFile(transcriptionFileName);

    bool ok = file.OpenFile(fileName, detectFiletype(fileName), opts);
    if(!ok)
    {
        cout << "No smart handler available for " << fileName << endl;
        cout << "Trying packet scanning..." << endl;
        
        // Now try using packet scanning
        opts = kXMPFiles_OpenForUpdate | kXMPFiles_OpenUsePacketScanning;
        ok = file.OpenFile(fileName, detectFiletype(fileName), opts);
    }

    if(ok)
    {
        // preparing variables
        SXMPMeta meta;
        char buffer[255];

        cout << "Retrieving metadatas..." << endl;
        file.GetXMP(&meta);
        
        meta.AppendArrayItem(kXMP_NS_Script, "dialogSequence", kXMP_PropValueIsArray, NULL, kXMP_PropValueIsStruct);
        meta.SetProperty(kXMP_NS_Script, "dialogSequence[1]/xmpScript:character", "SPRECHER", NULL);
        meta.SetProperty(kXMP_NS_Script, "dialogSequence[1]/xmpScript:dialog", transcription, NULL);

        string schemaNS, propPath, propVal;
        SXMPIterator iter(meta);
        while(iter.Next(&schemaNS, &propPath, &propVal))
            cout << schemaNS << " " << propPath << " = " << propVal << endl;

    }
    else
        cout << "Failed retrieving metadatas!" << endl;
    
    cout << "Closing file..." << endl;
    file.CloseFile();
    
    cout << "\n=== Finished ===" << endl;
    return 0;
}

Could you be it anyone of you please tell me why the file is not updated. Maybe I was wrong with 'meta. SetProperty "?

Floh Cu

Found the solution.

Before closing the file I had to add the following line:

file. PutXMP (meta);

Now, the data is written to the file.

Floh Cu

Tags: Adobe Developers

Similar Questions

  • How to download and store the file in the device

    I need to download and save a file to the server. Can any one go code me for this example.

    Example of solution download a file via the URL: http://supportforums.blackberry.com/t5/Cascades-Development/How-to-download-zip-file-And-also-open-e...
    It stores the file in your sandbox app directory. After that you can move anywhere.

  • Can I include a signature hosted on a remote server, create the signature in Tunderbird and store the file locally?

    I want to insert a signature that I hosted on a web server without having to create and save the local html file on my computer, is it possible? I know that I can insert a picture from a web server as part of my signature, which is not what I'm asking. Is there an add-on or anything else that can help me to insert my signature from a web server directly, without having to host the file locally?

    You do not have to store the signature on your computer, but Thunderbird will not bind to a text or HTML signature on a remote server file.

    Thunderbird is waiting for you to provide a simple signature to provide the URL to the 'IMAGE' stored on the remote server and this link should be included in Thunderbird, if not how to be referenced in the message?

    You can always include a link to the text that is stored remotely or a HTML signature in your message, but the recipient will activate it? Once again this link would be stored in the message

    TB - 38, 3 Win10-PC

  • How to download and store the file device sdcard/Gallery

    I want to download an image and I want to save this file to sdcard/Gallery to see later from the default Gallery provided by BB app. Can someone give me the example code in this regard.

    You can save the image in the camera folder using following code

    QImage q_image;
    q_image.loadFromData (QByteArray::fromBase64 (Str.toAscii ()), "PNG");

    QFile outside (QDir::currentPath() + "/ shared/camera /" + imageName + ".png");

    If (out.open (::WriteOnly)) QIODevice
    {
    qDebug()<"**** file="" open="">
    q_image. Save (& out, "PNG");
    out. Close();

    }

    Here's the image response string that you will get response from the network "str".

    If still facing problem, I am here to help you.

  • Save XMP data in a TIFF file

    Hello

    I was about to save the TIFF images XMP data and got the review saying that the data would be written directly in the file. I understand that if I lose my catalog file then I lose changes I have done for the TIFF is why I was about to do. Are there disadvantages to the recording of the XMP data in a TIFF file? I keep my ships happened to worse and worse, I could do it again, but I'd rather not.

    Thank you.

    There is no real drawbacks that I know, but a better plan, or a plan that should be used in combination with recording XMP in TIF, is you need to perform regular backups of your catalog file. Then, you can not lose your catalog file. Make backups of your catalog file is mandatory (according to me), write XMP for photos is optional.

  • Add, change and delete the file "iTunes" on a NAS

    I have just said "Apple Support Community" by Apple Support.

    The title probably sums up what I'm trying to do. I'm looking for a way to add, change, and delete files on a NAS.

    Hardware: MacBook Pro 15, 1 TB of storage, 16 GB memory, OSX El Capitan.

    NAS: Qnap TS - 453 has: storage nominally 16 TB, up to about 5 TB.  4 WD 4TB disks in a RAID 5 configuration.

    a Vaio WIN10 as well as a smaller MacBook (my wife)

    The purpose of the NAS is to provide a backup system for computers and act a server "iTunes."

    I acquired the NAS after the death of my WD MyBook live in December 2015 after five years of reading backup and "iTunes" to my computer and the Sonos system.

    After two months of 'getting to know you' with the NAS, I finally managed to configure the server "iTunes" and Mirabile Indo-European it works!  I'm just doing the SIN to a back-up for computers.

    Now for the question: I am looking for an app (for lack of a better term) that will allow me to add and remove files to and from the NAS "iTunes" folder

    My search for a solution so far has indicated that:

    (1) NAS' iTunes folder is not really true Apple iTunes and

    (2) I need something that is DAAP (Digital Audio Access Protocol) friendly, that would allow me to add, change and delete the files.that would allow me to add, edit and delete files.

    I'm not looking for something that would synchronize the files iTunes NAS to one of my computers, I am all prepared to do myself if necessary.

    If I can't find an application so I use the app 'Brute Force' change my Mac iTunes required records and download again to my NAS.

    Why do you need an app to put the files in a folder on the NAS Server?  Make them just above in the Finder.  Maybe I'm missing just your problematic here.  Do you mean add your PEMA files to iTunes? I've never used this file format, but kind of, I would be very surprised if iTunes supported it.

    the NAS iTunes folder is not really true Apple iTunes

    I don't understand what you're trying to say here.  "Apple iTunes" is an application. Yes, a folder is not an application.

    Be warned, we see not few messages from people that use iTunes with a NAS. Often the problems cannot be explained. sometimes just iTunes and NAS disagree togther.

  • Query the data and generate the flat file (.txt).

    Hello

    I work in Navision Financials Oracle E-Business Suite (11i).

    I would like to implement a concurrent program that queries the database and output the results in a text file that I will ftp to an ftp server.

    I would like to be able to do this by a pakcgae of PL/SQL, I do this with a PL/SQL package? How do I need to pass the query results? i.e. should I CHOOSE IN whatever it is, open a ref_cursor or put the results in a log or something that needs to be passed to the application? Or should I be queue info somewhere?

    I could make it more difficult to do, but I just need someone to help me through the steps if possible - it would be greatly appreciated as I'm a bit stuck and need to do this quite quickly.

    Thank you

    Chris

    You can use utl_file for the creation of a file.
    The valid path lies in the parameter $ v where name like '% utl % '.

    The steps would be
    (1) create a unix call and your package shell script using fnd_request.submit_request
    (2) in your package, use utl_file and ftp the file to another server

    [http://sureshvaishya.blogspot.com]

  • How to add a data center on the virtual center via VI client server?

    How to add a data center on the virtual center via VI client server?

    I formatted ESX server & ESX Server Update installed keeping the data center on the storage (of many desktop computers)

    Now I have fresh installed a new server of virtual & added the ESX Server, but I'm unable to reattach existing data centers on storage.

    What will be the way to import of existing data on server Center virtual center?

    Help, please...

    Is ' VMware-VMimporter - 2.0.0 - 30557 "is the software through which I can solve my problem?

    You need to browse each data store, go to the folder of the virtual machine, right-click on the *.vmx file and add it to your inventory.

    Andrea

    * If you found this device or any other answer useful please consider awarding points for correct or helpful answers

  • Windows media player does not automatically open a video file on a Web site but I save it and open the file with Windows media player to play the video or audio recording.

    Windows media player does not automatically open a video file on a Web site but I save it and open the file with Windows media player to play the video or audio recording. I used to be able to play any video or audio file in any site!

    Hello

    Try resetting the default associations for WMP and IE.

    How to set default Associations for a program under Vista
    http://www.Vistax64.com/tutorials/83196-default-programs-program-default-associations.html
    How to associate a file Type of Extension to a program under Vista
    http://www.Vistax64.com/tutorials/69758-default-programs.html

    If necessary:

    How Unassociate a Type of Extension file in Vista - and a utility to help
    http://www.Vistax64.com/tutorials/91920-unassociate-file-extention-type.html
    Restore the Type Associations by default Vista file extensions
    http://www.Vistax64.com/tutorials/233243-default-file-type-associations-restore.html
    How to view and change an Extension of filename on Vista
    http://www.Vistax64.com/tutorials/103171-file-name-extension.html

    ====================================

    Also follow these steps:

    Follow these steps to remove corruption and missing/damaged file system repair or replacement.

    Run DiskCleanup - start - all programs - Accessories - System Tools - Disk Cleanup

    Start - type in the search box - find command top - RIGHT CLICK – RUN AS ADMIN

    sfc/scannow

    How to analyze the log file entries that the Microsoft Windows Resource Checker (SFC.exe) program
    generates in Windows Vista cbs.log
    http://support.Microsoft.com/kb/928228

    Then, run checkdisk - schedule it to run at next boot, then apply OK your way out, then restart.

    How to run the check disk at startup in Vista
    http://www.Vistax64.com/tutorials/67612-check-disk-Chkdsk.html

    ------------------------------------------------------------

    Then, if necessary:

    Have you recently installed another player?

    Reset your associations for WMP and IE.

    How to set default Associations for a program under Vista
    http://www.Vistax64.com/tutorials/83196-default-programs-program-default-associations.html
    How to associate a file Type of Extension to a program under Vista
    http://www.Vistax64.com/tutorials/69758-default-programs.html

    ---------------------------------------------

    Do this to reregister the Jscript.dll and Vbscript.dll files.

    Start - type in the search box - find command top - RIGHT CLICK – RUN AS ADMIN

    type or copy and paste-> regsvr32 jscript.dll
    Press enter

    type or copy and paste-> regsvr32 vbscript.dll
    Press enter

    Restart and if all goes well, it will run now.

    --------------------------------------------------------------

    Have you recently added stores or ANY application from Stardock?

    Using 64-bit Vista?

    Can you think of recent things you did in WMP which could be the cause? You added another
    reader recently or an add-on for WMP?

    When I try to use Windows Media Player 11, the program does not start, or some UI elements
    are empty - a Mr Fixit
    http://support.Microsoft.com/kb/925704/en-us

    Maybe something here
    http://msmvps.com/blogs/chrisl/articles/17315.aspx
    and here
    http://msmvps.com/blogs/chrisl/Archive/2004/10/30/17399.aspx

    Check here the news of WMP11
    http://zachd.com/PSS/PSS.html

    I hope this helps.

    I hope this helps.

    Rob - bicycle - Mark Twain said it is good.

  • Parsing xml and store the details in the hierarchical tables

    Hi all

    I'm trying to parse a xml code and store the details in the hierarchical tables, however, I am unable to analyze the child attributes of tags and store the details in relational format.

    Oracle - 11.2.0.4 version

    My XML looks like in below:

    <Root>
    <ParentTag name="JobName" attrib1="Text" attrib2="SomeOtherText">
      <ChildTag childAttrib1="SomeValue1" childAttrib2="SomeValue2" />
      <ChildTag childAttrib1="SomeValue3" childAttrib2="SomeValue4" />
      <ChildTag childAttrib1="SomeValue5" childAttrib2="SomeValue6" />
    
      <OtherChildTag childAttrib1="SomeValue1" childAttrib2="SomeValue2" />
    </ParentTag>
    </Root>
    
    

    The table structure is as follows:

    create the table parent_details
    (
    job_id number primary key,
    VARCHAR2 (100) job_name,.
    job_attrib1 varchar2 (100),
    job_attrib2 varchar2 (100)
    );

    create the table child_details
    (
    child_id number primary key,
    number of parent_job_id
    child_attrib1 varchar2 (100),
    child_attrib2 varchar2 (100),
    Constraint fk_child_details foreign key (parent_job_id) refers to parent_details (job_id)
    );

    After analysis, I would expect the data to be stored in the format below:

    Table Name:-
    parent_details
    ID Name     Attribute1  Attribute2
    1  JobName  Text        SomeOtherText
    
    
    ChildTable (Store Child Tag details)
    ID Parent ID Attribute1  Attribute2
    1  1         SomeValue1  SomeValue2
    2  1         SomeValue3  SomeValue4
    3  1         SomeValue5  SomeValue6
    
    

    I tried following SQL, but it does not work. Please suggest if the same SQL can be improved to get the details in the expected format or should I use another solution.

    select job_details.*
      from test_xml_table t,
           xmltable ('/Root/ParentTag'
                      passing t.col 
                      columns 
                        job_name varchar2(2000) path '@name',
                        attribute1 varchar2(2000) path '@attrib1',
                        attribute2 varchar2(2000) path '@attrib2',
                        childAttribute1 varchar2(2000) path '/ChildTag/@childAttrib1'
                    ) job_details;
    

    I'm not forced to have a SQL solution, but would if it can be in SQL.

    Kind regards

    Laureline.

    Post edited by: Jen K - added the SQL, I tried to build.

    Well, the XML contains hierarchical data, and SQL is a "dish" of data, so it's up to you to treat lines that are coming out of the flat style and determine how to get that in separate tables.

    Suppose that we have several nodes of ParentTag each containing several nodes of ChildTag...

    SQL > ed
    A written file afiedt.buf

    1 with t (xml) as (select xmltype ('))
    2
    3
    4
    5
    6
    7

    8
    9
    10
    11
    12

    13
    ') of double)
    14-
    15 end of test data
    16-
    17 select x.p
    18, x.name, x.attrib1, x.attrib2
    19, including
    20, y.childattrib1, y.childattrib2
    21 t
    22, xmltable ('/ Root/ParentTag ')
    23 passage t.xml
    p 24 columns for ordinalite
    25, path name varchar2 (10) '. / @name'
    26, path of varchar2 (10) of attrib1 '. / @attrib1 '


    27, way to varchar2 (10) of attrib2 '. / @attrib2 '
    28 children xmltype road '.'
    29                 ) x
    30, xmltable ('/ ParentTag/ChildTag ')
    passage 31 x.children
    c 32 columns for ordinalite
    33, path of varchar2 (10) of childattrib1 '. / @childAttrib1 '
    34 road of varchar2 (10) of childattrib2 '. / @childAttrib2 '
    35*                ) y
    SQL > /.

    P NAME ATTRIB1 ATTRIB2 C CHILDATTRI CHILDATTRI
    ---------- ---------- ---------- ---------- ---------- ---------- ----------
    1 text JobName SomeOtherT 1 SomeValue1 value2
    1 text JobName SomeOtherT 2 SomeValue3 SomeValue4
    1 text JobName SomeOtherT 3 SomeValue5 SomeValue6
    JobName2 TextX SomeOtherT 1 SomeValue6 SomeValue8 2
    JobName2 TextX SomeOtherT 2 SomeValue7 SomeValue9 2

    Using the 'ordinalite' gives us the line number for this node in the XML file, so that you can identify each parent as well as to say who is the first record of this parent (because it will have a child with the ordinalite 1).

    An INSERT ALL tuition assistance we can insert into two different tables at the same time to keep related data... for example

    SQL > create table tbl1 (pk number, name varchar2 (10), attrib1 varchar2 (10), attrib2 varchar2 (10))
    2.

    Table created.

    SQL > create table tbl2 (parent_pk number, attrib1 varchar2 (10), attrib2 varchar2 (10))
    2.

    Table created.

    SQL > insert all
    2 when c = 1 then
    3 in the tbl1 (pk, attrib1, attrib2)
    4 values (p, attrib1, attrib2)
    When 5 1 = 1 then
    6 in the tbl2 (parent_pk, attrib1, attrib2)
    7 values (p, childattrib1, childattrib2)
    8 with t (xml) as (select xmltype ('))
    9
    10
    11
    12
    13
    14

    15
    16
    17
    18
    19

    20
    ') of double)
    21 select x.p
    22, x.name, x.attrib1, x.attrib2
    23, including
    24, y.childattrib1, y.childattrib2
    25 t
    26, xmltable ('/ Root/ParentTag ')
    27 passage t.xml
    p 28 columns for ordinalite
    29, path name varchar2 (10) '. / @name'
    30, path of varchar2 (10) of attrib1 '. / @attrib1 '
    31, path of varchar2 (10) of attrib2 '. / @attrib2 '
    32 children xmltype road '.'
    33                 ) x
    34, xmltable ('/ ParentTag/ChildTag ')
    passage 35 x.children
    c 36 columns for ordinalite
    37, path of varchar2 (10) of childattrib1 '. / @childAttrib1 '
    38, path of varchar2 (10) of childattrib2 '. / @childAttrib2 '
    39                 ) y
    40.

    7 lines were created.

    SQL > select * from tbl1;

    PK ATTRIB1 ATTRIB2 NAME
    ---------- ---------- ---------- ----------
    1 text JobName SomeOtherT
    2 JobName2 TextX SomeOtherT

    SQL > select * from tbl2.

    PARENT_PK ATTRIB1 ATTRIB2
    ---------- ---------- ----------
    1 SomeValue1 value2
    1 SomeValue3 SomeValue4
    1 SomeValue5 SomeValue6
    SomeValue6 2 SomeValue8
    SomeValue7 2 SomeValue9

  • Can we load and unload the files in the run time?

    Can we load and unload the files in the run time?

    For example, there are four files named 'test1.h & test1.c' and another series 'test2.h & test2.c' (I have attached as an attachment to this post).

    test1.h contains the code:

    int variable; variable declared as integer

    test1.c contains the code:

    variable = 1; variable a value assigned

    test1.h contains the code:

    char * variable. variable declared as string

    test1.c contains the code:

    variable = "EXAMPLE"; a string that is assigned to variable

    So here, in this case can I dynamically load / unload first & second group files so that the same variable "variable" name can be used as an integer and string? And if so, how to do?

    Hi pa1majeti,

    You cannot simply consider that some code is loaded into memory or not: all code in a compiled application is permanently in memory unless you divide your application into DLLs that you dynamically load if necessary and remove if is no longer necessary.

    But as I understand from your description, you're better given the amount of memory occupied by the data (i.e. the contents of the variables) rather than the code. If this is the case, your only option is to allocate memory for variables dynamically and free it after it has been used. Now, even if this option is useful if you are using large networks of data, there is little or no effect on the unique variables.

    A final Council, given the huge memory installed on modern computers, are you sure you really need that extra work? I mean, the dynamic allocation of memory involves some additional precautions in programming: check the errors on each function malloc or calloc, check that the pointer is valid before each use, freeing pointers before reassignment in order to avoid memory leaks and so forth, so a balance must always be sought between the memory and the difficulty in programming.

  • How to capture a .gif of a spectrum analyzer file and save the file in PC

    I want to capture a .gif from a spectrum analyzer file and save the file to the PC, but I have a problem when reading data from the instrument. I don't know how to format the string has obtained from the instrument, when I use '%s' or '%t' as string format to read the data from the instrument is truncated.

    my code are, could someone tell me where I'm wrong?

    char resultsArray [5000];

    viPrintf (hSpectrumInstr, ": MMEMTORCR ' CIMAGE.") GIF "\n"); "
    viQueryf (hSpectrumInstr, ": MMEMATA? '") CIMAGE. (' GIF'\n ', '%t', resultsArray);
    printf ("%s", resultsArray);
    GetChar ();

    as you can see your code is not readable, can you post a screenshot or, as before, a Word document?

    When you use "%b" table must be of type ViInt8

  • NEED TO MERGE TWO ADMINISTRATIVE ACCOUNTS AND ALL THE FILES IN XP - NO WINDOWS 7! CANNOT FIND TRANSFER IFTO ANYWHERE.

    I desperately need to merge two administrative accounts on my laptop - using XP and NOT windows 7 (so there is no transfer Assistant). I need to transfer all of the OLD admin. account in the NEW Admin account.

    For the full backup used Carbonite - due erase hard drive and reinstall XP - carbonite cust. veeeeery slooooow service and I had to use the laptop for the preparatory work.  When the backup has been restored, he implemented the administrative account of origin, besides I have created a new.  Now, most of the files are under the old administrative account, and I need to move the OLD files in the NEW Admin account.

    Would sincerely appreciate your very specific instructions? ... step by step, if possible? Not quite a prolific technician, but no slouch, not more.

    Thank you very much!

    You can't really merge two accounts. You can copy data from one account to the other. Folder options > view tab > check "Show hidden files". Then go to:

    c:\Documents and Settings\name of the old account and copy the files to My Documents, desktop, Favorites in folders in your new user account. When you have all your stuff, you can delete the old user account from the control panel > user accounts. MS - MVP - Elephant Boy computers - don't panic!

  • Download picture of URL link and store the Image in a Local folder in BB10 Webworks

    Hello

    I want to download the image of URL link and store the image in a local folder in Webworks BB10.
    But I did not get the code for this.

    If such knowledge code or have any solution then please help me...

    Thank you best regards &,.

    Laurent Subudhi

    NitishSubudhi wrote:
    I go through this code... but it is throwing the exception. That is to say "ReferenceError: Webworks is undefined '." "

    According to the device/operating system, you need to add the extension of your installation of WebWorks as explained here for OS SmartPhone BB or PlayBook OS.

    To use read the samples provided, they must work somehow. When I worked with the extension on PlayBook I only copy + pasted the provided source code and changed the attributes for the function call:

    // You need to define "remotePath", "localPath", "onProgress", "onError", "options" like shown in documentationblackberry.io.fileTransfer.downloadFile(remotePath, localPath, onProgress, onError, options);
    

    For OS SmartPhone BB the function call looks like this:

    // You need to define "options" like shown in documentationwebworks.io.FileDownloader.download(options);
    

    All think that all information provide here, try to follow and cela should operate.

  • BlackBerry smartphones not wiping data and restore the original downgrade OS?

    I have a 8820 with a damaged e-mail folder. I want to wipe the data. I upgraded to OS 4.5. I want to assure you that the wiping and restore to original settings will not downgrade my OS. It seems logical that this will not happen, but I want to make sure.

    Thank you!

    You are right. Wiping just clears the data of the device, not the operating system.

    The only way to downgrade the OS is to go into Add/Remove programs and uninstall the newer operating system. You will then need to download and install an earlier version of the operating system. Then, you will need to go into the Application Loader to load the older operating system on the device.

Maybe you are looking for