You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using some hex comparers and editors I discovered where exactly in cdtacomposition start offset, playhead current frame, composition start frame and composition end frame are stored.
Skipping some bytes after cdta header, there is something stored there with lot's of empty space until Width and Height (pos: 2D0, at [0A, 0B, 0C, 0D]), probably reserved for large values, since all this stored as Frame * 2. I have no idea why it is stored as a multiply of 2, but that's how it is.
So, if it possible, could you please implement this fields for compositions? This would really help me with reading AEP files completely separately from AE.
Also, modifying corresponding values results in a modification of composition, which shown here: YouTube
The text was updated successfully, but these errors were encountered:
I'm glad this utility has been useful for you! It's interesting how these values are multiplied by 2. Good discovery. I've found that some other values (namely framerate) are stored as a quotient of two numbers: dividend and divisor to yield the final value. Maybe this is similar? (framerate calculation:
The Unknown## fields are just padding at the moment, so these new fields would have to be inserted somewhere in between.
I'm a bit occupied with work at the moment, but I would like to get to these edits at some point soon. If you're feeling brave, and want to try and make these additions yourself, I'd be more than happy to review your Pull Request!
Also, regarding writing back to an AEP file, I'll have to do more research, but I believe this is against Adobe's terms of service.
@rioam2 I modified Item and CDTA struct a bit, and even though, it turned to be a bit ugly:
It still works like magic:
But I think there could be a problem with parsing, if composition has large frame count. I used uint16 instead of uint32, because it will grab additional zero bytes at the end (fields OffsetX_1). Is there any way to overcome this issue?
Also, for the time being, I disabled layers' parsing, so #2 won't happens
your work is awesome!
Using some hex comparers and editors I discovered where exactly in
cdta
composition start offset, playhead current frame, composition start frame and composition end frame are stored.Skipping some bytes after
cdta
header, there is something stored there with lot's of empty space until Width and Height (pos: 2D0, at [0A, 0B, 0C, 0D]
), probably reserved for large values, since all this stored asFrame * 2
. I have no idea why it is stored as a multiply of 2, but that's how it is.So, if it possible, could you please implement this fields for compositions? This would really help me with reading AEP files completely separately from AE.
Also, modifying corresponding values results in a modification of composition, which shown here: YouTube
The text was updated successfully, but these errors were encountered: