From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/flashmovie/README | 18 + macros/latex/contrib/flashmovie/flashmovie.sty | 862 +++++++++++++++++++++ .../contrib/flashmovie/flv-player-license/MPL-1.1 | 470 +++++++++++ .../flashmovie/flv-player-license/license.txt | 15 + .../latex/contrib/flashmovie/player_flv_maxi.swf | Bin 0 -> 12975 bytes macros/latex/contrib/flashmovie/test-beamer-0.pdf | Bin 0 -> 894971 bytes macros/latex/contrib/flashmovie/test-beamer-0.tex | 146 ++++ macros/latex/contrib/flashmovie/test-beamer-1.tex | 177 +++++ macros/latex/contrib/flashmovie/test-flv.pdf | Bin 0 -> 458745 bytes macros/latex/contrib/flashmovie/test-flv.tex | 84 ++ macros/latex/contrib/flashmovie/test.tex | 32 + 11 files changed, 1804 insertions(+) create mode 100644 macros/latex/contrib/flashmovie/README create mode 100644 macros/latex/contrib/flashmovie/flashmovie.sty create mode 100644 macros/latex/contrib/flashmovie/flv-player-license/MPL-1.1 create mode 100644 macros/latex/contrib/flashmovie/flv-player-license/license.txt create mode 100644 macros/latex/contrib/flashmovie/player_flv_maxi.swf create mode 100644 macros/latex/contrib/flashmovie/test-beamer-0.pdf create mode 100644 macros/latex/contrib/flashmovie/test-beamer-0.tex create mode 100644 macros/latex/contrib/flashmovie/test-beamer-1.tex create mode 100644 macros/latex/contrib/flashmovie/test-flv.pdf create mode 100644 macros/latex/contrib/flashmovie/test-flv.tex create mode 100644 macros/latex/contrib/flashmovie/test.tex (limited to 'macros/latex/contrib/flashmovie') diff --git a/macros/latex/contrib/flashmovie/README b/macros/latex/contrib/flashmovie/README new file mode 100644 index 0000000000..c97ce7bb69 --- /dev/null +++ b/macros/latex/contrib/flashmovie/README @@ -0,0 +1,18 @@ +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. + +For further infos see the file "flashmovie.sty". \ No newline at end of file diff --git a/macros/latex/contrib/flashmovie/flashmovie.sty b/macros/latex/contrib/flashmovie/flashmovie.sty new file mode 100644 index 0000000000..865fa0a250 --- /dev/null +++ b/macros/latex/contrib/flashmovie/flashmovie.sty @@ -0,0 +1,862 @@ +%%%%%%%%%%%%% flashmovie.sty +%%%%%%%%%%%%% Copyright 2010 Timo Hartmann (thartmann15 at googlemail.com) +% +% Version 0.4 +% +% changelog: +% 0.4 : 2010-09-13 : better support for jw-player, minor bug fixes +% 0.3 : 2010-09-09 : better examples,minor bug fixes, issues with beamer explained +% 0.2 : 2010-04-21 : major overhaul: keyval 'engine', flv-player-engine, +% efficient multiple embedding of files,... +% 0.1 : 2010-04-13 : a bunch of bugfixes +% 0.0 : 2009-12-06 : initial release +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% 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 license applies to following files: +% flashmovie.sty,test.tex,test-flv.tex,README +% +% +% +% The file "player_flv_maxi.swf" is NOT from me. This is the original flv-player +% from http://flv-player.net whose developer is neolao. +% This file is distributed under the MPL-license. See the directory +% "flv-player-license" for more information. The file "license.txt" in that directory +% is from the original source-code of the flv-player. A copy of the MPL-license is also +% included there. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% special thanks to following people for providing support, tips and improvements: +% - Elie Roux +% - Marco Aurélio Graciotto Silva +% - neolao +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% 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. +% +% usage: +% There are two fundamental different ways to embed videos via the +% flash-component of the Adobe Reader: +% - One can create a ".swf"-file and insert this directly +% into the pdf. See example (1) below. +% - One can create a ".mp4"-file and use that file as an input +% to a flash-video-player which renders the videos. +% Both files (the video and the flash-video-player) will be +% embedded into the pdf. See example(2) below. +% Different video formats (mp4/flv/whatever-the-flash-video-player-accepts/...) +% can be used. Controls are available (depending on the player). +% See example (2) below. +% Using the keyword "engine" one can select the method of embedding. +% If you omit it or if you specify "engine=pure-swf" then the file will be +% directly embedded. This works only for swf-files. +% For other possible values of "engine" see the chapter "flash-video-players". +% +% supported file formats: +% - flash animations ( ".swf" files) via direct embedding +% - mp4 movies (".mp4" files) via an embedded flash-video-player +% - flv movies (".flv" files) via an embedded flash-video-player +% +% attention: +% - avi videos (".avi" files) don't work ! +% +% flash-video-players: +% There are several flash-video-players available which fit the needs +% of flashmovie.sty. The different players can be selected with the key "engine", +% for example: "\flashmovie[width=10cm,height=10cm,engine=flv-player]{saturn5.mp4}". +% +% The use of "engine=flv-player" is recommended, because it is supported best and +% the flv-player is included in this distribution. But there seems to be some +% incompatibilities of flv-player and beamer. See troubleshooting below. +% +% List of flash-video-players: +% +% - "engine=flv-player". This is an open-source player from http://flv-player.net. +% It is included with this distribution (the file player_flv_maxi.swf). +% The developer is neolao. See the directory flv-player-license for the license of it. +% This is the player which flashmovie.sty supports best. +% +% supported parameters: +% auto=0 --> auto-play off (default) +% auto=1 --> auto-play on +% image=someimage.jpeg --> start-image (not necessary) +% +% - "engine=jw-player". This is the JW player from http://www.longtailvideo.com/players/jw-flv-player. +% You have to obtain player.swf from that site and put it in the working directory in order +% to use this module. Its released under a creative common license which means its free +% for non-commercial use. +% It is NOT included in this distribution. +% +% supported parameters: +% auto=0 --> auto-play off (default) +% auto=1 --> auto-play on +% image=someimage.jpeg --> start-image (not necessary) +% controlbar=0 --> no control bar shown +% controlbar=1 --> control bar shown (default) +% loop=0 --> do not loop the video (default) +% loop=1 --> loop the video +% +% - "engine=acropro". This is an commercial player which is distributed with +% Acrobat 9 Pro. You have to obtain VideoPlayer.swf and SkinOverPlaySeekStop.swf +% from Acrobat 9 Pro and put them into the working directory in order to use that module. +% It is NOT included in this distribution. +% For this player flashmovie.sty only provides rudimentary support. +% - "engine=osplayer". This is an open-source player from http://www.osflv.com +% You have to obtain OSplayer.swf from that site and put it in the working directory in order +% to use this module. +% It is NOT included in this distribution. +% For this player flashmovie.sty only provides rudimentary support. +% +% other options for the "engine"-keyword: +% - "engine=pure-swf" : This directly embedds the file into the PDF without +% any flash-video-player. This is the default option when you omit the +% "engine"-keyword. This works only for swf-files. +% - "engine=blank" : This simply produces an empty rectangle instead of an +% flash animation. This is useful during the creation process of the +% PDF because flash animations inside a PDF can easily crash +% the Adobe reader with the reload (CTRL-R) feature after recompiling +% the tex-file. +% The same effect can be produced if uses "blank=1" as an option +% regardless what the value of "engine" is. +% example: \flashmovie[...,engine=flv-player,blank=1,...]{...} +% +% +% 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 capable of this, for example mencoder) +% - put following line into your tex-file: +% \flashmovie[width=10cm,height=10cm]{saturn5.swf} +% (both width and height are needed!) +% - translate with pdflatex +% - advantages: +% - easy +% - does not rely on external components +% - disadvantages: +% - ffmpeg is incapable 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) +% - 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 capable 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: +% \flashmovie[width=10cm,height=10cm,engine=flv-player,auto=1]{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 +% +% how to produce swf-files: +% - ffmpeg or mencoder : transform a video file into a flash animation (example: .mp4 --> .swf) +% - png2swf : transform a sequence of png files into a flash animation (example: .png --> .swf) +% - flex sdk : use action script to program your own flash applet +% - mtasc and swfmill : use action script to program your own flash applet (outdated, should not be used) +% +% todo: +% - make more options of rich-media annotations usable, for example activation by clicking, play-count,... +% +% tips: +% - It is in principle possible to insert any flash animation into a PDF. +% One is not restricted to videos. +% - During development of the PDF one can switch of the flash animations which +% is sometimes useful. See "engine=blank" or "blank=1" for more information. +% +% troubleshooting: +% - If you encounter the error message "\pdfminorversion cannot be changed after data is written to the PDF file.", +% then another package is also setting the variable "\pdfminorversion". +% For example the package "beamer" does so. +% There are two solutions: +% - Include the package with the highest "\pdfminorversion" first. +% For example put "\RequirePackage{flashmovie}" on the very first line +% of your file instead of using "\usepackage{flashmovie}" later on. +% Or rearrange the usepackage-commands in the right order. +% - Comment the line "\ifnum\pdfminorversion<7 \pdfminorversion=7\fi" in +% "flashmovie.sty". This will probably leave your PDF with the wrong +% version information, but the Adobe Reader will take it anyway. +% - There seems to be some trouble with the latex package beamer. You can't use +% the flv-player reliably with it. It is prone to crash the acrobat reader while +% changing pages. +% The only reliable way to use beamer seems to be directly embedding the videos as +% flash animations or to use the JW player. +% +% warning: +% - It is recommended to use always the latest available version of the Adobe Reader. +% This should be mandatory because in the past many attacks on computers were based +% on 'evil' PDFs which exploited security holes in this software. +% - 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} +\RequirePackage{ifthen} + +\ifnum\pdfminorversion<7 \pdfminorversion=7\fi + +\def\flashmovieempty{} +\def\flashmoviezero{0} +\def\flashmovieembedded{} + +\def\flashmovieparamsclear{ + \def\flashmoviewidth {4cm} + \def\flashmovieheight{4cm} + \def\flashmovieimage{} + \def\flashmovieauto{0} + \def\flashmovieengine{} + \def\flashmoviekblank{0} + \def\flashmoviecontrolbar{1} + \def\flashmovieloop{0} +} + +\define@key{flashmovieparams}{width} {\def\flashmoviewidth {#1}} +\define@key{flashmovieparams}{height} {\def\flashmovieheight {#1}} +\define@key{flashmovieparams}{image} {\def\flashmovieimage {#1}} +\define@key{flashmovieparams}{auto} {\def\flashmovieauto {#1}} +\define@key{flashmovieparams}{engine} {\def\flashmovieengine {#1}} +\define@key{flashmovieparams}{blank} {\def\flashmoviekblank {#1}} +\define@key{flashmovieparams}{controlbar} {\def\flashmoviecontrolbar{#1}} +\define@key{flashmovieparams}{loop} {\def\flashmovieloop{#1}} + +\newlength{\flashmovie@width} +\newlength{\flashmovie@height} +\newsavebox{\flashmovie@content} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%% variable module %%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% \flashmovieset{a}{b} is equivalent to \def\a{b} +% \flashmovieget{a} is equivalent to \a if a is defined and otherwise it is empty +% +% example: +% \flashmovieset{aaa}{bla} \flashmovieget{aaa} ------> produces bla +% \flashmovieget{bbb} ------> produces nothing if bbb is not defined + +\def\flashmovieset#1#2{{\expandafter\xdef\csname flashmovie@f@#1\endcsname{#2}}} + +% warning: command must be on one line so that there are no spaces generated ! +\def\flashmovieget#1{\expandafter\ifx\csname flashmovie@f@#1\endcsname\relax\expandafter\flashmovieempty\else\csname flashmovie@f@#1\endcsname\fi} + +%simpler: +% \def\flashmovieset#1#2{{\expandafter\xdef\csname#1\endcsname{#2}}} +% \def\flashmovieget#1{\expandafter\ifx\csname#1\endcsname\relax\expandafter\flashmovieempty\else\csname#1\endcsname\fi} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%% file embedding module %%%%%%%%%%%%%%%%%%%%%%%% +% +% usage: +% \flashmovieembedfile{somefile} +% \edef\flashmovie@e@somefile{\flashmovieembedded} + +\def\flashmovieembedfileinternal#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\flashmovieembedfile#1{% + \ifthenelse{\equal{\flashmovieget{\pdfmdfivesum file {#1}}}{\flashmovieempty}}{% + \flashmovieembedfileinternal{#1}% + \def\flashmovieembedded{\the\pdflastobj}% + \flashmovieset{\pdfmdfivesum file {#1}}{\flashmovieembedded}% + }{% + \def\flashmovieembedded{\flashmovieget{\pdfmdfivesum file {#1}}}% + }% +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\flashmovie{\@ifnextchar[\@flashmovie{\@flashmovie[]}} + +\def\@flashmovie[#1]#2{\flashmovieparamsclear \setkeys{flashmovieparams}{#1}{ + + \ifthenelse{\equal{\flashmoviekblank}{\flashmoviezero}} + {}{\def\flashmovieengine{blank}} + + \ifx\flashmovieengine\flashmovieempty + \flashmovie@pureswf[#1]{#2} + \else + + \ifthenelse{\equal{\flashmovieengine}{pure-swf}} + {\flashmovie@pureswf[#1]{#2}}{} + + \ifthenelse{\equal{\flashmovieengine}{flv-player}} + {\flashmovie@flvplayer[#1]{#2}}{} + + \ifthenelse{\equal{\flashmovieengine}{acropro}} + {\flashmovie@acropro[#1]{#2}}{} + + \ifthenelse{\equal{\flashmovieengine}{jw-player}} + {\flashmovie@jwplayer[#1]{#2}}{} + + \ifthenelse{\equal{\flashmovieengine}{osplayer}} + {\flashmovie@osplayer[#1]{#2}}{} + + \ifthenelse{\equal{\flashmovieengine}{blank}} + {\flashmovie@blank[#1]{#2}}{} + + \fi +}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% pure swf + +\def\flashmovie@pureswf{\@ifnextchar[\@flashmovie@pureswf{\@flashmovie@pureswf[]}} + +\def\@flashmovie@pureswf[#1]#2{\flashmovieparamsclear \setkeys{flashmovieparams}{#1}{ + \newcount\flashmovie@n@config + \newcount\flashmovie@n@content + \newcount\flashmovie@n@settings + + \flashmovieembedfile{#2} + \edef\flashmovie@e@video{\flashmovieembedded} + + \immediate + \pdfobj + {<< + /Instances + [<< + /Asset \flashmovie@e@video\space 0 R + /Params << /Binding /Foreground >> + >>] + /Subtype /Flash + >>} + \flashmovie@n@config=\pdflastobj + + \immediate + \pdfobj + {<< + /Assets << /Names [(#2) \flashmovie@e@video\space 0 R] >> + /Configurations [\the\flashmovie@n@config\space 0 R] + >>} + \flashmovie@n@content=\pdflastobj + + \immediate + \pdfobj + {<< + /Activation + << /Type /RichMediaActivation + /Condition /PV + /Configuration \the\flashmovie@n@config\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 /PI + >> + >>} + \flashmovie@n@settings=\pdflastobj + + \sbox{\flashmovie@content} {{\hbox to \flashmoviewidth {\vbox to \flashmovieheight { }}}} + + \settowidth {\flashmovie@width} {\usebox{\flashmovie@content}} + \settoheight{\flashmovie@height}{\usebox{\flashmovie@content}} + \usebox{\flashmovie@content} + + \pdfannot width \flashmovie@width height \flashmovie@height depth 0pt { + /Subtype /RichMedia + /RichMediaContent \the\flashmovie@n@content\space 0 R + /RichMediaSettings \the\flashmovie@n@settings\space 0 R +}}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% blank + +\def\flashmovie@blank{\@ifnextchar[\@flashmovie@blank{\@flashmovie@blank[]}} + +\def\@flashmovie@blank[#1]#2{\flashmovieparamsclear \setkeys{flashmovieparams}{#1}{ + \sbox{\flashmovie@content} {{\hbox to \flashmoviewidth {\vbox to \flashmovieheight { }}}} + \settowidth {\flashmovie@width} {\usebox{\flashmovie@content}} + \settoheight{\flashmovie@height}{\usebox{\flashmovie@content}} + \usebox{\flashmovie@content} +}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% player from adobe acrobat pro + +\def\flashmovie@acropro{\@ifnextchar[\@flashmovie@acropro{\@flashmovie@acropro[]}} + +\def\@flashmovie@acropro[#1]#2{\flashmovieparamsclear \setkeys{flashmovieparams}{#1}{ + \newcount\flashmovie@n@config + \newcount\flashmovie@n@content + \newcount\flashmovie@n@settings + + \flashmovieembedfile{#2} + \edef\flashmovie@e@video{\flashmovieembedded} + + \flashmovieembedfile{SkinOverPlaySeekStop.swf} + \edef\flashmovie@e@skin{\flashmovieembedded} + + \flashmovieembedfile{VideoPlayer.swf} + \edef\flashmovie@e@player{\flashmovieembedded} + + \immediate + \pdfobj + {<< + /Instances + [<< + /Asset \flashmovie@e@player\space 0 R + /Params + << + /Binding /Foreground + /FlashVars (source=#2&skin=SkinOverPlaySeekStop.swf&skinAutoHide=true&skinBackgroundColor=0x00FF00&skinBackgroundAlpha=0.33&volume=1.00) + >> + >>] + /Subtype /Flash + >>} + \flashmovie@n@config=\pdflastobj + + \immediate + \pdfobj + {<< + /Assets << /Names [(#2) \flashmovie@e@video\space 0 R (skinover.swf) \flashmovie@e@skin\space 0 R (VideoPlayer.swf) \flashmovie@e@player\space 0 R] >> + /Configurations [\the\flashmovie@n@config\space 0 R] + >>} + \flashmovie@n@content=\pdflastobj + + \immediate + \pdfobj + {<< + /Activation + << /Type /RichMediaActivation + /Condition /PV + /Configuration \the\flashmovie@n@config\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 /PI + >> + >>} + \flashmovie@n@settings=\pdflastobj + + \sbox{\flashmovie@content} {{\hbox to \flashmoviewidth {\vbox to \flashmovieheight { }}}} + + \settowidth {\flashmovie@width} {\usebox{\flashmovie@content}} + \settoheight{\flashmovie@height}{\usebox{\flashmovie@content}} + \usebox{\flashmovie@content} + + \pdfannot width \flashmovie@width height \flashmovie@height depth 0pt { + /Subtype /RichMedia + /RichMediaContent \the\flashmovie@n@content\space 0 R + /RichMediaSettings \the\flashmovie@n@settings\space 0 R +}}} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% flv-player from http://flv-player.net/players/maxi + +\def\flashmovie@flvplayer{\@ifnextchar[\@flashmovie@flvplayer{\@flashmovie@flvplayer[]}} + +\def\@flashmovie@flvplayer[#1]#2{\flashmovieparamsclear \setkeys{flashmovieparams}{#1}{ + \newcount\flashmovie@n@config + \newcount\flashmovie@n@content + \newcount\flashmovie@n@settings + + \flashmovieembedfile{#2} + \edef\flashmovie@e@video{\flashmovieembedded} + + \flashmovieembedfile{player_flv_maxi.swf} + \edef\flashmovie@e@player{\flashmovieembedded} + + % startimage is initialized here + \ifx\flashmovieimage\flashmovieempty + \def\flashmovieimagevari{} + \def\flashmovieimagevarii{} + \else + \flashmovieembedfile{\flashmovieimage} + \edef\flashmovie@e@image{\flashmovieembedded} + \def\flashmovieimagevari{&startimage=\flashmovieimage} + \def\flashmovieimagevarii{(\flashmovieimage) \flashmovie@e@image\space 0 R} + \fi + + % autoplay is initialized here + \ifx\flashmovieauto\flashmoviezero + \def\flashmovieautovari{} + \else + \def\flashmovieautovari{&autoplay=1} + \fi + + % looping is initialized here + \ifx\flashmovieloop\flashmoviezero + \def\flashmovieloopvari{&loop=0} + \else + \def\flashmovieloopvari{&loop=1} + \fi + + \immediate + \pdfobj + {<< + /Instances + [<< + /Asset \flashmovie@e@player\space 0 R + /Params + << + /Binding /Foreground + /FlashVars (flv=#2&margin=0&showvolume=1&showstop=1&showtime=1&videobgcolor=0xFFFFFF\flashmovieautovari\flashmovieimagevari\flashmovieloopvari) + >> + >>] + /Subtype /Flash + >>} + \flashmovie@n@config=\pdflastobj + + \immediate + \pdfobj + {<< + /Assets << /Names + [(#2) \flashmovie@e@video\space 0 R (player_flv_maxi.swf) \flashmovie@e@player\space 0 R \flashmovieimagevarii] >> + /Configurations [\the\flashmovie@n@config\space 0 R] + >>} + \flashmovie@n@content=\pdflastobj + + \immediate + \pdfobj + {<< + /Activation + << /Type /RichMediaActivation + /Condition /PV + /Configuration \the\flashmovie@n@config\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 /PI + >> + >>} + \flashmovie@n@settings=\pdflastobj + + \sbox{\flashmovie@content} {{\hbox to \flashmoviewidth {\vbox to \flashmovieheight { }}}} + + \settowidth {\flashmovie@width} {\usebox{\flashmovie@content}} + \settoheight{\flashmovie@height}{\usebox{\flashmovie@content}} + \usebox{\flashmovie@content} + + \pdfannot width \flashmovie@width height \flashmovie@height depth 0pt { + /Subtype /RichMedia + /RichMediaContent \the\flashmovie@n@content\space 0 R + /RichMediaSettings \the\flashmovie@n@settings\space 0 R } +}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% JW Player from http://www.longtailvideo.com/players/jw-flv-player/ + +\def\flashmovie@jwplayer{\@ifnextchar[\@flashmovie@jwplayer{\@flashmovie@jwplayer[]}} + +\def\@flashmovie@jwplayer[#1]#2{\flashmovieparamsclear \setkeys{flashmovieparams}{#1}{ + \newcount\flashmovie@n@config + \newcount\flashmovie@n@content + \newcount\flashmovie@n@settings + + \flashmovieembedfile{#2} + \edef\flashmovie@e@video{\flashmovieembedded} + + \flashmovieembedfile{player.swf} + \edef\flashmovie@e@player{\flashmovieembedded} + + % startimage is initialized here + \ifx\flashmovieimage\flashmovieempty + \def\flashmovieimagevari{} + \def\flashmovieimagevarii{} + \else + \flashmovieembedfile{\flashmovieimage} + \edef\flashmovie@e@image{\flashmovieembedded} + \def\flashmovieimagevari{&image=\flashmovieimage} + \def\flashmovieimagevarii{(\flashmovieimage) \flashmovie@e@image\space 0 R} + \fi + + % autoplay is initialized here + \ifx\flashmovieauto\flashmoviezero + \def\flashmovieautovari{} + \else + \def\flashmovieautovari{&autostart=true} + \fi + + % controlbar is initialized here + \ifx\flashmoviecontrolbar\flashmoviezero + \def\flashmoviecontrolbarvari{&controlbar=none} + \else + \def\flashmoviecontrolbarvari{} + \fi + + % looping is initialized here + \ifx\flashmovieloop\flashmoviezero + \def\flashmovieloopvari{} + \else + \def\flashmovieloopvari{&repeat=always} + \fi + + \immediate + \pdfobj + {<< + /Instances + [<< + /Asset \flashmovie@e@player\space 0 R + /Params + << + /Binding /Foreground + /FlashVars (file=#2\flashmovieimagevari\flashmovieautovari\flashmoviecontrolbarvari\flashmovieloopvari) + >> + >>] + /Subtype /Flash + >>} + \flashmovie@n@config=\pdflastobj + + \immediate + \pdfobj + {<< + /Assets << /Names + [(#2) \flashmovie@e@video\space 0 R (player.swf) \flashmovie@e@player\space 0 R \flashmovieimagevarii] >> + /Configurations [\the\flashmovie@n@config\space 0 R] + >>} + \flashmovie@n@content=\pdflastobj + + \immediate + \pdfobj + {<< + /Activation + << /Type /RichMediaActivation + /Condition /PV + /Configuration \the\flashmovie@n@config\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 /PI + >> + >>} + \flashmovie@n@settings=\pdflastobj + + \sbox{\flashmovie@content} {{\hbox to \flashmoviewidth {\vbox to \flashmovieheight { }}}} + + \settowidth {\flashmovie@width} {\usebox{\flashmovie@content}} + \settoheight{\flashmovie@height}{\usebox{\flashmovie@content}} + \usebox{\flashmovie@content} + + \pdfannot width \flashmovie@width height \flashmovie@height depth 0pt { + /Subtype /RichMedia + /RichMediaContent \the\flashmovie@n@content\space 0 R + /RichMediaSettings \the\flashmovie@n@settings\space 0 R } +}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% OSFlvPlayer from http://www.osflv.com + +\def\flashmovie@osplayer{\@ifnextchar[\@flashmovie@osplayer{\@flashmovie@osplayer[]}} + +\def\@flashmovie@osplayer[#1]#2{\flashmovieparamsclear \setkeys{flashmovieparams}{#1}{ + \newcount\flashmovie@n@config + \newcount\flashmovie@n@content + \newcount\flashmovie@n@settings + + \flashmovieembedfile{#2} + \edef\flashmovie@e@video{\flashmovieembedded} + + \flashmovieembedfile{OSplayer.swf} + \edef\flashmovie@e@player{\flashmovieembedded} + + \immediate + \pdfobj + {<< + /Instances + [<< + /Asset \flashmovie@e@player\space 0 R + /Params + << + /Binding /Foreground + /FlashVars (movie=#2) + >> + >>] + /Subtype /Flash + >>} + \flashmovie@n@config=\pdflastobj + + \immediate + \pdfobj + {<< + /Assets << /Names + [(#2) \flashmovie@e@video\space 0 R (OSplayer.swf) \flashmovie@e@player\space 0 R] >> + /Configurations [\the\flashmovie@n@config\space 0 R] + >>} + \flashmovie@n@content=\pdflastobj + + \immediate + \pdfobj + {<< + /Activation + << /Type /RichMediaActivation + /Condition /PV + /Configuration \the\flashmovie@n@config\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 /PI + >> + >>} + \flashmovie@n@settings=\pdflastobj + + \sbox{\flashmovie@content} {{\hbox to \flashmoviewidth {\vbox to \flashmovieheight { }}}} + + \settowidth {\flashmovie@width} {\usebox{\flashmovie@content}} + \settoheight{\flashmovie@height}{\usebox{\flashmovie@content}} + \usebox{\flashmovie@content} + + \pdfannot width \flashmovie@width height \flashmovie@height depth 0pt { + /Subtype /RichMedia + /RichMediaContent \the\flashmovie@n@content\space 0 R + /RichMediaSettings \the\flashmovie@n@settings\space 0 R } +}} + diff --git a/macros/latex/contrib/flashmovie/flv-player-license/MPL-1.1 b/macros/latex/contrib/flashmovie/flv-player-license/MPL-1.1 new file mode 100644 index 0000000000..7714141d15 --- /dev/null +++ b/macros/latex/contrib/flashmovie/flv-player-license/MPL-1.1 @@ -0,0 +1,470 @@ + MOZILLA PUBLIC LICENSE + Version 1.1 + + --------------- + +1. Definitions. + + 1.0.1. "Commercial Use" means distribution or otherwise making the + Covered Code available to a third party. + + 1.1. "Contributor" means each entity that creates or contributes to + the creation of Modifications. + + 1.2. "Contributor Version" means the combination of the Original + Code, prior Modifications used by a Contributor, and the Modifications + made by that particular Contributor. + + 1.3. "Covered Code" means the Original Code or Modifications or the + combination of the Original Code and Modifications, in each case + including portions thereof. + + 1.4. "Electronic Distribution Mechanism" means a mechanism generally + accepted in the software development community for the electronic + transfer of data. + + 1.5. "Executable" means Covered Code in any form other than Source + Code. + + 1.6. "Initial Developer" means the individual or entity identified + as the Initial Developer in the Source Code notice required by Exhibit + A. + + 1.7. "Larger Work" means a work which combines Covered Code or + portions thereof with code not governed by the terms of this License. + + 1.8. "License" means this document. + + 1.8.1. "Licensable" means having the right to grant, to the maximum + extent possible, whether at the time of the initial grant or + subsequently acquired, any and all of the rights conveyed herein. + + 1.9. "Modifications" means any addition to or deletion from the + substance or structure of either the Original Code or any previous + Modifications. When Covered Code is released as a series of files, a + Modification is: + A. Any addition to or deletion from the contents of a file + containing Original Code or previous Modifications. + + B. Any new file that contains any part of the Original Code or + previous Modifications. + + 1.10. "Original Code" means Source Code of computer software code + which is described in the Source Code notice required by Exhibit A as + Original Code, and which, at the time of its release under this + License is not already Covered Code governed by this License. + + 1.10.1. "Patent Claims" means any patent claim(s), now owned or + hereafter acquired, including without limitation, method, process, + and apparatus claims, in any patent Licensable by grantor. + + 1.11. "Source Code" means the preferred form of the Covered Code for + making modifications to it, including all modules it contains, plus + any associated interface definition files, scripts used to control + compilation and installation of an Executable, or source code + differential comparisons against either the Original Code or another + well known, available Covered Code of the Contributor's choice. The + Source Code can be in a compressed or archival form, provided the + appropriate decompression or de-archiving software is widely available + for no charge. + + 1.12. "You" (or "Your") means an individual or a legal entity + exercising rights under, and complying with all of the terms of, this + License or a future version of this License issued under Section 6.1. + For legal entities, "You" includes any entity which controls, is + controlled by, or is under common control with You. For purposes of + this definition, "control" means (a) the power, direct or indirect, + to cause the direction or management of such entity, whether by + contract or otherwise, or (b) ownership of more than fifty percent + (50%) of the outstanding shares or beneficial ownership of such + entity. + +2. Source Code License. + + 2.1. The Initial Developer Grant. + The Initial Developer hereby grants You a world-wide, royalty-free, + non-exclusive license, subject to third party intellectual property + claims: + (a) under intellectual property rights (other than patent or + trademark) Licensable by Initial Developer to use, reproduce, + modify, display, perform, sublicense and distribute the Original + Code (or portions thereof) with or without Modifications, and/or + as part of a Larger Work; and + + (b) under Patents Claims infringed by the making, using or + selling of Original Code, to make, have made, use, practice, + sell, and offer for sale, and/or otherwise dispose of the + Original Code (or portions thereof). + + (c) the licenses granted in this Section 2.1(a) and (b) are + effective on the date Initial Developer first distributes + Original Code under the terms of this License. + + (d) Notwithstanding Section 2.1(b) above, no patent license is + granted: 1) for code that You delete from the Original Code; 2) + separate from the Original Code; or 3) for infringements caused + by: i) the modification of the Original Code or ii) the + combination of the Original Code with other software or devices. + + 2.2. Contributor Grant. + Subject to third party intellectual property claims, each Contributor + hereby grants You a world-wide, royalty-free, non-exclusive license + + (a) under intellectual property rights (other than patent or + trademark) Licensable by Contributor, to use, reproduce, modify, + display, perform, sublicense and distribute the Modifications + created by such Contributor (or portions thereof) either on an + unmodified basis, with other Modifications, as Covered Code + and/or as part of a Larger Work; and + + (b) under Patent Claims infringed by the making, using, or + selling of Modifications made by that Contributor either alone + and/or in combination with its Contributor Version (or portions + of such combination), to make, use, sell, offer for sale, have + made, and/or otherwise dispose of: 1) Modifications made by that + Contributor (or portions thereof); and 2) the combination of + Modifications made by that Contributor with its Contributor + Version (or portions of such combination). + + (c) the licenses granted in Sections 2.2(a) and 2.2(b) are + effective on the date Contributor first makes Commercial Use of + the Covered Code. + + (d) Notwithstanding Section 2.2(b) above, no patent license is + granted: 1) for any code that Contributor has deleted from the + Contributor Version; 2) separate from the Contributor Version; + 3) for infringements caused by: i) third party modifications of + Contributor Version or ii) the combination of Modifications made + by that Contributor with other software (except as part of the + Contributor Version) or other devices; or 4) under Patent Claims + infringed by Covered Code in the absence of Modifications made by + that Contributor. + +3. Distribution Obligations. + + 3.1. Application of License. + The Modifications which You create or to which You contribute are + governed by the terms of this License, including without limitation + Section 2.2. The Source Code version of Covered Code may be + distributed only under the terms of this License or a future version + of this License released under Section 6.1, and You must include a + copy of this License with every copy of the Source Code You + distribute. You may not offer or impose any terms on any Source Code + version that alters or restricts the applicable version of this + License or the recipients' rights hereunder. However, You may include + an additional document offering the additional rights described in + Section 3.5. + + 3.2. Availability of Source Code. + Any Modification which You create or to which You contribute must be + made available in Source Code form under the terms of this License + either on the same media as an Executable version or via an accepted + Electronic Distribution Mechanism to anyone to whom you made an + Executable version available; and if made available via Electronic + Distribution Mechanism, must remain available for at least twelve (12) + months after the date it initially became available, or at least six + (6) months after a subsequent version of that particular Modification + has been made available to such recipients. You are responsible for + ensuring that the Source Code version remains available even if the + Electronic Distribution Mechanism is maintained by a third party. + + 3.3. Description of Modifications. + You must cause all Covered Code to which You contribute to contain a + file documenting the changes You made to create that Covered Code and + the date of any change. You must include a prominent statement that + the Modification is derived, directly or indirectly, from Original + Code provided by the Initial Developer and including the name of the + Initial Developer in (a) the Source Code, and (b) in any notice in an + Executable version or related documentation in which You describe the + origin or ownership of the Covered Code. + + 3.4. Intellectual Property Matters + (a) Third Party Claims. + If Contributor has knowledge that a license under a third party's + intellectual property rights is required to exercise the rights + granted by such Contributor under Sections 2.1 or 2.2, + Contributor must include a text file with the Source Code + distribution titled "LEGAL" which describes the claim and the + party making the claim in sufficient detail that a recipient will + know whom to contact. If Contributor obtains such knowledge after + the Modification is made available as described in Section 3.2, + Contributor shall promptly modify the LEGAL file in all copies + Contributor makes available thereafter and shall take other steps + (such as notifying appropriate mailing lists or newsgroups) + reasonably calculated to inform those who received the Covered + Code that new knowledge has been obtained. + + (b) Contributor APIs. + If Contributor's Modifications include an application programming + interface and Contributor has knowledge of patent licenses which + are reasonably necessary to implement that API, Contributor must + also include this information in the LEGAL file. + + (c) Representations. + Contributor represents that, except as disclosed pursuant to + Section 3.4(a) above, Contributor believes that Contributor's + Modifications are Contributor's original creation(s) and/or + Contributor has sufficient rights to grant the rights conveyed by + this License. + + 3.5. Required Notices. + You must duplicate the notice in Exhibit A in each file of the Source + Code. If it is not possible to put such notice in a particular Source + Code file due to its structure, then You must include such notice in a + location (such as a relevant directory) where a user would be likely + to look for such a notice. If You created one or more Modification(s) + You may add your name as a Contributor to the notice described in + Exhibit A. You must also duplicate this License in any documentation + for the Source Code where You describe recipients' rights or ownership + rights relating to Covered Code. You may choose to offer, and to + charge a fee for, warranty, support, indemnity or liability + obligations to one or more recipients of Covered Code. However, You + may do so only on Your own behalf, and not on behalf of the Initial + Developer or any Contributor. You must make it absolutely clear than + any such warranty, support, indemnity or liability obligation is + offered by You alone, and You hereby agree to indemnify the Initial + Developer and every Contributor for any liability incurred by the + Initial Developer or such Contributor as a result of warranty, + support, indemnity or liability terms You offer. + + 3.6. Distribution of Executable Versions. + You may distribute Covered Code in Executable form only if the + requirements of Section 3.1-3.5 have been met for that Covered Code, + and if You include a notice stating that the Source Code version of + the Covered Code is available under the terms of this License, + including a description of how and where You have fulfilled the + obligations of Section 3.2. The notice must be conspicuously included + in any notice in an Executable version, related documentation or + collateral in which You describe recipients' rights relating to the + Covered Code. You may distribute the Executable version of Covered + Code or ownership rights under a license of Your choice, which may + contain terms different from this License, provided that You are in + compliance with the terms of this License and that the license for the + Executable version does not attempt to limit or alter the recipient's + rights in the Source Code version from the rights set forth in this + License. If You distribute the Executable version under a different + license You must make it absolutely clear that any terms which differ + from this License are offered by You alone, not by the Initial + Developer or any Contributor. You hereby agree to indemnify the + Initial Developer and every Contributor for any liability incurred by + the Initial Developer or such Contributor as a result of any such + terms You offer. + + 3.7. Larger Works. + You may create a Larger Work by combining Covered Code with other code + not governed by the terms of this License and distribute the Larger + Work as a single product. In such a case, You must make sure the + requirements of this License are fulfilled for the Covered Code. + +4. Inability to Comply Due to Statute or Regulation. + + If it is impossible for You to comply with any of the terms of this + License with respect to some or all of the Covered Code due to + statute, judicial order, or regulation then You must: (a) comply with + the terms of this License to the maximum extent possible; and (b) + describe the limitations and the code they affect. Such description + must be included in the LEGAL file described in Section 3.4 and must + be included with all distributions of the Source Code. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. + +5. Application of this License. + + This License applies to code to which the Initial Developer has + attached the notice in Exhibit A and to related Covered Code. + +6. Versions of the License. + + 6.1. New Versions. + Netscape Communications Corporation ("Netscape") may publish revised + and/or new versions of the License from time to time. Each version + will be given a distinguishing version number. + + 6.2. Effect of New Versions. + Once Covered Code has been published under a particular version of the + License, You may always continue to use it under the terms of that + version. You may also choose to use such Covered Code under the terms + of any subsequent version of the License published by Netscape. No one + other than Netscape has the right to modify the terms applicable to + Covered Code created under this License. + + 6.3. Derivative Works. + If You create or use a modified version of this License (which you may + only do in order to apply it to code which is not already Covered Code + governed by this License), You must (a) rename Your license so that + the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", + "MPL", "NPL" or any confusingly similar phrase do not appear in your + license (except to note that your license differs from this License) + and (b) otherwise make it clear that Your version of the license + contains terms which differ from the Mozilla Public License and + Netscape Public License. (Filling in the name of the Initial + Developer, Original Code or Contributor in the notice described in + Exhibit A shall not of themselves be deemed to be modifications of + this License.) + +7. DISCLAIMER OF WARRANTY. + + COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF + DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. + THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE + IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, + YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE + COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER + OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF + ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +8. TERMINATION. + + 8.1. This License and the rights granted hereunder will terminate + automatically if You fail to comply with terms herein and fail to cure + such breach within 30 days of becoming aware of the breach. All + sublicenses to the Covered Code which are properly granted shall + survive any termination of this License. Provisions which, by their + nature, must remain in effect beyond the termination of this License + shall survive. + + 8.2. If You initiate litigation by asserting a patent infringement + claim (excluding declatory judgment actions) against Initial Developer + or a Contributor (the Initial Developer or Contributor against whom + You file such action is referred to as "Participant") alleging that: + + (a) such Participant's Contributor Version directly or indirectly + infringes any patent, then any and all rights granted by such + Participant to You under Sections 2.1 and/or 2.2 of this License + shall, upon 60 days notice from Participant terminate prospectively, + unless if within 60 days after receipt of notice You either: (i) + agree in writing to pay Participant a mutually agreeable reasonable + royalty for Your past and future use of Modifications made by such + Participant, or (ii) withdraw Your litigation claim with respect to + the Contributor Version against such Participant. If within 60 days + of notice, a reasonable royalty and payment arrangement are not + mutually agreed upon in writing by the parties or the litigation claim + is not withdrawn, the rights granted by Participant to You under + Sections 2.1 and/or 2.2 automatically terminate at the expiration of + the 60 day notice period specified above. + + (b) any software, hardware, or device, other than such Participant's + Contributor Version, directly or indirectly infringes any patent, then + any rights granted to You by such Participant under Sections 2.1(b) + and 2.2(b) are revoked effective as of the date You first made, used, + sold, distributed, or had made, Modifications made by that + Participant. + + 8.3. If You assert a patent infringement claim against Participant + alleging that such Participant's Contributor Version directly or + indirectly infringes any patent where such claim is resolved (such as + by license or settlement) prior to the initiation of patent + infringement litigation, then the reasonable value of the licenses + granted by such Participant under Sections 2.1 or 2.2 shall be taken + into account in determining the amount or value of any payment or + license. + + 8.4. In the event of termination under Sections 8.1 or 8.2 above, + all end user license agreements (excluding distributors and resellers) + which have been validly granted by You or any distributor hereunder + prior to termination shall survive termination. + +9. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT + (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL + DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, + OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR + ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY + CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, + WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER + COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN + INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF + LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY + RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW + PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE + EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO + THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. + +10. U.S. GOVERNMENT END USERS. + + The Covered Code is a "commercial item," as that term is defined in + 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer + software" and "commercial computer software documentation," as such + terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 + C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), + all U.S. Government End Users acquire Covered Code with only those + rights set forth herein. + +11. MISCELLANEOUS. + + This License represents the complete agreement concerning subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. This License shall be governed by + California law provisions (except to the extent applicable law, if + any, provides otherwise), excluding its conflict-of-law provisions. + With respect to disputes in which at least one party is a citizen of, + or an entity chartered or registered to do business in the United + States of America, any litigation relating to this License shall be + subject to the jurisdiction of the Federal Courts of the Northern + District of California, with venue lying in Santa Clara County, + California, with the losing party responsible for costs, including + without limitation, court costs and reasonable attorneys' fees and + expenses. The application of the United Nations Convention on + Contracts for the International Sale of Goods is expressly excluded. + Any law or regulation which provides that the language of a contract + shall be construed against the drafter shall not apply to this + License. + +12. RESPONSIBILITY FOR CLAIMS. + + As between Initial Developer and the Contributors, each party is + responsible for claims and damages arising, directly or indirectly, + out of its utilization of rights under this License and You agree to + work with Initial Developer and Contributors to distribute such + responsibility on an equitable basis. Nothing herein is intended or + shall be deemed to constitute any admission of liability. + +13. MULTIPLE-LICENSED CODE. + + Initial Developer may designate portions of the Covered Code as + "Multiple-Licensed". "Multiple-Licensed" means that the Initial + Developer permits you to utilize portions of the Covered Code under + Your choice of the NPL or the alternative licenses, if any, specified + by the Initial Developer in the file described in Exhibit A. + +EXHIBIT A -Mozilla Public License. + + ``The contents of this file are subject to the Mozilla Public License + Version 1.1 (the "License"); you may not use this file except in + compliance with the License. You may obtain a copy of the License at + http://www.mozilla.org/MPL/ + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the + License for the specific language governing rights and limitations + under the License. + + The Original Code is ______________________________________. + + The Initial Developer of the Original Code is ________________________. + Portions created by ______________________ are Copyright (C) ______ + _______________________. All Rights Reserved. + + Contributor(s): ______________________________________. + + Alternatively, the contents of this file may be used under the terms + of the _____ license (the "[___] License"), in which case the + provisions of [______] License are applicable instead of those + above. If you wish to allow use of your version of this file only + under the terms of the [____] License and not to allow others to use + your version of this file under the MPL, indicate your decision by + deleting the provisions above and replace them with the notice and + other provisions required by the [___] License. If you do not delete + the provisions above, a recipient may use your version of this file + under either the MPL or the [___] License." + + [NOTE: The text of this Exhibit A may differ slightly from the text of + the notices in the Source Code files of the Original Code. You should + use the text of this Exhibit A rather than the text found in the + Original Code Source Code for Your Modifications.] + diff --git a/macros/latex/contrib/flashmovie/flv-player-license/license.txt b/macros/latex/contrib/flashmovie/flv-player-license/license.txt new file mode 100644 index 0000000000..a83f7a21cd --- /dev/null +++ b/macros/latex/contrib/flashmovie/flv-player-license/license.txt @@ -0,0 +1,15 @@ +Version: MPL 1.1 + +The contents of this file are subject to the Mozilla Public License +Version 1.1 (the "License"); you may not use this file except in +compliance with the License. You may obtain a copy of the License at +http://www.mozilla.org/MPL/ + +Software distributed under the License is distributed on an "AS IS" +basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +License for the specific language governing rights and limitations +under the License. + +The Original Code is flvplayer (http://code.google.com/p/flvplayer/). + +The Initial Developer of the Original Code is neolao (neolao@gmail.com). diff --git a/macros/latex/contrib/flashmovie/player_flv_maxi.swf b/macros/latex/contrib/flashmovie/player_flv_maxi.swf new file mode 100644 index 0000000000..01ec373bb1 Binary files /dev/null and b/macros/latex/contrib/flashmovie/player_flv_maxi.swf differ diff --git a/macros/latex/contrib/flashmovie/test-beamer-0.pdf b/macros/latex/contrib/flashmovie/test-beamer-0.pdf new file mode 100644 index 0000000000..7fa042a930 Binary files /dev/null and b/macros/latex/contrib/flashmovie/test-beamer-0.pdf differ diff --git a/macros/latex/contrib/flashmovie/test-beamer-0.tex b/macros/latex/contrib/flashmovie/test-beamer-0.tex new file mode 100644 index 0000000000..0c96217c16 --- /dev/null +++ b/macros/latex/contrib/flashmovie/test-beamer-0.tex @@ -0,0 +1,146 @@ +\RequirePackage{flashmovie} +% it is neccessay to use "\RequirePackage{flashmovie}" because beamer +% also uses "\pdfminorversion". see flashmovie.sty for an explanation. + +%--------------------------------------------- +% pure-flash-example +%--------------------------------------------- + +\documentclass[10pt]{beamer} + +\usepackage[english]{babel} +\usepackage{hyperref} + +\usetheme{Warsaw} % Warsaw,Hannover,boxes +\usecolortheme{rose} % orchid,lily,dolphin,beetle,crane +\usefonttheme{professionalfonts} % professionalfonts,serif +\useinnertheme{rounded} % rounded +\useoutertheme{shadow} % shadow,sidebar,split + +%--------------------------------------------- + +\setbeamersize{text margin left=0.3cm} % small margins +\setbeamersize{text margin right=0.3cm} + +%--------------------------------------------- +% for writing a document is is convenient to switch movies off. to do this, +% use "blank=1" as an option. in order to use the videos, use "blank=0". +% +% to make thinks easy, use "blank=\myblank" as an option and define +% \myblank as suitable. + +\def\myblank{0} +%\def\myblank{1} + +%--------------------------------------------- + +\title[flashmovie.sty]{flashmovie.sty} +\author[\href{mailto:thartmann15@googlemail.com}{Timo Hartmann}]{\href{mailto:thartmann15@googlemail.com}{Timo Hartmann}} + +\date[2010]{} + +%--------------------------------------------- + +\begin{document} + +\frame{ + +\titlepage + +\begin{block}{\alert{Warning}} +It is recommended to use the latest available version of the Adobe Reader +to view PDF files generated with flashmovie.sty. +% Otherwise your Adobe Reader may die a sudden painfull death... +\end{block} + +} % end frame + +%--------------------------------------------- + +\begin{frame} + +\frametitle{Basics} + +\begin{minipage}[t]{6.1cm} +\vspace{0cm} +\flashmovie[width=6cm,height=5cm]{saturn5.swf} +\end{minipage} +\begin{minipage}[t]{5.7cm} +\vspace{0cm} +This package allows direct embedding of flash movies into PDF files. It is +designed for use with pdflatex. +\vspace{0.5cm} + +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''. +\vspace{0.5cm} + +This means that you can only use flashmovie.sty in combination +with Adobe Reader 9 and upwards. + +\end{minipage} + +\vspace{0.5cm} + +P.S.: This sample video is courtesy of the NASA ( \href{http://heasarc.gsfc.nasa.gov/Videos/historical/saturn5.avi}{saturn5.avi} ). + +\end{frame} + +%--------------------------------------------- + +\begin{frame}[fragile] + +\frametitle{Explanation} + +The source code used for the video on the previous page is: + +\begin{verbatim} +\flashmovie[width=6cm,height=5cm]{saturn5.swf} +\end{verbatim} + +This means that the movie is really a flash animation and is not +rendered by a player. So no controls are available. + +\end{frame} + +%--------------------------------------------- + +\begin{frame}[fragile] + +\frametitle{Issues with the flv-player} + +\begin{itemize} + +\item Sadly the flv-player does not work reliably with the latex package +beamer. If you try it, the acrobat reader often crashes while trying +to change the page. I have no idea what is the cause of this problem. + +\item The only reliable way to use beamer seems to be directly embedding the videos as + flash animations or to use the JW player. + +\end{itemize} + +\end{frame} + +%--------------------------------------------- + +\begin{frame}[fragile] + +\frametitle{Advanced use} + +Rich media annotations are not restricted to videos. +You can use flash animations, too. +Here for example is a clock written in action script: + +\flashmovie[width=8cm,height=5cm,blank=\myblank]{clock.swf} + +\begin{verbatim} + \flashmovie[width=8cm,height=5cm]{clock.swf} +\end{verbatim} + +\end{frame} + +%--------------------------------------------- + +\end{document} diff --git a/macros/latex/contrib/flashmovie/test-beamer-1.tex b/macros/latex/contrib/flashmovie/test-beamer-1.tex new file mode 100644 index 0000000000..d3cdddceb2 --- /dev/null +++ b/macros/latex/contrib/flashmovie/test-beamer-1.tex @@ -0,0 +1,177 @@ +\RequirePackage{flashmovie} +% it is neccessay to use "\RequirePackage{flashmovie}" because beamer +% also uses "\pdfminorversion". see flashmovie.sty for an explanation. + +%--------------------------------------------- +% jw-player-example +%--------------------------------------------- + +\documentclass[10pt]{beamer} + +\usepackage[english]{babel} +\usepackage{hyperref} + +\usetheme{Warsaw} % Warsaw,Hannover,boxes +\usecolortheme{rose} % orchid,lily,dolphin,beetle,crane +\usefonttheme{professionalfonts} % professionalfonts,serif +\useinnertheme{rounded} % rounded +\useoutertheme{shadow} % shadow,sidebar,split + +%--------------------------------------------- + +\setbeamersize{text margin left=0.3cm} % small margins +\setbeamersize{text margin right=0.3cm} + +%--------------------------------------------- +% for writing a document is is convenient to switch movies off. to do this, +% use "blank=1" as an option. in order to use the videos, use "blank=0". +% +% to make thinks easy, use "blank=\myblank" as an option and define +% \myblank as suitable. + +\def\myblank{0} +%\def\myblank{1} + +%\def\mymovie{saturn5} +\def\mymovie{flagmoon} % if the noise of saturn5 annoyes to much + +%--------------------------------------------- + +\title[flashmovie.sty]{flashmovie.sty} +\author[\href{mailto:thartmann15@googlemail.com}{Timo Hartmann}]{\href{mailto:thartmann15@googlemail.com}{Timo Hartmann}} + +\date[2010]{} + +%--------------------------------------------- + +\begin{document} + +\frame{ + +\titlepage + +\begin{block}{\alert{Warning}} +It is recommended to use the latest available version of the Adobe Reader +to view PDF files generated with flashmovie.sty. +% Otherwise your Adobe Reader may die a sudden painfull death... +\end{block} + +} % end frame + +%--------------------------------------------- + +\begin{frame} + +\frametitle{Basics} + +\begin{minipage}[t]{6.1cm} +\vspace{0cm} +\flashmovie[width=6cm,height=5cm,engine=jw-player,auto=1,blank=\myblank]{\mymovie.mp4} +\end{minipage} +\begin{minipage}[t]{5.7cm} +\vspace{0cm} +This package allows direct embedding of flash movies into PDF files. It is +designed for use with pdflatex. +\vspace{0.5cm} + +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''. +\vspace{0.5cm} + +This means that you can only use flashmovie.sty in combination +with Adobe Reader 9 and upwards. + +\end{minipage} + +\vspace{0.5cm} + +P.S.: This sample video is courtesy of the NASA ( \href{http://heasarc.gsfc.nasa.gov/Videos/historical/\mymovie.avi}{\mymovie.avi} ). + +\end{frame} + +%--------------------------------------------- + +\begin{frame}[fragile] + +\frametitle{\href{http://www.longtailvideo.com/players/jw-flv-player}{JW Player}} + +The source code used for the video on the previous page is: + +\begin{verbatim} +\flashmovie[width=6cm,height=5cm, + engine=jw-player,auto=1]{movie.mp4} +\end{verbatim} + +This means that the movie is rendered with the +\href{http://www.longtailvideo.com/players/jw-flv-player}{``JW Player''} +from longtail video (\href{http://www.longtailvideo.com}{www.longtailvideo.com}). + +\vspace{0.5cm} + +This is an open source flash player released under a +\href{http://creativecommons.org/licenses/by-nc-sa/3.0/}{non-commercial license}, +which means its free for non-commercial use. + +\end{frame} + +%--------------------------------------------- + +\begin{frame}[fragile] + +\frametitle{Issues with the flv-player} + +\begin{itemize} + +\item Sadly the \href{http://flv-player.net}{flv-player} does not work +reliably with the latex package beamer. If you try it, the acrobat reader +often crashes while trying to change the page. I have no idea +what is the cause of this problem. + +\item The only reliable way to use beamer seems to be directly embedding the videos as + flash animations or to use the JW player. + +\end{itemize} + +\end{frame} + +%--------------------------------------------- + +\begin{frame}[fragile] + +\frametitle{Options for the \href{http://www.longtailvideo.com/players/jw-flv-player}{JW Player}} + +\begin{minipage}[t]{4.1cm} +\vspace{0cm} +\flashmovie[width=4cm,height=3cm,engine=jw-player,auto=0,controlbar=0,blank=\myblank]{\mymovie.mp4} +\end{minipage} +\begin{minipage}[t]{7cm} +\vspace{0cm} +In this example the video is not started before the user clicks on it. The controlbar is disabled, too. +\begin{verbatim} +\flashmovie[width=4cm,height=3cm, + engine=jw-player,auto=0, + controlbar=0]{movie.mp4} +\end{verbatim} +\end{minipage} + +\begin{minipage}[t]{4.1cm} +\vspace{0cm} +\flashmovie[width=4cm,height=3cm,engine=jw-player,auto=0,image=saturn.jpg,blank=\myblank,loop=1]{\mymovie.mp4} +\end{minipage} +\begin{minipage}[t]{7cm} +\vspace{0cm} +Here additionally an image is displayed before the movie starts. The movie also loops. +\begin{verbatim} +\flashmovie[width=4cm,height=3cm, + engine=jw-player,auto=0, + image=saturn.jpg,loop=1] + {movie.mp4} +\end{verbatim} +\end{minipage} + +\end{frame} + +%--------------------------------------------- + +\end{document} diff --git a/macros/latex/contrib/flashmovie/test-flv.pdf b/macros/latex/contrib/flashmovie/test-flv.pdf new file mode 100644 index 0000000000..d7081290f2 Binary files /dev/null and b/macros/latex/contrib/flashmovie/test-flv.pdf differ diff --git a/macros/latex/contrib/flashmovie/test-flv.tex b/macros/latex/contrib/flashmovie/test-flv.tex new file mode 100644 index 0000000000..bdc5e84b33 --- /dev/null +++ b/macros/latex/contrib/flashmovie/test-flv.tex @@ -0,0 +1,84 @@ +\documentclass[10pt]{article} + +\usepackage[utf8]{inputenc} +\usepackage[english]{babel} +\usepackage{hyperref} +\usepackage{color} + +\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,height=10cm,engine=flv-player,auto=1]{saturn5.mp4} + +%\vspace{1cm} + +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''. + +\vspace{0.5cm} + +This means that you can only use flashmovie.sty in combination +with Adobe Reader 9 and upwards. +% Otherwise your Adobe Reader may die a sudden painfull death... + +\vspace{0.5cm} + +\textcolor{red}{ + It is recommended to use the latest available version of the Adobe Reader + to view PDF files generated with flashmovie.sty. +} + +\vspace{0.5cm} + +P.S.: This sample video is courtesy of the NASA ( \href{http://heasarc.gsfc.nasa.gov/Videos/historical/saturn5.avi}{saturn5.avi} ). + +\newpage + +The source code used for the video on the previous page is: + +\begin{verbatim} + \flashmovie[width=10cm,height=10cm,engine=flv-player,auto=1]{saturn5.mp4} +\end{verbatim} + +This means that the movie is rendered with the \href{http://flv-player.net}{``flv-player''} +whose developer is neolao. This player is distributed under the +\href{http://www.mozilla.org/MPL/}{MPL version 1.1}. +It is included in this package and is the recommended way to use ``flashmovie.sty'' +besides directly embedding ``.swf'' files. + +\vspace{1cm} + +{\Huge Examples}\\\\ + +\flashmovie[width=8cm,height=5cm,engine=flv-player,auto=0]{saturn5.mp4} +\begin{verbatim} + \flashmovie[width=8cm,height=5cm,engine=flv-player,auto=0]{saturn5.mp4} +\end{verbatim} +In this example the video is not started before the user clicks on it. + +\vspace{1cm} + +\flashmovie[width=8cm,height=5cm,engine=flv-player,auto=0,image=saturn.jpg]{saturn5.mp4} +\begin{verbatim} + \flashmovie[width=8cm,height=5cm,engine=flv-player,auto=0,image=saturn.jpg]{saturn5.mp4} +\end{verbatim} +Here additionally an image is displayed before the movie starts. + +\newpage + +Rich media annotations are not restricted to videos. +Here for example is a clock written in action script: + +\flashmovie[width=8cm,height=5cm]{clock.swf} +\begin{verbatim} + \flashmovie[width=8cm,height=5cm]{clock.swf} +\end{verbatim} + +\end{document} diff --git a/macros/latex/contrib/flashmovie/test.tex b/macros/latex/contrib/flashmovie/test.tex new file mode 100644 index 0000000000..c59f9da9d4 --- /dev/null +++ b/macros/latex/contrib/flashmovie/test.tex @@ -0,0 +1,32 @@ +\documentclass[10pt]{article} + +\usepackage[utf8]{inputenc} +\usepackage[english]{babel} +\usepackage{hyperref} + +\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,height=10cm]{saturn5.swf} +%\flashmovie[width=10cm,height=10cm,engine=pure-swf]{saturn5.swf} +%\flashmovie[width=10cm,height=10cm,engine=blank]{saturn5.swf} +%\flashmovie[width=10cm,height=10cm,engine=flv-player]{saturn5.mp4} +%\flashmovie[width=10cm,height=10cm,engine=flv-player,blank=0]{saturn5.mp4} +%\flashmovie[width=10cm,height=10cm,engine=flv-player,blank=1]{saturn5.mp4} +%\flashmovie[width=10cm,height=10cm,engine=acropro]{saturn5.mp4} +%\flashmovie[width=10cm,height=10cm,engine=jw-player]{saturn5.mp4} +%\flashmovie[width=10cm,height=10cm,engine=osplayer]{saturn5.mp4} + +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''. + +P.S.: This sample video is courtesy of the NASA ( \href{http://heasarc.gsfc.nasa.gov/Videos/historical/saturn5.avi}{saturn5.avi} ). + +\end{document} -- cgit v1.2.3