Add outro task, cleanup __init__.py

Signed-off-by: Dennis Morhardt <info@dennismorhardt.de>
This commit is contained in:
Dennis Morhardt 2015-11-13 09:07:49 +01:00
parent 65f3e71fd6
commit a2ba02c04f
2 changed files with 1071 additions and 47 deletions

View file

@ -1,5 +1,4 @@
#!/usr/bin/python #!/usr/bin/python
import subprocess import subprocess
import os.path import os.path
from renderlib import * from renderlib import *
@ -7,62 +6,76 @@ from renderlib import *
# URL to Schedule-XML # URL to Schedule-XML
scheduleUrl = 'https://frab.sendegate.de/de/ppw15b/public/schedule.xml' scheduleUrl = 'https://frab.sendegate.de/de/ppw15b/public/schedule.xml'
# For (really) too long titles
titlemap = {
}
def easeOutCubic(t, b, c, d): def easeOutCubic(t, b, c, d):
t=float(t)/d-1 t=float(t)/d-1
return c*((t)*t*t + 1) + b return c*((t)*t*t + 1) + b
def introFrames(parameters): def introFrames(parameters):
# 8 Sekunden # 1 Sekunden stehen bleiben
frames = 1*fps
for i in range(0, frames):
yield (
('logo', 'style', 'opacity', "1"),
('flowRoot3405', 'style', 'opacity', "0.0")
)
# 1 Sekunden stehen bleiben # 2 Sekunden Fade-in
frames = 1*fps frames = 2*fps
for i in range(0, frames): for i in range(0, frames):
yield ( yield (
('flowRoot3405', 'style', 'opacity', "0.0"), ('logo', 'style', 'opacity', "1"),
('logo', 'style', 'opacity', "1"), ('flowRoot3405', 'style', 'opacity', "%.4f" % easeOutCubic(i, 0, 1, frames)),
) )
# 2 Sekunden Fade-in # 5 Sekunden stehen bleiben
frames = 2*fps frames = 5*fps
for i in range(0, frames): for i in range(0, frames):
yield ( yield ()
('logo', 'style', 'opacity', "1"),
('flowRoot3405', 'style', 'opacity', "%.4f" % easeOutCubic(i, 0, 1, frames)),
)
# 5 Sekunden stehen bleiben def outroFrames(parameters):
frames = 8*fps frames = 5*fps
for i in range(0, frames): for i in range(0, frames):
yield ( yield ()
)
def debug(): def debug():
render( render(
'intro.svg', 'intro.svg',
'../intro.ts', '../intro.ts',
introFrames, introFrames,
{ {
'$title': "Podcasten aus dem Bundestag die Entstehung eines politischen Formats", '$title': "Podcasten aus dem Bundestag die Entstehung eines politischen Formats",
'$subtitle': 'Alles über Technische Aufklärung', '$subtitle': 'Alles über Technische Aufklärung',
'$personnames': 'Felix Betzin, Jonas Schönfelder' '$personnames': 'Felix Betzin, Jonas Schönfelder'
} }
) )
render(
'outro.svg',
'../outro.ts',
outroFrames
)
def tasks(queue, parameters): def tasks(queue, parameters):
# iterate over all events extracted from the schedule xml-export # iterate over all events extracted from the schedule xml-export
for event in events(scheduleUrl): for event in events(scheduleUrl):
# generate a task description and put it into the queue # HACK: only render event 49
queue.put(Rendertask( #if event['id'] != 49:
infile = 'intro.svg', # continue
outfile = str(event['id'])+".ts",
sequence = introFrames, # generate a task description and put it into the queue
parameters = { queue.put(Rendertask(
'$title': event['title'], infile = 'intro.svg',
'$subtitle': event['subtitle'], outfile = str(event['id'])+".ts",
'$personnames': event['personnames'] sequence = introFrames,
} parameters = {
)) '$title': event['title'],
'$subtitle': event['subtitle'],
'$personnames': event['personnames']
}
))
queue.put(Rendertask(
infile = 'outro.svg',
outfile = 'outro.ts',
sequence = outroFrames
))

1011
ppw15b/artwork/outro.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 90 KiB