Copy link to clipboard
Copied
Hi, dear After Effects development team, I would like an AECS4 SDK and AECS5.5 SDK. In addition, I want to find out. Whether the string of the plug-in interface can be optimized in the SDK. For example: Boris's sapphire package plug-in. As well as the red giant universe, Ah Jin. Many strings are not searchable. Does this make any special optimizations? I would like to ask how does After Effects recognize the parameter string of the plug-in interface? In addition. How to save the .aep project file of After Effects. I want to develop a version conversion plug-in for .aep file upgrade and downgrade.
Copy link to clipboard
Copied
I had tried to find the CS6 SDK and I could not. I believe AE does not offer any SDKs prior to CC anymore. If you do find those older SDKs please let me know as I'd love to test my plugins for CS6 as well.
Copy link to clipboard
Copied
i happend to find the cs6 and cs5.5 sdks laying around. there you go:
https://wetransfer.com/downloads/a4b31795a35137857186b32a4c3f340f20201109111132/b9af7b6507d6e16b17af...
the link will only be up for a week, so get it while it's hot...
Copy link to clipboard
Copied
1. i happend to find the cs6 and cs5.5 sdks laying around. there you go:
https://wetransfer.com/downloads/a4b31795a35137857186b32a4c3f340f20201109111132/b9af7b6507d6e16b17af...
the link will only be up for a week, so get it while it's hot...
2. you set the plug-in's name and directory in which it will appear in the effects menu via the resource file in your vs or xcode project. notice that the project needs to be cleaned and re-built before the change will take effect.
a plug-in's name and parameter's names can also be changed dymanically using the dynamic string suite, if that's what you need.
3. AE doesn't recognize parameters by name. it only regignizes them by the identifiers passed when declaring the param during PARAM_SETUP. the common practice is to enumerate the parametes in the _DISK_ID enum, and keeping that value fixed between versions. that way a param's index in the effect can change between versions but the _DISK_ID value remains the same. chaniging the param name has no effect on it's identifications.
3. to export a project into some intermediate format, take a look at the "projdumper" sample project. it does exactly that. after exporting a project to your own custom format, you can re-import it into an earlier version of AE using the reverse process. (it's a ton of work to do, BTW)
as far as i know, modern AE versions can save the project with one backversion compatibility. i don't know how far back you want to support, but erhaps a chain of one-backstep operations can save you a alot of trouble...
Copy link to clipboard
Copied
1. Hi, thank you very much. In addition, I would like to ask, how is the SDK of AECS5.5 different from that of AECS4? Can I develop CS4 and plug-ins based on the functions provided by the SDK in CS5.5? If not. Or if it is convenient for you, can you help me find the SDK of CS4?
2. In the screenshot, the “Center” in the center of the canvas corresponds to the parameter string in the plug-in interface on the left. What function does this function implement?
3. In the screenshot, the custom button "H.U.D" above the plug-in parameters at the top left. Click events draw some controls on the canvas. And the corresponding control corresponds to the parameter string of the plug-in interface on the left. What function does this function achieve?
4. As you can see. The plug-in interface string on the left, such as: "center", "Rotation", "Border", etc. The string of Boris's "Sapphire" plug-in parameter interface. As mentioned earlier. Search through the hexadecimal editor (such as: 010 editor, UE editor, etc.). It is not searchable. I want to know why this is? Is the reason for the compiler? Or is the string in the plug-in parameter interface treated very specifically?
5. Is it possible to develop such parameter strings that hijack the interface of a specific plug-in and then inject strings in other languages?
Copy link to clipboard
Copied
I overlooked a very important point. Which function is the dynamic string suite in After Effects? I didn't find it in the SDK. You mean the reason why Boris's "Sapphire" plugin cannot search for the parameter string of the plugin interface. Is it because those strings use the dynamic string suite?
Copy link to clipboard
Copied
1. the differences in funcitonality are sublte, but there are some big technical differences between some of the SDK versions. cs4 (and down) are strictly 32bit and cs5.5 (and up) are strictly 64bit. plug-ins that are compiled 32 won't rin on CS5 and up. plug-ins that are compiled 64 bit won't run on CS4 and down.
the other difference is the use of custom UIs, which in CS4 was done with os buffers, and starting onCS5 is done with drawbot.
furthermore, there's another big techincal change on the CC2015 SDK, relating mostly to sequence data usage, and custom UIs.
so, one compiled biinary can't run on all AE versions, regardless of what SDK version it's compiled with.
2, 3, 4 and 5: all of these are custom UI bits. the plug-in can draw a custom UI on the ECW for parametes, and on the composition window. what you see there are both. the non standard ECW buttons are actually one big custom UI bit, and the param name and special handles in the composition windows are also a custom UI.
take a look at the "CCU" sample project to see how a composition UI is implemented, and the "colorgrid" sample to see an ECW custom UI is implemented.
as for the "dynamic string suite", i mistyped. it's actually "dynamic stream suite".
Copy link to clipboard
Copied
https://pan.baidu.com/s/1F8XWnnlSBVslo8YsWieWXQ
https://pan.baidu.com/s/1h8zVDA3aQskFGhxlnJbOxQ
1. Hello, I put a video in the cloud disk (the first link), and you can download and play the video with a download tool such as IDM. He is only about 15mb. In the video. I used the hexadecimal editor UE to search and localize the parameters of the first plug-in. But I immediately followed to localize the second plugin. However, it is simply impossible to search. I want to know why this is? Isn't these parameters implemented with functions such as PF_ADD_ANGLE? This seems unlikely.
If you are not convenient to view the video. You can simply check the two screenshots. (No code can be searched. Why is this?)
2. There is also a link to the CS4 SDK. Can you post it?
Copy link to clipboard
Copied
i don't know why these names are do not appear in the code. the name are usially defined along with the param definition during PARAM_SETUP, and usually appear as string literals. that might not be the way that aws done in this plugin.
i fail to see the purpose of looking for the names of params in a disassembler. if you make your own plug-in you'll have no problem setting the names of params.
Copy link to clipboard
Copied
The reason I search for the parameter string is because of the plug-in in the screenshot. There is also a sapphire plugin. The Red Giant universe plugin. They are not searchable. So I am particularly curious. I always feel that these strings have been specially processed to do some optimization. And this optimization is better than the traditional way. Of course this is just my instinct. So I want to ask you. In addition. Cousin, I have to trouble you to find the SDK of CS4. love you
Copy link to clipboard
Copied
Is there no way to find those strings?
Copy link to clipboard
Copied
if you build your own plug-in, then changing these strings is a trivial thing. if you're changing someone else's plug-ins you should ask them for help. if you're doing this without their premission, then i highly doubt this is allowed, and is most certainly unethical, so i won't help with that route.
as for the CS4 SDK, it's not publicly available anymore, and i couldn't find it in my backups. there's nothing more i can do about that.
Copy link to clipboard
Copied
@shachar carmiThank you so much for these links. I have downloaded them.