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

CreatorTool field of embedded project metadata isn't accurate in After Effects 2022 and 2023

Community Beginner ,
Jan 24, 2023 Jan 24, 2023

Copy link to clipboard

Copied

Overview

We would like to be able to identify which version of After Effects was responsible for the creation of a project (.aep) file programatically in order to make informed judgements about what version of After Effects should be used to render those projects on our renderfarm. We are encouraged by the presence of the CreatorTool field in the embedded metadata that is visible by running the unix 'strings' command on the file, but have observed some disconcerting behavior in this area.

 

Observed Behavior

We were surprised to find that regardless of if the project file was created in After Effects 2022 (22.6) or After Effects 2023 (23.1), the value of the CreatorTool field is always 'Adobe Photoshop 23.2 (20220128.orig.527 28d5e1a) (Macintosh)'. Note that not only is the version incorrect, but the product itself is incorrect as well.

 

Expected Behavior

We would expect that the value of the CreatorTool field would accurately represent the Adobe product that was used to create the project file. For example, for After Effects 2023 (23.1) we would expect a value of 'Adobe After Effects 23.1 (<YYYYMMDD.orig.build_number> <...>) (Macintosh)'.

 

Testing System Specs

2021 16" MacBook Pro

macOS: Monterey (12.6.2)

Chip: Apple M1 Pro

Memory: 16GB

 

Alternate Solutions?

If there is an alternate path to programatically obtaining information about the application that created an After Effects project we would be interested in learning more about that.

 

Thank you in advance for considering this report!

 

Kris Landes

Sr. Software Engineer | Pixar Animation Studios

TOPICS
Error or problem , Scripting

Views

261

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
LEGEND ,
Jan 24, 2023 Jan 24, 2023

Copy link to clipboard

Copied

There is no specific version info that is transparently embedded in the file. It's all handled with a bunch of offsets at the beginning of the file. It's been forever this way. The only way to find out how a file was created is to actually open it.

 

Mylenium 

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
Community Beginner ,
Jan 24, 2023 Jan 24, 2023

Copy link to clipboard

Copied

Thank you for your response! It may be the case that version info is encoded via a different mechanism, but I would still expect the 'CreatorTool' field to have accurate information. If I save a copy of the project as an XML export (.aepx) the 'CreatorTool' and 'softwareAgent' fields of the ProjectXMPMetadata still contain incorrect information. Furthermore, examining the project metadata via the Metadata window in After Effects shows the same incorrect data as well.

 

Kris Landes

Sr. Software Engineer | Pixar Animation Studios

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
Community Beginner ,
Jan 24, 2023 Jan 24, 2023

Copy link to clipboard

Copied

Some additional digging has revealed that the values that are assembled to create 'Adobe Photoshop 23.2 (20220128.orig.527 28d5e1a) (Macintosh)' are hardcoded in the pie.framework installed at `Adobe After Effects YYYY.app/Contents/Frameworks/pie.framework/Versions/A/pie`. Specifically:

  • GetXMPCreatorStringv() returns "Adobe Photoshop 23.2 (20220128.orig.527 28d5e1a) (Macintosh)"
  • GetPSBuildVersionStr() returns the subcomponent "20220128.orig.527 28d5e1a"

Pseudocode for GetXMPCreatorStringv() obtained by running pie.framework through a dissassembler  shows the creation of the string:

    *0x433fc20 = *"Adobe Photoshop";
    *0x433fc27 = *("Adobe Photoshop" + 0x7);
    *(int8_t *)0x433fc2f = 0x0;
    std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(0x433fc20, " ");
    std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(0x433fc20, "23.2");
    std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(0x433fc20, " (");
    std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(0x433fc20, GetPSBuildVersionStr());
    std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(0x433fc20, ") ");
    std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(0x433fc20, " (Macintosh)");

I also found this error message at an address referenced by this procedure:

"$$$/private/LibPs/XMP/NoCreatorSet=XMP Creator Tool value has not been set. This should be fixed before ship."

 

Taking a look at this same framework in Adobe Illustrator 2023, which does embed the proper CreatorTool value in the XMP metadata, it is apparent that this Photoshop version string is a default that is relied upon when the framework cannot source information about the creating application.

 

I can speculate from this information that After Effects did not adopt the CreatorTool feature when it was implemented in the pie framework, and did not in fact get "fixed before ship". It would be very helpful for us, and likely others, if this could be addressed in an upcoming version of After Effects.

 

Cheers!

 

Kris Landes

Sr. Software Engineer | Pixar Animation Studios

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
Community Beginner ,
Jan 25, 2023 Jan 25, 2023

Copy link to clipboard

Copied

LATEST

I re-filed this issue as a bug instead of a discussion due to the additional evidence we've discovered. Further discussion should happen on the bug: https://community.adobe.com/t5/after-effects-bugs/creatortool-field-of-project-metadata-isn-t-accura...

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