From 4b5278d501074b7f91fd9dece761969c86bec8ca Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 5 Dec 2009 01:23:16 +0000 Subject: new latex package flashmovie (4dec09) git-svn-id: svn://tug.org/texlive/trunk@16296 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/flashmovie/README | 16 ++ Master/texmf-dist/doc/latex/flashmovie/test.pdf | Bin 0 -> 847298 bytes Master/texmf-dist/doc/latex/flashmovie/test.tex | 21 ++ Master/texmf-dist/doc/latex/flashmovie/testx.tex | 16 ++ .../texmf-dist/tex/latex/flashmovie/flashmovie.sty | 297 +++++++++++++++++++++ Master/tlpkg/bin/tlpkg-ctan-check | 2 +- Master/tlpkg/libexec/ctan2tds | 3 + Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc | 1 + Master/tlpkg/tlpsrc/flashmovie.tlpsrc | 0 9 files changed, 355 insertions(+), 1 deletion(-) create mode 100644 Master/texmf-dist/doc/latex/flashmovie/README create mode 100644 Master/texmf-dist/doc/latex/flashmovie/test.pdf create mode 100644 Master/texmf-dist/doc/latex/flashmovie/test.tex create mode 100644 Master/texmf-dist/doc/latex/flashmovie/testx.tex create mode 100644 Master/texmf-dist/tex/latex/flashmovie/flashmovie.sty create mode 100644 Master/tlpkg/tlpsrc/flashmovie.tlpsrc diff --git a/Master/texmf-dist/doc/latex/flashmovie/README b/Master/texmf-dist/doc/latex/flashmovie/README new file mode 100644 index 00000000000..28a176ecdfb --- /dev/null +++ b/Master/texmf-dist/doc/latex/flashmovie/README @@ -0,0 +1,16 @@ +This package allows direct embedding of flash movies into PDF files. It is +designed for use with pdflatex. + +Basically it uses the fact that the Adobe Reader 9 contains +an embedded Adobe Flash player which can be invoked with the +"rich media annotation" feature which is described in +"Adobe Supplement to the ISO 32000 BaseVersion: 1.7 +ExtensionLevel: 3". + +advantages: + - You can directly embed videos into the pdf (external window is optimal + and not necessary). + - You can play back videos without worrying about platform dependencies. + +disadvantages: + - You can only play back embedded videos with Adobe Reader 9 and upwards. diff --git a/Master/texmf-dist/doc/latex/flashmovie/test.pdf b/Master/texmf-dist/doc/latex/flashmovie/test.pdf new file mode 100644 index 00000000000..34fb763d5a9 Binary files /dev/null and b/Master/texmf-dist/doc/latex/flashmovie/test.pdf differ diff --git a/Master/texmf-dist/doc/latex/flashmovie/test.tex b/Master/texmf-dist/doc/latex/flashmovie/test.tex new file mode 100644 index 00000000000..db146ff8df3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/flashmovie/test.tex @@ -0,0 +1,21 @@ +\documentclass[10pt]{article} + +\usepackage[utf8]{inputenc} +\usepackage[english]{babel} + +\usepackage{flashmovie} + +\begin{document} + +{\Huge flashvideo.sty}\\\\ + +This package allows direct embedding of flash movies into PDF files. It is +designed for use with pdflatex. + +\flashmovie[width=10cm,heigth=10cm]{saturn5.swf} + +Basically it uses the fact that the Adobe Reader 9 contains an embedded Adobe Flash +player which can be invoked with the "rich media annotation" feature which is described +in "Adobe Supplement to the ISO 32000 BaseVersion: 1.7 ExtensionLevel: 3". + +\end{document} diff --git a/Master/texmf-dist/doc/latex/flashmovie/testx.tex b/Master/texmf-dist/doc/latex/flashmovie/testx.tex new file mode 100644 index 00000000000..981cd36bd67 --- /dev/null +++ b/Master/texmf-dist/doc/latex/flashmovie/testx.tex @@ -0,0 +1,16 @@ +\documentclass[10pt]{article} + +\usepackage[utf8]{inputenc} +\usepackage[english]{babel} + +\usepackage{flashmovie} + +\begin{document} + +This is an example how + +\flashmoviex[width=10cm,heigth=10cm]{saturn5.mp4} + +to use flashmovie. + +\end{document} diff --git a/Master/texmf-dist/tex/latex/flashmovie/flashmovie.sty b/Master/texmf-dist/tex/latex/flashmovie/flashmovie.sty new file mode 100644 index 00000000000..b2f6f9a27c4 --- /dev/null +++ b/Master/texmf-dist/tex/latex/flashmovie/flashmovie.sty @@ -0,0 +1,297 @@ +%%%%%%%%%%%%% flashmovie.sty +%%%%%%%%%%%%% Copyright 2009 Timo Hartmann +% +% Version 0.0 +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% This package allows direct embedding of flash movies into PDF files. It is +% designed for use with pdflatex. +% +% Basically it uses the fact that the Adobe Reader 9 contains an embedded Adobe Flash +% player which can be invoked with the "rich media annotation" feature which is described +% in "Adobe Supplement to the ISO 32000 BaseVersion: 1.7 ExtensionLevel: 3". +% +% advantages: +% - You can directly embed videos into the pdf (external window is optimal and not necessary). +% - You can play back videos without worrying about platform dependencies. +% +% disadvantages: +% - You can only play back embedded videos with Adobe Reader 9 and upwards. +% +% example (1) +% - download a video file to use, for example +% http://heasarc.gsfc.nasa.gov/Videos/historical/saturn5.avi +% - transform this video into the flash format with ffmpeg: +% ffmpeg -i saturn5.avi saturn5.swf +% (or use any other program captable of this, for example mencoder) +% - put following line into your tex-file: +% \flashmovie[width=10cm,heigth=10cm]{saturn5.swf} +% (both width and height are needed!) +% - translate with pdflatex +% - advantages: +% - easy +% - does not reley on external compontents +% - disadvantages: +% - ffmpeg is incaptable of embedding h.264 into swf-files, so one can only +% use inferior video codecs (sorenson h.263 aka flv,...). +% - no controls (play,pause,stop,seek,...) possible +% +% example (2) +% - warning: The following example assumes that you have obainted VideoPlayer.swf +% and SkinOverPlaySeekStop.swf from Acrobat 9 Pro and put it into the working +% directory. +% - download a video file to use, for example +% http://heasarc.gsfc.nasa.gov/Videos/historical/saturn5.avi +% - transform this video into the mp4 format with ffmpeg: +% ffmpeg -i saturn5.avi -vcodec libx264 -vpre hq -crf 22 -acodec libfaac -ab 128k -ac 2 saturn5.mp4 +% (or use any other program captable of this, for example mencoder) +% - alternatively the flv-format with video-codec sorenson h.263 (aka flv) and audio-codec mp3 is also possible: +% mencoder saturn5.avi -o saturn5.flv -of lavf -ovc lavc -lavcopts vcodec=flv:vbitrate=300:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -srate 22050 -ofps 24 -vf harddup -oac mp3lame -lameopts abr:br=56 ) +% (or use ffmpeg to do the same thing...) +% - put following line into your tex-file: +% \flashmoviex[width=10cm,heigth=10cm]{saturn5.mp4} +% (both width and height are needed! instead of saturn5.mp4 one can also use saturn5.flv but not saturn5.swf) +% - translate with pdflatex +% - advantages: +% - controls (play,pause,stop,seek,...) possible +% - superior video codec possible (h.264) +% - one can directly embed mp4 and flv files without conversion +% - disadvantages: +% - use of external non-free components. +% +% todo: +% - replace VideoPlayer.swf and SkinOverPlaySeekStop.swf by some freely available software. +% it should be possible to program a simple video player with flexsdk and activescript. +% the videoplayer should play mp4 and flv files and should and be captable of play,pause,seek,stop. +% controls should be hidable. +% - make more options of richmedia annotations usable, for example activation by clicking, playcount,... +% - display a picture when the player is deactivated. +% - efficient multiple inclusion of video files. +% +% warning: +% - Because the file names of the movies are directly embedded into the PDFs please use only +% "normal" file names. More specific use only names compatible with internal PDF strings. +% There is even a specification what conforming file names are (see the PDF reference). + +\RequirePackage{keyval} + +\def\flashmovieparamsclear{ + \def\flashmoviewidth {4cm} + \def\flashmovieheight{4cm} +} + +\define@key{flashmovieparams}{width} {\def\flashmoviewidth {#1}} +\define@key{flashmovieparams}{heigth} {\def\flashmovieheight {#1}} + +\def\flashmovieembedfile#1{ + \immediate + \pdfobj stream + attr { /Type/EmbeddedFile } + file {#1} + \immediate + \pdfobj { << + /Type /Filespec + /F (#1) + /UF (#1) + /EF << /F \the\pdflastobj\space 0 R >> + >>} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\flashmovie{\@ifnextchar[\@flashmovie{\@flashmovie[]}} + +\def\@flashmovie[#1]#2{\flashmovieparamsclear \setkeys{flashmovieparams}{#1}{ + \newcount\filespecnum + \newcount\configurationnum + \newcount\contentnum + \newcount\settingsnum + + \flashmovieembedfile{#2} + \filespecnum=\pdflastobj + + \immediate + \pdfobj + {<< + /Instances + [<< + /Asset \the\filespecnum\space 0 R + /Params << /Binding /Foreground >> + >>] + /Subtype /Flash + >>} + \configurationnum=\pdflastobj + + \immediate + \pdfobj + {<< + /Assets << /Names [(#2) \the\filespecnum\space 0 R] >> + /Configurations [\the\configurationnum\space 0 R] + >>} + \contentnum=\pdflastobj + + \immediate + \pdfobj + {<< + /Activation + << /Type /RichMediaActivation + /Condition /PO + /Configuration \the\configurationnum\space 0 R + /Animation + << /Subtype /Linear + /Speed 1 + /Playcount 1 + >> + /Presentation + << /PassContextClick false + /Style /Embedded + /Toolbar false + /NavigationPane false + /Transparent true + /Window + << /Type /RichMediaWindow + /Width << /Default 100 /Min 100 /Max 100 >> + /Height << /Default 100 /Min 100 /Max 100 >> + /Position + << /Type /RichMediaPosition + /HAlign /Near + /VAlign /Near + /HOffset 0 + /VOffset 0 + >> + >> + >> + >> + /Deactivation + << /Type /RichMediaDeactivation + /Condition /XD + >> + >>} + \settingsnum=\pdflastobj + + \newlength{\xxwidth} + \newlength{\xxheight} + \newsavebox{\xxcontent} + + \sbox{\xxcontent} {{\hbox to \flashmoviewidth {\vbox to \flashmovieheight { }}}} + + \settowidth {\xxwidth} {\usebox{\xxcontent}}% + \settoheight{\xxheight}{\usebox{\xxcontent}}% + \usebox{\xxcontent}% + + \pdfannot width \xxwidth height \xxheight depth 0pt {% + /Subtype /RichMedia + /RichMediaContent \the\contentnum\space 0 R + /RichMediaSettings \the\settingsnum\space 0 R +}}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\flashmoviex{\@ifnextchar[\@flashmoviex{\@flashmoviex[]}} + +\def\@flashmoviex[#1]#2{\flashmovieparamsclear \setkeys{flashmovieparams}{#1}{ + \newcount\filespecnum + \newcount\filespecnumi + \newcount\filespecnumii + \newcount\configurationnum + \newcount\contentnum + \newcount\settingsnum + + \flashmovieembedfile{#2} + \filespecnum=\pdflastobj + + \flashmovieembedfile{SkinOverPlaySeekStop.swf} + \filespecnumi=\pdflastobj + + \flashmovieembedfile{VideoPlayer.swf} + \filespecnumii=\pdflastobj + + \immediate + \pdfobj + {<< + /Instances + [<< + /Asset \the\filespecnumii\space 0 R + /Params + << + /Binding /Foreground + /FlashVars (source=#2&skin=SkinOverPlaySeekStop.swf&skinAutoHide=true&skinBackgroundColor=0x00FF00&skinBackgroundAlpha=0.33&volume=1.00) + >> + >>] + /Subtype /Flash + >>} + \configurationnum=\pdflastobj + + \immediate + \pdfobj + {<< + /Assets << /Names [(#2) \the\filespecnum\space 0 R (skinover.swf) \the\filespecnumi\space 0 R (VideoPlayer.swf) \the\filespecnumii\space 0 R] >> + /Configurations [\the\configurationnum\space 0 R] + >>} + \contentnum=\pdflastobj + + \immediate + \pdfobj + {<< + /Activation + << /Type /RichMediaActivation + /Condition /PO + /Configuration \the\configurationnum\space 0 R + /Animation + << /Subtype /Linear + /Speed 1 + /Playcount 1 + >> + /Presentation + << /PassContextClick false + /Style /Embedded + /Toolbar false + /NavigationPane false + /Transparent true + /Window + << /Type /RichMediaWindow + /Width << /Default 100 /Min 100 /Max 100 >> + /Height << /Default 100 /Min 100 /Max 100 >> + /Position + << /Type /RichMediaPosition + /HAlign /Near + /VAlign /Near + /HOffset 0 + /VOffset 0 + >> + >> + >> + >> + /Deactivation + << /Type /RichMediaDeactivation + /Condition /XD + >> + >>} + \settingsnum=\pdflastobj + + \newlength{\xxwidth} + \newlength{\xxheight} + \newsavebox{\xxcontent} + + \sbox{\xxcontent} {{\hbox to \flashmoviewidth {\vbox to \flashmovieheight { }}}} + + \settowidth {\xxwidth} {\usebox{\xxcontent}}% + \settoheight{\xxheight}{\usebox{\xxcontent}}% + \usebox{\xxcontent}% + + \pdfannot width \xxwidth height \xxheight depth 0pt {% + /Subtype /RichMedia + /RichMediaContent \the\contentnum\space 0 R + /RichMediaSettings \the\settingsnum\space 0 R +}}} diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index e23b69a014c..5158c09a089 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -107,7 +107,7 @@ my @WorkingTLP = qw( feyn feynmf fge fig4latex figbas figflow filecontents findhyph fink first-latex-doc fixfoot fixme fixpdfmag - flagderiv flippdf float floatrow flowfram fltpage fltpoint + flagderiv flashmovie flippdf float floatrow flowfram fltpage fltpoint fmtcount fn2end fnbreak fncychap foekfont font-change fontch fontinst fontools fontspec fonttable fontwrap diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index 70078703f9f..9b20a5c8f7f 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -771,6 +771,7 @@ $standarddest = "texmf-dist"; 'mnhyphn', 'generic', 'mfpic', 'generic', 'multido', 'generic', + 'oberdiek', 'generic', 'ofs', 'generic', 'ot2cyr', 'fonts', 'patch', 'generic', @@ -824,6 +825,7 @@ $standardsourcefmt='latex'; 'mfpic', 'generic', 'midnight', 'generic', 'mkpattern', 'plain', + 'oberdiek', 'generic', 'ocherokee', 'lambda', 'ofs', 'generic', 'passivetex', 'xmltex', @@ -1149,6 +1151,7 @@ $standardtex='\.(cfg|sty|clo|ldf|cls|def|fd|cmap|4ht)$'; 'mkjobtexmf', 'generic', 'mpattern', 'metapost', 'mxedruli', 'fonts', + 'oberdiek', 'generic', 'ofs', 'generic', 'orkhun', 'fonts', 'ot2cyr', 'fonts', diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc index e37b4c83d0a..726151edb3b 100644 --- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc @@ -199,6 +199,7 @@ depend flabels depend flacards depend flagderiv depend flashcards +depend flashmovie depend flippdf depend floatrow depend flowfram diff --git a/Master/tlpkg/tlpsrc/flashmovie.tlpsrc b/Master/tlpkg/tlpsrc/flashmovie.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d -- cgit v1.2.3