diff --git a/fiffkon17/__init__.py b/fiffkon17/__init__.py new file mode 100644 index 0000000..b8a13b1 --- /dev/null +++ b/fiffkon17/__init__.py @@ -0,0 +1,124 @@ +#!/usr/bin/python3 + +from renderlib import * +from easing import * +import math + +# URL to Schedule-XML +scheduleUrl = 'https://live.ber.c3voc.de/releases/fiffkon17.xml' + +# For (really) too long titles +titlemap = { + #708: "Neue WEB-Anwendungen des LGRB Baden-Württemberg im Überblick" +} + + +def outroFrames(p): + frames = 2*fps + for i in range(0, frames): + yield ( + ('logo', 'style', 'opacity', "%.4f" % easeInCubic(i, 0, 1, frames)), + ('plate', 'style', 'opacity', 0), + ) + + frames = 1*fps + for i in range(0, frames): + yield ( + ('logo', 'style', 'opacity', 1), + ('plate', 'style', 'opacity', "%.4f" % easeInCubic(i, 0, 1, frames)), + ) + + frames = 2*fps + for i in range(0, frames): + yield ( + ('logo', 'style', 'opacity', 1), + ('plate', 'style', 'opacity', 1), + ) + +def introFrames(p): + frames = math.floor(1.5*fps) + for i in range(0, frames): + yield ( + ('header', 'attr', 'y', 659), + ('text', 'style', 'opacity', 0), + ) + + frames = 1*fps + for i in range(0, frames): + yield ( + ('text', 'style', 'opacity', "%.4f" % easeInCubic(i, 0, 1, frames)), + ) + + frames = math.ceil(3.5*fps) + for i in range(0, frames): + yield ( + ('text', 'style', 'opacity', 1), + ) + +def pauseFrames(p): + pass + + +def debug(): + render( + 'intro.svg', + '../intro.ts', + introFrames, + { + '$id': 6526, + '$title': 'Nachrichtendienstliche Zugriffe auf Telekommunikation und IKT-Strukuren und ihre Implikationen für individuelle und staatliche Souveränität', + '$subtitle': '', + '$personnames': 'Andy Müller-Maguhn' + } + ) + + #render( + # 'outro.svg', + # '../outro.ts', + # outroFrames + #) + + # render('pause.svg', + # '../pause.ts', + # pauseFrames + # ) + +def tasks(queue, params, idlist, skiplist): + # iterate over all events extracted from the schedule xml-export + for event in events(scheduleUrl): + if not (idlist==[]): + if 000000 in idlist: + print("skipping id (%s [%s])" % (event['title'], event['id'])) + continue + if int(event['id']) not in idlist: + print("skipping id (%s [%s])" % (event['title'], event['id'])) + continue + + # generate a task description and put them into the queue + if int(event['id']) not in skiplist: + 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'] + } + )) + + # place a task for the outro into the queue + if not "out" in skiplist: + queue.put(Rendertask( + infile = 'outro.svg', + outfile = 'outro.ts', + sequence = outroFrames + )) + + # # place the pause-sequence into the queue + # queue.put(Rendertask( + # infile = 'pause.svg', + # outfile = 'pause.ts', + # sequence = pauseFrames + # )) diff --git a/fiffkon17/artwork/background.png b/fiffkon17/artwork/background.png new file mode 100644 index 0000000..9967614 Binary files /dev/null and b/fiffkon17/artwork/background.png differ diff --git a/fiffkon17/artwork/by-sa.svg b/fiffkon17/artwork/by-sa.svg new file mode 100644 index 0000000..f850297 --- /dev/null +++ b/fiffkon17/artwork/by-sa.svg @@ -0,0 +1,199 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fiffkon17/artwork/intro.svg b/fiffkon17/artwork/intro.svg new file mode 100644 index 0000000..2005acd --- /dev/null +++ b/fiffkon17/artwork/intro.svg @@ -0,0 +1,149 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + +   + $title$subtitle$personnames #FIfFKon17 + 20. bis 22. Oktober 2017Friedrich-Schiller-Universität Jena + + + + diff --git a/fiffkon17/artwork/outro.svg b/fiffkon17/artwork/outro.svg new file mode 100644 index 0000000..403a610 --- /dev/null +++ b/fiffkon17/artwork/outro.svg @@ -0,0 +1,275 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #FIfFKon17 + 20. bis 22. Oktober 2017Friedrich-Schiller-Universität Jena + + + +