|
1 | 1 | #!/bin/bash |
2 | 2 | set -e # Stop on error |
3 | 3 |
|
4 | | -# Function to process a sequence (dark or light) |
| 4 | +# Function to process a sequence (dark or dark-dm) |
5 | 5 | process_sequence() { |
6 | 6 | prefix="$1" |
7 | | - |
8 | 7 | echo "Processing: $prefix" |
9 | 8 |
|
10 | | - # Convert PPM to PNG |
| 9 | + # Detect background color based on suffix |
| 10 | + if [[ "$prefix" == *-dm ]]; then |
| 11 | + bg_color="black" |
| 12 | + else |
| 13 | + bg_color="white" |
| 14 | + fi |
| 15 | + |
| 16 | + # Convert PPM to PNG (raw) |
11 | 17 | for f in ${prefix}.*.ppm; do |
12 | | - convert "$f" "${f%.ppm}.png" |
| 18 | + convert "$f" "${f%.ppm}.png" |
13 | 19 | done |
14 | 20 |
|
15 | | - # Detect background color |
16 | | - bg_color="black" |
17 | | - if [[ "$prefix" == "light" ]]; then |
18 | | - bg_color="white" |
19 | | - fi |
20 | | - |
21 | 21 | # Remove background & add alpha |
22 | 22 | for f in ${prefix}.*.png; do |
23 | | - convert "$f" -transparent "$bg_color" -fuzz 10% "${f%.png}_transparent.png" |
| 23 | + convert "$f" -transparent "$bg_color" -fuzz 10% "${f%.png}_transparent.png" |
24 | 24 | done |
25 | 25 |
|
26 | | - # Resize |
| 26 | + # Resize to 50% |
27 | 27 | for f in ${prefix}.*_transparent.png; do |
28 | | - convert "$f" -resize 50% "$f" |
| 28 | + convert "$f" -resize 30% "$f" |
29 | 29 | done |
30 | 30 |
|
31 | 31 | # Create movie |
32 | 32 | [ -f "${prefix}.webp" ] && rm "${prefix}.webp" |
33 | | - |
34 | 33 | ffmpeg -framerate 20 -i "${prefix}.%05d_transparent.png" \ |
35 | | - -loop 0 -lossless 0 -qscale 5 -g 1 "${prefix}.webp" |
| 34 | + -loop 0 -lossless 0 -qscale 5 -g 1 "${prefix}.webp" |
36 | 35 |
|
37 | | - # Cleanup PNGs |
| 36 | + # Cleanup |
38 | 37 | rm ${prefix}.*.png |
39 | 38 | convert ${prefix}.00000.ppm ${prefix}.png |
40 | 39 | } |
41 | 40 |
|
42 | | -# Run for both dark and light sequences |
43 | | -process_sequence "dark" |
44 | | -process_sequence "light" |
45 | | - |
| 41 | +# Run for both light and dark |
| 42 | +process_sequence "avatar" |
| 43 | +process_sequence "avatar-dm" |
0 commit comments