diff --git a/ds14/__init__.py b/ds14/__init__.py new file mode 100644 index 0000000..006c4c3 --- /dev/null +++ b/ds14/__init__.py @@ -0,0 +1,89 @@ +#!/usr/bin/python3 + +import svg.path, random +from lxml import etree +from renderlib import * + +# URL to Schedule-XML +scheduleUrl = 'https://www.datenspuren.de/2014/fahrplan/schedule.xml' + +# For (really) too long titles +titlemap = { + +} + +def introFrames(parameters): + frames = round(0.5*fps) + for i in range(0, frames): + yield ( + ('names', 'style', 'opacity', 0), + ('title', 'style', 'opacity', 0), + ) + + frames = 1*fps + for i in range(0, frames): + yield ( + ('names', 'style', 'opacity', "%.4f" % easeOutCubic(i, 0, 1, frames)), + ('title', 'style', 'opacity', 0), + ) + + frames = 1*fps + for i in range(0, frames): + yield ( + ('names', 'style', 'opacity', 1), + ('title', 'style', 'opacity', "%.4f" % easeInCubic(i, 0, 1, frames)), + ) + + frames = 3*fps + for i in range(0, frames): + yield ( + ('names', 'style', 'opacity', 1), + ('title', 'style', 'opacity', 1), + ) + + frames = 1*fps + for i in range(0, frames): + yield ( + ('names', 'style', 'opacity', "%.4f" % easeOutCubic(i, 1, -1, frames)), + ('title', 'style', 'opacity', "%.4f" % easeInCubic(i, 1, -1, frames)), + ) + + frames = 1*fps + for i in range(0, frames): + yield ( + ('names', 'style', 'opacity', 0), + ('title', 'style', 'opacity', 0), + ) + +def debug(): + render('intro.svg', + '../intro.dv', + introFrames, + { + '$id': 5924, + '$title': 'Digitale Selbstverteidigung - Wie schütze ich mich vor Überwachung?', + '$subtitle': '', + '$personnames': 'Chaostreff Chemnitz, Eva Olivin, Robert Verch' + } + ) + + # render('outro.svg', + # '../outro.dv', + # outroFrames + # ) + +def tasks(queue): + # 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'])+".dv", + sequence = introFrames, + parameters = { + '$id': event['id'], + '$title': event['title'], + '$subtitle': event['subtitle'], + '$personnames': event['personnames'] + } + )) diff --git a/ds14/artwork/intro.svg b/ds14/artwork/intro.svg new file mode 100644 index 0000000..17b53fe --- /dev/null +++ b/ds14/artwork/intro.svg @@ -0,0 +1,898 @@ + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $personnames $title + diff --git a/ds14/artwork/src.svg b/ds14/artwork/src.svg new file mode 100644 index 0000000..010a815 --- /dev/null +++ b/ds14/artwork/src.svg @@ -0,0 +1,839 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +