diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/flashmovie/flashmovie.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/flashmovie/flashmovie.sty | 862 |
1 files changed, 862 insertions, 0 deletions
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..865fa0a2505 --- /dev/null +++ b/Master/texmf-dist/tex/latex/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 } +}} + |