summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/movie15/README4
-rw-r--r--Master/texmf-dist/doc/latex/movie15/movie15.pdfbin471132 -> 515493 bytes
-rw-r--r--Master/texmf-dist/doc/latex/movie15/movie15.tex16
-rw-r--r--Master/texmf-dist/doc/latex/movie15/overlay-example.pdfbin32513 -> 32513 bytes
-rw-r--r--Master/texmf-dist/tex/latex/movie15/movie15.sty196
-rw-r--r--Master/texmf-dist/tpm/movie15.tpm6
6 files changed, 130 insertions, 92 deletions
diff --git a/Master/texmf-dist/doc/latex/movie15/README b/Master/texmf-dist/doc/latex/movie15/README
index 02c67f2ca7b..098097cc8da 100644
--- a/Master/texmf-dist/doc/latex/movie15/README
+++ b/Master/texmf-dist/doc/latex/movie15/README
@@ -25,7 +25,7 @@ Description:
Note, this file only gives a summary of usage and available command
options. Please refer to the documentation `movie15.pdf' in the `doc/'
- directory for details.
+ directory for details and examples.
Keywords: embed, movie, LaTeX, pdfLaTeX, PDF, 3D, JavaScript, include,
sound, video, multimedia, animation
@@ -214,7 +214,7 @@ Usage:
+999999999999999999.999999999999999999 are
allowed.
- 3Droll=<roll> prescribes an initial camera roll around the
+ 3Droll=<roll> Prescribes an initial camera roll around the
optical axis (in clockwise direction, if <roll>
is greater than zero); measured in degrees.
diff --git a/Master/texmf-dist/doc/latex/movie15/movie15.pdf b/Master/texmf-dist/doc/latex/movie15/movie15.pdf
index 4581a0a5648..826fc75edc6 100644
--- a/Master/texmf-dist/doc/latex/movie15/movie15.pdf
+++ b/Master/texmf-dist/doc/latex/movie15/movie15.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/movie15/movie15.tex b/Master/texmf-dist/doc/latex/movie15/movie15.tex
index 821f068d341..5adffa99389 100644
--- a/Master/texmf-dist/doc/latex/movie15/movie15.tex
+++ b/Master/texmf-dist/doc/latex/movie15/movie15.tex
@@ -225,7 +225,7 @@ Some \verb+<offset>+ examples:
\begin{verbatim}
time:20.5
frame:100
- {marker:"Chapter 1", time:60}
+ {marker:'Chapter 1', time:60}
\end{verbatim}
\hypertarget{lnk:textoption}{}
\begin{verbatim}
@@ -320,11 +320,11 @@ Things like animation, lighting, background etc. may also be script driven. Opti
\end{verbatim}
Embeds additional 3D or \emph{rasterized} image files that can be used as resources while rendering the 3D artwork. Possible file types are U3D, Postscript (\LaTeX{} + \verb+dvips+) and PDF/JPEG/PNG (pdf\LaTeX). Embedded resources must be loaded by the JavaScript method
\begin{verbatim}
- Resource("pdf://<resource path>")
+ Resource('pdf://<resource path>')
\end{verbatim}
where {\tt<resource path>} stands for the path to the resource file as specified by the `\verb+3Dresource+' option. (This is just a naming convention; the files are physically embedded in the final PDF.) The following JavaScript loads an image file that was attached by `\verb+3Dresource=images/sunset.jpg+' as the background.
\begin{verbatim}
- sunset = new Image(new Resource("pdf://images/sunset.jpg"));
+ sunset = new Image(new Resource('pdf://images/sunset.jpg'));
reh = new RenderEventHandler();
reh.onEvent = function(event) {
runtime.removeEventHandler(this);
@@ -396,7 +396,7 @@ Mainly used during document authoring. Camera settings corresponding to the curr
\end{verbatim}
Runs the script \verb+<JavaScript file>+ after clicking the link. Unlike the script that has been associated with the 3D annotation during object embedding, this JavaScript is not directly run by the JavaScript engine of the 3D plug-in, but is run by the Reader's own scripting engine. However, full access to the API of the 3D script engine is provided through the `\verb+context3D+' property of the `\verb+Annot3D+' object. For convenience, an associative array `\verb+annot3D+' has been provided for use within \verb+<JavaScript file>+, in order to easily access the `\verb+Annot3D+' object of the annotation the enclosing link is pointing to. The particular element of the array is referenced by the annotation's label \verb+<label spec>+, enclosed in quotation marks. As an example, the `\verb+scene+' object can be referenced within \verb+<JavaScript file>+ by
\begin{verbatim}
- annot3D["<label spec>"].context3D.scene
+ annot3D['<label spec>'].context3D.scene
\end{verbatim}
For details about Acrobat JavaScript and its Annot3D object, see \cite{jscript}.
@@ -509,7 +509,7 @@ The duration of the media segment to be played. The trailing `\verb+s+' is manda
\end{minipage}
%\newpage
-\item\label{ex3d} Embedded U3D file. It is based on a VRML model by Peter Whitehouse, \href{http://www.wonko.info/vrml/index.htm}{\tt http://www.wonko.info/vrml/index.htm}. Conversion to U3D has been made with DeepExploration\textsuperscript{\scriptsize\textregistered}\cite{dexp}. The file `{\tt dice.vws}' provides predefined views to be selected from the 3D toolbar or by right click. The JavaScript `{\tt turntable.js}' disables the annoying Gimbal rotation mode.
+\item\label{ex3d} Embedded U3D file. It is based on a VRML model by Peter Whitehouse, \href{http://www.wonko.info/vrml/index.htm}{\tt http://www.wonko.info/vrml/index.htm}. Conversion to U3D has been made with DeepExploration\textsuperscript{\scriptsize\textregistered}\cite{dexp}. The file `{\tt dice.vws}' provides predefined views to be selected from the 3D toolbar or by right click.% The JavaScript `{\tt turntable.js}' disables the annoying Gimbal rotation mode.
\begin{minipage}[b]{0.5\linewidth}
{\tt%
@@ -520,8 +520,8 @@ The duration of the media segment to be played. The trailing `\verb+s+' is manda
\phantom{xx}text=(dice.u3d),\\
\phantom{xx}3Droo=27,\\
\phantom{xx}3Dlights=Cube,\\
- \phantom{xx}3Dviews=dice.vws,\\
- \phantom{xx}3Djscript=turntable.js\\
+% \phantom{xx}3Djscript=turntable.js,\\
+ \phantom{xx}3Dviews=dice.vws\\
]\string{\\
\phantom{xx}.5\string\linewidth\\
\string}\string{\\
@@ -545,7 +545,7 @@ The duration of the media segment to be played. The trailing `\verb+s+' is manda
3Droo=27,
3Dlights=Cube,
3Dviews=dice.vws,
- 3Djscript=turntable.js
+% 3Djscript=turntable.js %a bug in Reader 8 causes the script to fail
]{\linewidth}{\linewidth}{dice.u3d}
\end{center}
\movieref[3Dviewindex=N]{dice}{Click here} to cycle through the list of predefined views. \movieref[3Dcalculate=60]{dice}{This link} calculates 3D option settings for a 60\textdegree{} aperture angle of the virtual camera.
diff --git a/Master/texmf-dist/doc/latex/movie15/overlay-example.pdf b/Master/texmf-dist/doc/latex/movie15/overlay-example.pdf
index 20a0d5c4a7e..71f77b2ed21 100644
--- a/Master/texmf-dist/doc/latex/movie15/overlay-example.pdf
+++ b/Master/texmf-dist/doc/latex/movie15/overlay-example.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/movie15/movie15.sty b/Master/texmf-dist/tex/latex/movie15/movie15.sty
index ecee01305cd..b64ca5043be 100644
--- a/Master/texmf-dist/tex/latex/movie15/movie15.sty
+++ b/Master/texmf-dist/tex/latex/movie15/movie15.sty
@@ -9,7 +9,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{movie15}[2007/01/17]
+\ProvidesPackage{movie15}[2007/05/02]
\RequirePackage{keyval}
\RequirePackage{ifthen}
\RequirePackage{ifpdf}
@@ -42,18 +42,24 @@
\DeclareOption*{%
\PackageWarning{movie15}{Unknown option \CurrentOption}
}
+
\ProcessOptions*\relax
-%correct pdfTeX version?
-\ifpdf%
- \ifnum\pdftexversion<120%
- \PackageError{movie15}{%
- pdf(La)TeX version >= 1.20 required for direct PDF output
- }{%
- Install a more recent version!
- }%
- \fi%
-\fi%
+%testing for correct TeX version, pdfmdfivesum file is needed for both,
+%pdf _and_ dvi output
+\ifx\@undefined\pdfmdfivesum file
+ \PackageError{movie15}{%
+ pdfeTeX, version >= 1.30, required
+ }{%
+ Install a more recent version!
+ }%
+\fi
+
+\ifpdf %allows pdftex to directly import Metapost generated Postscript
+ \ifx\MPtoPDF\@undefined
+ \InputIfFileExists{supp-pdf}{}{}%
+ \fi
+\fi
%for conditionals where \ifthenelse doesn't work
\gdef\@MXV@if#1{\csname if#1\endcsname}%
@@ -191,6 +197,7 @@
\newboolean{@MXV@linkstop}
\newboolean{@MXV@linkclose}
\newboolean{@MXV@linkreset}
+\newboolean{@MXV@issound}
%macro to reset all macros and booleans
\def\@MXV@reset{%
@@ -203,6 +210,7 @@
\setboolean{@MXV@inline}{true}%
\setboolean{@MXV@attachment}{true}%
\setboolean{@MXV@externalviewer}{false}%
+ \setboolean{@MXV@issound}{false}%
\setboolean{@MXV@url}{false}%
\setboolean{@MXV@boxopt}{false}%
\setboolean{@MXV@textoverposter}{true}%
@@ -371,6 +379,15 @@
}}}}}}}}}}}}}}}}%
}
+%sets @MXV@issound boolean
+\def\@MXV@@issound#1/#2.{% argument: \@MXV@mime.
+ \def\@MXV@firstarg{#1}%
+ \def\@MXV@audio{audio}%
+ \ifx\@MXV@firstarg\@MXV@audio%
+ \setboolean{@MXV@issound}{true}%
+ \fi%
+}
+
%draft box
\def\@MXV@draftbox#1#2#3#4{%width height depth filename
\edef\@MXV@oldfboxsep{\the\fboxsep}%
@@ -604,20 +621,20 @@
}%
\ifthenelse{\equal{\@MXV@restype}{image}}{%
%embed the same image file only once
- \ifthenelse{\equal{\@MXV@getlabelvalue{#1}}{undefined}}{%
+ \ifthenelse{\equal{\@MXV@getlabelvalue{\pdfmdfivesum file {#1}}}{undefined}}{%
\immediate\pdfximage {#1}%
\xdef\@MXV@resourcetree{% build name tree for embedded resources
\@MXV@resourcetree\space (#1) \the\pdflastximage\space 0 R%
}%
- \@MXV@newlabel{#1}{\the\pdflastximage}%
+ \@MXV@newlabel{\pdfmdfivesum file {#1}}{\the\pdflastximage}%
}{%
\xdef\@MXV@resourcetree{%
- \@MXV@resourcetree\space (#1) \@MXV@getlabelvalue{#1}\space 0 R%
+ \@MXV@resourcetree\space (#1) \@MXV@getlabelvalue{\pdfmdfivesum file {#1}}\space 0 R%
}%
}%
}{%
%embed the same 3D file only once
- \ifthenelse{\equal{\@MXV@getlabelvalue{#1}}{undefined}}{%
+ \ifthenelse{\equal{\@MXV@getlabelvalue{\pdfmdfivesum file {#1}}}{undefined}}{%
\pdfobj stream %
attr {%
/Subtype/\@MXV@restype%
@@ -627,10 +644,10 @@
\xdef\@MXV@resourcetree{%
\@MXV@resourcetree\space (#1) \the\pdflastobj\space 0 R%
}%
- \@MXV@newlabel{#1}{\the\pdflastobj}%
+ \@MXV@newlabel{\pdfmdfivesum file {#1}}{\the\pdflastobj}%
}{%
\xdef\@MXV@resourcetree{%
- \@MXV@resourcetree\space (#1) \@MXV@getlabelvalue{#1}\space 0 R%
+ \@MXV@resourcetree\space (#1) \@MXV@getlabelvalue{\pdfmdfivesum file {#1}}\space 0 R%
}%
}%
}%
@@ -860,28 +877,34 @@
}%
\ifthenelse{\equal{\@MXV@restype}{image}}{%
%embed the same image file only once
- \ifthenelse{\equal{\@MXV@getlabelvalue{#1}}{undefined}}{%
+ \ifthenelse{\equal{\@MXV@getlabelvalue{\pdfmdfivesum file {#1}}}{undefined}}{%
%increment counter of embedded resource files
\global\advance\@MXV@rescount by 1%
%create Image XObject from next raster image
\special{ps:% read image resource from file
[ /_objdef {resource\the\@MXV@rescount} /NI pdfmark
- save gsave newpath clip /showpage {} def /setpagedevice /pop load def
- (#1) run 0 0 1 [1 0 0 1 0 0] {} image %empty dummy, in case #1 is not
- grestore restore %a valid image file
+ save gsave
+ {
+ /showpage {} def
+ /setpagedevice /pop load def
+ newpath clip
+ (#1) run
+ } ?pdfmark
+ 0 0 1 [1 0 0 1 0 0] {} image %empty dummy, in case #1 is not
+ grestore restore %a valid image file
}%
\xdef\@MXV@resourcetree{% build name tree for embedded resources
\@MXV@resourcetree\space (#1) {resource\the\@MXV@rescount}%
}%
- \@MXV@newlabel{#1}{resource\the\@MXV@rescount}%
+ \@MXV@newlabel{\pdfmdfivesum file {#1}}{resource\the\@MXV@rescount}%
}{%
\xdef\@MXV@resourcetree{%
- \@MXV@resourcetree\space (#1) {\@MXV@getlabelvalue{#1}}%
+ \@MXV@resourcetree\space (#1) {\@MXV@getlabelvalue{\pdfmdfivesum file {#1}}}%
}%
}%
}{%
%embed the same 3D file only once
- \ifthenelse{\equal{\@MXV@getlabelvalue{#1}}{undefined}}{%
+ \ifthenelse{\equal{\@MXV@getlabelvalue{\pdfmdfivesum file {#1}}}{undefined}}{%
\global\advance\@MXV@rescount by 1%
\special{ps:
[ /_objdef {resource\the\@MXV@rescount} /type/stream /OBJ pdfmark
@@ -893,10 +916,10 @@
\xdef\@MXV@resourcetree{%
\@MXV@resourcetree\space (#1) {resource\the\@MXV@rescount}%
}%
- \@MXV@newlabel{#1}{resource\the\@MXV@rescount}%
+ \@MXV@newlabel{\pdfmdfivesum file {#1}}{resource\the\@MXV@rescount}%
}{%
\xdef\@MXV@resourcetree{%
- \@MXV@resourcetree\space (#1) {\@MXV@getlabelvalue{#1}}%
+ \@MXV@resourcetree\space (#1) {\@MXV@getlabelvalue{\pdfmdfivesum file {#1}}}%
}%
}%
}%
@@ -1212,7 +1235,7 @@
}catch (e){}
}
\fi%
- e.target.visible=true;
+ \if@MXV@issound\else e.target.visible=true;\fi%
},
onPlay: function (e) {%
e.target.settings.privateData.paused=false;
@@ -1233,7 +1256,7 @@
e.target.settings.privateData.paused=false;
e.target.seek(e.target.settings.startAt);
}
- e.target.visible=true;
+ \if@MXV@issound\else e.target.visible=true;\fi%
\@MXV@if{#3}
e.target.settings.privateData.paused=false;
e.target.play();
@@ -1264,7 +1287,7 @@
%embedded file entry `/EF'
\if@MXV@inline%
%embed the same media file only once
- \ifthenelse{\equal{\@MXV@getlabelvalue{#4}}{undefined}}{%
+ \ifthenelse{\equal{\@MXV@getlabelvalue{\pdfmdfivesum file {#4}}}{undefined}}{%
\pdfobj stream %
attr {%
/Type/EmbeddedFile%
@@ -1275,10 +1298,10 @@
\edef\@MXV@efentry{%
/EF << /F \the\pdflastobj\space 0 R >>%
}%
- \@MXV@newlabel{#4}{\the\pdflastobj}%
+ \@MXV@newlabel{\pdfmdfivesum file {#4}}{\the\pdflastobj}%
}{%
\edef\@MXV@efentry{%
- /EF << /F \@MXV@getlabelvalue{#4}\space 0 R >>%
+ /EF << /F \@MXV@getlabelvalue{\pdfmdfivesum file {#4}}\space 0 R >>%
}%
}%
\else\def\@MXV@efentry{}\fi%
@@ -1560,7 +1583,8 @@
{mediarendition\the\@MXV@includes} <<%
/C {mediaclipdata\the\@MXV@includes}%
/S/MR%
- /SP <</BE<</O 0.0>>>>% %screen parameters: fully transparent
+ %screen parameters: fully transparent, hidden if audio mime type
+ /SP <</BE<</O 0.0>>>>%
/P <<%Media Play Parameters
\@MXV@player%
/BE <<%Parameters need only be honored by the player in
@@ -1620,7 +1644,7 @@
%embedded file entry `/EF'
\if@MXV@inline%
%embed the same media file only once
- \ifthenelse{\equal{\@MXV@getlabelvalue{#4}}{undefined}}{%
+ \ifthenelse{\equal{\@MXV@getlabelvalue{\pdfmdfivesum file {#4}}}{undefined}}{%
%new stream object
\pdfmark{%
pdfmark=/OBJ,%
@@ -1646,9 +1670,9 @@
}%
}%
\edef\@MXV@moviestream{fstream\the\@MXV@includes}%
- \@MXV@newlabel{#4}{fstream\the\@MXV@includes}%
+ \@MXV@newlabel{\pdfmdfivesum file {#4}}{fstream\the\@MXV@includes}%
}{%
- \edef\@MXV@moviestream{\@MXV@getlabelvalue{#4}}%
+ \edef\@MXV@moviestream{\@MXV@getlabelvalue{\pdfmdfivesum file {#4}}}%
}%
% put the embedded file entry into file spec object
\pdfmark{%
@@ -1817,6 +1841,7 @@
\else%
\xdef\@MXV@filename{\filename@base.\filename@ext}%
\fi%
+ \expandafter\@MXV@@issound\@MXV@mime.%
%
%if 3D object is not embedded inline we must use some external player :(
\ifthenelse{%
@@ -2011,6 +2036,9 @@
\@MXV@labeltoaux{@MXV@\@MXV@label.autoplay}{%
\if@MXV@autoplay true\else false\fi}%
\@MXV@labeltoaux{@MXV@\@MXV@label.3D}{false}%
+ \@MXV@labeltoaux{@MXV@\@MXV@label.issound}{%
+ \if@MXV@issound true\else false\fi}%
+ %
\@MXV@newlabel{@MXV@\@MXV@label.mouse}{%
\if@MXV@mouse true\else false\fi}%
\@MXV@newlabel{@MXV@\@MXV@label.showUI}{\@MXV@ctrls}%
@@ -2023,6 +2051,9 @@
\@MXV@newlabel{@MXV@\@MXV@label.autoplay}{%
\if@MXV@autoplay true\else false\fi}%
\@MXV@newlabel{@MXV@\@MXV@label.3D}{false}%
+ \@MXV@newlabel{@MXV@\@MXV@label.issound}{%
+ \if@MXV@issound true\else false\fi}%
+ %
\fi%
%
\ifthenelse{\boolean{@MXV@autoplay}\OR\boolean{@MXV@runposter}}{%
@@ -2126,7 +2157,7 @@
%drag the player on the current slide (presentation mode)
player\@MXV@currplayer.page=this.pageNum;
%... and make it visible
- player\@MXV@currplayer.visible=true;
+ \if@MXV@issound\else player\@MXV@currplayer.visible=true;\fi%
%
%start or resume media which have autoplay option set;
%also resume paused media which have autoresume option set
@@ -2172,7 +2203,7 @@
\fi%
}
else{%
- throw "isClosed";
+ throw 'isClosed';
}
}
catch(e){%
@@ -2357,25 +2388,25 @@
\edef\@MXV@linkjscriptiiid{%
try{%
%fill hash (annot3D) with refs to Annot3D objects
- annot3D["\@MXV@label"]=getAnnots3D(%
+ annot3D['\@MXV@label']=getAnnots3D(%
\@MXV@getlabelvalue{%
@MXV@annot\@MXV@getlabelvalue{@MXV@\@MXV@@label.annotid}.page%
}-1%
)[\@MXV@getlabelvalue{@MXV@\@MXV@@label.3Doncurpage}-1];%
- annot3D["\@MXV@label"].activated=true;%
+ annot3D['\@MXV@label'].activated=true;%
}catch(e){%
try{%
annot3D=new Array;%
- annot3D["\@MXV@label"]=getAnnots3D(%
+ annot3D['\@MXV@label']=getAnnots3D(%
\@MXV@getlabelvalue{%
@MXV@annot\@MXV@getlabelvalue{@MXV@\@MXV@@label.annotid}.page%
}-1%
)[\@MXV@getlabelvalue{@MXV@\@MXV@@label.3Doncurpage}-1];%
- annot3D["\@MXV@label"].activated=true;%
+ annot3D['\@MXV@label'].activated=true;%
}catch(e){%
var spc=String.fromCharCode(32);%
- app.alert("3D" + spc + "annotation" + spc + "could" + spc +%
- "not" + spc + "be" + spc + "activated!");%
+ app.alert('3D' + spc + 'annotation' + spc + 'could' + spc +%
+ 'not' + spc + 'be' + spc + 'activated!');%
}%
}%
}%
@@ -2384,7 +2415,7 @@
\@MXV@linkjscriptiiid
try{
%JavaScript to print the camera settings of the current view
- var camera=annot3D["\@MXV@label"].context3D.scene.cameras.getByIndex(0);%
+ var camera=annot3D['\@MXV@label'].context3D.scene.cameras.getByIndex(0);%
var coo=camera.targetPosition;%
var c2c=camera.position.subtract(coo);%
var roo=c2c.length;%
@@ -2435,7 +2466,7 @@
up.normalize();%
%find the camera up-vector up0, that corresponds to zero roll
%(Gram-Schmitt orthogonalisation)
- var worldup=new annot3D["\@MXV@label"].context3D.Vector3();%
+ var worldup=new annot3D['\@MXV@label'].context3D.Vector3();%
worldup.set(0,0,1);%
var out=c2c.scale(-1);%
var up0=worldup.subtract(out.scale(out.dot(worldup)));%
@@ -2464,28 +2495,28 @@
var settings={%
initialize: function(dialog) {%
dialog.load({%
- "text": res%
+ 'text': res%
});%
},%
description: {%
name: 'Current' + spc + '3D' + spc + 'Camera' + spc + 'Settings',%
elements: [%
{%
- type: "static_text",%
+ type: 'static_text',%
name: 'Add' + spc + 'the' + spc + 'following' + spc + 'line' + spc +%
'to' + spc + 'a' + spc + 'file' + spc + 'of' + spc +%
- 'predefined' + spc + 'views.' + spc +%
- '(See' + spc + 'option' + spc + "`3Dviews'!)"%
+ 'predefined' + spc + 'views.' + spc +%
+ '(See' + spc + 'option' + spc + '3Dviews!)'%
},%
{%
- type: "edit_text",%
- item_id: "text",%
- alignment: "align_fill",%
+ type: 'edit_text',%
+ item_id: 'text',%
+ alignment: 'align_fill',%
readonly: false%
},%
{%
- type: "ok",%
- ok_name: "Close"%
+ type: 'ok',%
+ ok_name: 'Close'%
}%
]%
}%
@@ -2493,8 +2524,8 @@
app.execDialog(settings);%
}catch(e){%
var spc=String.fromCharCode(32);%
- app.alert("Error" + spc + "while" + spc + "executing" + spc +%
- "`3Dgetview':" + spc + e);%
+ app.alert('Error' + spc + 'while' + spc + 'executing' + spc +%
+ '3Dgetview:' + spc + e);%
}%
}%
\fi%
@@ -2687,13 +2718,13 @@
%aperture angle of the virtual camera
var aac=\@MXV@calc;%
%list of mesh nodes
- var meshes=annot3D["\@MXV@label"].context3D.scene.meshes;%
+ var meshes=annot3D['\@MXV@label'].context3D.scene.meshes;%
%auxiliary vectors
- var dir=new annot3D["\@MXV@label"].context3D.Vector3();%
- var up=new annot3D["\@MXV@label"].context3D.Vector3();%
- var corner=new annot3D["\@MXV@label"].context3D.Vector3();%
+ var dir=new annot3D['\@MXV@label'].context3D.Vector3();%
+ var up=new annot3D['\@MXV@label'].context3D.Vector3();%
+ var corner=new annot3D['\@MXV@label'].context3D.Vector3();%
%auxiliary 4x4 matrix
- var bbox4x4=new annot3D["\@MXV@label"].context3D.Matrix4x4();%
+ var bbox4x4=new annot3D['\@MXV@label'].context3D.Matrix4x4();%
%iterate over all mesh nodes in the scene
for(i=0;i<meshes.count;i++){%
var mesh=meshes.getByIndex(i);%
@@ -2704,7 +2735,7 @@
%build local to world transformation matrix by recursively
%multiplying the parent's transf. matrix on the left
var parent=mesh.parent;%
- while(parent.constructor.name!='Scene'){%
+ while(parent.transform){%
trans=parent.transform.transpose.multiply(trans);%
parent=parent.parent;%
}%
@@ -2763,7 +2794,7 @@
%compute the smallest enclosing bounding sphere
mb.build();%
%bounding sphere centre
- var coo=new annot3D["\@MXV@label"].context3D.Vector3();%
+ var coo=new annot3D['\@MXV@label'].context3D.Vector3();%
coo.set((mb.center())[0], (mb.center())[1], (mb.center())[2]);%
%radius of orbit
var roo=mb.radius()/ Math.sin(aac * Math.PI/ 360.);%
@@ -2793,28 +2824,28 @@
var settings={%
initialize: function(dialog){%
dialog.load({%
- "text": res%
+ 'text': res%
});%
},%
description: {%
name: '3D' + spc + 'Camera' + spc + 'Settings',%
elements: [%
{%
- type: "static_text",%
+ type: 'static_text',%
name: 'Copy' + spc + 'and' + spc + 'paste' + spc +%
'the' + spc + 'following' + spc + 'to' + spc +%
'the' + spc + 'option' + spc + 'list' + spc +%
'of' + spc + spc + '\string\\\string\\includemovie!'%
},%
{%
- type: "edit_text",%
- item_id: "text",%
- alignment: "align_fill",%
+ type: 'edit_text',%
+ item_id: 'text',%
+ alignment: 'align_fill',%
readonly: false%
},%
{%
- type: "ok",%
- ok_name: "Close"%
+ type: 'ok',%
+ ok_name: 'Close'%
}%
]%
}%
@@ -2822,21 +2853,21 @@
app.execDialog(settings);%
}catch(e){%
var spc=String.fromCharCode(32);%
- app.alert("Error" + spc + "while" + spc + "executing" + spc +%
- "`3Dcalculate':" + spc + e);%
+ app.alert('Error' + spc + 'while' + spc + 'executing' + spc +%
+ '3Dcalculate:' + spc + e);%
}%
}%
\fi%
%create stream from user provided JavaScript file
\ifx\@MXV@jscriptiiidfile\@empty\else%
\ifthenelse{% create only once
- \equal{\@MXV@getlabelvalue{\@MXV@jscriptiiidfile}}{undefined}%
+ \equal{\@MXV@getlabelvalue{\pdfmdfivesum file {\@MXV@jscriptiiidfile}}}{undefined}%
}{%
\ifpdf%
\pdfobj stream file {\@MXV@jscriptiiidfile}%
\pdfrefobj\pdflastobj%
\edef\@MXV@userjscriptiiidstream{\the\pdflastobj\space 0 R}%
- \@MXV@newlabel{\@MXV@jscriptiiidfile}{\the\pdflastobj}%
+ \@MXV@newlabel{\pdfmdfivesum file {\@MXV@jscriptiiidfile}}{\the\pdflastobj}%
\else%
\pdfmark{%
pdfmark=/OBJ,%
@@ -2855,17 +2886,17 @@
\edef\@MXV@userjscriptiiidstream{%
{linkuserjscriptiiid\the\@MXV@links}%
}%
- \@MXV@newlabel{\@MXV@jscriptiiidfile}%
+ \@MXV@newlabel{\pdfmdfivesum file {\@MXV@jscriptiiidfile}}%
{linkuserjscriptiiid\the\@MXV@links}%
\fi%
}{%
\ifpdf%
\edef\@MXV@userjscriptiiidstream{%
- \@MXV@getlabelvalue{\@MXV@jscriptiiidfile}\space 0 R%
+ \@MXV@getlabelvalue{\pdfmdfivesum file {\@MXV@jscriptiiidfile}}\space 0 R%
}%
\else%
\edef\@MXV@userjscriptiiidstream{%
- {\@MXV@getlabelvalue{\@MXV@jscriptiiidfile}}%
+ {\@MXV@getlabelvalue{\pdfmdfivesum file {\@MXV@jscriptiiidfile}}}%
}%
\fi%
}%
@@ -2904,6 +2935,13 @@
%get the player ID
\edef\@MXV@currplayer{\@MXV@getlabelvalue{@MXV@\@MXV@label.playerid}}%
%
+ %see whether a sound inclusion is being referenced
+ \ifthenelse{\equal{\@MXV@getlabelvalue{@MXV@\@MXV@label.issound}}{true}}{%
+ \setboolean{@MXV@issound}{true}%
+ }{%
+ \setboolean{@MXV@issound}{false}%
+ }%
+ %
%create /OP and /JS entries
\if@MXV@linkplay%
\edef\@MXV@operation{%
@@ -2940,7 +2978,7 @@
/OP 3%
/JS (%
try{%
- player\@MXV@currplayer.visible=true;
+ \if@MXV@issound\else player\@MXV@currplayer.visible=true;\fi%
if(!player\@MXV@currplayer.isPlaying){%
player\@MXV@currplayer.settings.privateData.paused=false;
player\@MXV@currplayer.play();
@@ -3015,7 +3053,7 @@
/OP 2%
/JS (%
try{%
- player\@MXV@currplayer.visible=true;
+ \if@MXV@issound\else player\@MXV@currplayer.visible=true;\fi%
if(!player\@MXV@currplayer.isPlaying){%
player\@MXV@currplayer.settings.privateData.paused=false;
player\@MXV@currplayer.play();
diff --git a/Master/texmf-dist/tpm/movie15.tpm b/Master/texmf-dist/tpm/movie15.tpm
index 5eb3542ca29..40986d3d8c3 100644
--- a/Master/texmf-dist/tpm/movie15.tpm
+++ b/Master/texmf-dist/tpm/movie15.tpm
@@ -3,7 +3,7 @@
<rdf:Description about="http://texlive.dante.de/texlive/Package/movie15.zip">
<TPM:Name>movie15</TPM:Name>
<TPM:Type>Package</TPM:Type>
- <TPM:Date>2007/01/14 17:42:19</TPM:Date>
+ <TPM:Date>2007/05/02 12:29:00</TPM:Date>
<TPM:Version>2005/07/01</TPM:Version>
<TPM:Creator>rahtz</TPM:Creator>
<TPM:Title>Multimedia inclusion package.</TPM:Title>
@@ -18,11 +18,11 @@ played back synchronously.
<TPM:Size>920196</TPM:Size>
<TPM:License></TPM:License>
<TPM:Build/>
- <TPM:RunFiles size="132291">
+ <TPM:RunFiles size="134019">
texmf-dist/tex/latex/movie15/movie15.sty
texmf-dist/tpm/movie15.tpm
</TPM:RunFiles>
- <TPM:DocFiles size="787905">
+ <TPM:DocFiles size="832327">
texmf-dist/doc/latex/movie15/3dsystem.fig
texmf-dist/doc/latex/movie15/3dsystem.pdf
texmf-dist/doc/latex/movie15/3dsystem.tex