diff --git a/occon18/__init__.py b/occon18/__init__.py new file mode 100644 index 0000000..9bd9ff1 --- /dev/null +++ b/occon18/__init__.py @@ -0,0 +1,178 @@ +#!/usr/bin/python3 + +from renderlib import * +from easing import * + +# URL to Schedule-XML +scheduleUrl = 'https://cfp.owncloud.com/occon18/schedule/export?exporter=core-frab-xml' + +def introFrames(args): +#fade in logo + frames = 2*fps + for i in range(0, frames): + yield ( + ('logo', 'style', 'opacity', easeInQuad(i, 0, 1.5, frames)), + ('confname', 'style', 'opacity', easeInQuad(i, 0, 1.25, frames)), + ('confdate', 'style', 'opacity', easeInQuad(i, 0, 1, frames)), + ('title', 'style', 'opacity', 0), + ('subtitle', 'style', 'opacity', 0), + ('persons', 'style', 'opacity', 0), + ('id', 'style', 'opacity', 0), + ) +#fade in title, subtitle, person and id + frames = 4*fps + for i in range(0, frames): + yield ( + ('logo', 'style', 'opacity', 1), + ('confname', 'style', 'opacity', 1), + ('confdate', 'style', 'opacity', 1), + ('title', 'style', 'opacity', easeInQuad(i, 0, 1, frames)), + ('subtitle', 'style', 'opacity', easeInQuad(i, 0, 1, frames)), + ('persons', 'style', 'opacity', easeInQuad(i, 0, 1, frames)), + ('id', 'style', 'opacity', easeInQuad(i, 0, 1, frames)), + ) +#show whole image + frames = 2*fps + for i in range(0, frames): + yield( + ('title', 'style', 'opacity', 1), + ('subtitle', 'style', 'opacity', 1), + ('persons', 'style', 'opacity', 1), + ('id', 'style', 'opacity', 1), + ) + +def backgroundFrames(parameters): +# 80 Sekunden + + frames = 40*fps + for i in range(0, frames): + xshift = (i+1) * 300/frames + yshift = ((i+1) * (150/frames)) + yield( + ('movingbg', 'attr', 'transform', 'translate(%.4f, %.4f)' % (xshift, yshift)), + ) + + frames = 40*fps + for i in range(0, frames): + xshift = 300 - ((i+1) * (300/frames)) + yshift = 150 - ((i+1) * (150/frames)) + yield( + ('movingbg', 'attr', 'transform', 'translate(%.4f, %.4f)' % (xshift, yshift)), + ) + +def outroFrames(args): +#fadein outro graphics + frames = 3*fps + for i in range(0, frames): + yield( + ('pillgroup', 'style', 'opacity', easeInQuad(i, 0.01, 1, frames)), + ('logotext', 'style', 'opacity', easeInQuad(i, 0.01, 1, frames)), + ('c3voclogo', 'style', 'opacity', easeInQuad(i, 0.01, 1, frames)), + ('c3voctext', 'style', 'opacity', easeInQuad(i, 0.01, 1, frames)), + ('bysalogo', 'style', 'opacity', easeInQuad(i, 0.01, 1, frames)), + ('bysatext', 'style', 'opacity', easeInQuad(i, 0.01, 1, frames)), + ) + frames = 3*fps + for i in range(0, frames): + yield( + ('pillgroup', 'style', 'opacity', 1), + ('logotext', 'style', 'opacity', 1), + ('c3voclogo', 'style', 'opacity', 1), + ('c3voctext', 'style', 'opacity', 1), + ('bysalogo', 'style', 'opacity', 1), + ('bysatext', 'style', 'opacity', 1), + ) + +def pauseFrames(args): +#fade logo + pause + frames = int(2*fps) + for i in range(0, frames): + yield ( + ('logo', 'style', 'opacity', easeInQuad(i, 0.1, 1, frames)), + ('pause', 'style', 'opacity', easeInQuad(i, 1, -0.9, frames)), + ) + for i in range(0, frames): + yield ( + ('logo', 'style', 'opacity', easeInQuad(i, 1, -0.9, frames)), + ('pause', 'style', 'opacity', easeInQuad(i, 0.1, 1, frames)), + ) + +def debug(): + render('intro.svg', + '../intro.ts', + introFrames, + { + '$id': '23', + '$title': 'Performance testing of OwnCloud using VirtualBox and Apache JMeter', + '$subtitle': 'Foo Bar Foo Bar Foo Bar Foo Bar Foo Bar Foo Bar Foo Bar Foo Bar', + '$persons': 'Jean-Marie de Boer, Jean-Marie de Boer, Jean-Marie de Boer' + } + ) + +# render('outro.svg', +# '../outro.ts', +# outroFrames +# ) + + render( + 'background.svg', + '../background.ts', + backgroundFrames + ) + + render('pause.svg', + '../pause.ts', + pauseFrames + ) + + +def tasks(queue, args, idlist, skiplist): + # iterate over all events extracted from the schedule xml-export + for event in events(scheduleUrl): + if event['room'] not in ('Chirurgie (Saal 1.04)', 'Kreißsaal (Saal 1.11)'): + print("skipping room %s (%s [%s])" % (event['room'], event['title'], event['id'])) + continue + 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 + queue.put(Rendertask( + infile = 'intro.svg', + outfile = str(event['id'])+".ts", + sequence = introFrames, + parameters = { + '$id': event['id'], + '$title': event['title'], + '$subtitle': event['subtitle'], + '$persons': 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 + if not "pause" in skiplist: + queue.put(Rendertask( + infile = 'pause.svg', + outfile = 'pause.ts', + sequence = pauseFrames + )) + + # place the background-sequence into the queue + if not "bg" in skiplist: + queue.put(Rendertask( + infile = 'background.svg', + outfile = 'background.ts', + sequence = backgroundFrames + )) diff --git a/occon18/artwork/background.svg b/occon18/artwork/background.svg new file mode 100644 index 0000000..1bbe24d --- /dev/null +++ b/occon18/artwork/background.svg @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + Conference2018 + + + diff --git a/occon18/artwork/intro.svg b/occon18/artwork/intro.svg new file mode 100644 index 0000000..e38b4b6 --- /dev/null +++ b/occon18/artwork/intro.svg @@ -0,0 +1,365 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + $title $subtitle $persons $id + ownCloud conference 2018 September 18 - 21, 2018, Nuremberg + + + diff --git a/occon18/artwork/pause.svg b/occon18/artwork/pause.svg new file mode 100644 index 0000000..5a8c5c8 --- /dev/null +++ b/occon18/artwork/pause.svg @@ -0,0 +1,584 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + PAUSE Thanks to our sponsors + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/occon18/artwork/raw/OpenSUSE_official-logo-color.svg b/occon18/artwork/raw/OpenSUSE_official-logo-color.svg new file mode 100644 index 0000000..83842e2 --- /dev/null +++ b/occon18/artwork/raw/OpenSUSE_official-logo-color.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/occon18/artwork/raw/boxcryptor-logo.png b/occon18/artwork/raw/boxcryptor-logo.png new file mode 100644 index 0000000..7c83607 Binary files /dev/null and b/occon18/artwork/raw/boxcryptor-logo.png differ diff --git a/occon18/artwork/raw/by-sa.svg b/occon18/artwork/raw/by-sa.svg new file mode 100644 index 0000000..60b44e3 --- /dev/null +++ b/occon18/artwork/raw/by-sa.svg @@ -0,0 +1,74 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/occon18/artwork/raw/kopano-logo-regular.svg b/occon18/artwork/raw/kopano-logo-regular.svg new file mode 100644 index 0000000..5cc568f --- /dev/null +++ b/occon18/artwork/raw/kopano-logo-regular.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/occon18/artwork/raw/owncloud-logo-community-raw-invers.svg b/occon18/artwork/raw/owncloud-logo-community-raw-invers.svg new file mode 100644 index 0000000..fa84b60 --- /dev/null +++ b/occon18/artwork/raw/owncloud-logo-community-raw-invers.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + diff --git a/occon18/artwork/raw/owncloud-logo-community-raw.eps b/occon18/artwork/raw/owncloud-logo-community-raw.eps new file mode 100644 index 0000000..d4d9039 --- /dev/null +++ b/occon18/artwork/raw/owncloud-logo-community-raw.eps @@ -0,0 +1,171 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.14.2 (http://cairographics.org) +%%CreationDate: Tue Sep 5 18:02:38 2017 +%%Pages: 1 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%BoundingBox: 0 0 1122 556 +%%EndComments +%%BeginProlog +save +50 dict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/pdfmark where { pop globaldict /?pdfmark /exec load put } + { globaldict begin /?pdfmark /pop load def /pdfmark + /cleartomark load def end } ifelse +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +%%EndProlog +%%BeginSetup +%%EndSetup +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 0 0 1122 556 +%%EndPageSetup +q 0 0 1122 556 rectclip q +0.113725 0.176471 0.266667 rg +1077.602 0 m 1057.52 0 l 1022.559 0 994.078 29.762 994.078 66.398 c 994.078 + 103.039 1022.559 132.801 1057.52 132.801 c 1108 132.801 l 1108 234.641 +l 1121.52 234.641 l 1121.52 126.078 l 1121.52 123.199 1122.078 65.441 1121.52 + 44.961 c 1121.199 33.68 1115.84 22.16 1106.879 13.359 c 1098.398 5.039 +1087.441 0 1077.602 0 c h +1057.52 119.281 m 1030 119.281 1007.602 95.602 1007.602 66.398 c 1007.602 + 37.199 1030 13.52 1057.52 13.52 c 1077.602 13.52 l 1090.641 13.52 1107.52 + 28.48 1108 45.281 c 1108.48 61.52 1108.16 102.879 1108.078 119.199 c 1057.52 + 119.199 l h +1057.52 119.281 m f +904.641 0 m 869.68 0 841.199 29.762 841.199 66.398 c 841.199 126.641 l +854.719 126.641 l 854.719 66.398 l 854.719 37.281 877.121 13.52 904.641 +13.52 c 932.16 13.52 954.559 37.199 954.559 66.398 c 954.559 126.641 l 968.078 + 126.641 l 968.078 66.398 l 968.078 29.84 939.602 0 904.641 0 c h +904.641 0 m f +644 45.199 m 644 178.16 l 639.359 180.641 634.801 183.359 630.48 186.398 + c 630.48 45.199 l 630.48 20.32 649.922 0.078 673.84 0.078 c 673.84 13.602 + l 657.359 13.602 644 27.762 644 45.199 c h +644 45.199 m f +510.559 102.48 m 510.559 128.078 521.039 151.199 537.762 167.359 c 533.602 + 169.281 529.602 171.762 525.922 174.641 c 508.078 156.16 497.039 130.641 + 497.039 102.48 c 497.039 46.32 540.879 0.641 594.719 0.641 c 594.719 14.16 + l 548.32 14.16 510.559 53.762 510.559 102.48 c h +510.559 102.48 m f +754.078 0 m 719.121 0 690.641 29.762 690.641 66.398 c 690.641 103.039 719.121 + 132.801 754.078 132.801 c 789.039 132.801 817.52 103.039 817.52 66.398 +c 817.52 29.762 789.121 0 754.078 0 c h +754.078 119.281 m 726.559 119.281 704.16 95.602 704.16 66.398 c 704.16 +37.199 726.559 13.52 754.078 13.52 c 781.602 13.52 804 37.199 804 66.398 + c 804 95.602 781.602 119.281 754.078 119.281 c h +754.078 119.281 m f +470.48 7.441 m 456.961 7.441 l 456.961 67.68 l 456.961 96.801 434.559 120.559 + 407.039 120.559 c 379.52 120.559 357.121 96.879 357.121 67.68 c 357.121 + 7.441 l 343.602 7.441 l 343.602 67.68 l 343.602 104.32 372.078 134.078 +407.039 134.078 c 442 134.078 470.48 104.32 470.48 67.68 c h +470.48 7.441 m f +271.199 0 m 255.84 0 242.32 8.398 234.641 20.961 c 226.961 8.398 213.441 + 0 198.078 0 c 174.16 0 154.719 20.238 154.719 45.121 c 154.719 126.641 +l 168.238 126.641 l 168.238 45.199 l 168.238 27.762 181.602 13.602 198.078 + 13.602 c 214.559 13.602 227.922 27.762 227.922 45.199 c 227.922 126.641 + l 241.441 126.641 l 241.441 45.199 l 241.441 27.762 254.801 13.602 271.281 + 13.602 c 287.762 13.602 301.121 27.762 301.121 45.199 c 301.121 126.641 + l 314.641 126.641 l 314.641 45.199 l 314.641 20.32 295.121 0 271.199 0 +c h +271.199 0 m f +63.441 0 m 28.48 0 0 29.762 0 66.398 c 0 103.039 28.48 132.801 63.441 132.801 + c 98.398 132.801 126.879 103.039 126.879 66.398 c 126.879 29.762 98.398 + 0 63.441 0 c h +63.441 119.281 m 35.922 119.281 13.52 95.602 13.52 66.398 c 13.52 37.199 + 35.922 13.52 63.441 13.52 c 90.961 13.52 113.359 37.199 113.359 66.398 +c 113.359 95.602 90.961 119.281 63.441 119.281 c h +63.441 119.281 m f +675.441 556 m 624.32 556 583.039 513.52 583.039 460.961 c 583.039 439.281 + 590.078 419.359 601.922 403.359 c 627.602 433.922 665.441 453.281 707.762 + 453.281 c 728.48 453.281 748.078 448.559 765.762 440.238 c 767.199 446.879 + 767.922 453.84 767.922 460.961 c 767.84 513.52 726.559 556 675.441 556 +c h +554.719 512.078 m 528.078 512.078 506.719 489.922 506.719 462.48 c 506.719 + 453.602 508.961 445.281 512.879 438.078 c 528.961 447.359 547.52 452.801 + 567.199 452.801 c 569.121 452.801 570.961 452.719 572.801 452.641 c 572.559 + 455.441 572.398 458.16 572.398 461.039 c 572.398 476.32 575.602 490.801 + 581.281 503.922 c 573.762 509.121 564.641 512.078 554.719 512.078 c h +782.719 477.922 m 780.719 477.922 778.879 477.68 776.961 477.52 c 777.762 + 472.078 778.398 466.641 778.398 460.961 c 778.398 452.16 777.281 443.602 + 775.281 435.441 c 798.641 422.16 818 402.32 830.719 378.238 c 843.922 385.359 + 858.719 389.84 874.398 390.879 c 870.32 439.602 831.121 477.922 782.719 + 477.922 c h +707.68 442.559 m 636.16 442.559 578.32 383.039 578.32 309.52 c 578.32 235.922 + 636.16 176.48 707.68 176.48 c 779.199 176.48 837.039 236 837.039 309.52 + c 837.039 383.039 779.199 442.559 707.68 442.559 c h +567.281 442 m 511.762 442 466.879 395.84 466.879 338.719 c 466.879 305.121 + 482.48 275.359 506.559 256.559 c 516.719 276.719 537.121 290.48 560.719 + 290.48 c 563.602 290.48 566.32 290.16 569.039 289.762 c 568.16 296.238 +567.762 302.801 567.762 309.52 c 567.762 341.52 577.922 371.121 595.121 +395.039 c 584.801 408.32 577.441 424.238 574.32 441.602 c 572 441.762 569.602 + 442 567.281 442 c h +881.84 380.48 m 864.961 380.48 849.199 376.078 835.281 368.559 c 843.199 + 350.559 847.602 330.559 847.602 309.52 c 847.602 270.078 832.16 234.32 +807.199 208.32 c 825.602 187.359 852.238 174.238 881.84 174.238 c 937.359 + 174.238 982.238 220.398 982.238 277.52 c 982.238 334.641 937.281 380.48 + 881.84 380.48 c h +457.121 366.879 m 406 366.879 364.559 324.559 364.559 272 c 364.559 219.441 + 406 176.801 457.121 176.801 c 476.559 176.801 494.559 183.039 509.52 193.602 + c 503.359 203.441 499.762 215.199 499.762 227.68 c 499.762 234.16 500.719 + 240.398 502.48 246.32 c 474.641 267.039 456.48 300.719 456.48 338.719 c + 456.48 348.398 457.68 357.68 459.922 366.641 c 458.879 366.719 458 366.879 + 457.121 366.879 c h +1000.48 285.281 m 997.762 285.281 995.121 284.961 992.48 284.559 c 992.641 + 282.16 992.641 279.922 992.641 277.441 c 992.641 247.121 981.039 219.602 + 962.16 199.199 c 971.441 188.16 985.039 181.121 1000.398 181.121 c 1028.398 + 181.121 1051.121 204.32 1051.121 233.121 c 1051.199 261.922 1028.48 285.281 + 1000.48 285.281 c h +560.719 279.68 m 532.719 279.68 510.16 256.48 510.16 227.68 c 510.16 198.879 + 532.719 175.52 560.719 175.52 c 582.16 175.52 600.398 189.281 607.84 208.719 + c 589.762 227.68 576.801 251.762 571.039 278.641 c 567.68 279.281 564.32 + 279.68 560.719 279.68 c h +560.719 279.68 m f +Q Q +showpage +%%Trailer +end restore +%%EOF diff --git a/occon18/artwork/raw/owncloud-logo-community-raw.svg b/occon18/artwork/raw/owncloud-logo-community-raw.svg new file mode 100644 index 0000000..eb162e3 --- /dev/null +++ b/occon18/artwork/raw/owncloud-logo-community-raw.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + diff --git a/occon18/artwork/raw/univention-logo.svg b/occon18/artwork/raw/univention-logo.svg new file mode 100644 index 0000000..7e63e61 --- /dev/null +++ b/occon18/artwork/raw/univention-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file