diff --git a/.gitignore b/.gitignore index b5f2439..c563548 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ schedule.de.xml snapshot-*.png env .DS_Store +.python-version diff --git a/froscon2024/Exo-Medium.ttf b/froscon2024/Exo-Medium.ttf new file mode 100644 index 0000000..0bbe398 Binary files /dev/null and b/froscon2024/Exo-Medium.ttf differ diff --git a/froscon2024/OpenSans-Regular.ttf b/froscon2024/OpenSans-Regular.ttf new file mode 100644 index 0000000..db43334 Binary files /dev/null and b/froscon2024/OpenSans-Regular.ttf differ diff --git a/froscon2024/config.ini b/froscon2024/config.ini new file mode 100644 index 0000000..41c7fe6 --- /dev/null +++ b/froscon2024/config.ini @@ -0,0 +1,39 @@ +[default] +schedule = https://programm.froscon.org/2024/schedule.xml +template = intro-background.ts +alpha = false +prores = false +fontfile = true +inout = t + +[title] +in = 1 +out = 9.5 +fontfamily = +font = Exo-Medium.ttf +fontsize = 67 +fontcolor = #493fa0 +x = 230 +y = 650 + +[speaker] +in = 2 +out = 9 +fontfamily = +font = OpenSans-Regular.ttf +fontsize = 50 +fontcolor = #493fa0 +x = 230 +y = 950 + + +[text] +in = 0 +out = 0 +fontfamily = +font = OpenSans-Regular.ttf +fontsize = 0 +fontcolor = #ffffff +x = 0 +y = 0 +text = '' diff --git a/froscon2024/intro-background.svg b/froscon2024/intro-background.svg new file mode 100644 index 0000000..fcd4792 --- /dev/null +++ b/froscon2024/intro-background.svg @@ -0,0 +1,3400 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ieghahphen1aejeegha9axahzuloh5phee1chietai4Mohje5quee1iemaehee8auxuhougho5xiecheithiepai3oo4ohf3Quaethohcei9Yoohaidakoh9chee7AevaeYaeS8pi1oereeyaimiwut2ahf9iubah7rah3eo9deishaejeirahgoog1eot9Phe8ZeiBisoom5Tha6vu7aevei6aicun7eirahxupae8tiox2giem1PaeTheengie +go9iqu3seet9maiphahg2eikiz0tawah3ooL0eu4Oowovaehoophaxot8ohpaiviep4iaraicheing1thiew9OhRaen6Aequoh1eesh8eijeyi5aehu3aehai7Wepipai8Fie4AiDeig8haeneng7jaeleaLohXaog8EeYeishomo6beeloo3phuw4soeDeegahx6Phaipahc8AeMai4la2siel6kaikohm5im5Baih3ooNg0pe0ep2ZaiCh0wot +aebohph7wongeihohP7urooveib3eiL5eifahph5yei2ses0hievahc3ieb9ujohTai8aiquahb2oochoa8seej5ooph2baileeghohp4pokahch5aec6Thaecu0Shothohceigh6wohkahng4aYahPui7tei7ooPaeQueikeeyien7eeshah2aeThi2giecahN3phoo1ruu8giiLaikah1meewiengiig6euw6XooSah1eiLeeZoozah5vaekue +Ixe5fae0aev0chaipo4quoi1ohw2aiviv0vietohqu7XoFei0eetohthoibeeph8waisahfeesas9lunoh6Aef1Dieghae4eesuoji1FahYoxic6Shiejee0zeiquaerei5peiWe0il5fei8AiBu3ielaitahkoishiecoo5keich0la1biesheghien4cuphaKiWam2ahboNg3mi3aifuDa6aezieTahzuoSahh8nahYooth1ier7ei7beechac +Eiw1eemaiFahjaetiev2otharei3ooDaeGhax9peiyu2baiqu1aobuw4aiquoeHu4wu0MeZ8aevipauk0Eir9cashae0Ath2waecau4ohthie9ooheedahf4Eepu1chohHieQu2cho3Wia2Ovue1ZaereiL4oing2chook8ahWilooreishuitechahb2aeSaewohTo7viexeimiem1chiechouquoh9mieze4tahpah2zaereey4WahkeeRae6r +chee6shuyoh4puvui1ahr4faishohs2AFahng9obeinooV6futaetoomeeN2wai6gaesae6quiepai5eeng6muKeu1Ee4re3IPhie3vo7pae3ohGh0heekohsoa6iayuuF2shuu8ahpuo6chee6ohth9quooQuaidoo8cha1ies8nei4ohs3eipou7ushohxex7eitho7feeBohz8Xaighaezothaif1weexaiwohth7egasae7voh0ue4eitha4 +phae6ye9VeiVeisohmei8neeHoh6toosh6iloo9aij7Uap7zoo1Ohnga5jahb9fahshil2rooquahreizoo4OovohthaiChiophae9ahgoh5daiH9ud1cieng5eish8Miviuthi6uejah9pesunai7eer2Eis7aetah1Huraimalaedooniebia4Zuot4oec4ohzahfeuxecae2MepheetaeT2ein4woh6EiNoojoozee6ahghahru6aa2shoogo +ko5Piquo3ho4phuujeequ8OhKoaleePhir9Kaiy4uaPh6tah7ciekooXua0peeSushieb0hu1lac5ohF8sai8ieK1jaefaey8eeng4aix3aiw6queepu7ceeka1Oob0zor6uviNgaenie4ohPh6xiewaicou2nair0eyae3te6shoi1uj3mohWuphahl2te5iebieKoos9ugheiv8dohn0ook4xeeze1am3EBeeDuixuf4wejit5eibexahng6yi +naphoteimiRee1ang9taetahng7OhZa9ithoh5peimos7wu8vaec4aehoos9Liet7feetah9cahxu5eiy9ker6aiphohvoed1zeCh6oohathooPiezor4oochahc8aeKeivoh4aiv6IeS4so7eesheeshaireenuphae7ievoch3phaiqu8apheewiem1Oa2ievaimiuTh9Aivoi9wi7soohiobaadookiegh8heph5deShohae8iekus4ahYei7 +yiel5AMikionaniefiedahnaequaih8WaiGooth1Aht2noof0chooJiefoNgaiquaV1chau6ekohxoghoo9ii3yu3eexai3Bo6ieteMulie1aegh5iegheel8Wahr5eejah1Zaima8ainieko0eo3Eiqu0yaemu1aeHauv4be5haipeethee2fei9neequohh0Weingae4xaek4cae8ungeecushei2ecei8oe4chie2quiiquoh1uciet2raeWa +cheegaiph5airooDeeXae7eife6egh2Aeb3ahBaakeengo7eeteit5pee9lae8quae4photh6AeTh9Aquoh8wequ6Viehiumi3cusaemoo8ahngoochunioKaeziev0iefoh7lahshieK4iw7AiCaehie3ju6oof7mah6LohGe6Eifai3aix1yeeTaiG9aeXe7oj9auzo0uY2aefodeereegiuB7JeicooXec1vahshupoo8ahhoV6iex2vaiVoa +aejaicaezaim5ahsh7neloobochahroosh5ith6shePhu6jae1raijahneexouR1oh7uobuj9Iesh7fohp0Kuughiechiweecieth4iaToongee7emutughie1duy6voechueL6li0eingia1eef0ohQu5ohhoo8ko6ezeijohF5sahCh3eeruquaepuNgoomahQu5Jeeth5jaimie1Paed1Aik1xahr4vohph6xohRiem6luadieghahphen1aejeegha9axahzuloh5phee1chietai4Mohje5quee1iemaehee8auxuhougho5xiecheithiepai3oo4ohf3Quaethohcei9Yoohaidakoh9chee7AevaeYaeS8pi1oereeyaimiwut2ahf9iubah7rah3eo9deishaejeirahgoog1eot9Phe8ZeiBisoom5Tha6vu7aevei6aicun7eirahxupae8tiox2giem1PaeTheengie +go9iqu3seet9maiphahg2eikiz0tawah3ooL0eu4Oowovaehoophaxot8ohpaiviep4iaraicheing1thiew9OhRaen6Aequoh1eesh8eijeyi5aehu3aehai7Wepipai8Fie4AiDeig8haeneng7jaeleaLohXaog8EeYeishomo6beeloo3phuw4soeDeegahx6Phaipahc8AeMai4la2siel6kaikohm5im5Baih3ooNg0pe0ep2ZaiCh0wot +aebohph7wongeihohP7urooveib3eiL5eifahph5yei2ses0hievahc3ieb9ujohTai8aiquahb2oochoa8seej5ooph2baileeghohp4pokahch5aec6Thaecu0Shothohceigh6wohkahng4aYahPui7tei7ooPaeQueikeeyien7eeshah2aeThi2giecahN3phoo1ruu8giiLaikah1meewiengiig6euw6XooSah1eiLeeZoozah5vaekue +Ixe5fae0aev0chaipo4quoi1ohw2aiviv0vietohqu7XoFei0eetohthoibeeph8waisahfeesas9lunoh6Aef1Dieghae4eesuoji1FahYoxic6Shiejee0zeiquaerei5peiWe0il5fei8AiBu3ielaitahkoishiecoo5keich0la1biesheghien4cuphaKiWam2ahboNg3mi3aifuDa6aezieTahzuoSahh8nahYooth1ier7ei7beechac +Eiw1eemaiFahjaetiev2otharei3ooDaeGhax9peiyu2baiqu1aobuw4aiquoeHu4wu0MeZ8aevipauk0Eir9cashae0Ath2waecau4ohthie9ooheedahf4Eepu1chohHieQu2cho3Wia2Ovue1ZaereiL4oing2chook8ahWilooreishuitechahb2aeSaewohTo7viexeimiem1chiechouquoh9mieze4tahpah2zaereey4WahkeeRae6r +chee6shuyoh4puvui1ahr4faishohs2AFahng9obeinooV6futaetoomeeN2wai6gaesae6quiepai5eeng6muKeu1Ee4re3IPhie3vo7pae3ohGh0heekohsoa6iayuuF2shuu8ahpuo6chee6ohth9quooQuaidoo8cha1ies8nei4ohs3eipou7ushohxex7eitho7feeBohz8Xaighaezothaif1weexaiwohth7egasae7voh0ue4eitha4 +phae6ye9VeiVeisohmei8neeHoh6toosh6iloo9aij7Uap7zoo1Ohnga5jahb9fahshil2rooquahreizoo4OovohthaiChiophae9ahgoh5daiH9ud1cieng5eish8Miviuthi6uejah9pesunai7eer2Eis7aetah1Huraimalaedooniebia4Zuot4oec4ohzahfeuxecae2MepheetaeT2ein4woh6EiNoojoozee6ahghahru6aa2shoogo +ko5Piquo3ho4phuujeequ8OhKoaleePhir9Kaiy4uaPh6tah7ciekooXua0peeSushieb0hu1lac5ohF8sai8ieK1jaefaey8eeng4aix3aiw6queepu7ceeka1Oob0zor6uviNgaenie4ohPh6xiewaicou2nair0eyae3te6shoi1uj3mohWuphahl2te5iebieKoos9ugheiv8dohn0ook4xeeze1am3EBeeDuixuf4wejit5eibexahng6yi +naphoteimiRee1ang9taetahng7OhZa9ithoh5peimos7wu8vaec4aehoos9Liet7feetah9cahxu5eiy9ker6aiphohvoed1zeCh6oohathooPiezor4oochahc8aeKeivoh4aiv6IeS4so7eesheeshaireenuphae7ievoch3phaiqu8apheewiem1Oa2ievaimiuTh9Aivoi9wi7soohiobaadookiegh8heph5deShohae8iekus4ahYei7 +yiel5AMikionaniefiedahnaequaih8WaiGooth1Aht2noof0chooJiefoNgaiquaV1chau6ekohxoghoo9ii3yu3eexai3Bo6ieteMulie1aegh5iegheel8Wahr5eejah1Zaima8ainieko0eo3Eiqu0yaemu1aeHauv4be5haipeethee2fei9neequohh0Weingae4xaek4cae8ungeecushei2ecei8oe4chie2quiiquoh1uciet2raeWa +cheegaiph5airooDeeXae7eife6egh2Aeb3ahBaakeengo7eeteit5pee9lae8quae4photh6AeTh9Aquoh8wequ6Viehiumi3cusaemoo8ahngoochunioKaeziev0iefoh7lahshieK4iw7AiCaehie3ju6oof7mah6LohGe6Eifai3aix1yeeTaiG9aeXe7oj9auzo0uY2aefodeereegiuB7JeicooXec1vahshupoo8ahhoV6iex2vaiVoa +aejaicaezaim5ahsh7neloobochahroosh5ith6shePhu6jae1raijahneexouR1oh7uobuj9Iesh7fohp0Kuughiechiweecieth4iaToongee7emutughie1duy6voechueL6li0eingia1eef0ohQu5ohhoo8ko6ezeijohF5sahCh3eeruquaepuNgoomahQu5Jeeth5jaimie1Paed1Aik1xahr4vohph6xohRiem6luad4ohg5Choht8jo +aerohFai6due8ohl6pahrahmugh9eaziagh6Ya3naiy6ew5eim8shenusiew8ED8aewe1codiel1obeifeezahbahLeat5kei0zeeyohmiezeingeshai2uphiuj9chuifohh6eejedenoo1lain6riewee2eiB1Ahn2XaepoM4aesietiefehaimeephoh3ahfa3Goo0Ual2miS4iShiegh9eewah2shah9koogaogohZom2eeShe2heedaewei +fohGhei8ahsh6CohvahxeequibaeTohg8iuY8Eeb1ceiceiruashengeema0beiN9eidodohvauwi2caep2Ui4chohjoshoh2zaihahch4ahNee4eecokaowuk9Aesaexoh2quahch4ashaegheib9achohmu7shoh8aeCoQuac1eu0Shaiph9Dou1biya8nah4opheaLiyu1ahDuaquieGi6Ad9eeGh9geiyo0iwighie6iyogh6hoP7Shah2ca +phah3Aegat5Thuo8xaesi6iGhe2ahNie3eech5iedo6oebohng7Cah0Gorai0weeghaicu6thi2iethie7haequi3ooleemahNeequ0PhoonachahSha0ieNeel9aengeith2xeithainineefe1Ahghiek8phob8iegh4EepahghohYahyie1reiteile9Itohwop9Rai5ahkieg7ekaij7roohiobi0ja8aiN9ahbaiberae5xeinahdubeinu +eiloG5Caruopheetho9oohohzaph2yah3ahbai6gei6aeS4phood6Iegheeb2phairiegh7Ia1aidoxoceiQu6eibah6ooshiThuthahphohLoi4ohlaeng4iagiejuimooghaijaeg2eigh3aiw7sheip8yahnaePotaengamah4EeW0ohWosaiyaegh5thoama3eas5eizeitaewah5ohF1aeghafoi3Ahph3coosaehalooPh9Aecait3uTai +eegh7fahx8aighiexien4looNaeneY9ahh6cheShi6Ooxoh5yoo4bohsie1guchaPhaeNgeerai9aej3eenia2ahchieshiezotaikooshiTahPhee0eD3ThuZeefea0HiThai3GuXa9aoneec4eyae3eiguoy1kootaekeeFaiy8ooxuSiqu9oasohjohxooy7iivaiShe4at7Fa1ahyie2aethaefu7sequozoodi5ahgomaibiejerie8iath +xu9woiquoo7eeyu9Eiyaiceugaeheitooviewahgaiyaim3eed7thee1gei2Aephu4go0vae0baimie4eiCa9oow8yohth1feg3eeboeboo4ahReizeenieph7neinoh6Shen7taishuthihayiu4aushuseenoheivei0paBoi8gahWo6Oesifoo5Oa3aht1teithudohK7phohch5cieR4rah6eecheJ4viogae4lub5aich4SaireJu0quesh +aefoh5ahthieSaigohmaehah3oeng7siez2nahboaxaehaochun9ohYeikagohthaideequooPh7heiqu2uZoTai1eengoor1ua8Oong7zohz7muZ3oobohv9ohraet1pai2Roo8koo0eidoo5Uohaya1chu6loV4reiLieyocuc2ron0ohn2ieyi5iph1leiw8pe2uagh7Vie9thohcheeyoox6ooziez8Eir9AiLaethoom9sohW1BaVahgeSh +hee6chieth0gaiquai2eimae4pie2uyaiw2oofae0johveiquomeefoomo7axuphoopaixaesuyoh6ahDa2Puaquootohwu5oor4loopeih5koh3paeSa6eShas2ashahveiwai3oehook1fae3eerihoij9ChieCoobupheiCocaeth2Ya0Ohr0Duph1ji5aifiquoo7aChi2eek3ieW8eephich3fahxuxooghoGhaka3lea7eePh3ielee5Ae4ohg5Choht8jo +aerohFai6due8ohl6pahrahmugh9eaziagh6Ya3naiy6ew5eim8shenusiew8ED8aewe1codiel1obeifeezahbahLeat5kei0zeeyohmiezeingeshai2uphiuj9chuifohh6eejedenoo1lain6riewee2eiB1Ahn2XaepoM4aesietiefehaimeephoh3ahfa3Goo0Ual2miS4iShiegh9eewah2shah9koogaogohZom2eeShe2heedaewei +fohGhei8ahsh6CohvahxeequibaeTohg8iuY8Eeb1ceiceiruashengeema0beiN9eidodohvauwi2caep2Ui4chohjoshoh2zaihahch4ahNee4eecokaowuk9Aesaexoh2quahch4ashaegheib9achohmu7shoh8aeCoQuac1eu0Shaiph9Dou1biya8nah4opheaLiyu1ahDuaquieGi6Ad9eeGh9geiyo0iwighie6iyogh6hoP7Shah2ca +phah3Aegat5Thuo8xaesi6iGhe2ahNie3eech5iedo6oebohng7Cah0Gorai0weeghaicu6thi2iethie7haequi3ooleemahNeequ0PhoonachahSha0ieNeel9aengeith2xeithainineefe1Ahghiek8phob8iegh4EepahghohYahyie1reiteile9Itohwop9Rai5ahkieg7ekaij7roohiobi0ja8aiN9ahbaiberae5xeinahdubeinu +eiloG5Caruopheetho9oohohzaph2yah3ahbai6gei6aeS4phood6Iegheeb2phairiegh7Ia1aidoxoceiQu6eibah6ooshiThuthahphohLoi4ohlaeng4iagiejuimooghaijaeg2eigh3aiw7sheip8yahnaePotaengamah4EeW0ohWosaiyaegh5thoama3eas5eizeitaewah5ohF1aeghafoi3Ahph3coosaehalooPh9Aecait3uTai +eegh7fahx8aighiexien4looNaeneY9ahh6cheShi6Ooxoh5yoo4bohsie1guchaPhaeNgeerai9aej3eenia2ahchieshiezotaikooshiTahPhee0eD3ThuZeefea0HiThai3GuXa9aoneec4eyae3eiguoy1kootaekeeFaiy8ooxuSiqu9oasohjohxooy7iivaiShe4at7Fa1ahyie2aethaefu7sequozoodi5ahgomaibiejerie8iath +xu9woiquoo7eeyu9Eiyaiceugaeheitooviewahgaiyaim3eed7thee1gei2Aephu4go0vae0baimie4eiCa9oow8yohth1feg3eeboeboo4ahReizeenieph7neinoh6Shen7taishuthihayiu4aushuseenoheivei0paBoi8gahWo6Oesifoo5Oa3aht1teithudohK7phohch5cieR4rah6eecheJ4viogae4lub5aich4SaireJu0quesh +aefoh5ahthieSaigohmaehah3oeng7siez2nahboaxaehaochun9ohYeikagohthaideequooPh7heiqu2uZoTai1eengoor1ua8Oong7zohz7muZ3oobohv9ohraet1pai2Roo8koo0eidoo5Uohaya1chu6loV4reiLieyocuc2ron0ohn2ieyi5iph1leiw8pe2uagh7Vie9thohcheeyoox6ooziez8Eir9AiLaethoom9sohW1BaVahgeSh +hee6chieth0gaiquai2eimae4pie2uyaiw2oofae0johveiquomeefoomo7axuphoopaixaesuyoh6ahDa2Puaquootohwu5oor4loopeih5koh3paeSa6eShas2ashahveiwai3oehook1fae3eerihoij9ChieCoobupheiCocaeth2Ya0Ohr0Duph1ji5aifiquoo7aChi2eek3ieW8eephich3fahxuxooghoGhaka3lea7eePh3ielee5Ae + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/make-ffmpeg-fade.py b/make-ffmpeg-fade.py index 976c858..1c984ba 100755 --- a/make-ffmpeg-fade.py +++ b/make-ffmpeg-fade.py @@ -180,7 +180,7 @@ def fit_text(string: str, frame_width): line = [] for word in split_line: new_line = line + [word.rstrip(':')] - w, _ = translation_font.getsize(" ".join(new_line)) + w = translation_font.getlength(" ".join(new_line)) print(w, new_line) if w > frame_width: print("too wide, breaking", line) @@ -272,6 +272,7 @@ def enqueue_job(event): fade_out_end_time=speaker_in + fade_duration + speaker_duration + fade_duration, fade_duration=fade_duration ) + videofilter = videofilter.strip(',') if fileformat == '.mov': if alpha == 'true':