From: Carl Hetherington Date: Sun, 9 Sep 2012 15:43:46 +0000 (+0100) Subject: List subtitles in test output. X-Git-Tag: v0.20~8 X-Git-Url: https://main.carlh.net/gitweb/?a=commitdiff_plain;h=4f6142b7d4c6d4c9db3f54e4893bff1dc9c5085f;p=libdcp.git List subtitles in test output. --- diff --git a/run-tests.sh b/run-tests.sh index 2fb89317..d945f2ce 100755 --- a/run-tests.sh +++ b/run-tests.sh @@ -23,7 +23,7 @@ rm -f build/test/info.log if [ -e "../libdcp-test" ]; then for d in `find ../libdcp-test -mindepth 1 -maxdepth 1 -type d`; do - LD_LIBRARY_PATH=build/src:build/asdcplib/src build/tools/dcpinfo $d >> build/test/info.log + LD_LIBRARY_PATH=build/src:build/asdcplib/src build/tools/dcpinfo -s $d >> build/test/info.log if [ "$?" != "0" ]; then echo "FAIL: dcpinfo failed" exit 1 diff --git a/test/ref/info.log b/test/ref/info.log index 74d20565..9ec69fc2 100644 --- a/test/ref/info.log +++ b/test/ref/info.log @@ -5,6 +5,36 @@ DCP: ../libdcp-test/ASTERIX_TSR_F_FR-DE_51_2K_20120411_SE_2D Reel 1 Reel 2 Subtitle: 30 subtitles in Custom + Ich gehe nach Gallien und treffe dich. + Ich gehe nach Ägypten,du behinderst mich. + Jetzt verhinderst du meinen Einmarsch in + die Bretagne. + Du willst mein Leben zerstören. + Es ist so, Julius. Es sind die Abenteuer + von Asterix, nicht von Cäsar. + "Die Abenteuer von Asterix"? + Prima, wir gehen in die Bretagne. + Die haben ganz + neue Römer. + Diese Kraft! + Der Zaubertrank, nehme ich an? + Ausgezeichnete Nachricht. + Wieso sprechen Sie rückwärts? + Wie bitte? + Das ist Asterax. + Guten Abend. + Obelax. + - Guten Abend. + - Nein, eine Sekunde. + "Bonsoir" mit Betonung auf dem "A". + ASTERIX & OBELIX + IM AUFTRAG IHRER MAJESTÄT + - Meine Kameraden sind ... + - Gallier! + Einfach zu erraten. + Wegen des Akzents? + Nein, wegen des Geruchs. + www.frenetic.ch DCP: ../libdcp-test/HOLY-MOTORS_TLR_F_FR-XX_51_2K_20120529_ECL_OV CPL: HOLY-MOTORS_TLR_F_FR-XX_51_2K_20120529_ECL_OV Length: 2575 @@ -50,12 +80,132 @@ DCP: ../libdcp-test/T-T-S-SPY_TRL-1_F_EN-de-fr_CH_51_4K_OPTM_20111107_TIT_OV Frames per second: 24 Reel 1 Subtitle: 65 subtitles in Custom + Ich bin im Ruhestand. + Je suis à la retraite. + Da ist ein Maulwurf. + Il y a une taupe. + An der Spitze des "Circus". + Au plus haut niveau du "Cirque". + Er ist schon seit Jahren dort. + Et ce, depuis des années. + Du musst etwas für mich tun. + Fais quelque chose pour moi. + Sie beobachten uns sicher. + Dis-toi qu'ils t'observent. + TRAUE NIEMANDEM + NE TE FIE À PERSONNE + - Wenn du erwischst wirst... - Was machst du hier? + - Si on t'attrape... - Tu fous quoi ici? + Erwähn mich nicht. + Ne mentionne pas mon nom. + VERDÄCHTIGE JEDEN + SOUPÇONNE TOUT LE MONDE + Er ist ein Fanatiker. + C'est un fanatique. + Und Fanatiker verschweigen immer etwas. + Et un fanatique cache toujours un secret. + Hallo Ricky. + Bonjour, Ricky. + - Ich musste dich sehen. - Wieso? + - J'avais besoin de te voir. - Pourquoi? + Da ist eine Frau. + Il y a une femme. + Ich weiss, wer Sie sind. + Je sais qui vous êtes. + Haben Sie Infos über den Doppelagenten? + Vous avez des infos sur l'agent double? + Was sie mir gesagt hat, + Elle m'a dit... + war sensationell. + quelque chose d'énorme. + NACH DEM BESTSELLER-ROMAN VON... + ADAPTÉ DU BEST-SELLER DE... + Sag es mir. + Raconte-moi. + Er tötete unseren Mann in Istanbul. + Il a tué notre homme à Istanbul. + Es wurde richtig hässlich. + C'est vraiment sinistre. + EIN FILM VON... + UN FILM DE... + Nur wir stehen zwischen Moskau und dem 3. Weltkrieg. + Il n'y a que nous entre Moscou et la 3 e guerre mondiale. + Es ist an der Zeit. + C'est le moment. + BAFTA-PREISTRÄGER GARY OLDMAN + GARY OLDMAN, LAURÉAT D'UN BAFTA AWARD + Er ist einer von 5 Männern. + C'est l'un des cinq hommes. + Ich will von Ihnen nur... + Je n'attends qu'une chose: + einen Kontakt. + un nom de code. + DAME, KÖNIG, ASS, SPION + LA TAUPE + DEMNÄCHST + PROCHAINEMENT + ASCOT ELITE Entertainment Group Zürich DCP: ../libdcp-test/TREE-OF-LIFE_TLR-2_F_EN-DE-FR_INT-TD_51_2K_SUM_20110126_LSP CPL: TREE-OF-LIFE_TLR-2_F_EN-DE-FR_INT-TD_51_2K_SUM_20110126_LSP Length: 3081 Frames per second: 24 Reel 1 Subtitle: 55 subtitles in German-French + Ein Alligator! + Un alligator! + Du wirst gross sein, ehe der Baum es ist. + Tu seras grand avant cet arbre. + Los, schlag zu. + Frappe-moi. + Schlag schon. + Frappe-moi. + Na los, Junge. + Allez, fils. + Er hat Angst vor dir. + Il a peur de toi. + Du erwartest Dinge von ihm, die nur Erwachsene können. + Ce que tu attends de lui, seul un adulte peut le faire. + Ich wollte, dass du stark bist. + Je voulais juste que tu sois fort. + Deinen Mann stehst. + Que tu sois toi-même. + ASCOT ELITE Entertainment Group Zürich + Es gibt zwei Wege durchs Leben: + Il y a deux voies dans la vie: + Jener der Natur... + la voie de la nature... + und den Weg der Gnade. + et celle de la grâce. + Entschliess dich für einen dieser Wege. + Il te faut choisir laquelle suivre. + Drehbuch und Regie + Écrit et réalisé par + Um etwas zu erreichen, braucht man Willenskraft. + Une volonté de fer te fera arriver dans ce monde. + Vater. + Père. + Mutter. + Mère. + Ihr kämpft ständig in meinem Innern. + Vous luttez constamment au fond de moi. + Und werdet das immer tun. + Et vous le ferez toujours. + Eines Tages fallen wir hin und weinen, + Un jour, on tombera en pleurs. + dann werden wir alles verstehen. + Et alors, on comprendra tout. + Alles. + Tout. + Führe uns... + Guide-nous... + ...bis ans Ende aller Zeit. + ...jusqu'à la fin des temps. + Wenn du nicht liebst... + À moins que tu n'aimes... + ...verrinnt dein Leben im Nu. + ...ta vie passera comme un éclair. + Demnächst + Prochainement DCP: ../libdcp-test/END-OF-TIME_TLR_F_XX-XX_CH_51_2K_LOK_20120726_DGL_OV CPL: Length: 2865 @@ -79,18 +229,192 @@ DCP: ../libdcp-test/SANS-ISSUE_TLR_F_EN-FR_FR_51_2K_SND_20120316_ECL_OV Reel 1 Reel 2 Subtitle: 49 subtitles in French + Content de te revoir. + Je suis heureuse + qu'on soit tous réunis. + À la famille. + Je vais en ville. + Besoin de rien ? + Reviens vite ! + Maman ? + Papa ? + Aidez-moi ! + Ma famille a disparu. + Menez-moi au bateau. + Vous êtes Will ? + - Qui vous l'a dit ? + - Votre mère. + Lâchez-moi ! + - Qu'y a-t-il ? + - Je t'expliquerai. + - Je travaille pour le gouvernement. + - Consultant ? + Pas à l'ambassade. + Tu es à la CIA. + Tu m'as caché ça ? + - Qui êtes-vous ? + - Vous avez 24 heures. + Ma mallette ou je les tue. + J'aide votre père. + Il a volé quelque chose. + La mallette ? + Si vous coopérez... + on retrouvera votre famille. + Je vous crois pas. + Tu n'as pas d'argent, + tu es étranger... + Je ne pars pas sans eux. + Vous avez peur. + Un braqueur qui a peur, + ça me fait peur. + Alors, ça va être tendu. + Partout... + ils vous traqueront. + Tu m'as manipulé ? + - Manipulé ? + - Oui ou non ? + Vous êtes qui ? + Réponds ! + - Tu fais quoi ? + - Consultant. + Tel père, tel fils. DCP: ../libdcp-test/BARBARA_TLR_F_DE-FR_CH_51_2K_LOK_20120410_OV CPL: BARBARA_TLR_F_DE-FR_CH_51_2K_LOK_20120410_OV Length: 2917 Frames per second: 24 Reel 1 Subtitle: 31 subtitles in French + OURS D’ARGENT – PRIX DE LA MISE EN SCENE + C'est elle? + Oui. + C'est le Dr Wolff. + Elle va travailler avec nous. + Elle vient de Berlin… + et a décidé de… + On s'est déjà présentées. + Bon appétit. + As-tu reçu l'argent? + Il faut que tu l'emballes + de manière imperméable.  + Par la mer? Quand? + Bientôt. Très vite. + Vous ne devriez pas vous isoler. + On fait une petite excursion? + Venez, s'il vous plaît. + Vous cherchez quoi exactement + dans cette province? + A ce que personne ne s'isole? + Ca me plaît ici. + J'ai un mauvais pressentiment, + je ne sais pas pourquoi. + Barbara… + me laisse pas seule… + ne pars pas. + Quelle heure est-il? + Vous êtes censé me convaincre? + De quoi? + De retirer ma demande de sortie de territoire. + prochainement DCP: ../libdcp-test/MACHINE-GUN-PREACH_TLR-1_F_EN-de-fr_CH_51_2K_TIT_20111107 CPL: MACHINE-GUN-PREACH_TLR-1_F_EN-de-fr_CH_51_2K_TIT_20111107 Length: 3513 Frames per second: 24 Reel 1 Subtitle: 94 subtitles in English + Ich habe viel Mist gebaut. + J'ai fait beaucoup de choses dont je suis pas fier. + Hab vielen wehgetan. + Blessé beaucoup de gens. + So kannst du nicht weitermachen. + Tu peux pas continuer comme ça! + Hilf mir. + Aide-moi. + Nach der wahren Geschichte + D'après l'exaltante histoire vraie + Ich habe keinen schönen Schuhe, Lynn. + J'ai pas de belles chaussures, Lynn. + Über die aussergewöhnliche Reise eines Mannes + De l'extraordinaire voyage d'un homme + Ich will mit Ihnen über Familien wie Ihre reden, + Je suis là pour parler de familles comme la vôtre, + die weit weg sind und unbedingt Ihre Hilfe brauchen. + très loin d'ici, qui ont besoin de votre aide. + - Ich dachte, ich könnte hingehen. - Nach Afrika? + - Je me disais que je pourrais y aller. - En Afrique? + Die sind sicher froh um jede Hilfe. + Ils seraient ravis d'avoir de l'aide. + Ich werde nicht lange weg sein. + Je serai bientôt de retour. + Offizielle Auswahl, Toronto Filmfestival 2011 + Sélection officielle du festival international du film de Toronto 2011 + - Seid ihr in irgendeiner Armee? - Wir sind Friedenskämpfer. + - Vous faites partie d'une armée? - On est des résistants. + Ich bin... Freut mich. + Sam. Enchanté. + Ich möchte in den Sudan am Wochenende. + Je veux aller au Soudan, ce week-end. + Ich brauche jemand, der mir alles zeigt. + J'ai besoin d'un guide. + Hier herrscht Krieg. + C'est une zone en guerre. + Wenn Sie bleiben, kommen Sie ums Leben. + Si tu restes ici, tu te feras tuer. + Er suchte etwas, woran er glauben konnte + Il cherchait quelque chose en quoi croire + Sie sind hier sicherer als in ihren Häusern. + Ils sont plus en sécurité ici que chez eux. + Hier schlafen sie nicht. + Ils ne dorment pas, ici. + Sie sind zu viele. Wir können nicht allen helfen. + Il y en a trop. On peut pas tous les aider. + Er hat etwas gefunden... + Il a trouvé quelque chose... + Wir nehmen möglichst viele mit. + On en prend autant que possible. + Sag den anderen, wir holen sie später. + Dis aux autres qu'on reviendra plus tard. + ...wofür er kämpfen konnte + ...valant la peine de se battre + Ich brauche das Geld für ein weiteres Fahrzeug, + Il me faut de l'argent pour une autre véhicule... + um Kinder zu retten. + pour pouvoir sauver des enfants. + - Beruhige dich. - Sag das nicht! + - Calmez-vous. - Me dites pas de me calmer! + Vom gefeierten Regisseur von + Par le réalisateur encensé de + Dieses Waisenhaus baue ich im Sudan. + C'est l'orphelinat que je vais constuire au Soudan. + Sie sprechen über euch, die Kinder. + Ils parlent de vous, les enfants. + Ich will den Leuten nur helfen. + J'essaie juste d'aider ces gens. + Genaue wie du auch. + Comme vous. + Die Rebellenarmee setzte ein Kopfgeld aus auf dich. + L'armée rebelle a placé un contrat sur ta tête. + Etwas musst du wohl richtig machen. + Il faut faire les choses bien. + Sie fackelten alles ab. Es ist aus. + Ils l'ont brûlé. Il ne reste rien. C'est terminé. + Bau es neu auf. Hörst du? + Bouge-toi et reconstruis-le. Tu m'entends? + - Sam, warte. - Siehst du, was warten bringt? + - Sam, attends. - Tu vois où attendre te mène? + Das ist kein Übel. + Cet endroit n'est pas l'enfer. + Bekämpf das Übel hier auf deine Art... + Combat le mal d'ici à ta façon... + und lass mich meines bekämpfen. + et laisse-moi combattre à ma façon. + Euch Kindern zu helfen... + Vous aider, les enfants, + ist das einzig Gute, das ich je getan habe. + est la seule bonne chose que j'aie jamais faite. + Du weisst nicht, wovon ich rede, was? + Tu comprends pas ce que je dis, hein? + DEMNÄCHST + PROCHAINEMENT DCP: ../libdcp-test/DU-VENT-DANS-MES-MOLLETS_TLR_F_FR-XX_FR_51_2K_GA_20120621_ECL_OV CPL: DU-VENT-DANS-MES-MOLLETS_TLR_F_FR-XX_FR_51_2K_GA_20120621_ECL_OV Length: 2502 @@ -102,12 +426,93 @@ DCP: ../libdcp-test/ASTERIX_TLR-01_F_FR-DE_CH_51_2K_FRE_20120730_DGL_OV Frames per second: 24 Reel 1 Subtitle: 49 subtitles in French + Wir befinden uns im Jahr 50 vor Christus. + Nachdem er Gallien, + Ägypten und Spanien besetzt hat, + trägt Cäsar den Namen Roms + bis auf die Insel Britannien. + Unglaublich! + Die Götter meinen es gut mit mir. + Ich frage mich, + ob wir ewig Widerstand leisten können. + Es gibt ein Dorf, + dem dieses Unterfangen gelungen ist. + Grautvornix, + auf dem Land steht man früh auf. + Ich komme aus Lutetia + und da ist jetzt Schlafenszeit. + Also lasst mich in Ruhe, ihr Einfaltspinsel. + Darf ich vorstellen, Teefax. + Sehr erfreut. Schütteln wir uns die Hände. + -Obelix! + -Klasse, wir segeln nach Britannien. + Da haben sie ganz frische Römer. + Wir sind bald wieder da. + Willkommen in Londinium. + Ich dachte, Britinnen seien hässlich, + aber die gefällt mir. + Ja, sie ist hübsch. + Ihr schwarzes Kleid steht ihr gut. + Ich glaube, ich gefalle ihr nicht. + Du willst Miss Dings gefallen? + Mach ihr ein Geschenk. + Gallier sind heimlich gelandet + mit einer Geheimwaffe in einem Fass? + Exzellente Neuigkeit. + Nicht wahr, meine Lieben? + Was machst du denn da? + Ich habe nur gekostet. + Nur ein bisschen, nicht viel. + Wir engagieren Söldner, die Normannen. + Die wissen nicht, was Angst ist. + Ihr Trottel! + Lass los! + Zeig uns, was Angst ist! + ASTERIX UND OBELIX + IM AUFTRAG IHRER MAJESTÄT + Lebt sich's gut als Henker? + Es interessiert mich wirklich. + Man trifft ja im Leben nie einen Henker. + Und wenn, dann ist es das letzte Mal. + www.frenetic.ch DCP: ../libdcp-test/EPIC-3D_TLR-D_S_EN-DE-FR_CH_51_48_ST_20120718_TIT_i3D-ngb_OV CPL: Length: 3166 Frames per second: 24 Reel 1 Subtitle: 32 subtitles in English + VON DEN MACHERN VON + PAR LES RÉALISATEURS DE + UND + ET DE + NÄCHSTES JAHR + L'ANNÉE PROCHAINE + ENTDECKEN SIE + DÉCOUVREZ + EINE WELT + UN MONDE + JENSEITS IHRER FANTASIE + QUI DÉPASSE VOTRE IMAGINATION + Das tut weh! Das sind meine Augen! + Ça fait mal! Ce sont mes yeux! + Lass los, Mann. Echt. + Sérieusement, mec. Tu dois lâcher. + Lass los, lass los! + Lâche, lâche! + Dad? Ich hatte einen total schrägen Traum. + Papa? J'ai fait un rêve super tordu. + Mit sprechenden Schnecken... + Avec des limaces qui parlent... + und winzig kleinen Soldaten und... + et de minuscules soldats et... + Hallo! + Bonjour! + Ach, Mann! + Ah, la vache! + IN 3D + EN 3D + DEMNÄCHST + PROCHAINEMENT DCP: ../libdcp-test/ELLES_TLR_C_FR-DE_20_2K_20120412_SE CPL: ELLES_TLR_C_FR-DE_20_2K_20120412_SE Length: 2794 @@ -115,3 +520,55 @@ DCP: ../libdcp-test/ELLES_TLR_C_FR-DE_20_2K_20120412_SE Reel 1 Reel 2 Subtitle: 52 subtitles in Custom + Hallo, guten Tag, hier ist Lola. + Wollen wir ein Treffen vereinbaren? + Ja, das mache ich ... + Ich hatte echt Glück + mit meinem ersten Kunden. + Sein Blick erregte mich. + Gefällt es Ihnen, wenn er + Ihre Brüste berührt? Befehlen Sie oder + wird Ihnen befohlen? Empfinden Sie Macht? + Gefällt Ihnen das nicht? + EINE JOURNALISTIN + Es ist + wie beim Rauchen. Schwierig aufzuhören. + Weil ich jetzt plötzlich Geld habe. + ERFORSCHT DIE GEHEIMNISSE + - Wie sind die Männer? Problemhaufen? + - Nein, gar nicht. Sie sind total normal. + - Viele sind im Alter meines Vaters. + - Gelangweilte Familienväter. + ZWEIER UNGEWÖHNLICHER STUDENTINNEN + - Finden Sie das nicht demütigend? + - Nein. + Ich kann das nicht ganz verstehen. + Seit du diese Recherche über Huren + machst, bist du echt seltsam. + Ich weiss nicht, ob es Huren sind. + - Hure ist Hure. + - Du scheinst dich auszukennen. + Sie sagen gerne "gefällt dir mein grosser + Schwanz?", "gefällt dir das, Schlampe?" + Sie erzählen mir von ihrem Leben, + ihrem Job, + ihren Frauen. + EIN PORTRÄT VON FRAUEN + Was ist für Sie + das Schwierigste daran? + Das ständige Lügen. + DURCH DIE AUGEN EINER MUTTER + Du hast Glück. Siehst du nicht, + wie andere Leute kämpfen? + Wovon sprichst du? + Hast du nicht gekämpft? + Ich rieche es immer noch. + Flaubert lesen oder studieren, + das ändert nichts. + Ich bin nicht wie Sie! + mit OSCAR-Preisträgerin Juliette Binoche + Das macht Sie + sicher ein wenig einsam? + Wir sind alle alleine, nicht? + www.frenetic.ch + DEMNÄCHST diff --git a/tools/dcpinfo.cc b/tools/dcpinfo.cc index 7d49d699..cdbb8688 100644 --- a/tools/dcpinfo.cc +++ b/tools/dcpinfo.cc @@ -16,21 +16,25 @@ using namespace libdcp; static void help (string n) { - cerr << "Syntax: " << n << " \n"; + cerr << "Syntax: " << n << " [options] \n" + << " -s, --subtitles list all subtitles\n"; } int main (int argc, char* argv[]) { + bool subtitles = false; + int option_index = 0; while (1) { static struct option long_options[] = { { "version", no_argument, 0, 'v'}, { "help", no_argument, 0, 'h'}, + { "subtitles", no_argument, 0, 's'}, { 0, 0, 0, 0 } }; - int c = getopt_long (argc, argv, "vh", long_options, &option_index); + int c = getopt_long (argc, argv, "vhs", long_options, &option_index); if (c == -1) { break; @@ -43,6 +47,9 @@ main (int argc, char* argv[]) case 'h': help (argv[0]); exit (EXIT_SUCCESS); + case 's': + subtitles = true; + break; } } @@ -87,7 +94,13 @@ main (int argc, char* argv[]) cout << " Sound: " << (*j)->main_sound()->channels() << " channels at " << (*j)->main_sound()->sampling_rate() << "Hz\n"; } if ((*j)->main_subtitle()) { - cout << " Subtitle: " << (*j)->main_subtitle()->subtitles().size() << " subtitles in " << (*j)->main_subtitle()->language() << "\n"; + list > subs = (*j)->main_subtitle()->subtitles (); + cout << " Subtitle: " << subs.size() << " subtitles in " << (*j)->main_subtitle()->language() << "\n"; + if (subtitles) { + for (list >::const_iterator k = subs.begin(); k != subs.end(); ++k) { + cout << " " << (*k)->text() << "\n"; + } + } } ++R; }