Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adapt to after effects 2025 and add denog16 project files #69

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 18 additions & 27 deletions README_AE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ Yes! That's what I want!
------------------------
Okay, let's go.

- Install Adobe After Effects CC 2018
- Install Adobe After Effects 2025
- Install python3, python3-lxml, python3-cssutils (or use virtualenv, see below), inkscape and libav-tools
- Fork this repo on github and clone your personal fork to your local system.
- Copy one of the existing setup: voc_ae
- Open `intro.aep` and modify it. You can also create a new project. For the VOC-Setup you should use a Pixel-Resolution of `1920×1080` (or for the legacy SD/.dv-Pipeline `1024×576`).
- If you create a new project, name it `intro.aep` and also copy `intro.jsx` and `intro.scpt` into the same folder.
- Open `intro.aepx` and modify it. You can also create a new project. For the VOC-Setup you should use a Pixel-Resolution of `1920×1080` (or for the legacy SD/.dv-Pipeline `1024×576`).
- If you create a new project, name it `intro.aepx` and also copy `intro.jsx` into the same folder.
- Create a new composition and name it `intro`.
- Use Paragraph Text Layers. This way the text will automatically wrap inside the specified area if it gets too long.
- Type Placeholder-Texts where the script should substitute content from your schedule.xml. By default the following placeholders are substituted
Expand All @@ -31,14 +31,14 @@ Okay, let's go.
- The template included with this repo only replaces `intro_title` and `intro_personnames`
- Just copy/paste the 2x blocks required, and change the variables, to also use it for the other placeholders.
- Run `./make-adobe-after-effects.py yourproject/ --debug` to generate your first intro
- if everything look like you'd want them to, run `./make-adobe-after-effects.py yourproject/ `.
- if everything look like you'd want them to, run `./make-adobe-after-effects.py yourproject/ {schedule} `.

#### Python3 virtualenv

Create virtualenv and fetch python deps:

```
$ virtualenv -p python3 env
$ python3 -m venv env
$ . ./env/bin/activate
$ pip3 install -r requirements.txt
```
Expand Down Expand Up @@ -88,13 +88,13 @@ optional arguments:

How does it work
--------------------
There are 3x files required to make the render work `intro.aep`, `intro.jsx` and `intro.scpt`.
`make-adobe-after-effects.py` will run the `intro.scpt` script with `intro.aep` and `intro.jsx` as arguments.
Once done, the project file will be passed to aerender to create an intermediate <id>.mov file.
There are two files required to make the render work `intro.aep`, `intro.jsx`.
`make-adobe-after-effects.py` will run `intro.aepx` with `intro.jsx` as argument.
Once done, the project file will be passed to aerender to create an intermediate <id>.mov file. Make sure you set .mov as a default in After Effects.
Final step is to convert the <id>.mov to <id>.ts
Here are some details about the files and what they are for.

### intro.aep
### intro.aepx
This is the After Effects project file. It has to have the following items included:
- Composition named `intro`
- Paragraph text layers named `intro_<placeholder>` for each of the supported placeholder
Expand All @@ -103,8 +103,14 @@ This is the After Effects project file. It has to have the following items inclu
This is an After Effects Script file doing the text replacement of the placeholder texts.

````
var comp = app.project.item(2);

app.open(new File("$filename"));
var comp;
for (var i = 1; i <= app.project.numItems; i ++) {
if ((app.project.item(i) instanceof CompItem) && (app.project.item(i).name === 'intro')) {
comp = app.project.item(i);
break;
}
}
var layer_title = comp.layer('intro_title');
var textProp_title = layer_title.property("Source Text");
var textDocument_title = textProp_title.value;
Expand All @@ -119,7 +125,7 @@ textProp_title.setValue(textDocument_title);
textDocument_persons.text = "$personnames";
textProp_persons.setValue(textDocument_persons);

app.project.save();
app.project.close(CloseOptions.SAVE_CHANGES);
````

To add an additional block to replace another placeholder, copy the following:
Expand All @@ -134,21 +140,6 @@ textProp_<placeholder>.setValue(textDocument_<placeholder>);

Make sure that the correct layer has been added to the AE project file, otherwise the script will fail.

### intro.scpt
This is an Apple Script which will open AE with the project file, and run the AE script.

````
on run argv
set aefile to (POSIX file (item 1 of argv))
set aescript to (POSIX file (item 2 of argv))
tell application "Adobe After Effects CC 2018"
open aefile
DoScriptFile aescript
quit
end tell
end run
````

It works! It doesn't work!
--------------------------
If it works, push your code to github. This way everybody can see which beautiful animations you created and we can all learn from each other.
Expand Down
Loading