• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Uniquely identify project item

Participant ,
Jun 29, 2017 Jun 29, 2017

Copy link to clipboard

Copied

Hello All,

Is there any way to uniquely identify each project item (e.g. by some Id) in premiere pro? We can't take project item name because premiere pro supports duplicate name.

Premiere Pro Version: 9.0.0
Extension Type: Panel


Thanks & Regards,
Meet Tank

TOPICS
SDK

Views

886

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Adobe Employee , Jun 29, 2017 Jun 29, 2017

nodeID refers to the projectItem's position within the project 'tree'; not guaranteed to be unique, forever.

We're making improvements around uniquely ID'ing project items, for our Next Major Releaseâ„¢.

Votes

Translate

Translate
Engaged ,
Jun 29, 2017 Jun 29, 2017

Copy link to clipboard

Copied

Hi Meet,

what you want is the UUID of a file, and if remember correctly, this is available as the xmpMM:InstanceID in each projectItem's metadata.

See https://www.adobe.com/content/dam/Adobe/en/devnet/xmp/pdfs/XMPSpecificationPart1.pdf , page 36.

Best,

e.d.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Jun 29, 2017 Jun 29, 2017

Copy link to clipboard

Copied

Hi e.d.​

Thank you for your quick reply. It would be very handy if we could expose this id to projectItem object in app.project so that we don't need to read the xmp metadata xml.

Thanks,

Meet

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Jun 29, 2017 Jun 29, 2017

Copy link to clipboard

Copied

Hi e.d.

Could you please provide code to read xmpMM:InstanceId? I can't find this node in xmp metadata xml:

<?xpacketbegin="" id="W5M0MpCehiHzreSzNTczkc9d"?>

