Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • EspaƱol
      • FranƧais
      • PortuguĆŖs
  • ę—„ęœ¬čŖžć‚³ćƒŸćƒ„ćƒ‹ćƒ†ć‚£
  • ķ•œźµ­ ģ»¤ė®¤ė‹ˆķ‹°
0

Uniquely identify project item

Participant ,
Jun 29, 2017 Jun 29, 2017

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
1.5K
Translate
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ā„¢.

Translate
Engaged ,
Jun 29, 2017 Jun 29, 2017

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.

Translate
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

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

Translate
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

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"?>

Translate
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

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?

Translate
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

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.

Translate
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

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

Translate
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

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ā„¢.

Translate
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
Community Beginner ,
Jan 02, 2025 Jan 02, 2025
LATEST

Hi Bruce - I just found this thread, which relates in part to the question I'm asking over here:  https://community.adobe.com/t5/premiere-pro-discussions/handling-inconsistent-nodeids-in-adobe-team-...

 

I'm wondering if there was an update to this - on how to unique identify project items, as well as projects themselves.  Thanks!

Translate
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