summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/java-imp-vplayer.mkiv
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2018-10-10 21:09:32 +0200
committerContext Git Mirror Bot <phg@phi-gamma.net>2018-10-10 21:09:32 +0200
commit9f36318b0e571bcbc93dc2112d01bbf2178ed020 (patch)
treed6b075357717f7fde0bdf73aa364dbbca5417c50 /tex/context/base/mkiv/java-imp-vplayer.mkiv
parent753dd0cbafc567d4960c5fc4888ccb4e2302c64d (diff)
downloadcontext-9f36318b0e571bcbc93dc2112d01bbf2178ed020.tar.gz
2018-10-08 17:52:00
Diffstat (limited to 'tex/context/base/mkiv/java-imp-vplayer.mkiv')
-rw-r--r--tex/context/base/mkiv/java-imp-vplayer.mkiv105
1 files changed, 105 insertions, 0 deletions
diff --git a/tex/context/base/mkiv/java-imp-vplayer.mkiv b/tex/context/base/mkiv/java-imp-vplayer.mkiv
new file mode 100644
index 000000000..4ed08cad6
--- /dev/null
+++ b/tex/context/base/mkiv/java-imp-vplayer.mkiv
@@ -0,0 +1,105 @@
+%D \module
+%D [ file=java-imp-vplayer,
+%D version=2009.12.31,
+%D title=\CONTEXT\ JavaScript Macros,
+%D subtitle=Shockwave Support,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+%D As part of the interaction manual writing this code was moved here. It's
+%D kind of obsolete as shockwave is obsolete. Anywaym, here's how it works.
+%D One can actually set all kind of properties but let's not waste time on
+%D that. Maybe some day \PDF\ will have proper native video support.
+%D
+%D \starttyping
+%D \starttext
+%D
+%D \useJSscripts[vplayer]
+%D
+%D \setupinteraction
+%D [state=start]
+%D
+%D \externalfigure
+%D [shockwave]
+%D [frame=on,
+%D width=480pt,
+%D height=270pt,
+%D %file=mathematics.mp4, % Hollie McNish, Martin Pyper & Jules Buckley (Metropole Orchestra)
+%D file=bathtub.mp4, % Jacob Collier & Becca Stevens
+%D label=foo]
+%D
+%D \goto{START} [JS(StartShockwave{foo})]
+%D \goto{REWIND}[JS(RewindShockwave{foo})]
+%D \goto{PAUSE} [JS(PauseShockwave{foo})]
+%D \goto{STOP} [JS(StopShockwave{foo})]
+%D
+%D \stoptext
+%D \stoptyping
+
+% using vplayer9.swf from ctan:
+
+\startluaparameterset[shockwave:display]
+ toolbar = true,
+ -- preview = "somefile",
+ open = "click",
+ close = "focus",
+\stopluaparameterset
+
+\startJSpreamble shockwave used now
+
+ function StartShockwave(label) {
+ var rm = this.getAnnotsRichMedia(this.pageNum,label)[0] ;
+ if (rm.activated) {
+ // ok
+ } else {
+ rm.activated = true ;
+ }
+ rm.callAS("rewind") ;
+ rm.callAS("playPause") ;
+ }
+
+ function StopShockwave(label) {
+ var rm = this.getAnnotsRichMedia(this.pageNum,label)[0] ;
+ if (rm.activated) {
+ rm.callAS("pause") ;
+ rm.callAS("rewind") ;
+ }
+ }
+
+ function RewindShockwave(label) {
+ var rm = this.getAnnotsRichMedia(this.pageNum,label)[0] ;
+ if (rm.activated) {
+ rm.callAS("rewind") ;
+ }
+ }
+
+ function PauseShockwave(label) {
+ var rm = this.getAnnotsRichMedia(this.pageNum,label)[0] ;
+ if (rm.activated) {
+ rm.callAS("playPause") ;
+ }
+ }
+
+\stopJSpreamble
+
+\definereference[StartShockwave] [JS(StartShockwave)]
+\definereference[StopShockwave] [JS(StopShockwave)]
+\definereference[RewindShockwave][JS(RewindShockwave)]
+\definereference[PauseShockwave] [JS(PauseShockwave)]
+
+\unprotect
+
+\doglobal \useexternalfigure
+ [shockwave]
+ [vplayer9.swf]
+ %[arguments=\luaparameterset{shockwave:arguments}{src="\externalfigureparameter\v!file",source="\externalfigureparameter\v!file"},
+ [\c!arguments=\luaparameterset{shockwave:arguments}{source="\externalfigureparameter\v!file",autoPlay=true},
+ \c!resources=\luaparameterset{shockwave:resources}{files={"\externalfigureparameter\v!file"}},
+ \c!display=shockwave:display]
+
+\protect \endinput