<x:xmpmetaxmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c140 79.160302, 2017/03/02-16:59:38        ">

  <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

      <rdf:Description rdf:about=""

            xmlns:premierePrivateProjectMetaData="http://ns.adobe.com/premierePrivateProjectMetaData/1.0/">

        <premierePrivateProjectMetaData:Column.Intrinsic.Name>fb0f32c6-849f-478d-8b0c-24f73dd25e74.m4v</premierePrivateProjectMetaData:Column.Intrinsic.Name>

        <premierePrivateProjectMetaData:Column.PropertyText.Label>BE.Prefs.LabelColors.1</premierePrivateProjectMetaData:Column.PropertyText.Label>

        <premierePrivateProjectMetaData:Column.Intrinsic.MediaType>Movie</premierePrivateProjectMetaData:Column.Intrinsic.MediaType>

        <premierePrivateProjectMetaData:Column.Intrinsic.MediaTimebase>25.00 fps</premierePrivateProjectMetaData:Column.Intrinsic.MediaTimebase>

        <premierePrivateProjectMetaData:Column.Intrinsic.MediaStart>00:00:00:00</premierePrivateProjectMetaData:Column.Intrinsic.MediaStart>

        <premierePrivateProjectMetaData:Column.Intrinsic.MediaEnd>00:00:06:06</premierePrivateProjectMetaData:Column.Intrinsic.MediaEnd>

        <premierePrivateProjectMetaData:Column.Intrinsic.MediaDuration>00:00:06:07</premierePrivateProjectMetaData:Column.Intrinsic.MediaDuration>

        <premierePrivateProjectMetaData:Column.Intrinsic.VideoInPoint rdf:parseType="Resource">

            <rdf:value>00:00:00:00</rdf:value>

            <premierePrivateProjectMetaData:min>0</premierePrivateProjectMetaData:min>

            <premierePrivateProjectMetaData:max>1585059840000</premierePrivateProjectMetaData:max>

            <premierePrivateProjectMetaData:offset>0</premierePrivateProjectMetaData:offset>

            <premierePrivateProjectMetaData:time_display>101</premierePrivateProjectMetaData:time_display>

            <premierePrivateProjectMetaData:frame_rate>10160640000</premierePrivateProjectMetaData:frame_rate>

        </premierePrivateProjectMetaData:Column.Intrinsic.VideoInPoint>

        <premierePrivateProjectMetaData:Column.Intrinsic.VideoOutPoint rdf:parseType="Resource">

            <rdf:value>00:00:06:06</rdf:value>

            <premierePrivateProjectMetaData:min>10160640000</premierePrivateProjectMetaData:min>

            <premierePrivateProjectMetaData:max>1595220480000</premierePrivateProjectMetaData:max>

            <premierePrivateProjectMetaData:offset>0</premierePrivateProjectMetaData:offset>

            <premierePrivateProjectMetaData:time_display>101</premierePrivateProjectMetaData:time_display>

            <premierePrivateProjectMetaData:frame_rate>10160640000</premierePrivateProjectMetaData:frame_rate>

        </premierePrivateProjectMetaData:Column.Intrinsic.VideoOutPoint>

        <premierePrivateProjectMetaData:Column.Intrinsic.VideoDuration>00:00:06:07</premierePrivateProjectMetaData:Column.Intrinsic.VideoDuration>

        <premierePrivateProjectMetaData:Column.Intrinsic.AudioInPoint rdf:parseType="Resource">

            <rdf:value>00:00:00:00000</rdf:value>

            <premierePrivateProjectMetaData:min>0</premierePrivateProjectMetaData:min>

            <premierePrivateProjectMetaData:max>1585059840000</premierePrivateProjectMetaData:max>

            <premierePrivateProjectMetaData:offset>0</premierePrivateProjectMetaData:offset>

            <premierePrivateProjectMetaData:time_display>101</premierePrivateProjectMetaData:time_display>

            <premierePrivateProjectMetaData:frame_rate>10160640000</premierePrivateProjectMetaData:frame_rate>

        </premierePrivateProjectMetaData:Column.Intrinsic.AudioInPoint>

        <premierePrivateProjectMetaData:Column.Intrinsic.AudioOutPoint rdf:parseType="Resource">

            <rdf:value>00:00:06:12347</rdf:value>

            <premierePrivateProjectMetaData:min>10160640000</premierePrivateProjectMetaData:min>

            <premierePrivateProjectMetaData:max>1595220480000</premierePrivateProjectMetaData:max>

            <premierePrivateProjectMetaData:offset>0</premierePrivateProjectMetaData:offset>

            <premierePrivateProjectMetaData:time_display>101</premierePrivateProjectMetaData:time_display>

            <premierePrivateProjectMetaData:frame_rate>10160640000</premierePrivateProjectMetaData:frame_rate>

        </premierePrivateProjectMetaData:Column.Intrinsic.AudioOutPoint>

        <premierePrivateProjectMetaData:Column.Intrinsic.AudioDuration>00:00:06:12348</premierePrivateProjectMetaData:Column.Intrinsic.AudioDuration>

        <premierePrivateProjectMetaData:Column.Intrinsic.VideoInfo>640 x 360 (1.0)</premierePrivateProjectMetaData:Column.Intrinsic.VideoInfo>

        <premierePrivateProjectMetaData:Column.Intrinsic.AudioInfo>44100 Hz - Compressed - Stereo</premierePrivateProjectMetaData:Column.Intrinsic.AudioInfo>

        <premierePrivateProjectMetaData:Column.Intrinsic.FilePath>D:\fb0f32c6-849f-478d-8b0c-24f73dd25e74.m4v</premierePrivateProjectMetaData:Column.Intrinsic.FilePath>

        <premierePrivateProjectMetaData:Column.PropertyText.Status>Online</premierePrivateProjectMetaData:Column.PropertyText.Status>

        <premierePrivateProjectMetaData:Column.PropertyBool.Good>False</premierePrivateProjectMetaData:Column.PropertyBool.Good>

        <premierePrivateProjectMetaData:Column.PropertyBool.Hide>False</premierePrivateProjectMetaData:Column.PropertyBool.Hide>

        <premierePrivateProjectMetaData:Column.PropertyBool.PropagatedHide>False</premierePrivateProjectMetaData:Column.PropertyBool.PropagatedHide>

        <premierePrivateProjectMetaData:Column.Intrinsic.SoundTimeCode rdf:parseType="Resource">

            <rdf:value>00:00:00:00</rdf:value>

            <premierePrivateProjectMetaData:min>0</premierePrivateProjectMetaData:min>

            <premierePrivateProjectMetaData:max>1585059840000</premierePrivateProjectMetaData:max>

            <premierePrivateProjectMetaData:offset>0</premierePrivateProjectMetaData:offset>

            <premierePrivateProjectMetaData:time_display>101</premierePrivateProjectMetaData:time_display>

            <premierePrivateProjectMetaData:frame_rate>10160640000</premierePrivateProjectMetaData:frame_rate>

        </premierePrivateProjectMetaData:Column.Intrinsic.SoundTimeCode>

        <premierePrivateProjectMetaData:Column.PropertyText.SyncOffset>0</premierePrivateProjectMetaData:Column.PropertyText.SyncOffset>

        <premierePrivateProjectMetaData:Column.PropertyText.Codec>H.264</premierePrivateProjectMetaData:Column.PropertyText.Codec>

        <premierePrivateProjectMetaData:Column.PropertyText.FieldOrder>No Fields (Progressive Scan)</premierePrivateProjectMetaData:Column.PropertyText.FieldOrder>

      </rdf:Description>

  </rdf:RDF>

</x:xmpmeta>

<?xpacket end="w"?>

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Jun 29, 2017 Jun 29, 2017

Copy link to clipboard

Copied

meett9325076​ Would the ProjectItem.nodeId help you out here? There's currently no documentation available for it but perhaps it's what you're looking for? Bruce Bullis​, any insight into what the nodeId property is for ProjectItems?

Also, is the metadata you posted what you get when you use the ProjectItem.getXMPMetadata() call? Or is it from something else?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Jun 29, 2017 Jun 29, 2017

Copy link to clipboard

Copied

No, the posted result is a return from getProjectMetadata(), not getXMPMetadata(), which would have been the right method call.

I think the result is different from the ProjectItem.nodeId value, and they'd have to make sure this is present in v9.x as well.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Jul 03, 2017 Jul 03, 2017

Copy link to clipboard

Copied

LATEST

Here is the code to read "InstanceId" from xmp metadata:

var pProXmpMmURI = "http://ns.adobe.com/xap/1.0/mm/";

var xmpMetadata = projectItem.getXMPMetadata();

var xmp = new XMPMeta(xmpMetadata);

var fileId = xmp.getProperty(pProXmpMmURI, "InstanceID");

Thanks,

Meet

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Jun 29, 2017 Jun 29, 2017

Copy link to clipboard

Copied

nodeID refers to the projectItem's position within the project 'tree'; not guaranteed to be unique, forever.

We're making improvements around uniquely ID'ing project items, for our Next Major Releaseâ„¢.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines