diff --git a/gpn15/__init__.py b/gpn15/__init__.py new file mode 100644 index 0000000..f583648 --- /dev/null +++ b/gpn15/__init__.py @@ -0,0 +1,127 @@ +#!/usr/bin/python + +import subprocess +import os.path +from renderlib import * + +# URL to Schedule-XML +scheduleUrl = 'http://bl0rg.net/~andi/gpn15-fahrplan/schedule.xml' + +# For (really) too long titles +titlemap = { +} + +def introFrames(parameters): + # 5 Sekunden + + # 1 Sekunden stehen bleiben + frames = 1*fps + for i in range(0, frames): + yield ( + ('rain', 'style', 'opacity', "1.0"), + ('personnames', 'style', 'opacity', "0.0"), + ('title', 'style', 'opacity', "0.0"), + ) + + # 3 Sekunden Fade-in + frames = 3*fps + for i in range(0, frames): + yield ( + ('rain', 'style', 'opacity', "%.4f" % easeOutCubic(min(i,frames/2), 1, -1, frames/2)), + ('personnames', 'style', 'opacity', "%.4f" % easeOutCubic(i, 0, 1, frames)), + ('title', 'style', 'opacity', "%.4f" % easeOutCubic(i, 0, 1, frames)), + ) + + # 1 Sekunden stehen bleiben + frames = 1*fps + for i in range(0, frames): + yield ( + ) + + +def outroFrames(parameters): + frames = 2*fps + for i in range(0, frames): + yield ( + ('license', 'style', 'opacity', "0.0"), + ('gpn', 'style', 'opacity', "1.0"), + ) + + frames = 2*fps + for i in range(0, frames): + yield ( + ('gpn', 'style', 'opacity', "%.4f" % easeOutCubic(min(i,frames/2), 1, -1, frames/2)), + ('license', 'style', 'opacity', "%.4f" % easeOutCubic(i, 0, 1, frames)), + ) + + frames = 1*fps + for i in range(0, frames): + yield ( + ('license', 'style', 'opacity', "1.0"), + ('gpn', 'style', 'opacity', "0.0"), + ) + +def pauseFrames(parameters): + frames = 5*fps + for i in range(0, frames): + yield ( + ('rain', 'attr', 'transform', 'translate(0,%.4f)' % easeLinear(i, 0, 448, frames) ), + ) + + frames = 5*fps + for i in range(0, frames): + yield ( + ('rain', 'attr', 'transform', 'translate(0,%.4f)' % easeLinear(i, 0, 448, frames) ), + ) + + frames = 5*fps + for i in range(0, frames): + yield ( + ('rain', 'attr', 'transform', 'translate(0,%.4f)' % easeLinear(i, 0, 448, frames) ), + ) + +def debug(): + #render( + # 'pause.svg', + # '../pause.ts', + # pauseFrames + #) + + render( + 'outro.svg', + '../outro.ts', + outroFrames + ) + + #render( + # 'intro.svg', + # '../intro.ts', + # introFrames, + # { + # '$id': 20227, + # '$title': "Leben mit dem Saurier", + # '$subtitle': '', + # '$personnames': 'Sarah' + # } + #) + +def tasks(queue, parameters): + # iterate over all events extracted from the schedule xml-export + for event in events(scheduleUrl): + + if len(args) > 0: + if not str(event['id']) in args: + continue + + # generate a task description and put it 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'] + } + )) diff --git a/gpn15/artwork/by-sa.svg b/gpn15/artwork/by-sa.svg new file mode 100644 index 0000000..f850297 --- /dev/null +++ b/gpn15/artwork/by-sa.svg @@ -0,0 +1,199 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gpn15/artwork/intro.svg b/gpn15/artwork/intro.svg new file mode 100644 index 0000000..694ace7 --- /dev/null +++ b/gpn15/artwork/intro.svg @@ -0,0 +1,178 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + $personnames $title + diff --git a/gpn15/artwork/logo.svg b/gpn15/artwork/logo.svg new file mode 100644 index 0000000..ae0feda --- /dev/null +++ b/gpn15/artwork/logo.svg @@ -0,0 +1,129 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + diff --git a/gpn15/artwork/outro.svg b/gpn15/artwork/outro.svg new file mode 100644 index 0000000..3d361e9 --- /dev/null +++ b/gpn15/artwork/outro.svg @@ -0,0 +1,324 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + GPN15 + 4.–7. Juni 2015 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gpn15/artwork/pause.svg b/gpn15/artwork/pause.svg new file mode 100644 index 0000000..f6474c0 --- /dev/null +++ b/gpn15/artwork/pause.svg @@ -0,0 +1,461 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pause + + + diff --git a/gpn15/artwork/rain.mp3 b/gpn15/artwork/rain.mp3 new file mode 100644 index 0000000..801027a Binary files /dev/null and b/gpn15/artwork/rain.mp3 differ