diff --git a/vcfb24/artwork/Computerfont.ttf b/vcfb24/Computerfont.ttf similarity index 100% rename from vcfb24/artwork/Computerfont.ttf rename to vcfb24/Computerfont.ttf diff --git a/vcfb24/SourceSansPro-Semibold.ttf b/vcfb24/SourceSansPro-Semibold.ttf new file mode 100644 index 0000000..bf69cc2 Binary files /dev/null and b/vcfb24/SourceSansPro-Semibold.ttf differ diff --git a/vcfb24/__init__.py b/vcfb24/__init__.py deleted file mode 100644 index d085b33..0000000 --- a/vcfb24/__init__.py +++ /dev/null @@ -1,149 +0,0 @@ -#!/usr/bin/python3 - -from schedulelib import events -from renderlib import * -from easing import * -import math - -# URL to Schedule-XML -scheduleUrl = 'http://vcfb.de/2024/schedule.xml' - -# For (really) too long titles -titlemap = { - #708: "Neue WEB-Anwendungen des LGRB Baden-Württemberg im Überblick" -} -personmap = { -} - -taglinemap = { -} - -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': 'Besser steuern durch Daten? - Zur Performativität soziotechnischer Systeme und der Quantifizierung der sozialen Welt', - '$subtitle': '', - '$personnames': 'Judith Hartstein und Anne K. Krüger' - } - ) - - #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'] - } - )) - -# for person in persons(scheduleUrl, personmap, taglinemap, event['id']): -# queue.put(Rendertask( -# infile = 'lower-third.svg', -# outfile = 'event_{}_person_{}.png'.format(str(event['id']), str(person['id'])), -# parameters = { -# '$PERSON': person['person'], -# '$TAGLINE': person['tagline'], -# } -# )) -# -# queue.put(Rendertask( -# infile = 'lower-third.svg', -# outfile = 'event_{}_persons.png'.format(str(event['id'])), -# parameters = { -# '$PERSON': event['personnames'], -# '$TAGLINE': '', -# } -# )) -# - # 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 - #if not "pause" in skiplist: -# queue.put(Rendertask( -# infile = 'pause.svg', -# outfile = 'pause.ts', -# sequence = pauseFrames -# )) diff --git a/vcfb24/config.ini b/vcfb24/config.ini new file mode 100644 index 0000000..0fb3ad3 --- /dev/null +++ b/vcfb24/config.ini @@ -0,0 +1,37 @@ +[default] +schedule = http://vcfb.de/2024/schedule.xml +# ffmpeg -loop 1 -i intro.png -f lavfi -i anullsrc=channel_layout=stereo:sample_rate=44100 -c:v libx264 -tune stillimage -pix_fmt yuv420p -c:a aac -r 25 -t 10 intro.mp4 +template = intro.mp4 +alpha = false +prores = false +fontfile = true +inout = t + +[title] +in = 1 +out = 9.5 +font = Computerfont.ttf +fontsize = 100 +fontcolor = #ffffff +x = 85 +y = 122 + +[speaker] +in = 2 +out = 9 +font = SourceSansPro-Semibold.ttf +fontsize = 65 +fontcolor = #ffffff +x = 85 +y = 861 + + +[text] +in = 0 +out = 0 +font = Computerfont.ttf +fontsize = 0 +fontcolor = #ffffff +x = 0 +y = 0 +text = '' diff --git a/vcfb24/artwork/intro.svg b/vcfb24/intro.svg similarity index 100% rename from vcfb24/artwork/intro.svg rename to vcfb24/intro.svg diff --git a/vcfb24/artwork/lower-third.svg b/vcfb24/lower-third.svg similarity index 100% rename from vcfb24/artwork/lower-third.svg rename to vcfb24/lower-third.svg diff --git a/vcfb24/artwork/outro.svg b/vcfb24/outro.svg similarity index 100% rename from vcfb24/artwork/outro.svg rename to vcfb24/outro.svg diff --git a/vcfb24/artwork/pause.svg b/vcfb24/pause.svg similarity index 100% rename from vcfb24/artwork/pause.svg rename to vcfb24/pause.svg