diff options
author | Hans Hagen <pragma@wxs.nl> | 2018-10-10 21:09:32 +0200 |
---|---|---|
committer | Context Git Mirror Bot <phg@phi-gamma.net> | 2018-10-10 21:09:32 +0200 |
commit | 9f36318b0e571bcbc93dc2112d01bbf2178ed020 (patch) | |
tree | d6b075357717f7fde0bdf73aa364dbbca5417c50 /tex/context/base/mkiv/java-imp-vplayer.mkiv | |
parent | 753dd0cbafc567d4960c5fc4888ccb4e2302c64d (diff) | |
download | context-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.mkiv | 105 |
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 |