From ac468adfaa2c2af8db745d74f0402ad1983e6fed Mon Sep 17 00:00:00 2001 From: MaZderMind Date: Thu, 30 Jul 2015 00:03:08 +0200 Subject: [PATCH] first go at cccamp15 intros --- cccamp15/__init__.py | 77 ++ cccamp15/artwork/intro.svg | 1045 +++++++++++++++++++++++++++ cccamp15/artwork/pieces-grouped.svg | 1028 ++++++++++++++++++++++++++ 3 files changed, 2150 insertions(+) create mode 100644 cccamp15/__init__.py create mode 100644 cccamp15/artwork/intro.svg create mode 100644 cccamp15/artwork/pieces-grouped.svg diff --git a/cccamp15/__init__.py b/cccamp15/__init__.py new file mode 100644 index 0000000..e370f36 --- /dev/null +++ b/cccamp15/__init__.py @@ -0,0 +1,77 @@ +#!/usr/bin/python3 + +import random +from renderlib import * + +scheduleUrl = 'https://events.ccc.de/camp/2015/Fahrplan/schedule.xml' +titlemap = {} + +def introFrames(parameters): + id = parameters['$id'] + title = titlemap[id] if id in titlemap else parameters['$title'].strip() + + rnd = random.Random() + #rnd.seed(title) + rnd.seed("blafoo23") + + tiles = range(1, 27) + targets = {} + + frames = 5*fps + maxdelay = int(frames/4) + + for tile in tiles: + targets[tile] = ( + # x/y + rnd.randint(-1200, -800), + rnd.randint(-600, 600), + + # delay + rnd.randint(0, maxdelay) + ) + + # 5 Sekunde Kacheln zusammenbauen + for i in range(0, frames): + placements = [] + for tile in tiles: + delay = targets[tile][2] + + tx = targets[tile][0] + ty = targets[tile][1] + + x = easeDelay(easeInOutQuad, delay, i, tx, -tx, frames-maxdelay) + y = easeDelay(easeInOutQuad, delay, i, ty, -ty, frames-maxdelay) + + placements.append( + ('g%u' % tile, 'attr', 'transform', 'translate(%.4f, %.4f)' % (x, y)) + ) + + yield placements + +def outroFrames(p): + # 5 Sekunden stehen bleiben + frames = 5*fps + for i in range(0, frames): + yield [] + +def debug(): + render( + 'intro.svg', + '../intro.ts', + introFrames, + parameters={ + '$id': 6543, + '$title': 'NSA-Untersuchungsausschuss - Wer kontrolliert wen?', + '$subtitle': 'A Practical Introduction to Acoustic Cryptanalysis', + '$person': 'Frantisek Algoldor Apfelbeck' + } + ) + + # render( + # 'outro.svg', + # '../outro.ts', + # outroFrames + # ) + +def tasks(queue, args): + raise NotImplementedError('call with --debug to render your intro/outro') diff --git a/cccamp15/artwork/intro.svg b/cccamp15/artwork/intro.svg new file mode 100644 index 0000000..fac64a9 --- /dev/null +++ b/cccamp15/artwork/intro.svg @@ -0,0 +1,1045 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NSA-Untersuchungsausschuss - Wer kontrolliert wen?A Practical Introduction to Acoustic CryptanalysisFrantisek Algoldor Apfelbeck + diff --git a/cccamp15/artwork/pieces-grouped.svg b/cccamp15/artwork/pieces-grouped.svg new file mode 100644 index 0000000..644fcfa --- /dev/null +++ b/cccamp15/artwork/pieces-grouped.svg @@ -0,0 +1,1028 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +