1C2: Add preliminary outro
This commit is contained in:
parent
62306c84e5
commit
0e586d91c7
3 changed files with 304 additions and 31 deletions
|
@ -3,6 +3,14 @@
|
|||
from renderlib import *
|
||||
from itertools import zip_longest
|
||||
|
||||
# URL to Schedule-XML
|
||||
scheduleUrl = 'http://chaos.cologne/Fahrplan/schedule.xml'
|
||||
|
||||
# For (really) too long titles
|
||||
titlemap = {
|
||||
|
||||
}
|
||||
|
||||
def introFramesLight(p):
|
||||
frames = int(1.5*fps)
|
||||
max_opac = 0.7
|
||||
|
@ -70,12 +78,12 @@ def introFrameText(p):
|
|||
]
|
||||
|
||||
def introFrames(p):
|
||||
for e in zip_longest(zip(introFramesDot(p), introFramesLight(p)), introFrameText(p), fillvalue=[('text', 'style', 'opacity', '1')]):
|
||||
yield e[0][0] + e[0][1] + e[1]
|
||||
for (i, j), z in zip_longest(zip(introFramesDot(p), introFramesLight(p)), introFrameText(p), fillvalue=[]):
|
||||
yield i + j + z
|
||||
|
||||
def outroFrames(p):
|
||||
# 5 Sekunden stehen bleiben
|
||||
frames = 1*fps
|
||||
frames = 5*fps
|
||||
for i in range(0, frames):
|
||||
yield []
|
||||
|
||||
|
@ -92,11 +100,30 @@ def debug():
|
|||
}
|
||||
)
|
||||
|
||||
# render(
|
||||
# 'outro.svg',
|
||||
# '../outro.ts',
|
||||
# outroFrames
|
||||
# )
|
||||
render(
|
||||
'outro.svg',
|
||||
'../outro.ts',
|
||||
outroFrames
|
||||
)
|
||||
|
||||
def tasks(queue):
|
||||
raise NotImplementedError('call with --debug to render your intro/outro')
|
||||
def tasks(queue, args):
|
||||
# iterate over all events extracted from the schedule xml-export
|
||||
for event in events(scheduleUrl):
|
||||
# generate a task description and put them into the queue
|
||||
queue.put(Rendertask(
|
||||
infile = 'intro.svg',
|
||||
outfile = str(event['id'])+'.ts',
|
||||
sequence = introFrames,
|
||||
parameters = {
|
||||
'$id': event['id'],
|
||||
'$title': event['title'],
|
||||
'$subtitle': event['subtitle'],
|
||||
'$personnames': event['personnames']
|
||||
}
|
||||
))
|
||||
|
||||
queue.put(Rendertask(
|
||||
infile = 'outro.svg',
|
||||
outfile = 'outro.ts',
|
||||
sequence = outroFrames
|
||||
))
|
||||
|
|
|
@ -9,26 +9,10 @@
|
|||
id="style4">
|
||||
path { fill: #000; stroke-width: 106px; stroke-opacity: 0 }
|
||||
#bg { fill: #fff }
|
||||
#one, #cee, #two {
|
||||
animation-duration: 5s;
|
||||
animation-iteration-count: infinite;
|
||||
}
|
||||
#one {
|
||||
stroke: #f00;
|
||||
animation-name: red;
|
||||
}
|
||||
#cee {
|
||||
stroke: #0f0;
|
||||
animation-name: green;
|
||||
}
|
||||
#two {
|
||||
stroke: #66f;
|
||||
animation-name: blue;
|
||||
}
|
||||
#dot1 {
|
||||
fill: #f0f;
|
||||
animation: dotwalk 23s linear 5s infinite alternate;
|
||||
}
|
||||
#one { stroke: #f00 }
|
||||
#cee { stroke: #0f0 }
|
||||
#two { stroke: #66f }
|
||||
#dot1 { fill: #f0f }
|
||||
</style>
|
||||
<rect
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
|
@ -75,6 +59,6 @@
|
|||
<flowPara id="flowPara4170" style="font-weight:bold">1. Chaos Cologne</flowPara>
|
||||
<flowPara style="fill:#66f" id="flowPara4172">$personnames</flowPara>
|
||||
<flowPara style="fill:#0f0" id="flowPara4174">$title</flowPara>
|
||||
<flowPara style="fill:#f00" id="flowPara3357">$subtitle</flowPara>
|
||||
<flowPara style="font-size:40px;fill:#f00" id="flowPara3357">$subtitle</flowPara>
|
||||
</flowRoot>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.4 KiB |
262
1c2/artwork/outro.svg
Normal file
262
1c2/artwork/outro.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 26 KiB |
Loading…
Add table
Reference in a new issue