<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://www.projekktor.com/docs/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel>
        <title>Projekktor.com Documentation</title>
        <description></description>
        <link>http://www.projekktor.com/docs/</link>
        <lastBuildDate>Sun, 19 May 2013 23:06:55 +0200</lastBuildDate>
        <generator>FeedCreator 1.7.2-ppt DokuWiki</generator>
        <image>
            <url>http://www.projekktor.com/docs//www.projekktor.com/docs/lib/tpl/dokuwiki/images/favicon.ico</url>
            <title>Projekktor.com Documentation</title>
            <link>http://www.projekktor.com/docs/</link>
        </image>
        <item>
            <title>Javascript API Functions - [player.getCanPlayNatively(mediaTypes:Array):Boolean] </title>
            <link>http://www.projekktor.com/docs/api?rev=1366633810&amp;do=diff</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;javascript_api_functions&quot;&gt;Javascript API Functions&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
The documentation as listed below 
applies to Projekktor V0.7.17 or higher. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT1 SECTION &quot;Javascript API Functions&quot; [1-117] --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;instantiation&quot;&gt;Instantiation&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT2 SECTION &quot;Instantiation&quot; [118-144] --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;projekktor_identifierstring_configobject_onreadyfunctionobject&quot;&gt;projekktor(identifier:String, config:Object, onReady:Function):Object&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;em&gt;projekktor&lt;/em&gt; is the central function to create or select player instances.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;creating_instances&quot;&gt;creating instances&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
To instantiate a player use &lt;em&gt;identifier&lt;/em&gt; to provide information which element(s) you want the player to sit on. &lt;em&gt;identifier&lt;/em&gt; is identical to &lt;a href=&quot;http://api.jquery.com/category/selectors/&quot; class=&quot;urlextern&quot; title=&quot;http://api.jquery.com/category/selectors/&quot;&gt;jQuery selectors&lt;/a&gt;. 
&lt;/p&gt;

&lt;p&gt;
E.g: projekktor(&amp;#039;#player_one&amp;#039;); will apply to a media-tag with the &lt;em&gt;id&lt;/em&gt; attribute &lt;em&gt;player_one&lt;/em&gt;, projekktor(&amp;#039;video&amp;#039;)); will projekktorize all &lt;em&gt;video&lt;/em&gt; elements on page and so on. Optionally you can provide a &lt;em&gt;config&lt;/em&gt; object like this: projekktor(&amp;#039;#player_one&amp;#039;,{enableFlashFallback:false});
&lt;/p&gt;

&lt;p&gt;
The “onReady” function will be triggered once the player has been initialized. The function gets the player Object as argument.
&lt;/p&gt;

&lt;p&gt;
&lt;div class=&quot;noteimportant&quot;&gt;Chaining multiple selectors by separating them with a colon, like e.g. “video,audio” or “div.player,div.second” does not work with &lt;abbr title=&quot;Internet Explorer 6&quot;&gt;IE6&lt;/abbr&gt;,7,8. Single selectors like “audio” or “video” work fine.

&lt;/div&gt;
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;getting_instances&quot;&gt;getting instances&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
To get an instance previously set up as described above you can simply use projekktor(); again. This time &lt;em&gt;identifier&lt;/em&gt; is a jQuery object or the &lt;em&gt;id&lt;/em&gt; of the player you want to fetch. E.g: projekktor(&amp;#039;player_a&amp;#039;).setStop(); or projekktor($(&amp;#039;#player_a&amp;#039;)).setStop();
&lt;/p&gt;

&lt;p&gt;
To get all available instances, use “*” as &lt;em&gt;identifier&lt;/em&gt;. In return you will get an array of Projekktor instances.
&lt;/p&gt;

&lt;p&gt;
&lt;div class=&quot;notetip&quot;&gt;If you are planing to use the &lt;abbr title=&quot;JavaScript&quot;&gt;JS&lt;/abbr&gt; &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; to manipulate the players, you should set the &lt;em&gt;id&lt;/em&gt; attribute for each media element to make your live easier. If no &lt;em&gt;id&lt;/em&gt; attribute is set, a 8-string-random id will be applied. This makes it practically impossible to identify a specific player instance during runtime. Anyhow you can of course use projekktor(&amp;#039;*&amp;#039;); to grab all available instances and iterate through them.
&lt;/div&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT3 SECTION &quot;projekktor(identifier:String, config:Object, onReady:Function):Object&quot; [145-2038] --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;setters&quot;&gt;Setters&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;div class=&quot;notetip&quot;&gt;
All setters return &lt;em&gt;this&lt;/em&gt; in order to allow method cascading.

&lt;/div&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT4 SECTION &quot;Setters&quot; [2039-2142] --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;playeraddlistener_eventstring_callbackobjectvoid&quot;&gt;player.addListener(event:String, callback:Object):Void&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Adds a function as &lt;em&gt;callback&lt;/em&gt; listener for the &lt;em&gt;event&lt;/em&gt; specified. Can be applied at any time.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT5 SECTION &quot;player.addListener(event:String, callback:Object):Void&quot; [2143-2307] --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;playerremovelistener_eventstring_callbackobjectboolean&quot;&gt;player.removeListener(event:String, callback:Object):Boolean&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Removes a previously added function from &lt;em&gt;event&lt;/em&gt; listening. &lt;em&gt;callback&lt;/em&gt; must be the same entity as used in corresponding &lt;em&gt;addListener&lt;/em&gt; call. E.g:
&lt;/p&gt;

&lt;p&gt;
WIN:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;var ApiTest =  function(data) {console.log(data)};
playerInstance.addListener(&amp;#039;*&amp;#039;,ApiTest );
playerInstance.removeListener(&amp;#039;*&amp;#039;,ApiTest );&lt;/pre&gt;

&lt;p&gt;
FAIL:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;playerInstance.addListener(&amp;#039;*&amp;#039;,function(data) {console.log(data)});
playerInstance.removeListener(&amp;#039;*&amp;#039;,function(data) {console.log(data)});&lt;/pre&gt;

&lt;p&gt;
Returns TRUE on success otherwise FALSE.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT6 SECTION &quot;player.removeListener(event:String, callback:Object):Boolean&quot; [2308-2893] --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;playersetfile_datamixed_typestringvoid&quot;&gt;player.setFile(data:Mixed, type:String):Void&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Applies a single media item or a playlist. This will overwrite all current media and playlist data scheduled within in the player.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;em&gt;data&lt;/em&gt; - Can either be an &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; or a valid &lt;a href=&quot;http://www.projekktor.com/docs/playlists#projekktor_playlist_format&quot; class=&quot;wikilink1&quot; title=&quot;playlists&quot;&gt;playlist OBJECT&lt;/a&gt;. If data is an &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; and &lt;em&gt;type&lt;/em&gt; is not a valid data exchange format (xml, json or jsonp), the &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; is interpreted as &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; pointing to a single audio- or video-file.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT7 SECTION &quot;player.setFile(data:Mixed, type:String):Void&quot; [2894-3352] --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;playersetitem_datamixed_indexnumber_replacebooleanvoid&quot;&gt;player.setItem(data:Mixed, index:Number, replace:Boolean):Void&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sets, adds, removes or replaces a playlist item. 
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;Data&lt;/em&gt; can be an object following the projekktor item scheme, an &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; string pointing to a valid media file or NULL.
If &lt;em&gt;data&lt;/em&gt; is NULL the item at &lt;em&gt;index&lt;/em&gt; will be removed from schedule (remove).
If &lt;em&gt;data&lt;/em&gt; is an Object and or an &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; and &lt;em&gt;index&lt;/em&gt; is NULL a new item will be injected to schedule (add).
&lt;em&gt;index&lt;/em&gt; indicates the schedule index to be affected. 
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;add&quot;&gt;add&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
If &lt;em&gt;index&lt;/em&gt; is out of range (less 1 or higher than the total length of the current schedule) a new item will be appended to the schedule otherwise a new item will be created on position provided.
&lt;/p&gt;

&lt;p&gt;
If &lt;em&gt;replace&lt;/em&gt; is &lt;em&gt;true&lt;/em&gt; and an item already exists at &lt;em&gt;index&lt;/em&gt; the new item will not be injected but will replace the already existing one - if any. 
&lt;/p&gt;

&lt;p&gt;
If calling this function affects the item currently playing back, the player will instantly stop and restart playback with the new data made available and without changing the “currentItem” pointer.
&lt;/p&gt;

&lt;p&gt;
If &lt;em&gt;setItem&lt;/em&gt; affects items after the currently playing one (items of an higher index than currentItem) no restart apply.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;remove&quot;&gt;remove&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
If &lt;em&gt;index&lt;/em&gt; is out of range (less 1 or higher than the total length of the current schedule) the last scheduled item will be removed. Otherwise the item at the index provided gets dumped.
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;replace&lt;/em&gt; has no effect while performing remove actions.
&lt;/p&gt;

&lt;p&gt;
If calling this function affects the item currently playing back, the player will instantly stop and will move the &lt;em&gt;currentItem&lt;/em&gt; pointer to the previous one.
&lt;/p&gt;

&lt;p&gt;
If &lt;em&gt;setItem&lt;/em&gt; affects an item after the currently playing one (items of an higher index than currentItem) no &lt;em&gt;previous&lt;/em&gt;-action will happen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT8 SECTION &quot;player.setItem(data:Mixed, index:Number, replace:Boolean):Void&quot; [3353-5105] --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;playersetconfig_dataobject_destindexmixedvoid&quot;&gt;player.setConfig(data:Object, destIndex:Mixed):Void&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Was “setItemConfig” prior V0.9.0. 
&lt;/p&gt;

&lt;p&gt;
Allows to set or alter item config options during runtime. &lt;em&gt;data&lt;/em&gt; must be an object containing one or more config parameters.  Not all config options are available to be set dynamically to avoid the player to crash or react in a strange way (please refer: &lt;a href=&quot;http://www.projekktor.com/docs/configuration&quot; class=&quot;wikilink1&quot; title=&quot;configuration&quot;&gt;Configuration parameters&lt;/a&gt;).
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;destIndex&lt;/em&gt; can either be an integer describing the destination item´s position within schedule (itemIdx) or &amp;#039;*&amp;#039; which will apply &lt;em&gt;data&lt;/em&gt; to all items currently scheduled. If &lt;em&gt;destIndex&lt;/em&gt; is NULL the currently played item is manipulated. 
&lt;/p&gt;

&lt;p&gt;
&lt;div class=&quot;noteimportant&quot;&gt;Changes on &lt;em&gt;current&lt;/em&gt; items only take immediate effect if the player state is IDLE.
&lt;/div&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT9 SECTION &quot;player.setConfig(data:Object, destIndex:Mixed):Void&quot; [5106-5839] --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;playersetplayerposter_urlstringvoid&quot;&gt;player.setPlayerPoster(url:String):Void&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sets the poster for the player. This poster is shown up once the player has been instantiated, autoplay is FALSE and the user did not hit play so far.
&lt;/p&gt;

&lt;p&gt;
This method is a shortcut for setItemConfig({poster:&lt;em&gt;url&lt;/em&gt;},0);
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT10 SECTION &quot;player.setPlayerPoster(url:String):Void&quot; [5840-6109] --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;playersetplayhead_positionmixedvoid_v0716&quot;&gt;player.setPlayhead(position:mixed):Void (&amp;gt; V0.7.16)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Move the play-head to the given &lt;em&gt;position&lt;/em&gt;.
&lt;/p&gt;

&lt;p&gt;
Position can be either in seconds (number) representing the absolute second to move the playhead to or a relative value prefixed with operators ”+” or ”-” indicating the  direction to move the playhead to. 
&lt;/p&gt;

&lt;p&gt;
E.g. assumed the playhead is on second #15, ”+5” will move it to second #20 while ”-5” will move it to #10.
&lt;/p&gt;

&lt;p&gt;
If the resulting &lt;em&gt;position&lt;/em&gt; is beyond the point of loaded media data so far and the current media type does not allow random-seeking, the play-head will be moved to the highest possible position. This function has no result. You have to listen to player events in order to check what happens. Nothing will happen at all if player´s config-option “disallowSkip” is set to TRUE.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT11 SECTION &quot;player.setPlayhead(position:mixed):Void (&gt; V0.7.16)&quot; [6110-6918] --&gt;
&lt;h3 class=&quot;sectionedit12&quot; id=&quot;playersetvolume_volmixedvoid_v0716&quot;&gt;player.setVolume(vol:mixed):Void (&amp;gt; V0.7.16)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sets the Volume of the player to a percent mark indicated by &lt;em&gt;vol&lt;/em&gt;.
&lt;/p&gt;

&lt;p&gt;
Volume can be either a numeric value representing the absolute volume to set, where 0 is equal to muted and 100 indicates full throttle.
Volume can also be relative - prefixed with operators ”+” or ”-” indicating the relative amount to adjust the volume to.
E.g. assumed current volume is 15%, ”+5” set it to 20%, ”-5” to 10% and so on.
&lt;em&gt;
&lt;/em&gt;
This function has no result. You have to listen to player events in order to check what happens. Nothing will happen at all if player´s config-option “fixedVolume” is set to TRUE.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT12 SECTION &quot;player.setVolume(vol:mixed):Void (&gt; V0.7.16)&quot; [6919-7572] --&gt;
&lt;h3 class=&quot;sectionedit13&quot; id=&quot;playersetfullscreen_gofullscreenbooleanvoid&quot;&gt;player.setFullscreen(goFullscreen:Boolean):Void&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sets the player to fullscreen / full viewport or exits from there depending if &lt;em&gt;goFullscreen&lt;/em&gt; set to TRUE (on) or FALSE (off). Does nothing if ALLOWFULLSCREEN is FALSE or if the new state is equal to the current one.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT13 SECTION &quot;player.setFullscreen(goFullscreen:Boolean):Void&quot; [7573-7851] --&gt;
&lt;h3 class=&quot;sectionedit14&quot; id=&quot;playersetresize&quot;&gt;player.setResize()&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Triggers the internal “resize” event in order to rescale relative containers. This comes in handy in cases where &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt; manipulations happen due to other scripts (e.g. sliders, popups etc.)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT14 SECTION &quot;player.setResize()&quot; [7852-8070] --&gt;
&lt;h3 class=&quot;sectionedit15&quot; id=&quot;playersetsize_widthx_heighty&quot;&gt;player.setSize({width:&amp;lt;x&amp;gt;, height:&amp;lt;y&amp;gt;})&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Allows to set the player´s dimensions during runtime. Will also trigger “resize” in order to apply rescaling (if required).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT15 SECTION &quot;player.setSize({width:&lt;x&gt;, height:&lt;y&gt;})&quot; [8071-8247] --&gt;
&lt;h3 class=&quot;sectionedit16&quot; id=&quot;playersetplaypauseboolean&quot;&gt;player.setPlayPause():Boolean&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sets the player to pause if its playing or vis versa. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT16 SECTION &quot;player.setPlayPause():Boolean&quot; [8248-8345] --&gt;
&lt;h3 class=&quot;sectionedit17&quot; id=&quot;playersetplayboolean&quot;&gt;player.setPlay():Boolean&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sets the player to play. If its already playing no changes apply.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT17 SECTION &quot;player.setPlay():Boolean&quot; [8346-8447] --&gt;
&lt;h3 class=&quot;sectionedit18&quot; id=&quot;playersetpauseboolean&quot;&gt;player.setPause():Boolean&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sets the player to pause . If its already paused no changes apply. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT18 SECTION &quot;player.setPause():Boolean&quot; [8448-8553] --&gt;
&lt;h3 class=&quot;sectionedit19&quot; id=&quot;playersetstopboolean&quot;&gt;player.setStop():Boolean&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sets the player to stop . Will cause the playback component to stop immediately and displays the current item´s poster image. Furthermore the start-button shows up.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT19 SECTION &quot;player.setStop():Boolean&quot; [8554-8758] --&gt;
&lt;h3 class=&quot;sectionedit20&quot; id=&quot;playersetactiveitem_itemmixedvoid&quot;&gt;player.setActiveItem(item:mixed):void&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Initializes playback of media item identified by the given &lt;em&gt;item&lt;/em&gt;. Accepts an integer representing the item to be played or a “shortcut” string as follows:
&lt;/p&gt;

&lt;p&gt;
Shortcuts:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;next&lt;/strong&gt; - Will activate the next item relatively to the currently active one&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;previous&lt;/strong&gt; - Will activate the previous item relatively to the currently active one&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;poster&lt;/strong&gt; - Will send the player to IDLE and display the player-poster.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
If the player has been previously awakened by user-interaction or by AUTOPLAY set to TRUE, the new active item will be played back immediately.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT20 SECTION &quot;player.setActiveItem(item:mixed):void&quot; [8759-9376] --&gt;
&lt;h3 class=&quot;sectionedit21&quot; id=&quot;playersetcuepoint_cuepointobjectvoid&quot;&gt;player.setCuePoint(cuePoint:Object):void&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Adds a &lt;a href=&quot;http://www.projekktor.com/docs/cuepoints&quot; class=&quot;wikilink1&quot; title=&quot;cuepoints&quot;&gt;cue point&lt;/a&gt; to an active player instance.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT21 SECTION &quot;player.setCuePoint(cuePoint:Object):void&quot; [9377-9492] --&gt;
&lt;h3 class=&quot;sectionedit22&quot; id=&quot;playerremovecuepoint_groupstring_idxintegerthis&quot;&gt;player.removeCuePoint(group:String, Idx:Integer):this&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Instantly removes a &lt;a href=&quot;http://www.projekktor.com/docs/cuepoints&quot; class=&quot;wikilink1&quot; title=&quot;cuepoints&quot;&gt;cuepoint&lt;/a&gt; from the player instance. You must specify a “group” and the “idx” of the affected video item. In order to identify the addressed &lt;a href=&quot;http://www.projekktor.com/docs/cuepoints&quot; class=&quot;wikilink1&quot; title=&quot;cuepoints&quot;&gt;cuepoints&lt;/a&gt; by “group” the cuepoint´s “group” property must be priorly set accordingly.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT22 SECTION &quot;player.removeCuePoint(group:String, Idx:Integer):this&quot; [9493-9834] --&gt;
&lt;h3 class=&quot;sectionedit23&quot; id=&quot;playersynccuepointsthis&quot;&gt;player.syncCuePoints():this&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
In case you added one or more cue-points via .setCuePoint() you must let the player know about that. Guess how.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT23 SECTION &quot;player.syncCuePoints():this&quot; [9835-9986] --&gt;
&lt;h3 class=&quot;sectionedit24&quot; id=&quot;playersetplaybackquality_qualitystringthis&quot;&gt;player.setPlaybackQuality(quality:String):this&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Overwrites the quality setting applied through the config option “playbackQuality”. Will force the player to instantly switch to the requested quality type. Possibe &lt;em&gt;quality&lt;/em&gt; values are: &amp;#039;small&amp;#039;, &amp;#039;medium&amp;#039;, &amp;#039;large&amp;#039;, &amp;#039;hd720&amp;#039;, &amp;#039;hd1080&amp;#039;.
&lt;/p&gt;

&lt;p&gt;
If parameter is invalid or the requested quality isn´t available nothing will happen. Otherwise the player will trigger the “qualityChange”-event.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT24 SECTION &quot;player.setPlaybackQuality(quality:String):this&quot; [9987-10430] --&gt;
&lt;h3 class=&quot;sectionedit25&quot; id=&quot;playerselfdestructvoid&quot;&gt;player.selfDestruct():void&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Instantly destroys the referred instance and reconstructs its host DOM´s original state; the one before the player has been applied.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT25 SECTION &quot;player.selfDestruct():void&quot; [10431-10607] --&gt;
&lt;h3 class=&quot;sectionedit26&quot; id=&quot;playerresetvoid&quot;&gt;player.reset():void&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Resets the instance while keeping current configuration and schedule intact. Sets the active item pointer back to zero.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT26 SECTION &quot;player.reset():void&quot; [10608-10763] --&gt;
&lt;h3 class=&quot;sectionedit27&quot; id=&quot;playeropenurl_objecturldest_targetstringself_pauseboolfalse&quot;&gt;player.openUrl(Object:{url:&amp;lt;dest&amp;gt;, target:string:&amp;#039;_self&amp;#039;, pause:bool:false})&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Opens an &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; depending on “target” either in the same or in a new window, optionally pauses the player.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT27 SECTION &quot;player.openUrl(Object:{url:&lt;dest&gt;, target:string:'_self', pause:bool:false})&quot; [10764-10957] --&gt;
&lt;h2 class=&quot;sectionedit28&quot; id=&quot;getters&quot;&gt;Getters&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT28 SECTION &quot;Getters&quot; [10958-10978] --&gt;
&lt;h3 class=&quot;sectionedit29&quot; id=&quot;playergetitemcountnumber&quot;&gt;player.getItemCount():Number&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Returns the amount of media items within the playlist.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT29 SECTION &quot;player.getItemCount():Number&quot; [10979-11075] --&gt;
&lt;h3 class=&quot;sectionedit30&quot; id=&quot;playergetvolumefloat&quot;&gt;player.getVolume():Float&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Returns the sound volume of the player instance where 0 is muted and 1 is full throttle. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT30 SECTION &quot;player.getVolume():Float&quot; [11076-11203] --&gt;
&lt;h3 class=&quot;sectionedit31&quot; id=&quot;playergetitemidxnumber&quot;&gt;player.getItemIdx():Number&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Returns the internal playlist index of the currently played item. Note that 0 is for the first item in line.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT31 SECTION &quot;player.getItemIdx():Number&quot; [11204-11352] --&gt;
&lt;h3 class=&quot;sectionedit32&quot; id=&quot;playergetitemidstring&quot;&gt;player.getItemId():String&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Returns the unqiue ID of the currently played item if any.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT32 SECTION &quot;player.getItemId():String&quot; [11353-11450] --&gt;
&lt;h3 class=&quot;sectionedit33&quot; id=&quot;playergetisautoslideboolean&quot;&gt;player.getIsAutoslide():Boolean *&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
experimental
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT33 SECTION &quot;player.getIsAutoslide():Boolean *&quot; [11451-11510] --&gt;
&lt;h3 class=&quot;sectionedit34&quot; id=&quot;playergetitem_idxmixedarray&quot;&gt;player.getItem(idx:mixed):Array&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Returns one or more items identified by &lt;em&gt;idx&lt;/em&gt;. &lt;em&gt;idx&lt;/em&gt; can either be a numeric value describing the internal playlist position of the requested item or one of the following shortcuts: 
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &amp;#039;&lt;strong&gt;next&lt;/strong&gt;&amp;#039; to fetch the next item - relative to the currently playing one&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &amp;#039;&lt;strong&gt;current&lt;/strong&gt;&amp;#039; (default) to fetch the data if of the item which is played back right now&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &amp;#039;&lt;strong&gt;previous&lt;/strong&gt;&amp;#039; to fetch the previous item - relative to the currently playing one&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &amp;#039;*&amp;#039; all items (same as getPlaylist())&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Not setting “idx” will return the currently played item so you don´t have to use &amp;#039;getItemIdx()&amp;#039; beforehand.
&lt;/p&gt;

&lt;p&gt;
&lt;div class=&quot;noteimportant&quot;&gt;This method returns copies not references. To alter items you have to use setItem().
&lt;/div&gt;
&lt;/p&gt;

&lt;p&gt;
The resulting array holds 0..n objects of “processed” playlist data. Each object has the following properties:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;em&gt;ID&lt;/em&gt;: A unique as either specified in the “playlist”-config or a randomly created on.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;em&gt;cat&lt;/em&gt;: A “category” string which is “clip” by default&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;em&gt;config&lt;/em&gt;: An object holding item specific configuration parameters.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;em&gt;file&lt;/em&gt;: An array of all files defined in the playlist config for this very playlist object.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;em&gt;mediaModel&lt;/em&gt;: The internal player model chosen to use for playback.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;em&gt;qualities&lt;/em&gt;: An array of possible quality-variant-keys.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT34 SECTION &quot;player.getItem(idx:mixed):Array&quot; [11511-12834] --&gt;
&lt;h3 class=&quot;sectionedit35&quot; id=&quot;playergetloadprogress_idxmixedfloat&quot;&gt;player.getLoadProgress(idx:mixed):Float&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Returns how many percent of the currently played item has been loaded/buffered so far. 
Will instantly be 100 on media types available for random-seeking.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT35 SECTION &quot;player.getLoadProgress(idx:mixed):Float&quot; [12835-13042] --&gt;
&lt;h3 class=&quot;sectionedit36&quot; id=&quot;playergetloadplaybackprogress_idxmixedfloat&quot;&gt;player.getLoadPlaybackProgress(idx:mixed):Float&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Returns the current playhead position in percent relative to the currently played item´s duration.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT36 SECTION &quot;player.getLoadPlaybackProgress(idx:mixed):Float&quot; [13043-13203] --&gt;
&lt;h3 class=&quot;sectionedit37&quot; id=&quot;playergetcuepoints_idxintegerarray&quot;&gt;player.getCuePoints(idx:Integer):Array&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
soon
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT37 SECTION &quot;player.getCuePoints(idx:Integer):Array&quot; [13204-13259] --&gt;
&lt;h3 class=&quot;sectionedit38&quot; id=&quot;playergetpositionnumber&quot;&gt;player.getPosition():Number&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Returns the current playhead position in milliseconds.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT38 SECTION &quot;player.getPosition():Number&quot; [13260-13355] --&gt;
&lt;h3 class=&quot;sectionedit39&quot; id=&quot;playergetdurationnumber&quot;&gt;player.getDuration():Number&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Returns the duration of the currently played item in milliseconds.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT39 SECTION &quot;player.getDuration():Number&quot; [13356-13463] --&gt;
&lt;h3 class=&quot;sectionedit40&quot; id=&quot;playergettimeleftnumber&quot;&gt;player.getTimeLeft():Number&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Retruns the difference between currently played item´s duration and the playhead position in milliseconds. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT40 SECTION &quot;player.getTimeLeft():Number&quot; [13464-13613] --&gt;
&lt;h3 class=&quot;sectionedit41&quot; id=&quot;playergetkbpersecfloat&quot;&gt;player.getKbPerSec():Float&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Experimental
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT41 SECTION &quot;player.getKbPerSec():Float&quot; [13614-13665] --&gt;
&lt;h3 class=&quot;sectionedit42&quot; id=&quot;playergettrackidstring&quot;&gt;player.getTrackId():String&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Experimental
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT42 SECTION &quot;player.getTrackId():String&quot; [13666-13717] --&gt;
&lt;h3 class=&quot;sectionedit43&quot; id=&quot;playergetpreloaderpctfloat&quot;&gt;player.getPreloaderPct():Float&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;del&gt;Experimental&lt;/del&gt; Moved to “Splash” plugin
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT43 SECTION &quot;player.getPreloaderPct():Float&quot; [13718-13814] --&gt;
&lt;h3 class=&quot;sectionedit44&quot; id=&quot;playergetinfullscreenboolean&quot;&gt;player.getInFullscreen():Boolean&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Returns TRUE if the player is in fullscreen / full viewport mode, otherwise FALSE.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT44 SECTION &quot;player.getInFullscreen():Boolean&quot; [13815-13947] --&gt;
&lt;h3 class=&quot;sectionedit45&quot; id=&quot;playergetpublicnamestring&quot;&gt;player.getPublicName():String&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Returns the player´s current unique &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt; ID.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT45 SECTION &quot;player.getPublicName():String&quot; [13948-14041] --&gt;
&lt;h3 class=&quot;sectionedit46&quot; id=&quot;playergetmediatypestring&quot;&gt;player.getMediaType():String&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Returns of what type the currently played item is. (LIST GOES HERE)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT46 SECTION &quot;player.getMediaType():String&quot; [14042-14151] --&gt;
&lt;h3 class=&quot;sectionedit47&quot; id=&quot;playergetusesflashboolean&quot;&gt;player.getUsesFlash():Boolean&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Returns true if the current item uses the Flash fallback component for playback.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT47 SECTION &quot;player.getUsesFlash():Boolean&quot; [14152-14274] --&gt;
&lt;h3 class=&quot;sectionedit48&quot; id=&quot;playergetcanplay_typestring_platformstringboolean&quot;&gt;player.getCanPlay(type:String, platform:String):Boolean&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Returns TRUE if the client browser is able to play back the provided &lt;em&gt;type&lt;/em&gt; in general - regardless if html5-video, Flash or any other plugin will be used to do so.
&lt;/p&gt;

&lt;p&gt;
You can fine-tune the testing by setting &lt;em&gt;platform&lt;/em&gt; to any &lt;a href=&quot;http://www.projekktor.com/docs/configuration#platforms_arraybrowser_ios_native_flash&quot; class=&quot;urlextern&quot; title=&quot;http://www.projekktor.com/docs/configuration#platforms_arraybrowser_ios_native_flash&quot;&gt;value described here&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT48 SECTION &quot;player.getCanPlay(type:String, platform:String):Boolean&quot; [14275-14684] --&gt;
&lt;h3 class=&quot;sectionedit49&quot; id=&quot;playergetcanplaynatively_typestringboolean&quot;&gt;player.getCanPlayNatively(type:String):Boolean&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Used without parameter this method returns TRUE if the client browser is able to play back at least one media type natively. If &lt;em&gt;type&lt;/em&gt; parameter is set the test is performed for the specific media type and will return TRUE if it can be played back natively. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT49 SECTION &quot;player.getCanPlayNatively(type:String):Boolean&quot; [14685-15005] --&gt;
&lt;h3 class=&quot;sectionedit50&quot; id=&quot;playergetiframewindowjqueryobject&quot;&gt;player.getIframeWindow():JQueryObject&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
If the player is in “iframe mode” this function returns the iframe´s parent window for further manipulations.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT50 SECTION &quot;player.getIframeWindow():JQueryObject&quot; [15006-15166] --&gt;
&lt;h3 class=&quot;sectionedit51&quot; id=&quot;playergetiframejqueryobject&quot;&gt;player.getIframe():JQueryObject&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
If the player is in “iframe mode” this function returns the iframe the player lives in.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT51 SECTION &quot;player.getIframe():JQueryObject&quot; [15167-15299] --&gt;
&lt;h3 class=&quot;sectionedit52&quot; id=&quot;playergetplaylistobject&quot;&gt;player.getPlaylist():Object&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Returns the whole currently scheduled playlist. Same as getItem(&amp;#039;*&amp;#039;).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT52 SECTION &quot;player.getPlaylist():Object&quot; [15300-15415] --&gt;
&lt;h3 class=&quot;sectionedit53&quot; id=&quot;playergetstate_teststringobject&quot;&gt;player.getState(test:string):Object&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
If called without argument this method returns the current state of the player. You can find a &lt;a href=&quot;http://www.projekktor.com/docs/events#state_string&quot; class=&quot;urlextern&quot; title=&quot;http://www.projekktor.com/docs/events#state_string&quot;&gt;list of possible states here&lt;/a&gt;. If “test” is not NULL and a valid state string the method will return TRUE or FALSE according to current playerstate (e.g.: getState(&amp;#039;PLAYING&amp;#039;) will return TRUE if the player is playing).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT53 SECTION &quot;player.getState(test:string):Object&quot; [15416-] --&gt;</description>
            <author>operator</author>
            <pubDate>Mon, 22 Apr 2013 14:30:10 +0200</pubDate>
        </item>
        <item>
            <title>VAST Plugin</title>
            <link>http://www.projekktor.com/docs/plugins_vast?rev=1365352747&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit54&quot; id=&quot;vast_plugin&quot;&gt;VAST Plugin&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT54 SECTION &quot;VAST Plugin&quot; [1-27] --&gt;
&lt;h1 class=&quot;sectionedit55&quot; id=&quot;general&quot;&gt;General&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
The VAST/IMA plugin turns Projekktor into an VAST compliant, HTML5 based advertising video player. It supports linear ads (pre-roll ads) , non-linear ads (overlays *) and companion banners.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://shop.projekktorxl.com/shop/vast-ima/&quot; class=&quot;urlextern&quot; title=&quot;http://shop.projekktorxl.com/shop/vast-ima/&quot;&gt;Get it here.&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT55 SECTION &quot;General&quot; [28-304] --&gt;
&lt;h1 class=&quot;sectionedit56&quot; id=&quot;install_preparation&quot;&gt;Install / Preparation&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT56 SECTION &quot;Install / Preparation&quot; [305-341] --&gt;
&lt;h3 class=&quot;sectionedit57&quot; id=&quot;scripts&quot;&gt;Scripts&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Include the “projekktor.ima.js”. Make sure its loaded after “projekktor.min.js”. 
&lt;/p&gt;

&lt;p&gt;
The plugin features a callback function which is triggered in case the user´s client has an active ad-blocker. This function can be applied via the plugin´s config parametera (see below). The callback only gets the pointer to the affected player-instance as optional parameter. So, nothing special at all.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT57 SECTION &quot;Scripts&quot; [342-752] --&gt;
&lt;h3 class=&quot;sectionedit58&quot; id=&quot;html&quot;&gt;HTML&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
If your want to support video related companion ads make sure you have properly placed and dimensioned &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt; elements with unique “id”-attributes placed somewhere next to the player´s &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt;. The IDs must be provided as config-parameter (see below).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT58 SECTION &quot;HTML&quot; [753-1016] --&gt;
&lt;h3 class=&quot;sectionedit59&quot; id=&quot;css&quot;&gt;CSS&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Once the player plays a preroll-ad it gets and additional &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt;-class: “ad”. This can be utilized to customize e.g. the player´s control elements during ad-playback. Usually you will hide all control-buttons here and just keep the progress-bar, the time index and a title visible here. Below an example how this might look like within your player´s theme.css:
&lt;/p&gt;

&lt;p&gt;
&lt;div class=&quot;noteimportant&quot;&gt;All &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt; classes referred to in the next sections of this doc are considered to be prefixed with ”&lt;a href=&quot;http://www.projekktor.com/docs/configuration#cssclassprefix_stringpp&quot; class=&quot;urlextern&quot; title=&quot;http://www.projekktor.com/docs/configuration#cssclassprefix_stringpp&quot;&gt;cssClassPrefix&lt;/a&gt;” which is “pp” per default.
&lt;/div&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;.ppad .ppplay,
.ppad .pppause,
.ppad .ppnext,
.ppad .ppprev,
.ppad .ppvslider,
.ppad .ppmute,
.ppad .ppvmax,
.ppad .ppunmute,
.ppad .ppfsenter,
.ppad .pptimeleft,
.ppad .pptitle,
.ppad .ppfseexit {
    display: none;
    border: none;
}

.ppad .ppcontrols {
    background: transparent;
    border: none;
}

.ppad .ppadtitle {
    position: absolute;
    bottom: 2%;
    left: 2%;
    border: none;    
}

/*
 * Ad-Skip option overlay:
 */
.ppadskip {
    position: absolute;
    padding-top: 2px;
    top: 0;
    right: 0px;
    width: 85%;
    height: 28px;
    background-color: #333;
    color: #fdfdfd;
    line-height: 28px;
}

.ppadskip.unlocked {
    cursor: pointer;
    color: #fdfdfd;
}



/*
 * Nonlinear Ad Overlay Styling:
 * &amp;lt;div class=&amp;quot;ppadoverlay active&amp;quot; data-pp-ima-func=&amp;quot;container&amp;quot;&amp;gt;
 *    &amp;lt;div class=&amp;quot;ppadclose&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
 *    &amp;lt;div class=&amp;quot;ppadcontent&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
 * &amp;lt;/div&amp;gt;
 */


/* the overlay wrapper */
.ppadoverlay {
    position: absolute;
    bottom: 40px;
    width: 100%;
    margin: auto;
    z-index: 9999;
}

/* close button */
.ppadclose {
    background: url(&amp;#039;overlayclose.jpg&amp;#039;) center center no-repeat;
    width: 10px;
    height: 10px;
    float: right;
    text-align: center;
    cursor: pointer;
}

/* content (image/flash/html) container */
.ppadcontent {
    cursor: display;
    margin: auto;
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT59 SECTION &quot;CSS&quot; [1017-2974] --&gt;
&lt;h1 class=&quot;sectionedit60&quot; id=&quot;configuration&quot;&gt;Configuration&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT60 SECTION &quot;Configuration&quot; [2975-3004] --&gt;
&lt;h3 class=&quot;sectionedit61&quot; id=&quot;setup&quot;&gt;Setup&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Make sure you activate the plugin by adding it to the event dispatcher. To do so set “&lt;strong&gt;addplugins&lt;/strong&gt;” accordingly, e.g.:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;var player = projekktor(&amp;#039;#player_a&amp;#039;, {
   controls: true,
   autoplay: false,
   addplugins: [&amp;#039;ima&amp;#039;],
   playlist: [   
      {
         0: {src:&amp;#039;http://www.projekktor.com/video/mc.mp4&amp;#039;, type:&amp;quot;video/mp4&amp;quot;}
      }
   ]
});&lt;/pre&gt;

&lt;p&gt;
The plugin is now active but does absolutely… nothing. In order to unleash it´s power you must at least apply an &lt;strong&gt;url&lt;/strong&gt; pointing to the VAST1 / VAST2 Feed and set the content-&lt;strong&gt;type&lt;/strong&gt; of the very same feed (&lt;em&gt;application/xml&lt;/em&gt; or &lt;em&gt;application/jsonp&lt;/em&gt;).
&lt;/p&gt;

&lt;p&gt;
&lt;div class=&quot;noteimportant&quot;&gt;Usually you have a specific ad-&lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; per video so be aware that the plugin is configured on item-level not on player-level.
&lt;/div&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;var player = projekktor(&amp;#039;#player_a&amp;#039;, {
   controls: true,
   autoplay: false,
   addplugins: [&amp;#039;ima&amp;#039;],
   playlist: [   
      {
         0: {src:&amp;#039;http://www.projekktor.com/video/mc.mp4&amp;#039;, type:&amp;quot;video/mp4&amp;quot;},
         config: {
            plugin_ima: {
               url: &amp;#039;&amp;lt;url to your VAST feed including your partner ID and keywords&amp;gt;&amp;#039;,
               type: &amp;#039;application/xml&amp;#039;
            }
         }
      }
   ]
});&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT61 SECTION &quot;Setup&quot; [3005-4223] --&gt;
&lt;h3 class=&quot;sectionedit62&quot; id=&quot;config_options&quot;&gt;Config Options&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;

&lt;h4 id=&quot;enablecompanions_enableoverlay_enablepreroll_booleantrue&quot;&gt;enableCompanions, enableOverlay, enablePreroll (Boolean:true)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Enables or disables the respective ad type.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;url_string&quot;&gt;url (String:&amp;#039;&amp;#039;)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; to your VAST feed including your partner ID and keywords.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;vastproxy_string&quot;&gt;vastProxy (String:&amp;#039;&amp;#039;)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; to an optional proxy. Useful to bypass common CORS issues in insufficient set up environments. The content &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; will be escaped added to the “vastProxy”-string.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;vastnocache_booleanfalse&quot;&gt;vastNoCache (Boolean:false)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Setting this to “true” will append the actual timestamp to all tracking-pixel-call-URLs in oder to avoid caching and make redundant tracking calls possible. This feature is NOT covered by the VAST-Standard and strictly only built in for those who really, really need or want it.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;type_stringapplication_xml&quot;&gt;type (String:&amp;#039;application/xml&amp;#039;)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Either &amp;#039;application/xml&amp;#039; or &amp;#039;application/jsonp&amp;#039;. If set to &amp;#039;application/jsonp&amp;#039; it´s assumed that the incoming data is an &lt;abbr title=&quot;Extensible Markup Language&quot;&gt;XML&lt;/abbr&gt; formatted string wrapped into a JSONP function.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;overlaydelay_integer1&quot;&gt;overlayDelay (Integer:1)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
If the incoming data provides overlay-information an overlay will be added to the player once the playhead reaches &lt;em&gt;overlayDelay&lt;/em&gt; second during playback of the content video.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;companiondest_arraycompaniona_companionb_companionc&quot;&gt;companionDest (Array:[&amp;#039;companiona&amp;#039;, &amp;#039;companionb&amp;#039;, &amp;#039;companionc&amp;#039;])&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
An array of IDs addressing the &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt;-containers to pump the companion ads in - if any. Note that the plugin auto-evaluates the dimensions of the containers and matches them against incoming companion-data. A companion will only be displayed if there´s a free &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt;-container with accurate dimensions and an ID as configured.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;resourcepriority_arrayimage_iframe_html_flash&quot;&gt;resourcePriority (Array:[&amp;#039;image&amp;#039;, &amp;#039;iframe&amp;#039;, &amp;#039;html&amp;#039;, &amp;#039;flash&amp;#039;])&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Companions are delivered in a variety of formats. This array specifies which format to prefer in case there are multiple variants for one companion available. Per default images are preferred before iframe and html, flash is the worst case (as always).
&lt;/p&gt;

&lt;p&gt;
You can remove one or more items from this array. Doing so the missing companion type will be ignored completely.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;adblockcallback_functionfunction_myplayer&quot;&gt;adblockCallback (Function:function(myPlayer) {}&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The plugin is able to detect whether an adblocker is installed and active or not. If so the function provided here will be triggered. This might be useful to bring some info popups up or whatever. if an adblocker is installed the whole VAST mess will be skipped.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;title_stringadvertisement&quot;&gt;title (String:&amp;#039;advertisement&amp;#039;)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The title to set for preroll ads. The title will be applied to the controlbar (if any). Furthermore a &amp;lt;div/&amp;gt; container with the class ”&amp;lt;prefix&amp;gt;adtitle” will be added to the screen holding the title given here.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;prerollpauseonclick_booleantrue&quot;&gt;prerollPauseOnClick (Boolean:true)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
If set “true” the player will pause once the user clicks on the preroll video (which usually opens an other browser tab and an advertiser´s ressource). On “false” the player will continue playback. &lt;strong&gt;Note:&lt;/strong&gt; This doesn´t work on mobile devices.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;prerollskip_integer0&quot;&gt;prerollSkip (Integer:0)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Allows to add a “skip” button to a running preroll advertisement. If set &amp;gt; 0 a &amp;lt;div/&amp;gt; will be added to the display with the &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt; classes ”&amp;lt;prefix&amp;gt;adskip” and  “locked”. The container will be filled with the &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt; provided by “prerollSkipHtml”. It will fade in after prerollSkip/2 seconds and “lock” will turn to “unlocked” “prerollSkip/2” seconds later. At this point the container will become click-able.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;prerollskiphtml_stringskip_this_ad_in_secs&quot;&gt;prerollSkipHtml (String:&amp;#039;Skip this ad in %{secs}&amp;#039;)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
A &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt; string to fill the “adskip” container generated via “prerollSkip”. Can be any markup you want to. %{secs] will be replaced with the remaining seconds to wait until the skip feature will become unlocked.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;prerollunlockedhtml_stringclick_here_to_skip_this_ad&quot;&gt;prerollUnlockedHtml (String:&amp;#039;Click here to skip this ad.&amp;#039;)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
An &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt; string to fill the “adskip” container once the ad has been unlocked.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;prerollcat_stringpre-roll&quot;&gt;prerollCat (String:&amp;#039;pre-roll&amp;#039;)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The clip category for the pre-roll can be set here. Relevant for tracking purposes only.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;prerollcappinglimit_integer0&quot;&gt;prerollCappingLimit (Integer:0)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Maximum amount of pre-rolls delivered to the client within the period defined by ”&lt;em&gt;prerollCappingPeriod&lt;/em&gt;”. 0=unlimited
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;prerollcappingperiod_integer1&quot;&gt;prerollCappingPeriod(Integer:1)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Number of Days until the client´s capping limit will be reseted.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT62 SECTION &quot;Config Options&quot; [4224-] --&gt;</description>
            <author>operator</author>
            <pubDate>Sun, 07 Apr 2013 18:39:07 +0200</pubDate>
        </item>
        <item>
            <title>Quick Install Guide (from scratch edition)</title>
            <link>http://www.projekktor.com/docs/quickinstall?rev=1365063426&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit63&quot; id=&quot;quick_install_guide_from_scratch_edition&quot;&gt;Quick Install Guide (from scratch edition)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Using the Projekktor player in your own projects is extremely easy and straightforward. You have to include two &lt;abbr title=&quot;JavaScript&quot;&gt;JS&lt;/abbr&gt;-files (Projekktor and jQuery) at least one &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt; for the theme and, widdy well, your are ready to go. Once you did that you can morph any &amp;lt;video&amp;gt;, &amp;lt;audio&amp;gt; or block styled &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt; element into a Projekktor - even within Internet Explorer (6,7,8).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT63 SECTION &quot;Quick Install Guide (from scratch edition)&quot; [1-415] --&gt;
&lt;h3 class=&quot;sectionedit64&quot; id=&quot;preparation&quot;&gt;Preparation&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Make sure you uploaded the following files to your site:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; projekktor.min.js&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; jquery.min.js &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; jarisplayer.swf&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; at least one theme directory including a &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt; + its image files&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;

&lt;h4 id=&quot;jquery_inclusion&quot;&gt;jQuery Inclusion&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Projekktor uses the jQuery library. If you do not know what jQuery is, feel free to check it out at &lt;a href=&quot;http://www.jquery.com&quot; class=&quot;urlextern&quot; title=&quot;http://www.jquery.com&quot;&gt;jquery.com&lt;/a&gt; - but it´s not necessary to know it in detail. If you have jQuery already included to your page (which is not unlikely these days) make sure it is at least &lt;strong&gt;V1.4.1&lt;/strong&gt;.
&lt;/p&gt;

&lt;p&gt;
If you have an earlier version of jQuery installed you must update it in order to run Projekktor. You can grab the most recent one from &lt;a href=&quot;http://www.jquery.com&quot; class=&quot;urlextern&quot; title=&quot;http://www.jquery.com&quot;&gt;jquery.com&lt;/a&gt; or by using the one bundled with the Projekktor distribution package. Usually this will not cause any problems but your should do some testing with other scripts on your site - if any. Btw: Don´t start to install multiple jQuerys of different versions. It isn´t worth the try.
&lt;/p&gt;

&lt;p&gt;
To make jQuery available add the following &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt; to your page´s HEAD section:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;

&lt;p&gt;
Don´t forget to alter the &lt;em&gt;src&lt;/em&gt; as required or desired.
&lt;/p&gt;

&lt;p&gt;
&lt;div class=&quot;noteimportant&quot;&gt;Make sure you include jquery BEFORE you include projekktormin.js
&lt;/div&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT64 SECTION &quot;Preparation&quot; [416-1717] --&gt;
&lt;h3 class=&quot;sectionedit65&quot; id=&quot;projekktor_inclusion&quot;&gt;Projekktor Inclusion&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Add the following &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt; to your page´s HEAD section too. This will load the Projekktor itself and a funky theme for its control elements.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;projekktor.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;style/maccaco/style.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot; /&amp;gt;&lt;/pre&gt;

&lt;p&gt;
Once again, check the paths.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT65 SECTION &quot;Projekktor Inclusion&quot; [1718-2087] --&gt;
&lt;h3 class=&quot;sectionedit66&quot; id=&quot;projekktor_instantiation&quot;&gt;Projekktor Instantiation&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
This is where the real fun begins. Depending on you requirements you can morph one, multiple or all media elements on your page into a Projekktor.
&lt;/p&gt;

&lt;p&gt;
If you want to apply the player to all &lt;a href=&quot;http://www.projekktor.com/docs/html5media&quot; class=&quot;wikilink1&quot; title=&quot;html5media&quot;&gt;HTML5 media elements&lt;/a&gt; on one page add the following to the HEAD section:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;
         $(document).ready(function() {
               projekktor(&amp;#039;video&amp;#039;);
         })
    &amp;lt;/script&amp;gt;&lt;/pre&gt;

&lt;p&gt;
&lt;div class=&quot;noteimportant&quot;&gt;Chaining multiple selectors by separating them with a colon, like e.g. “video,audio” or “div.player,div.second” does not work with &lt;abbr title=&quot;Internet Explorer 6&quot;&gt;IE6&lt;/abbr&gt;,7,8. Single selectors like “audio” or “video” work fine.

&lt;/div&gt;
&lt;/p&gt;

&lt;p&gt;
The $(document).ready() stuff is provided by jQuery. Code within is executed once the whole page has been loaded and became script-able. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT66 SECTION &quot;Projekktor Instantiation&quot; [2088-2910] --&gt;
&lt;h3 class=&quot;sectionedit67&quot; id=&quot;custom_configuration&quot;&gt;Custom Configuration&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Projekktor supports a big bunch of configuration options. All of them are strictly &lt;strong&gt;optional&lt;/strong&gt;, two of them are most &lt;strong&gt;likely&lt;/strong&gt; to be of interest for your.
&lt;/p&gt;

&lt;p&gt;
First things first. How to apply custom configurations? Well, Projekktor knows two kinds of config parameters: Dynamic and static ones. The dynamic ones can be set per playlist item and will affect the behavior of the player during runtime. Those options are a long story and since this is a beginners guide we will ignore them for now. 
&lt;/p&gt;

&lt;p&gt;
“Static” parameters affect the very basic environment. They define paths, toggles if the player should use flash fallback and a lot of other things more. As said above two of them are very &lt;strong&gt;likely&lt;/strong&gt; to require customization and as such they are good examples to show how the static configurations are applied in general. Here we go, back on or example above:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;
         $(document).ready(function() {
               projekktor(&amp;#039;video&amp;#039;);
         })
    &amp;lt;/script&amp;gt;&lt;/pre&gt;

&lt;p&gt;
You should know that during instantiation projekktor() also takes a second parameter which represents the mentioned config-mess.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;
         $(document).ready(function() {
               projekktor(&amp;#039;video&amp;#039;, {
	                /* path to the MP4 Flash-player fallback component */
	                playerFlashMP4:		&amp;#039;http://www.yourdomain.com/jarisplayer.swf&amp;#039;,
	        
	                /* path to the MP3 Flash-player fallback component */
	                playerFlashMP3:		&amp;#039;http://www.yourdomain.com/jarisplayer.swf&amp;#039;         
               });
         }
    &amp;lt;/script&amp;gt;&lt;/pre&gt;

&lt;p&gt;
playerFlashMP4 and playerFlashMP3 define the paths to the SWF-components to be used in case of a flash fallback is performed. Depending on your environment it might be necessary to alter them. It´s good practice to set them to full qualified URLs. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT67 SECTION &quot;Custom Configuration&quot; [2911-4831] --&gt;
&lt;h3 class=&quot;sectionedit68&quot; id=&quot;example&quot;&gt;Example&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
This is how it may look like. The following shows a Projekktor to be mounted on a &amp;lt;video&amp;gt; tag with the ID &lt;em&gt;player_a&lt;/em&gt;, sets the default volume to 80%, defines custom paths for the flash fallback component and sets a custom logo overlay which is clickable, Sweet, huh?
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
&amp;lt;!DOCTYPE HTML&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;title&amp;gt;Projekktor Version 8 Test&amp;lt;/title&amp;gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;theme/style.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot; /&amp;gt;

&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt; &amp;lt;!-- Load jquery --&amp;gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;projekktor.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt; &amp;lt;!-- load projekktor --&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;


&amp;lt;video id=&amp;quot;player_a&amp;quot; class=&amp;quot;projekktor&amp;quot; poster=&amp;quot;intro.png&amp;quot; title=&amp;quot;this is projekktor&amp;quot; width=&amp;quot;640&amp;quot; height=&amp;quot;360&amp;quot; controls&amp;gt;
    &amp;lt;source src=&amp;quot;http://www.projekktor.com/intro.ogv&amp;quot; type=&amp;quot;video/ogg&amp;quot; /&amp;gt;
    &amp;lt;source src=&amp;quot;http://www.projekktor.com/intro.mp4&amp;quot; type=&amp;quot;video/mp4&amp;quot; /&amp;gt;
&amp;lt;/video&amp;gt;


&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;
$(document).ready(function() {
    projekktor(&amp;#039;#player_a&amp;#039;, {
	volume: 0.8,
	playerFlashMP4: &amp;#039;http://www.yourdomain.com/jarisplayer.swf&amp;#039;,
	playerFlashMP3: &amp;#039;http://www.yourdomain.com/jarisplayer.swf&amp;#039;
    });
});
&amp;lt;/script&amp;gt; 


&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT68 SECTION &quot;Example&quot; [4832-] --&gt;</description>
            <author>operator</author>
            <pubDate>Thu, 04 Apr 2013 10:17:06 +0200</pubDate>
        </item>
        <item>
            <title>Configuration parameters</title>
            <link>http://www.projekktor.com/docs/configuration?rev=1364304719&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit69&quot; id=&quot;configuration_parameters&quot;&gt;Configuration parameters&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT69 SECTION &quot;Configuration parameters&quot; [1-40] --&gt;
&lt;h3 class=&quot;sectionedit70&quot; id=&quot;general&quot;&gt;General&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
In general Projekktor differentiates three types of config parameters: 
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/configuration?&amp;amp;#config_options_to_be_set_prior_initialization_only&quot; class=&quot;wikilink1&quot; title=&quot;configuration&quot;&gt;Those that affect the player on its whole&lt;/a&gt;, … &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; those that &lt;a href=&quot;http://www.projekktor.com/docs/configuration?&amp;amp;#config_options_available_per_playlist_item&quot; class=&quot;wikilink1&quot; title=&quot;configuration&quot;&gt;affect single items scheduled&lt;/a&gt; and&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; those that &lt;a href=&quot;http://www.projekktor.com/docs/plugins&quot; class=&quot;wikilink1&quot; title=&quot;plugins&quot;&gt;configure plugins&lt;/a&gt; / addons.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
E.g: “loop” (which makes the player loop all scheduled items permanently) affects the player. On the other hand “title” or “poster” is of interest on item-level only.
&lt;/p&gt;

&lt;p&gt;
As such &lt;em&gt;all config parameters&lt;/em&gt; shown below can be set on instantiation as described &lt;a href=&quot;http://www.projekktor.com/docs/quickinstall#custom_configuration&quot; class=&quot;wikilink1&quot; title=&quot;quickinstall&quot;&gt;here&lt;/a&gt;. Parameters set this way will be used for the player and - where applicable - as defaults for all items in schedule. 
&lt;/p&gt;

&lt;p&gt;
You should know: All this mess is to avoid breaking the time/space continuum and prevent strange effects regarding the player itself. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT70 SECTION &quot;General&quot; [41-979] --&gt;
&lt;h2 class=&quot;sectionedit71&quot; id=&quot;config_options_to_be_set_prior_initialization_only&quot;&gt;Config options to be set prior initialization only&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT71 SECTION &quot;Config options to be set prior initialization only&quot; [980-1043] --&gt;
&lt;h3 class=&quot;sectionedit72&quot; id=&quot;cookiename_stringqwprojaaekktor&quot;&gt;cookieName (String:&amp;#039;qwprojaaekktor&amp;#039;)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sets the name of the cookie to store userspecific, permanent information and settings in.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT72 SECTION &quot;cookieName (String:'qwprojaaekktor')&quot; [1044-1182] --&gt;
&lt;h3 class=&quot;sectionedit73&quot; id=&quot;cookieexpiry_integer356&quot;&gt;cookieExpiry (Integer:356)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Days to keep the cookie alive.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT73 SECTION &quot;cookieExpiry (Integer:356)&quot; [1183-1253] --&gt;
&lt;h3 class=&quot;sectionedit74&quot; id=&quot;plugins_arraydisplay_controlbar&quot;&gt;plugins (Array:[&amp;#039;display&amp;#039;, &amp;#039;controlbar&amp;#039;])&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Plugins to load on instance initialization. Plugins are automatically extending the projekktorPluginInterface class.
The order how the plugins are set here is important because they are added from z-index 0 to n one by one to the player &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt;. As such it is useful to add the “Display” plugin always first.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT74 SECTION &quot;plugins (Array:['display', 'controlbar'])&quot; [1254-1612] --&gt;
&lt;h3 class=&quot;sectionedit75&quot; id=&quot;addplugins_array&quot;&gt;addplugins (Array:[])&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Adds one plugin or more plugins to the player. Alternative to “plugins” above. Will be merged with it.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT75 SECTION &quot;addplugins (Array:[])&quot; [1613-1750] --&gt;
&lt;h3 class=&quot;sectionedit76&quot; id=&quot;reelparser_functionfunction_data_return_data&quot;&gt;reelParser (function:function(data){return data;})&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Projekktor can read external playlists loaded via Ajax. These playlists can either be “&lt;abbr title=&quot;Extensible Markup Language&quot;&gt;XML&lt;/abbr&gt;” or “JSON formatted and should follow the &lt;a href=&quot;http://www.projekktor.com/docs/playlists&quot; class=&quot;wikilink1&quot; title=&quot;playlists&quot;&gt;Projekktor playlist scheme&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Nevertheless it´s possible to 3rd party formats, e.g. &lt;abbr title=&quot;Rich Site Summary&quot;&gt;RSS&lt;/abbr&gt; feeds. The incoming data must be reformatted to a valid playlist then. This is where “reelParser” comes in handy. Once the Ajax request was successful “reelParser” is called and gets the raw input data as parameter. Inside you can hack your alchemy and return a valid Projekktor playlist.
&lt;/p&gt;

&lt;p&gt;
&lt;div class=&quot;noteimportant&quot;&gt;Don´t trigger any further asynchronous operations here. This will break iDevice-support instantly.
&lt;/div&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT76 SECTION &quot;reelParser (function:function(data){return data;})&quot; [1751-2461] --&gt;
&lt;h3 class=&quot;sectionedit77&quot; id=&quot;ns_stringpp&quot;&gt;ns (String:&amp;#039;pp&amp;#039;)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Namespace-Prefix added to all css-classnames and data-attributes used by the player in order to avoid conflicts with existing stuff. This option was formerly known as “cssClassPrefix”.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT77 SECTION &quot;ns (String:'pp')&quot; [2462-2675] --&gt;
&lt;h3 class=&quot;sectionedit78&quot; id=&quot;platforms_arraybrowser_ios_native_flash&quot;&gt;platforms (Array:[&amp;#039;browser&amp;#039;, &amp;#039;ios&amp;#039;, &amp;#039;native&amp;#039;, &amp;#039;flash&amp;#039;])&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
A prioritized collection of enabled platforms.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Background:&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
There are several “player models” available for Projekktor. A &lt;em&gt;model&lt;/em&gt; handles all the stuff to create a media playback object and interacts with it. E.g. the model “FlashVideo” does the Flash-Embed mess, assigns appropriate parameter to the SWF-movie and handles the Javascript interaction via Flash´s “External Interface”. 
&lt;/p&gt;

&lt;p&gt;
The fact that the model uses Flash is indicated by a model-property called “platform”. In this example, guess what, this property has the value “flash”. 
&lt;/p&gt;

&lt;p&gt;
There are other models using other platforms. One model handles “ios” specific mechanics. “native” models handle media using the browser´s native &amp;lt;video&amp;gt; and &amp;lt;audio&amp;gt; elements and “browser”-models handle the common stuff like images, iframes and html markup (in fact the “browser”-models are special ones but this is an other story to be told later).
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;So, &lt;abbr title=&quot;What the f***&quot;&gt;WTF?&lt;/abbr&gt;&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
The default value [&amp;#039;browser&amp;#039;, &amp;#039;ios&amp;#039;, &amp;#039;native&amp;#039;, &amp;#039;flash&amp;#039;] tells the player that it can use four different platforms. BUT, e.g. let´s say we have a &amp;lt;video&amp;gt;-capable browser featuring the H.264 codec plus having Flash installed. In fact we now have two possible platforms to handle this: “native” and “flash”. In our default setup “native” has a lower “platforms”-array index than “flash” and the player will use the native-platform instead of flash. Hence per default “Flash” is configured to be the worst case.
&lt;/p&gt;

&lt;p&gt;
Lets say you want to make the player ignore Flash completely even if the client has the plugin installed you can rewrite “platforms” to [&amp;#039;browser&amp;#039;, &amp;#039;ios&amp;#039;, &amp;#039;native&amp;#039;] and all is good.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT78 SECTION &quot;platforms (Array:['browser', 'ios', 'native', 'flash'])&quot; [2676-4357] --&gt;
&lt;h3 class=&quot;sectionedit79&quot; id=&quot;iframe_booleanfalse&quot;&gt;iframe (Boolean:false)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
If set “true”, Projekktor assumes to live within an iframe and will act accordingly (used for embedding). 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT79 SECTION &quot;iframe (Boolean:false)&quot; [4358-4499] --&gt;
&lt;h3 class=&quot;sectionedit80&quot; id=&quot;loop_booleanfalse&quot;&gt;loop (Boolean:false)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Enables / disables playlist loop.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT80 SECTION &quot;loop (Boolean:false)&quot; [4500-4566] --&gt;
&lt;h3 class=&quot;sectionedit81&quot; id=&quot;autoplay_booleanfalse&quot;&gt;autoplay (Boolean:false)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Enables / disables autoplay / autostart. Doesn´t work on most mobile platforms.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT81 SECTION &quot;autoplay (Boolean:false)&quot; [4567-4684] --&gt;
&lt;h3 class=&quot;sectionedit82&quot; id=&quot;ignoreattributes_booleanfalse&quot;&gt;ignoreAttributes (Boolean:false)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
If Projekktor is pumped into an &amp;lt;audio&amp;gt; or &amp;lt;video&amp;gt; container usually the element-attributes will overwrite given configuration parameters. Setting this to “false” will turn this behavior off. Affected config parameters are “autoplay”, “controls”, “width” and “height”.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT82 SECTION &quot;ignoreAttributes (Boolean:false)&quot; [4685-4998] --&gt;
&lt;h3 class=&quot;sectionedit83&quot; id=&quot;continuous_booleantrue&quot;&gt;continuous (Boolean:true)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Enables / disables conitnuous playback. If enabled the player - once started - will play each playlist item one by one automatically and return to IDLE mode once all playlist items are played back and “loop” is “false”.
&lt;/p&gt;

&lt;p&gt;
In case “continuous” is “false” the player will play the actual media item. Once finished it increases the internal playlist-position-pointer and sets the player to IDLE which brings up the poster for the new playlist item. So, one more user interaction is required to start the new video.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT83 SECTION &quot;continuous (Boolean:true)&quot; [4999-5548] --&gt;
&lt;h3 class=&quot;sectionedit84&quot; id=&quot;therecanbeonlyone_booleantrue&quot;&gt;thereCanBeOnlyOne(Boolean:true)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
“true” will stop all other player instances but the one the user clicked play on. This way its sure that only one player is running at time.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT84 SECTION &quot;thereCanBeOnlyOne(Boolean:true)&quot; [5549-5734] --&gt;
&lt;h3 class=&quot;sectionedit85&quot; id=&quot;playlist_array&quot;&gt;playlist (Array:[])&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
An array of objects following the &lt;a href=&quot;http://www.projekktor.com/docs/playlists&quot; class=&quot;wikilink1&quot; title=&quot;playlists&quot;&gt;Projekktor playlist scheme&lt;/a&gt; to schedule one or more media items.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT85 SECTION &quot;playlist (Array:[])&quot; [5735-5878] --&gt;
&lt;h3 class=&quot;sectionedit86&quot; id=&quot;height_integer0&quot;&gt;height (Integer:0)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The height of the player in pixels. In case of “0” the player will use the destination´s container height but at least “minHeight”.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT86 SECTION &quot;height (Integer:0)&quot; [5879-6042] --&gt;
&lt;h3 class=&quot;sectionedit87&quot; id=&quot;width_integer0&quot;&gt;width (Integer:0)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The width of the player in pixels. In case of “0” the player will use the destination´s container width but at least “widthHeight”.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT87 SECTION &quot;width (Integer:0)&quot; [6043-6205] --&gt;
&lt;h3 class=&quot;sectionedit88&quot; id=&quot;minheight_integer40&quot;&gt;minHeight (Integer:40)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The minimum height of the player.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT88 SECTION &quot;minHeight (Integer:40)&quot; [6206-6274] --&gt;
&lt;h3 class=&quot;sectionedit89&quot; id=&quot;minwidth_integer40&quot;&gt;minWidth (Integer:40)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The minimum width of the player.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT89 SECTION &quot;minWidth (Integer:40)&quot; [6275-6342] --&gt;
&lt;h3 class=&quot;sectionedit90&quot; id=&quot;forcefullviewport_booleanfalse&quot;&gt;forceFullViewport (Boolean:false)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Some devices like the iPad do not support native fullscreen. Instead they allow to bring the native video element itself into fullscreen. The primary effect - seamless video view - is the same but as the player literary pops out of the browser all &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt; overlays (ads, logos, CI) and extras will not be visible during that state. Setting “forceFullViewport” to “true” will make Projekktor ignore these “native video fullscreen”-thing but will blow up the player to full browser-viewport instead. All &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt;-overlays will stay present then. The only drawback is that in most environments browsertabs and similar elements will stay visible.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT90 SECTION &quot;forceFullViewport (Boolean:false)&quot; [6343-7024] --&gt;
&lt;h3 class=&quot;sectionedit91&quot; id=&quot;keys_arraysee_blow&quot;&gt;keys (Array:[...see blow...])&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
An array of objects featuring keycode⇒function pairs in order to setup keyboard controls. The player must have focus in order to process keyboard events. This option´s default setup is as follows:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[{
    32: function(player) {player.setPlayPause();},
    27: function(player) {player.setFullscreen(false);},
    13: function(player) {player.setFullscreen(true);},
    39: function(player) {player.setPlayhead(&amp;#039;+5&amp;#039;);},
    37: function(player) {player.setPlayhead(&amp;#039;-5&amp;#039;);},
    38: function(player) {player.setVolume(&amp;#039;+5&amp;#039;);},
    40: function(player) {player.setVolume(&amp;#039;-5&amp;#039;);},
    68: function(player) {player.setDebug();},
    67: function(player) {$p.utils.log(&amp;#039;Config Dump&amp;#039;, player.config);},
    80: function(player) {$p.utils.log(&amp;#039;Schedule Dump&amp;#039;, player.media);}
}];&lt;/pre&gt;

&lt;p&gt;
As “keys” is an array you can setup more than one function per keycode. E.g.:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[
 {32: function(player) {player.setPlayPause();}},
 {32: function(player) {console.log(&amp;quot;USER PRESSED PLAY;}}
];&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT91 SECTION &quot;keys (Array:[...see blow...])&quot; [7025-8063] --&gt;
&lt;h3 class=&quot;sectionedit92&quot; id=&quot;messages_objectsee_below&quot;&gt;messages (Object:{... see below... })&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
A set of messages shown in case of errors / on testcards.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  
  // general
  0:&amp;#039;An error occurred.&amp;#039;,
  1:&amp;#039;You aborted the media playback. &amp;#039;,
  2:&amp;#039;A network error caused the media download to fail part-way. &amp;#039;,
  3:&amp;#039;The media playback was aborted due to a corruption problem. &amp;#039;,
  4:&amp;#039;The media (%{title}) could not be loaded because the server or network failed.&amp;#039;,
  5:&amp;#039;Sorry, your browser does not support the media format of the requested file.&amp;#039;,
  6:&amp;#039;Your client is in lack of the Flash Plugin V%{flashver} or higher.&amp;#039;,
  7:&amp;#039;No media scheduled.&amp;#039;,
  8: &amp;#039;! Invalid media model configured !&amp;#039;,
  9: &amp;#039;File (%{file}) not found.&amp;#039;,
  10: &amp;#039;Invalid or missing quality settings for %{title}.&amp;#039;,
  11: &amp;#039;Invalid streamType and/or streamServer settings for %{title}.&amp;#039;,
  12: &amp;#039;Invalid or inconsistent quality setup for %{title}.&amp;#039;,
  80: &amp;#039;The requested file does not exist or delivered with an invalid content-type.&amp;#039;,
  97:&amp;#039;No media scheduled.&amp;#039;,
  98:&amp;#039;Invalid or malformed playlist data!&amp;#039;,
  99:&amp;#039;Click display to proceed. &amp;#039;,
  100: &amp;#039;PLACEHOLDER&amp;#039;,
  // Youtube errors
  500: &amp;#039;This Youtube video has been removed or set to private&amp;#039;,
  501: &amp;#039;The Youtube user owning this video disabled embedding.&amp;#039;,
  502: &amp;#039;Invalid Youtube Video-Id specified.&amp;#039;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT92 SECTION &quot;messages (Object:{... see below... })&quot; [8064-9386] --&gt;
&lt;h2 class=&quot;sectionedit93&quot; id=&quot;config_options_available_per_playlist_item&quot;&gt;Config options available per playlist item&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT93 SECTION &quot;Config options available per playlist item&quot; [9387-9442] --&gt;
&lt;h3 class=&quot;sectionedit94&quot; id=&quot;id_string0&quot;&gt;ID (String:&amp;#039;0&amp;#039;)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
A unique itemID used for internal identification and tracking purposes. Randomly generated in case non is provided.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT94 SECTION &quot;ID (String:'0')&quot; [9443-9587] --&gt;
&lt;h3 class=&quot;sectionedit95&quot; id=&quot;title_string&quot;&gt;title (String:&amp;#039;&amp;#039;)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
A title is a title is a title.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT95 SECTION &quot;title (String:'')&quot; [9588-9649] --&gt;
&lt;h3 class=&quot;sectionedit96&quot; id=&quot;poster_string&quot;&gt;poster (String:&amp;#039;&amp;#039;)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; to a poster image - will be overwritten by poster-attribute in case Projekktor is pumped into a &amp;lt;media&amp;gt; tag.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT96 SECTION &quot;poster (String:'')&quot; [9650-9795] --&gt;
&lt;h3 class=&quot;sectionedit97&quot; id=&quot;cover_string&quot;&gt;cover (String:&amp;#039;&amp;#039;)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; to a cover image shown on audio playback only. If “cover” is empty “poster” will be used instead.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT97 SECTION &quot;cover (String:'')&quot; [9796-9929] --&gt;
&lt;h3 class=&quot;sectionedit98&quot; id=&quot;controls_booleanfalse&quot;&gt;controls (Boolean:false)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Enables / disables the controlbar plugin &lt;abbr title=&quot;Graphical User Interface&quot;&gt;GUI&lt;/abbr&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT98 SECTION &quot;controls (Boolean:false)&quot; [9930-10013] --&gt;
&lt;h3 class=&quot;sectionedit99&quot; id=&quot;duration_integer0&quot;&gt;duration (Integer:0)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sets the duration of the played media item. Currently works for “images” only.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT99 SECTION &quot;duration (Integer:0)&quot; [10014-10125] --&gt;
&lt;h3 class=&quot;sectionedit100&quot; id=&quot;start_integer0&quot;&gt;start (Integer:0)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
start offset in seconds for randomly seekable media. (EXPERIMENTAL)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT100 SECTION &quot;start (Integer:0)&quot; [10126-10223] --&gt;
&lt;h3 class=&quot;sectionedit101&quot; id=&quot;stop_integer0&quot;&gt;stop (Integer:0)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Stop endpoint in seconds for randomly seekable media. (EXPERIMENTAL)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT101 SECTION &quot;stop (Integer:0)&quot; [10224-10321] --&gt;
&lt;h3 class=&quot;sectionedit102&quot; id=&quot;volume_float05&quot;&gt;volume (Float:0.5)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Initial player volume while 0 is mute and 1 is full throttle.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT102 SECTION &quot;volume (Float:0.5)&quot; [10322-10416] --&gt;
&lt;h3 class=&quot;sectionedit103&quot; id=&quot;disablepause_booleanfalse&quot;&gt;disablePause (Boolean:false)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Enables / disables the possibility to pause a video during playback via the &lt;abbr title=&quot;Graphical User Interface&quot;&gt;GUI&lt;/abbr&gt;. &lt;abbr title=&quot;JavaScript&quot;&gt;JS&lt;/abbr&gt; &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; calls are not affected.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT103 SECTION &quot;disablePause (Boolean:false)&quot; [10417-10570] --&gt;
&lt;h3 class=&quot;sectionedit104&quot; id=&quot;disallowskip_booleanfalse&quot;&gt;disallowSkip (Boolean:false)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Enables / disables the possibility to skip or search/scrub a video during playback via the &lt;abbr title=&quot;Graphical User Interface&quot;&gt;GUI&lt;/abbr&gt;. &lt;abbr title=&quot;JavaScript&quot;&gt;JS&lt;/abbr&gt; &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; calls are not affected.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT104 SECTION &quot;disallowSkip (Boolean:false)&quot; [10571-10738] --&gt;
&lt;h3 class=&quot;sectionedit105&quot; id=&quot;fixedvolume_booleanfalse&quot;&gt;fixedVolume (Boolean:false)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Enables / disables the possibility to alter the player volume via the &lt;abbr title=&quot;Graphical User Interface&quot;&gt;GUI&lt;/abbr&gt;. &lt;abbr title=&quot;JavaScript&quot;&gt;JS&lt;/abbr&gt; &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; calls are not affected.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT105 SECTION &quot;fixedVolume (Boolean:false)&quot; [10739-10885] --&gt;
&lt;h3 class=&quot;sectionedit106&quot; id=&quot;imagescaling_stringaspectratio_videoscaling_stringaspectratio&quot;&gt;imageScaling (String:&amp;#039;aspectratio&amp;#039;), videoScaling (String:&amp;#039;aspectratio&amp;#039;)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Possible values are “fill”, “aspectratio” or “none”.
&lt;/p&gt;

&lt;p&gt;
Configures how the cover, poster or the video is scaled within the display area. “fill” stretches the source to fit the display but may deform the image / video. “aspectratio” may result in black (empty) areas but keeps the source´s aspect ratio and “none” will just center either the image or video without resizing it. This may cause black areas or a cropped image.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT106 SECTION &quot;imageScaling (String:'aspectratio'), videoScaling (String:'aspectratio')&quot; [10886-11394] --&gt;
&lt;h3 class=&quot;sectionedit107&quot; id=&quot;playerflashmp4_stringjarisplayerswf_playerflashmp3_stringjarisplayerswf&quot;&gt;playerFlashMP4 (String:&amp;#039;jarisplayer.swf&amp;#039;), playerFlashMP3 (String:&amp;#039;jarisplayer.swf&amp;#039;)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sets the &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; to the (default) flash fallback component. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT107 SECTION &quot;playerFlashMP4 (String:'jarisplayer.swf'), playerFlashMP3 (String:'jarisplayer.swf')&quot; [11395-11549] --&gt;
&lt;h3 class=&quot;sectionedit108&quot; id=&quot;streamtype_stringfile&quot;&gt;streamType (String:&amp;#039;file&amp;#039;)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Defines the streaming method. The offical Projekktor-distro currently supports:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; file - progressive download streaming (http, default)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; http - http pseudo streaming&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; rtmp - RTMP streaming - requires “flashRTMPServer” to be set.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT108 SECTION &quot;streamType (String:'file')&quot; [11550-11827] --&gt;
&lt;h3 class=&quot;sectionedit109&quot; id=&quot;startparameter_stringstart&quot;&gt;startParameter (String:&amp;#039;start&amp;#039;)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The name of the GET variable defining the time offset for “pseudo” stream-environments.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT109 SECTION &quot;startParameter (String:'start')&quot; [11828-11958] --&gt;
&lt;h3 class=&quot;sectionedit110&quot; id=&quot;streamserver_string&quot;&gt;streamServer (String:&amp;#039;&amp;#039;)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sometimes required in combination with “streamType”.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT110 SECTION &quot;streamServer (String:'')&quot; [11959-12049] --&gt;
&lt;h3 class=&quot;sectionedit111&quot; id=&quot;useytiframeapi_booleanfalse&quot;&gt;useYTIframeAPI (Boolean: false)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Youtube offers two different player APIs: fLaSh and “iFrame” for HTML5 . Make your choice here. For mobile devices this is forced to TRUE
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT111 SECTION &quot;useYTIframeAPI (Boolean: false)&quot; [12050-12233] --&gt;
&lt;h3 class=&quot;sectionedit112&quot; id=&quot;enablekeyboard_booleantrue&quot;&gt;enableKeyboard (Boolean: true)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Enable / Disable keyboard interactions with the player.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT112 SECTION &quot;enableKeyboard (Boolean: true)&quot; [12234-12332] --&gt;
&lt;h3 class=&quot;sectionedit113&quot; id=&quot;enablefullscreen_booleantrue&quot;&gt;enableFullscreen (Boolean: true)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Enable / Disable fullscreen / full viewport. If disabled all &lt;abbr title=&quot;Graphical User Interface&quot;&gt;GUI&lt;/abbr&gt; interactions forcing “fullscreen” will be discarded. &lt;abbr title=&quot;JavaScript&quot;&gt;JS&lt;/abbr&gt; &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; calls are not affected.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT113 SECTION &quot;enableFullscreen (Boolean: true)&quot; [12333-12527] --&gt;
&lt;h3 class=&quot;sectionedit114&quot; id=&quot;enabletestcard_booleantrue&quot;&gt;enableTestcard (Boolean: true)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
If testcard is disabled and  in case no native-media or flash is available the player will force a filedowload. Otherwise (enableTestcard=true) a testcard with an errormessage is shown in case of any playback issue.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT114 SECTION &quot;enableTestcard (Boolean: true)&quot; [12528-12787] --&gt;
&lt;h3 class=&quot;sectionedit115&quot; id=&quot;skiptestcard_booleanfalse&quot;&gt;skipTestcard (Boolean: false)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
If the scheduled playlist holds more than one item and “skipTestcard” is set TRUE in case of an error the player will proceed to the next item without showing a testcard / errormessage.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT115 SECTION &quot;skipTestcard (Boolean: false)&quot; [12788-13014] --&gt;
&lt;h3 class=&quot;sectionedit116&quot; id=&quot;classname_string&quot;&gt;className (String:&amp;#039;&amp;#039;)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sets an additional &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt; class to the player. If configured on “item” level the class is being removed and the original classes are restored once the internal playlist pointer changes.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT116 SECTION &quot;className (String:'')&quot; [13015-13232] --&gt;
&lt;h3 class=&quot;sectionedit117&quot; id=&quot;playbackqualities_arraysee_below&quot;&gt;playbackQualities (Array:[ ... see below ... ])&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Configures automatic quality selection in case videos are provided in different resolutions and qualities. The details of this mechanics and how to use it &lt;a href=&quot;http://www.projekktor.com/docs/qualitytoggle&quot; class=&quot;urlextern&quot; title=&quot;http://www.projekktor.com/docs/qualitytoggle&quot;&gt;are described here&lt;/a&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{key: &amp;#039;small&amp;#039;, minHeight: 240, minWidth: 240},
{key: &amp;#039;medium&amp;#039;, minHeight: 360, minWidth: [{ratio: 1.77, minWidth: 640}, {ratio: 1.33, minWidth: 480}]},
{key: &amp;#039;large&amp;#039;, minHeight: 480, minWidth: [{ratio: 1.77, minWidth: 853}, {ratio: 1.33, minWidth: 640}]},
{key: &amp;#039;hd1080&amp;#039;, minHeight: 1080, minWidth: [{ratio: 1.77, minWidth: 1920}, {ratio: 1.33, minWidth: 1440}]},
{key: &amp;#039;hd720&amp;#039;, minHeight: 720, minWidth: [{ratio: 1.77, minWidth: 1280}, {ratio: 1.33, minWidth: 960}]},
{key: &amp;#039;highres&amp;#039;, minHeight: 1081, minWidth: 0}           &lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT117 SECTION &quot;playbackQualities (Array:[ ... see below ... ])&quot; [13233-14061] --&gt;
&lt;h2 class=&quot;sectionedit118&quot; id=&quot;configuring_plugins&quot;&gt;Configuring Plugins&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT118 SECTION &quot;Configuring Plugins&quot; [14062-14093] --&gt;
&lt;h3 class=&quot;sectionedit119&quot; id=&quot;xxxx&quot;&gt;xxxx&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT119 SECTION &quot;xxxx&quot; [14094-] --&gt;</description>
            <author>operator</author>
            <pubDate>Tue, 26 Mar 2013 14:31:59 +0200</pubDate>
        </item>
        <item>
            <title>Tracking Plugin - [Ajax based tracking] </title>
            <link>http://www.projekktor.com/docs/plugins_tracking?rev=1364218510&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit120&quot; id=&quot;tracking_plugin&quot;&gt;Tracking Plugin&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT120 SECTION &quot;Tracking Plugin&quot; [1-32] --&gt;
&lt;h2 class=&quot;sectionedit121&quot; id=&quot;general&quot;&gt;General&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Allows tracking of all player -events and -states plus some additional client information to any pixel- or ajax based tracker.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://shop.projekktorxl.com/shop/tracking/&quot; class=&quot;urlextern&quot; title=&quot;http://shop.projekktorxl.com/shop/tracking/&quot;&gt;Get it here.&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT121 SECTION &quot;General&quot; [33-242] --&gt;
&lt;h2 class=&quot;sectionedit122&quot; id=&quot;install&quot;&gt;Install&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT122 SECTION &quot;Install&quot; [243-263] --&gt;
&lt;h3 class=&quot;sectionedit123&quot; id=&quot;scripts&quot;&gt;Scripts&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Load “porjekktor.tracking.js” into the head of your page and activate the plugin by stetting “addplugin” accordingly.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT123 SECTION &quot;Scripts&quot; [264-401] --&gt;
&lt;h3 class=&quot;sectionedit124&quot; id=&quot;html&quot;&gt;HTML&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
This plugin does not require any additional markup.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT124 SECTION &quot;HTML&quot; [402-471] --&gt;
&lt;h3 class=&quot;sectionedit125&quot; id=&quot;css&quot;&gt;CSS&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
This plugin does not require any additional &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT125 SECTION &quot;CSS&quot; [472-537] --&gt;
&lt;h2 class=&quot;sectionedit126&quot; id=&quot;config_parameters&quot;&gt;Config Parameters&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT126 SECTION &quot;Config Parameters&quot; [538-568] --&gt;
&lt;h3 class=&quot;sectionedit127&quot; id=&quot;respectdnt_booleantrue&quot;&gt;respectDNT (Boolean: true}&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Modern browsers feature a config option called “Do not Track” which is intended to be a sort of client side tracking-opt-out. Per default the plugin respects this flag and will not track sessions of clients having this flag set.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT127 SECTION &quot;respectDNT (Boolean: true}&quot; [569-837] --&gt;
&lt;h3 class=&quot;sectionedit128&quot; id=&quot;permanentuuid_booleanfalse&quot;&gt;permanentUuid (Boolean: false}&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Per default the plugin generates a unique user ID when a new client comes along and stores it within a cookie: User-tracking. Setting this parameter to “false” will generate a new ID on each new player session: More Privacy.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT128 SECTION &quot;permanentUuid (Boolean: false}&quot; [838-1105] --&gt;
&lt;h3 class=&quot;sectionedit129&quot; id=&quot;track_array&quot;&gt;track (Array:[])&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
This parameter configures the tracking behavior. See next section for more details.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT129 SECTION &quot;track (Array:[])&quot; [1106-1219] --&gt;
&lt;h2 class=&quot;sectionedit130&quot; id=&quot;the_track_parameter&quot;&gt;The &amp;quot;track&amp;quot; parameter&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT130 SECTION &quot;The track parameter&quot; [1220-1254] --&gt;
&lt;h3 class=&quot;sectionedit131&quot; id=&quot;basics&quot;&gt;Basics&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The “track” parameter is an array filled with objects. Each object must at least have one “events” and one “url” property. The “event” property defines WHEN a track call is being processed. Track calls can be fired on &lt;a href=&quot;http://www.projekktor.com/docs/events&quot; class=&quot;wikilink1&quot; title=&quot;events&quot;&gt;any event listed here&lt;/a&gt;. Below an example “track” setup - just to have something to start with:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;track:  [
  {events: [&amp;quot;state.playing&amp;quot;, &amp;quot;time.5&amp;quot;, &amp;quot;fullscreen&amp;quot;], url:&amp;quot;http://www.projekktor.com/trackpixel.png?trackingdata&amp;quot;},
  {events: [&amp;quot;firstquartile&amp;quot;, &amp;quot;state.paused&amp;quot;], url:&amp;quot;http://www.projekktor.com?quartileundpaused&amp;quot;},
  {events: [&amp;quot;mute&amp;quot;, &amp;quot;unmute&amp;quot;, &amp;#039;thirdquartile&amp;#039;], url:&amp;quot;http://www.projekktor.com?res=%{res}&amp;amp;pltfrm=%{pltfrm}&amp;quot;}
]&lt;/pre&gt;

&lt;p&gt;
Lets have a closer look on the first sub-set:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{events: [&amp;quot;state.playing&amp;quot;, &amp;quot;time.5&amp;quot;, &amp;quot;fullscreen&amp;quot;], url:&amp;quot;http://www.projekktor.com/trackpixel.png?trackingdata&amp;quot;}&lt;/pre&gt;

&lt;p&gt;
When ever the player reaches the “playing” state (state.playing) OR when the playhead reaches the 5th second of the media (time.5) OR the player is toggled into or from fullscreen a tracking call is fired to “&lt;a href=&quot;http://www.projekktor.com/trackpixel.png?trackingdata&quot; class=&quot;urlextern&quot; title=&quot;http://www.projekktor.com/trackpixel.png?trackingdata&quot;&gt;http://www.projekktor.com/trackpixel.png?trackingdata&lt;/a&gt;”.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT131 SECTION &quot;Basics&quot; [1255-2389] --&gt;
&lt;h3 class=&quot;sectionedit132&quot; id=&quot;pixel_based_tracking&quot;&gt;Pixel based tracking&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
You can add additional client information to be sent to your tracking backend by adding GET parameters to your tracking &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;. E.g.:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{events: [&amp;quot;mute&amp;quot;, &amp;quot;unmute&amp;quot;, &amp;#039;thirdquartile&amp;#039;], url:&amp;quot;http://www.projekktor.com?res=%{res}&amp;amp;cp =%{cp}&amp;quot;}&lt;/pre&gt;

&lt;p&gt;
Whenever the user “mutes” OR “unmutes” the player OR once he or she watched at least three quarters of the video the plugin adds a tracking pixel to the &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt;. Before this is done the &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; “&lt;a href=&quot;http://www.projekktor.com?res=%&quot; class=&quot;urlextern&quot; title=&quot;http://www.projekktor.com?res=%&quot;&gt;http://www.projekktor.com?res=%&lt;/a&gt;{res}&amp;amp;pltfrm=%{cp}” will be parsed and the given place-holders will be substituted by the respective data. In this example the &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; might become: “&lt;a href=&quot;http://www.projekktor.com?res=800x600&amp;amp;pltfrm=Browser.Flash.Native&quot; class=&quot;urlextern&quot; title=&quot;http://www.projekktor.com?res=800x600&amp;amp;pltfrm=Browser.Flash.Native&quot;&gt;http://www.projekktor.com?res=800x600&amp;amp;pltfrm=Browser.Flash.Native&lt;/a&gt;”.
&lt;/p&gt;

&lt;p&gt;
All this will end up in the following img-tag created on each of the events mentioned above:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;img src=&amp;quot;http://www.projekktor.com?res=800x600&amp;amp;pltfrm=Browser.Flash.Native&amp;quot; class=&amp;quot;&amp;lt;playerID&amp;gt;_tracking&amp;quot; style=&amp;quot;display: none;&amp;quot;/&amp;gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT132 SECTION &quot;Pixel based tracking&quot; [2390-3342] --&gt;
&lt;h3 class=&quot;sectionedit133&quot; id=&quot;ajax_based_tracking&quot;&gt;Ajax based tracking&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Instead of creating img-tags you can push data via POST to your tracking backend. To do so just add a “post” property to a tracking call config sub-set:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{events: [&amp;quot;state.playing&amp;quot;, &amp;quot;time.5&amp;quot;, &amp;quot;fullscreen&amp;quot;], url:&amp;quot;http://www.projekktor.com/trackingendpoint.php&amp;quot;, post:{varA:&amp;#039;post this, babe&amp;#039;, varB:&amp;#039;%{murl}&amp;#039;}}&lt;/pre&gt;

&lt;p&gt;
“post” must be an object and can hold as many properties as you need. Each property string is parsed to substitute place-holders with tracking data analogue to the pixel based method.
&lt;/p&gt;

&lt;p&gt;
In case your tracking endpoint resides on a different domain than the player itself you must have a &lt;a href=&quot;http://enable-cors.org/&quot; class=&quot;urlextern&quot; title=&quot;http://enable-cors.org/&quot;&gt;proper backend CORS setup&lt;/a&gt;. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT133 SECTION &quot;Ajax based tracking&quot; [3343-4039] --&gt;
&lt;h3 class=&quot;sectionedit134&quot; id=&quot;javascript_callbacks&quot;&gt;Javascript Callbacks&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
If your site already loads a tracker framework like Piwik or Google Analytics and you do not want to rebuilt or mimic their tracking pixel calls you can assign callback functions additionally to or instead of pixel URLs.
&lt;/p&gt;

&lt;p&gt;
The callback function will receive all constants, variables and the player instance as arguments. E.g:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{events: [&amp;quot;state.playing&amp;quot;, &amp;quot;time.5&amp;quot;, &amp;quot;fullscreen&amp;quot;], callback:myFunction&amp;#039;}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT134 SECTION &quot;Javascript Callbacks&quot; [4040-4489] --&gt;
&lt;h3 class=&quot;sectionedit135&quot; id=&quot;category_filter&quot;&gt;Category Filter&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Projekktor allows you to organise scheduled media in categories. This can be done by applying the “cat” parameter to each playlist entry. By default this is set to “clip”. By adding the “cat” property to a tracking config sub set you can specify for which media category the respective tracking setup is applied. E.g. this sub set will trigger a tracking call only for media files of the category “trailer”:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{cat:&amp;#039;trailer&amp;#039;, events: [&amp;quot;state.playing&amp;quot;, &amp;quot;time.5&amp;quot;, &amp;quot;fullscreen&amp;quot;], url:&amp;quot;http://www.projekktor.com/trackingendpoint.php&amp;quot;, post:{varA:&amp;#039;post this, babe&amp;#039;, varB:&amp;#039;%{murl}&amp;#039;}}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT135 SECTION &quot;Category Filter&quot; [4490-5108] --&gt;
&lt;h2 class=&quot;sectionedit136&quot; id=&quot;track-able_constants&quot;&gt;track-able constants&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{uid} - A cross-session user ID &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{sid} - A unique session ID regenerated every time the player initializes&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{sst} - A unix timestamp marking the time the player was initialized (session start).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{plyid} - The playerID as set through the &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt; markup (id attribute) or config option.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{r} - A random string set at the beginning of the session.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{pver} - The Projekktor version in use.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{url} - The current &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; as provided by “window.location.href” but without hash.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{ref} - Alias for %{url}&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{cpl} - A string containing all video types the client can play natively, separated by a ”.”&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{pltfrm} - A string holding the “platform” the client is using right now (e.g.: “flash”, “native”)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{pltfrms} - A string holding all “platforms” available on client side, separated by a ”.”&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{fl} - Client´s Flash version, “0” if no Flash is installed.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{res} - The client´s video resolution &amp;lt;height&amp;gt;x&amp;lt;width&amp;gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT136 SECTION &quot;track-able constants&quot; [5109-6092] --&gt;
&lt;h2 class=&quot;sectionedit137&quot; id=&quot;track-able_variables&quot;&gt;track-able variables&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{cat} - Clip category as specified via playlist config (e.g. trailer, clip, ad,..) default is “clip”&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{dur} - The duration of the currently played media&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{durms} - The duration of the currently played media in milliseconds&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{err} - is “1” in case the player fired an error, default is “0”&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{fs] - Player is in fullscreen mode&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{h} - The hour of the day on client side.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{m} - The minute of the hour on client side.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{mf} -  The currently playing media format (ogg, mp4, etc.)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{mt} - The currently playing media type (audio, video, image, html)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{mid} - The itemID as configured via the Projekktor playlist&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{midx} - The playlist position of the current media.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{mod} - Name of the player-model currently used for playback (e.g. FLASHVIDEO, VIDEO, AUDIO, …).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{murl} - The &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; to the currently active media.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{pstate} - The player state in the very moment the track call is fired (e.g. IDLE, PLAYING, PAUSED …).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{pos] - Current playhead position.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{posms} - Current playhead position in milliseconds.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{rnd} - A random string built with 8 numeric characters.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{seq} - Session´s pixel sequence number. Increased by one at each tracking call.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{s} - The second of the minute on client side.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{sdur} - Duration of the current player session.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{title} - The title of the current item. &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{ts} - Client´s current time as Unix timestamp&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT137 SECTION &quot;track-able variables&quot; [6093-] --&gt;</description>
            <author>operator</author>
            <pubDate>Mon, 25 Mar 2013 14:35:10 +0200</pubDate>
        </item>
        <item>
            <title>Projekkt related</title>
            <link>http://www.projekktor.com/docs/faq?rev=1363607913&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit138&quot; id=&quot;projekkt_related&quot;&gt;Projekkt related&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;where_can_i_find_the_release_r&quot;&gt;Where can I find the release roadmap of this project?&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 Projekktor releases are published spontaneously. This is no full time project so I can´t give guarantees for anything at this point. Nevertheless the project is still under active development and will be at least till end 2012.
&lt;/p&gt;

&lt;p&gt;
If you need a special feature you can buy support. If this is an option for you please feel free to &lt;a href=&quot;http://spinningairwhale.com/contact/?via=wiki&quot; class=&quot;urlextern&quot; title=&quot;http://spinningairwhale.com/contact/?via=wiki&quot;&gt;contact me&lt;/a&gt;.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;why_is_your_site_so_damn_ugly&quot;&gt;Why is your site so damn ugly?&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 Thank you. Well, we spent most of our time to do player-stuff, no self-congratulating web-stuff. That´s it.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;nearly_150_kb_are_you_kiddin_m&quot;&gt;Nearly 150 KB, are you kiddin´ me?&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 Projekktor re-implements the whole decision-tree needed to find the proper playout method for your content. Doing so you have total control about what format in what quality is being pumped into what client and what platform. This not only allows total cost- but also quality- assurance on a level no other player on the market is able to provide. Please feel free to &lt;a href=&quot;http://spinningairwhale.com/contact/?via=wiki&quot; class=&quot;urlextern&quot; title=&quot;http://spinningairwhale.com/contact/?via=wiki&quot;&gt;get in touch&lt;/a&gt; in case you want to learn more.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT138 SECTION &quot;Projekkt related&quot; [1-1150] --&gt;
&lt;h1 class=&quot;sectionedit139&quot; id=&quot;general&quot;&gt;General&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;projekktor_s_jarisplayer_flash&quot;&gt;Projekktor´s Jarisplayer Flash component doesn´t support proper (...put in a lot of freaky flashstuff here...)&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 This projekkt is all about HTML5 and future orientated, re-liberalized media delivery and not Flash. 
Deciding to use HTML5 video/audio (or maybe even Projekktor) is not just choosing an other player. 
It´s more like a strategic reorientation. “In for a penny, in for a pound.” Jarisplayer has very basic RTMP support. There are yet no plans to enlarge the feature set of it. If you want to learn why Projekktor uses Jarisplayer and not JWplayer or Flowplayer 
please check this blog entry: &lt;a href=&quot;http://www.projekktor.com/blog/2010/11/thanks-for-jarisplayer/&quot; class=&quot;urlextern&quot; title=&quot;http://www.projekktor.com/blog/2010/11/thanks-for-jarisplayer/&quot;&gt;http://www.projekktor.com/blog/2010/11/thanks-for-jarisplayer/&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Nevertheless for business users we offer alternate Flash models for both, JWPlayer and Flowplayer. 
If you are interested in one of them please feel free to &lt;a href=&quot;http://www.spinningairwhale.com/contact/&quot; class=&quot;urlextern&quot; title=&quot;http://www.spinningairwhale.com/contact/&quot;&gt;get in touch&lt;/a&gt;.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;what_is_the_difference_between&quot;&gt;What is the difference between .ogv and .ogg&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 The file extension it is. Usually OGV is used for ogg/theora encoded video while OGA is for ogg/vorbis encoded audio. For historical reasons sometimes OGG is used instead of OGA and in order to guarantee perfect confusions OGG is also used for OGV. At the end its up to you to clean up the mess.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT139 SECTION &quot;General&quot; [1151-2421] --&gt;
&lt;h1 class=&quot;sectionedit140&quot; id=&quot;autoplay&quot;&gt;Autoplay&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;i_tried_to_apply_the_autostart&quot;&gt;I tried to apply the &quot;autostart&quot; attribute to the VIDEO-tag in order to make it play, well, automatically, but something is messed up.&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 This is a known issue with some browsers. Some of them initialize the native players &lt;em&gt;before&lt;/em&gt; they fire the &lt;em&gt;contentLoaded&lt;/em&gt; or similar event which triggers Projekktor to initialize. As such, if you apply the &lt;em&gt;autostart&lt;/em&gt; attribute the affected videos will start playback for a glimpse, stop and the new Projekktor instance gets started. Some times this causes some interesting audio-visial effects but mostly this ends up in a total mess.
&lt;/p&gt;

&lt;p&gt;
To avoid that you should use the &lt;em&gt;autoplay&lt;/em&gt; = &lt;em&gt;true&lt;/em&gt; config.option of Projekktor itself instead, e.g.:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt; projekktor(&amp;#039;#player_a&amp;#039;, {
     volume: 0.8,
     autoplay: true
 });&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;i_applied_the_autoplay_config_&quot;&gt;I applied the autoplay config option as described above but it does not work on mobile devices, what´s wrong?&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 Simply forget it. Autostarting video- or audio- playback doesn´t work on most mobile devices. This is not a bug but a limitation by Apple / Google / &amp;lt;put vendor name here&amp;gt;. Most likely this is to protect the users from enervating ads and to save battery power.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;you_said_autoplay_doesn_t_work&quot;&gt;You said autoplay doesn´t work on iOS but there are workarounds for this. Shouldn´t you change your field of scripting, dude?&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 It is true that there are workarounds to force autoplay e.g. on an iPad. But they are what they are: Workarounds to bypass an intended feature. There is no guarantee that they will work after the next iOS update. As such it doesn´t make any sense to be part of this cat-and-mouse game.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT140 SECTION &quot;Autoplay&quot; [2422-4038] --&gt;
&lt;h1 class=&quot;sectionedit141&quot; id=&quot;fullscreen&quot;&gt;Fullscreen&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;why_does_the_fullscreen_button&quot;&gt;Why does the fullscreen button just make the player fill my browser window? The browser tabs are still visible - this suckz.&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 Older browsers - especially &lt;abbr title=&quot;Internet Explorer&quot;&gt;IE&lt;/abbr&gt; - do not support true &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt; fullscreen. Projekktor is able to detect this and will stretch the player to full-viewport instead. That´s it.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;i_put_projekktor_into_an_ifram&quot;&gt;I put Projekktor into an iframe in order to allow 3rd party embedding but the fullscreen-button doesn´t show up. What´s wrong?&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 This is not a bug but a feature. If the base &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; of the parent window is unequal the &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; of the iframe, browser security restrictions apply. In such situations the script can neither initialize true fullscreen nor force the player-container to full viewport. A fullscreen-button would irritate users then and that´s why it´s being disabled.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;why_does_the_player_loose_its_&quot;&gt;Why does the player loose its fancy design when fullscreen is invoked on iOS / Android devices?&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 Toggling fullscreen will open the media content within a native iOS / Android player. While it is possible to overlay &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt; to it during “inline” mode this isn´t possible once fullscreen gets invoked. This is system immanent. You can get around this on most tablets by setting the config option “forceFullViewport” to “true”. Note that browser tabs stay visible in this mode.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT141 SECTION &quot;Fullscreen&quot; [4039-5337] --&gt;
&lt;h1 class=&quot;sectionedit142&quot; id=&quot;layout&quot;&gt;Layout&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;the_theme_layout_video_overlay&quot;&gt;The theme / layout / video overlay / subtitle / (...) looks awful in Internet Explorer 6. What´s the problem?&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 The used browser of course. Projekktor should work on &lt;abbr title=&quot;Internet Explorer 6&quot;&gt;IE6&lt;/abbr&gt; but there´s no guarantee because we do not check this. Building the player for &lt;em class=&quot;u&quot;&gt;modern&lt;/em&gt; environments and especially for more recent versions of Internet Explorer´s is painful enough. 
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT142 SECTION &quot;Layout&quot; [5338-5728] --&gt;
&lt;h1 class=&quot;sectionedit143&quot; id=&quot;setup&quot;&gt;Setup&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;i_used_the_video-_audio-_tag_a&quot;&gt;I used the video-/audio- tag as e.g. seen in your demos but the player doesn´t come up. No poster, no controls, nothing.&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 Media-tags are not natively supported in &lt;abbr title=&quot;Internet Explorer&quot;&gt;IE&lt;/abbr&gt; &amp;lt;9 and Projekktor uses a dirty trick to bypass this. Unfortunately this trick doesn´t work if the tag is wrapped by an inline &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt; container. Make sure it´s a block styled one and under no circumstances a p-aragraph.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT143 SECTION &quot;Setup&quot; [5729-6146] --&gt;
&lt;h1 class=&quot;sectionedit144&quot; id=&quot;video_issues&quot;&gt;Video Issues&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;while_in_flash_fallback_e.g._i&quot;&gt;While in Flash fallback (e.g. IE &lt;9, H.264 in Firefox etc. pp.) the video is being completely downloaded before playback starts. What can I do?&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
! Make sure the moov atom meta data is being set in the beginning of your .mp4 video file and not at the end. Check your encoder for an encoding option like “quick start”, “faststart” or similar. For FFMPEG the command line option is called &lt;em&gt;-movflags faststart&lt;/em&gt;. There´s also a stand alone tool available called “qt-faststart”.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;while_playing_back_ogg_theora_&quot;&gt;While playing back OGG/Theora in Firefox the player stops playback within the first second or so.&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 Most likely you´re using Firefox 5 with Firebug enabled. Just disable Firebug and all is good. Please don´t ask. Took my hours to get the trick.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;the_video_could_not_be_loaded_&quot;&gt;The video could not be loaded, either because the server or network failed or because the format is not supported.&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 HUH?
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;i_want_to_play_a_theora_webm_v&quot;&gt;I want to play a THEORA / WEBM video hosted on my own server. I´ve checked the links, permissions and everything but Firefox ends up with a testcard (error message). What´s wrong?&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 Most native players requires proper type header responses from the web server. Some older server setups do not know how to handle the *.oga, *.ogg,. *.ogv and / or *.webm extension. In order to make things work create an &lt;strong&gt;.htaccess&lt;/strong&gt; file in your video / audio directory and hack the following lines into it:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;AddType audio/ogg .oga
AddType video/ogg .ogv .ogg
AddType video/webm .webm&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;in_most_browsers_the_player_so&quot;&gt;In most browsers the player sometimes plays a video for a couple of seconds and suddenly ends up with an error message (testcard).&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 In some browsers with native video support this happens if the delivering web server uses GZIP compression. Usually this compression makes sense only for text based files (&lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt;, &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt;, Javascripts etc.pp.). So you have to check your server setup in order to make sure that at least your media content is NOT being compressed. 
&lt;/p&gt;

&lt;p&gt;
If you do not have access to your httpd.conf you can try to bypass this by adding a .htaccess with the following line:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript&lt;/pre&gt;

&lt;p&gt;
Note that this is a positive list and only text files are compressed now - no video/ogg etc. pp.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;in_chrome_the_player_sometimes&quot;&gt;In CHROME the player sometimes plays a video for a couple of seconds and suddenly ends up with an error message (testcard).&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 As of February 2013 Chrome seems to have issues with hardware accelerated H.264 playback on some operating systems. Disabling acceleration helps. Open “chrome:\/\/flags” and uncheck the “Enable hardware acceleration” checkbox to disable hardware acceleration.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT144 SECTION &quot;Video Issues&quot; [6147-8848] --&gt;
&lt;h1 class=&quot;sectionedit145&quot; id=&quot;youtube&quot;&gt;Youtube&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;i_added_a_youtube_video_to_the&quot;&gt;I added a Youtube video to the playlist but all I got is an error message / testcard. Why is that?&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 Youtube allows its premium users to disable embedding. This feature not only affects the players you can find in blogs or similar but also the ones provided by the Javascript &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt;. The latter one is used to projekktorize Youtube-videos and as such the mentioned option also affects Projekktor. So, in case you stumble upon a “this media can not be…” …something error while using a Youtube video you´ve choosen one which can not be embedded - that´s all. 
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT145 SECTION &quot;Youtube&quot; [8849-] --&gt;</description>
            <author>operator</author>
            <pubDate>Mon, 18 Mar 2013 12:58:33 +0200</pubDate>
        </item>
        <item>
            <title>Tracks Plugin - [Config Options] </title>
            <link>http://www.projekktor.com/docs/plugins_tracks?rev=1363007475&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit146&quot; id=&quot;tracks_plugin&quot;&gt;Tracks Plugin&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT146 SECTION &quot;Tracks Plugin&quot; [1-29] --&gt;
&lt;h2 class=&quot;sectionedit147&quot; id=&quot;general&quot;&gt;General&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://shop.projekktorxl.com/shop/tracks/&quot; class=&quot;urlextern&quot; title=&quot;http://shop.projekktorxl.com/shop/tracks/&quot;&gt;Get it here.&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT147 SECTION &quot;General&quot; [30-111] --&gt;
&lt;h2 class=&quot;sectionedit148&quot; id=&quot;install&quot;&gt;Install&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT148 SECTION &quot;Install&quot; [112-132] --&gt;
&lt;h3 class=&quot;sectionedit149&quot; id=&quot;scripts&quot;&gt;Scripts&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Load “porjekktor.tracks.js” into the head of your page and activate the plugin by stetting “addplugin” accordingly.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT149 SECTION &quot;Scripts&quot; [133-268] --&gt;
&lt;h3 class=&quot;sectionedit150&quot; id=&quot;html&quot;&gt;HTML&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;

&lt;h4 id=&quot;output_container&quot;&gt;Output Container&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
This plugin does not require any additional mark-up. Nevertheless it is possible to create a dedicated output &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt;-container outside the player. To do so you must provide data attributes as follows to bind the container to a player instance:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; data-&amp;lt;namespace&amp;gt;-tracks-host=”&amp;lt;player id&amp;gt;” and &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; data-&amp;lt;namespace&amp;gt;-tracks-func=“container”&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
E.g. to bind the subtitle-display-container to a player with the configured namespace “pp” (which is default) and an ID of “player_a” you have to use:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;div data-pp-tracks-host=&amp;quot;player_a&amp;quot; data-pp-tracks-func=&amp;quot;container&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;

&lt;p&gt;
You may add style-classes and other attributes as desired and required.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;controlbar_modifications&quot;&gt;Controlbar Modifications&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
In order to provide a on/off button for subtitles you need to alter the controlbar template as described in the controlbar plugin documenation. The required template tag is %{tracksbtn}. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT150 SECTION &quot;HTML&quot; [269-1191] --&gt;
&lt;h3 class=&quot;sectionedit151&quot; id=&quot;css&quot;&gt;CSS&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
In case the output-container is injected to the player &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt; the following &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt; is recommended. Note the absolute positioning. The output container will get the additional class “shifted” in case the player´s control-bar fades in. The class is removed once it fades out. This way you can prevent overlapping.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;.pptracks  {
    position: absolute;
    bottom: 2%;
    left: 2%;
    width: 100%;
    height: auto;
    overflow: hidden;
    color: #fdfdfd;
    z-index: 1000;
}&lt;/pre&gt;

&lt;p&gt;
The controlbar button is subject of four different states: inactive, active, on and off. The button gets the class “inactive” in case the tracks-plugin is active but no tracks-data has been set. Accordingly “active” is applied in case a subtitle file for the user´s browser-language is available. The states “on” and “off” are set to the user´s decision accordingly to turn subtitles on or off. Below please find a very basic and ugly &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt; example to illustrate this:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;.pptracksbtn.inactive,
.pptracks.inactive {
    display: none;
}

.pptracksbtn.active,
.pptracks.active {
    display: block;
}

.pptracks span {
    position: relative;
}


.pptracksbtn.off {
    width: 30px;
    height: 30px;
    background-color: red;
    display: block;
}

.pptracksbtn.on {
    width: 30px;
    height: 30px;
    background-color: green;
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT151 SECTION &quot;CSS&quot; [1192-2545] --&gt;
&lt;h3 class=&quot;sectionedit152&quot; id=&quot;player_setup&quot;&gt;Player Setup&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
In case you´re mounting Projekktor on a &amp;lt;video&amp;gt;-tag the player will fetch relevant data from standard conform &amp;lt;track&amp;gt; tags. E.g.:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;video id=&amp;quot;example_video_1&amp;quot; class=&amp;quot;projekktor&amp;quot; controls width=&amp;quot;640&amp;quot; height=&amp;quot;264&amp;quot; poster=&amp;quot;clip.jpg&amp;quot;&amp;gt;
  &amp;lt;source type=&amp;quot;video/mp4&amp;quot; src=&amp;quot;clip.mp4&amp;quot;&amp;gt;
  &amp;lt;track kind=&amp;quot;subtitles&amp;quot; src=&amp;quot;captions.vtt&amp;quot; srclang=&amp;quot;en&amp;quot; label=&amp;quot;English&amp;quot;&amp;gt;
&amp;lt;/video&amp;gt;&lt;/pre&gt;

&lt;p&gt;
Otherwise you may simply add the necessary information to the “config” object of each playlist entry. E.g.:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;playlist: [
    {
        1: {src: &amp;quot;videofile.webm&amp;quot;, type:&amp;quot;video/webm&amp;quot;},
        config: {
            tracks: [
                { src: &amp;quot;subtitles.xml&amp;quot;, srclang:&amp;quot;en&amp;quot;},
                { src: &amp;quot;subtitles.xml&amp;quot;, srclang:&amp;quot;de&amp;quot;}
            ]
              
        }
    }
];&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT152 SECTION &quot;Player Setup&quot; [2546-3339] --&gt;
&lt;h2 class=&quot;sectionedit153&quot; id=&quot;configuration&quot;&gt;Configuration&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT153 SECTION &quot;Configuration&quot; [3340-3367] --&gt;
&lt;h3 class=&quot;sectionedit154&quot; id=&quot;config_options&quot;&gt;Config Options&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
This plugin features the following config-parameters:
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;force_booleanfalse&quot;&gt;force (Boolean:false)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Forces loading and display of subtitles even it the user disabled them.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;offset_integer0&quot;&gt;offset (Integer:0)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
A time offset in milliseconds to compensate non “trimmed to zero” time marks within the subtitle data. All marks are assumed to be relative to the players progress bar - beginning by zero. Some subtitle data however might be provided with a zero-position of 10 hours plus or even stranger offsets. To deal with this without the need to re-process the subtitle file itself you can define an offset here which is being subtracted from all interpreted time marks.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;stack_booleanfalse&quot;&gt;stack (Boolean:false)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Per standard subtitles can be assigned exactly to a specific video frame and / or by using milliseconds in the time mark definitions. Unfortunately the player itself is not capable to handle such an accuracy. This might result in “overlapping” subtitles depending on internal rounding processes. Per default the output-container´s content is completely wiped before a new subtitle gets injected. By setting “stack” to “true” this wipe is being suppressed and the new textline is being appended to the output-container´s current content.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;style_booleanfalse&quot;&gt;style (Boolean:false)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
If set “true” the plugin will apply style information as defined in the DXFP head section to the paragraphs “style” attribute. Note that the “style”-id is always also applied to the textlines as &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt;-class - regardless if this option is true or false. This way you can style them without relying on the styles predefined in the DXFP-file.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;ttstyle_booleanfalse&quot;&gt;ttstyle(Boolean:false)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Some subtitle feeds feature style information as paragraph attributes. Setting ttstyle to “true” will apply them to the respective paragraph directly via setting its “style” attribute.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;ttsoverwrite_booleanfalse&quot;&gt;ttsoverwrite(Boolean:false)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
If “ttstyle” and “ttsoverwrite” are both “true” the tts-styles are not applied as “style” attribute but as classNames. E.g. tts:color=”#fdfdfd” will apply the class “ppttfdfdfd”. Note that “pp” is the result of the “ns” player config parameter.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT154 SECTION &quot;Config Options&quot; [3368-] --&gt;</description>
            <author>operator</author>
            <pubDate>Mon, 11 Mar 2013 14:11:15 +0200</pubDate>
        </item>
        <item>
            <title>Compatibility Chart</title>
            <link>http://www.projekktor.com/docs/compatibility?rev=1362741930&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit155&quot; id=&quot;compatibility_chart&quot;&gt;Compatibility Chart&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;div class=&quot;notewarning&quot;&gt;
This page is out of date. Please visit our new, &lt;a href=&quot;http://www.projekktor.com/compatibility.php&quot; class=&quot;urlextern&quot; title=&quot;http://www.projekktor.com/compatibility.php&quot;&gt;auto-generated compatibility-chart&lt;/a&gt;.
&lt;/div&gt;
&lt;/p&gt;

&lt;p&gt;
The following browser / platform combinations have been successfully tested with Projekktor. 
This list also provides an overview of the availability of Projekktor specific features within the respective environment.
&lt;/p&gt;
&lt;div class=&quot;table sectionedit156&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;  &lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Format&lt;/em&gt;&lt;/strong&gt;:&lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  Vorbis  &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  Theora  &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot;&gt;  webM  &lt;/td&gt;&lt;td class=&quot;col4 centeralign&quot;&gt;  &lt;abbr title=&quot;Moving Picture Experts Group Layer 3&quot;&gt;MP3&lt;/abbr&gt;  &lt;/td&gt;&lt;td class=&quot;col5 centeralign&quot;&gt;  H.264  &lt;/td&gt;&lt;td class=&quot;col6 centeralign&quot;&gt;  custom controls  &lt;/td&gt;&lt;td class=&quot;col7 centeralign&quot;&gt;  dynamic overlays  &lt;/td&gt;&lt;td class=&quot;col8 centeralign&quot;&gt;  playlists  &lt;/td&gt;&lt;td class=&quot;col9&quot;&gt; true fullscreen &lt;/td&gt;&lt;td class=&quot;col10 leftalign&quot;&gt;notes   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Render Engine / Browser&lt;/em&gt;&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col7&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col8&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col9&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col10&quot;&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;strong&gt;Internet Explorer&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col7&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col8&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col9&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col10&quot;&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;abbr title=&quot;Internet Explorer 6&quot;&gt;IE6&lt;/abbr&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; via Flash &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; via Flash &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col7&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col8&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col9&quot;&gt; no &lt;/td&gt;&lt;td class=&quot;col10&quot;&gt; are you kidding? &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; IE7 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; via Flash &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; via Flash &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col7&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col8&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col9&quot;&gt; no &lt;/td&gt;&lt;td class=&quot;col10&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; IE8 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; via Flash &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; via Flash &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col7&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col8&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col9&quot;&gt; no &lt;/td&gt;&lt;td class=&quot;col10&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; IE9 &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; –  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col7&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col8&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col9&quot;&gt; no &lt;/td&gt;&lt;td class=&quot;col10&quot;&gt; better than expected &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;strong&gt;Gecko&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col7&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col8&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col9&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col10&quot;&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; Firefox 3    &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; via Flash &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; via Flash &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col7&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col8&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col9&quot;&gt; no &lt;/td&gt;&lt;td class=&quot;col10&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Firefox &amp;gt;3.5 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; via Flash &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; via Flash &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col7&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col8&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col9&quot;&gt; no &lt;/td&gt;&lt;td class=&quot;col10&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Firefox 4 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; via Flash &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; via Flash &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col7&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col8&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col9&quot;&gt; no &lt;/td&gt;&lt;td class=&quot;col10 rightalign&quot;&gt;  quite cool &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Firefox 8 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; via Flash &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; via Flash &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col7&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col8&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col9&quot;&gt; no &lt;/td&gt;&lt;td class=&quot;col10 rightalign&quot;&gt;  quite cool &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;strong&gt;WebKit&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col7&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col8&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col9&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col10&quot;&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Chrome &amp;gt;15 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col7&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col8&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col9 rightalign&quot;&gt;  yes &lt;/td&gt;&lt;td class=&quot;col10 leftalign&quot;&gt; supercool     &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row14&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; Safari 4 (Mac &amp;amp; PC)  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; yes* &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; yes* &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col7&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col8&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col9 rightalign&quot;&gt;  no &lt;/td&gt;&lt;td class=&quot;col10&quot;&gt; * requires quicktime plugin &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row15&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; Safari 5 (Max &amp;amp; PC)  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; yes* &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; yes* &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col7&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col8&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col9 rightalign&quot;&gt;  yes &lt;/td&gt;&lt;td class=&quot;col10&quot;&gt; * requires quicktime plugin &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row16&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;strong&gt;Opera&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col7 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col8 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col9&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col10&quot;&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row17&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Opera 10.51 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; via Flash &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; via Flash &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col7&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col8&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col9&quot;&gt; no &lt;/td&gt;&lt;td class=&quot;col10&quot;&gt; Groovy &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row18&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;strong&gt;Mobile Devices&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col7&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col8&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col9&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col10&quot;&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row19&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; iPad (3.2)  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; yes  &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; impossible &lt;/td&gt;&lt;td class=&quot;col7&quot;&gt; impossible &lt;/td&gt;&lt;td class=&quot;col8&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col9 leftalign&quot;&gt; yes  &lt;/td&gt;&lt;td class=&quot;col10 leftalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row20&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; iPhone iOS 3+4 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; yes  &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; yes  &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; impossible &lt;/td&gt;&lt;td class=&quot;col7&quot;&gt; impossible &lt;/td&gt;&lt;td class=&quot;col8&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col9&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col10 leftalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row21&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; iPad iOS 3+4 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; yes  &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; yes  &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; not supported&lt;/td&gt;&lt;td class=&quot;col7&quot;&gt; not supported &lt;/td&gt;&lt;td class=&quot;col8&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col9&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col10 leftalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row22&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Android &amp;gt;2.x &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; – &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; yes  &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; yes  &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; not supported&lt;/td&gt;&lt;td class=&quot;col7&quot;&gt; not supported &lt;/td&gt;&lt;td class=&quot;col8&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col9&quot;&gt; yes &lt;/td&gt;&lt;td class=&quot;col10&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT156 TABLE [410-2219] --&gt;
&lt;/div&gt;
</description>
            <author>operator</author>
            <pubDate>Fri, 08 Mar 2013 12:25:30 +0200</pubDate>
        </item>
        <item>
            <title>Building Projekktor from Source - [The Models] </title>
            <link>http://www.projekktor.com/docs/build?rev=1362526734&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit157&quot; id=&quot;building_projekktor_from_source&quot;&gt;Building Projekktor from Source&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT157 SECTION &quot;Building Projekktor from Source&quot; [1-47] --&gt;
&lt;h3 class=&quot;sectionedit158&quot; id=&quot;general&quot;&gt;General&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Once you downloaded the player´s source you will find the script separated into multiple files. 
In order to get the un-compressed and un-merged Javascript running you need to include the mentioned files one
by one to your development page  or merge them into a single file. The most important trick is:
&lt;/p&gt;

&lt;p&gt;
&lt;div class=&quot;noteimportant&quot;&gt;Including / merging ALL files will fail. Also be aware that &lt;strong&gt;projekktor.js MUST BE INCLUDED FIRST&lt;/strong&gt; - after jQuery of course.
&lt;/div&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT158 SECTION &quot;General&quot; [48-523] --&gt;
&lt;h3 class=&quot;sectionedit159&quot; id=&quot;directory_structure&quot;&gt;Directory Structure&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The /js path of the repository holds four sub-directories:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; jQuery - Includes one or more incarnations of jQuery for testing purposes.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; controller - Holds the player´s core controller, models and basic tools.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; models - Holds, well, the playback models.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; plugins - Holds (not so) optional plugins.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; parsers - Some custom reel parser functions needed to convert incoming feed into the Projekktor playlist format. (coming up)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT159 SECTION &quot;Directory Structure&quot; [524-997] --&gt;
&lt;h3 class=&quot;sectionedit160&quot; id=&quot;the_controller_and_tools&quot;&gt;The Controller and Tools&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Projekktor´s controller is generated out of all /js/controller/projekktor.*.js files. 
Each of the following files is strictly obligatory. It´s vital to load projekktor.js first.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;projekktor.js - The player´s controller itself.&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;projekktor.config.js - The default configuration object with all available config parameters.&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;projekktor.utils.js - A set of more or less useful utility-functions used within the player.&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;projekktor.plugininterface.js - A basic plugin-prototype all plugins are extended from.&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT160 SECTION &quot;The Controller and Tools&quot; [998-1573] --&gt;
&lt;h3 class=&quot;sectionedit161&quot; id=&quot;the_models&quot;&gt;The Models&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The player models handle the content-playout itself. Some of them are obligatory, some are optional and some
will replace other ones depending on the setup.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;player.js - The model prototype - obligatory&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;player.NA.js - “Invalid File” dummdy model - obligatory&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; player.playlist.js - Allows to load a playlist from within a playlist - optional&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; player.audio.video.js - Native audio / video support - optional&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; player.audio.video.flash.js - Flash audio / video support featuring Jarisplayer - optional&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; player.jwflash.js - Flash audio / video support featuring JWplayer - replaces “player.audio.video.flash.js” - optional&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; player.youtube.js - Youtube &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; support - optional&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; player.image.html.js - Displays images and &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt; pages as regular content - optional&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT161 SECTION &quot;The Models&quot; [1574-2386] --&gt;
&lt;h3 class=&quot;sectionedit162&quot; id=&quot;the_default_plugins&quot;&gt;The Default Plugins&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; projekktor.display.js - holds the video / poster / image screen as well as the start button, the buffer icon and the logo. Not including this will make an extremely boring video player.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; projekktor.controlbar.js - the custom control bar&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT162 SECTION &quot;The Default Plugins&quot; [2387-2665] --&gt;
&lt;h3 class=&quot;sectionedit163&quot; id=&quot;the_parsers&quot;&gt;The Parsers&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
(coming up)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT163 SECTION &quot;The Parsers&quot; [2666-] --&gt;</description>
            <author>operator</author>
            <pubDate>Wed, 06 Mar 2013 00:38:54 +0200</pubDate>
        </item>
        <item>
            <title>Player Events</title>
            <link>http://www.projekktor.com/docs/events?rev=1361798597&amp;do=diff</link>
            <description>
&lt;h2 class=&quot;sectionedit164&quot; id=&quot;player_events&quot;&gt;Player Events&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
This documentation applies to player version V0.8.x and higher.
Please refer to &lt;a href=&quot;http://www.projekktor.com/docs/api#instantiation&quot; class=&quot;wikilink1&quot; title=&quot;api&quot;&gt;API, section Instantiation&lt;/a&gt; in order to learn how to add and remove listeners.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;scheduleloading&quot;&gt;scheduleLoading&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggered in case of an &lt;abbr title=&quot;Asynchronous JavaScript and XML&quot;&gt;AJAX&lt;/abbr&gt; call fetching an external playlist from server has been initiated 
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;schedulemodified&quot;&gt;scheduleModified&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Fired whenever an item has been added to or removed from schedule after the player has been initialized successfully.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;scheduled&quot;&gt;scheduled&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The initial scheduling process has finished and the player is ready for action.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;configmodified&quot;&gt;configModified&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Fired if player configuration has been altered as the result of an &lt;abbr title=&quot;Asynchronous JavaScript and XML&quot;&gt;AJAX&lt;/abbr&gt; call (e.g. in conjunction with “schduleLoading”).
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;item_itemindex&quot;&gt;item (itemIndex)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggered once a new item got the “current” focus.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;displayready&quot;&gt;displayReady&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggered as soon as the media display for the current item has been successfully initialized. May result in a poster-image or media playback.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;pluginsready&quot;&gt;pluginsReady&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggered as soon as all plugins are ready to go for the current item.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;ready&quot;&gt;ready&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggered as soon as the player is ready for action and ready to play the current item. This is the case after “displayReady” and “pluginsReady” has been fired. Depending on “autostart” or “continuous” config this may either result in an IDLE or a PLAYING state.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;start&quot;&gt;start&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The media playback started and the first frame has been displayed.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;state_string&quot;&gt;state (string)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggered when ever the state of the current playback component changes to one of the following:
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;possible_states&quot;&gt;possible states&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
&lt;strong&gt;IDLE&lt;/strong&gt;
The playback component is waiting for user-interaction and has not started playback yet. Usually a poster-image is shown at this state.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;AWAKENING&lt;/strong&gt;
The playback component initializes for a new session. This may be either if “autoplay” is FALSE and the user clicked “start” or the player is configured to AUTOPLAY and starts automatically.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;STARTING&lt;/strong&gt;
The playback component has been successfully initialized and synchronized and will begin playback shortly.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;PLAYING&lt;/strong&gt;
The playback component is currently playing (SNAFU).
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;PAUSED&lt;/strong&gt;
The playback component has been paused by the user or via an external &lt;abbr title=&quot;JavaScript&quot;&gt;JS&lt;/abbr&gt; &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; call.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;STOPPED&lt;/strong&gt;
The playback component has stopped playing either because of user-interaction or close of the corresponding browser window.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;COMPLETED&lt;/strong&gt;
The current media item has been played back completely.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;ERROR&lt;/strong&gt;
An error occured.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;DESTROYING&lt;/strong&gt;
The playback component is being removed from the &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt; and all connections to the controller are being cut.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;buffer_string&quot;&gt;buffer (string)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggered when ever the buffer-state of the current playback component changed.
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;possible_states1&quot;&gt;possible states&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
&lt;strong&gt;EMPTY&lt;/strong&gt;
The buffer under-run, the playback component has been paused and new media data is being buffered. 
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;FULL&lt;/strong&gt;
Enough data has been buffered in order to play the current media item back.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;volume_currentvolumefloat&quot;&gt;volume (currentVolume:float)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggered on change of volume of the current playback component. Is also triggered during the playback component´s initialization process.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;mute&quot;&gt;mute&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Fired once the player gets muted (volume equal 0).
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;unmute&quot;&gt;unmute&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Fired once the player gets unmuted (volume gets adjusted from 0 to &amp;gt;0).
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;resume&quot;&gt;resume&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Fired once the current media continues playback after a prior “PAUSED” state.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;time_float&quot;&gt;time (float)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Continuously triggered during change of play-head position but at a maximum of a 500 millisecond interval.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;progress_float&quot;&gt;progress (float)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Continuously triggered during change of buffer-load but at a maximum of a 500 millisecond interval. Will stop once the media file has been completely buffered or became available for random-seeking.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;firstquartile_midpoint_thirdquartile_void&quot;&gt;firstquartile, midpoint, thirdquartile (void)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The playhead passed the 1st, 2nd (midpoint) or 3rd quartile of the overall media duration for the very first time. Use “start”-event or “completed” state to track the missing cornerstones.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;seek_float&quot;&gt;seek (float)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The user or a script sent the “setSeek” command and the player component does everything necessary in order to continue playback from the specified position. 
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;fullscreen_boolean&quot;&gt;fullscreen (boolean)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggered whenever the player switches from or into fullscreen / full viewport mode.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;resize&quot;&gt;resize&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The document or the player itself has been resized.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;scale&quot;&gt;scale&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggered once the current media (video or image) has been scaled to fit the player dimensions.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;qualitychange&quot;&gt;qualityChange&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The playback-quality has been changed.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;detach&quot;&gt;detach&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The current playback component detached the actual media and destroyed itself successfully.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;mousemove&quot;&gt;mousemove&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The user moved the mouse while the pointer is over the player instance.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;mouseenter_mouseevent&quot;&gt;mouseenter (MouseEvent)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The user moved the mouse pointer over the player instance.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;leftclick_rightclick_middleclick_clickevent&quot;&gt;leftclick / rightclick / middleclick (Click:event)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
OBSOLETE &lt;del&gt;Triggered whenever the player either receives a left-, right- or middle- click.&lt;/del&gt;
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;mousedown_clickevent&quot;&gt;mousedown (ClickEvent)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggered on mouse click. Check ClickEvent.which to get the mouse button used.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;mouseleave_mouseevent&quot;&gt;mouseleave (MouseEvent)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The user moved the mouse beyond the borders of the player instance.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;key_keydownevent&quot;&gt;key (KeydownEvent)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The player instance has the focus and the user hit a key on keyboard (or remote control). Note that most keys (e.g. alphanumeric) will result in a keyCode equal 0 due to underlying security restrictions.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;done&quot;&gt;done&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggered if the current item is the last one scheduled and reached the “COMPLETED” state ⇒ “playlist completely played back”
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>operator</author>
            <pubDate>Mon, 25 Feb 2013 14:23:17 +0200</pubDate>
        </item>
        <item>
            <title>Display Plugin - [Config Options] </title>
            <link>http://www.projekktor.com/docs/plugins_display?rev=1359985009&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit165&quot; id=&quot;display_plugin&quot;&gt;Display Plugin&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT165 SECTION &quot;Display Plugin&quot; [1-31] --&gt;
&lt;h2 class=&quot;sectionedit166&quot; id=&quot;general&quot;&gt;General&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
This plugin features the media display, a buffering indicator and a logo-overlay.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT166 SECTION &quot;General&quot; [32-135] --&gt;
&lt;h2 class=&quot;sectionedit167&quot; id=&quot;install&quot;&gt;Install&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT167 SECTION &quot;Install&quot; [136-156] --&gt;
&lt;h3 class=&quot;sectionedit168&quot; id=&quot;scripts&quot;&gt;Scripts&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
This plugin is bundled to the official Projekktor distribution. No need to take care of any extras here.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT168 SECTION &quot;Scripts&quot; [157-281] --&gt;
&lt;h3 class=&quot;sectionedit169&quot; id=&quot;html&quot;&gt;HTML&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Nothing special here. If no container with the class ”&amp;lt;prefix&amp;gt;display” is available within the player´s dest. container the plugin will inject one.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT169 SECTION &quot;HTML&quot; [282-448] --&gt;
&lt;h3 class=&quot;sectionedit170&quot; id=&quot;css&quot;&gt;CSS&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The display container can be styled as you like. To make the display fill the whole player container the theme.css should feature something like this:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;.ppdisplay {
    position: relative !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;    
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT170 SECTION &quot;CSS&quot; [449-777] --&gt;
&lt;h2 class=&quot;sectionedit171&quot; id=&quot;configuration&quot;&gt;Configuration&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
….
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT171 SECTION &quot;Configuration&quot; [778-811] --&gt;
&lt;h3 class=&quot;sectionedit172&quot; id=&quot;config_options&quot;&gt;Config Options&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;

&lt;h4 id=&quot;displayclick_objectcallbacksetplaypause_valuenull&quot;&gt;displayClick (Object:{callback: &amp;#039;setPlayPause&amp;#039;, value: null}&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggeres “callback” in case the display area is being clicked while the player is in IDLE state. “callback” can either be a Projekktor &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; method or a custom function.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;displayplayingclick_objectcallbacksetplaypause_valuenull&quot;&gt;displayPlayingClick (Object:{callback: &amp;#039;setPlayPause&amp;#039;, value: null}&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggeres “callback” in case the display area is being clicked during media playback. “callback” can either be a Projekktor &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; method or a custom function.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;displaydblclick_objectcallbacknull_valuenull&quot;&gt;displayDblClick (Object:{callback: null, value: null}&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggeres “callback” in case the display area is beeing doubleClicked. “callback” can either be a Projekktor &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; method or a custom function.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;staticcontrols_booleanfalse&quot;&gt;staticControls(Boolean: false}&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
If “staticControls” is “true”, the media display is automatically scaled to full player height minus the height of the control bar generated by the &lt;a href=&quot;http://www.projekktor.com/docs/plugins_controlbar&quot; class=&quot;urlextern&quot; title=&quot;http://www.projekktor.com/docs/plugins_controlbar&quot;&gt;controlbar plugin|&lt;/a&gt; to avoid overlapping.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;buffericondelay_integer10000&quot;&gt;bufferIconDelay(Integer: 10000}&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Setting this to a value &amp;gt; 0 (milliseconds) will delay the appearance of the “buffering” indicator after the player sent the respective event. This is used to compensate possible flickering and assure a cleaner userexperience.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;spriteurl_string&quot;&gt;spriteUrl(String: &amp;#039;&amp;#039;}&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Usually the “buffericon” is an animated &lt;abbr title=&quot;Graphics Interchange Format&quot;&gt;GIF&lt;/abbr&gt; made visible via a background-image for the corresponding &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt; container. Unfortunately animated GIFs may have artefacts which don´t look good in case you want a transparent buffering icon. A transparent &lt;abbr title=&quot;Portable Network Graphics&quot;&gt;PNG&lt;/abbr&gt; is much cleaner but unfortunately not animatable cross-browser (APNG). You can “emulate” APNG by using a sprite which is animated via Projekktor.
&lt;/p&gt;

&lt;p&gt;
“spriteUrl” must point to a &lt;abbr title=&quot;Portable Network Graphics&quot;&gt;PNG&lt;/abbr&gt; featuring an animation-sequence represented by vertically stacked animation-frames. All frames must be of the same size. 
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;spritewidth_integer50&quot;&gt;spriteWidth(Integer: 50}&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The width of one icon animation frame.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;spriteheight_integer50&quot;&gt;spriteHeight(Integer: 50}&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The height of one icon animation frame
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;spritetiles_integer25&quot;&gt;spriteTiles(Integer: 25}&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Total amount of single animation frames featured in the &lt;abbr title=&quot;Portable Network Graphics&quot;&gt;PNG&lt;/abbr&gt; sprite set at “spriteUrl”.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;spriteoffset_integer1&quot;&gt;spriteOffset(Integer: 1}&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
If the single frames are separated by an empty space or any other kind of spacer you must provide the spacer´s height here.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;spritecountup_booleanfalse&quot;&gt;spriteCountUp(Boolean: false}&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Indicates if the &lt;abbr title=&quot;Portable Network Graphics&quot;&gt;PNG&lt;/abbr&gt; sprite is animated fom top to button (spriteCountUp = true) or from button to top (spriteCountUp = false).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT172 SECTION &quot;Config Options&quot; [812-] --&gt;</description>
            <author>operator</author>
            <pubDate>Mon, 04 Feb 2013 14:36:49 +0200</pubDate>
        </item>
        <item>
            <title>Controlbar Plugin - [Config Options] </title>
            <link>http://www.projekktor.com/docs/plugins_controlbar?rev=1358935614&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit173&quot; id=&quot;controlbar_plugin&quot;&gt;Controlbar Plugin&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT173 SECTION &quot;Controlbar Plugin&quot; [1-34] --&gt;
&lt;h2 class=&quot;sectionedit174&quot; id=&quot;general&quot;&gt;General&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
This plugin handles a couple of buttons and sliders to control the player.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT174 SECTION &quot;General&quot; [35-131] --&gt;
&lt;h2 class=&quot;sectionedit175&quot; id=&quot;install&quot;&gt;Install&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT175 SECTION &quot;Install&quot; [132-152] --&gt;
&lt;h3 class=&quot;sectionedit176&quot; id=&quot;scripts&quot;&gt;Scripts&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
This plugin is bundled to the official Projekktor distribution. No need to take care of any extras here. If you use a custom build make sure “projekktor.controlbar.js” and a “theme.css” is included to your page.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT176 SECTION &quot;Scripts&quot; [153-384] --&gt;
&lt;h3 class=&quot;sectionedit177&quot; id=&quot;html_css&quot;&gt;HTML / CSS&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Please check our &lt;a href=&quot;http://www.projekktor.com/docs/theming&quot; class=&quot;urlextern&quot; title=&quot;http://www.projekktor.com/docs/theming&quot;&gt;theming the player guide&lt;/a&gt; to learn more about the general principles here.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT177 SECTION &quot;HTML / CSS&quot; [385-542] --&gt;
&lt;h3 class=&quot;sectionedit178&quot; id=&quot;setup&quot;&gt;Setup&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
If you do NOT use the official Projekktor distro make sure you activate the plugin by adding it to the event dispatcher. To do so set “&lt;strong&gt;addplugins&lt;/strong&gt;” accordingly, e.g.:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;var player = projekktor(&amp;#039;#player_a&amp;#039;, {
   controls: true,
   autoplay: false,
   addplugins: [&amp;#039;controlbar&amp;#039;],
   playlist: [   
      {
         0: {src:&amp;#039;http://www.projekktor.com/video/mc.mp4&amp;#039;, type:&amp;quot;video/mp4&amp;quot;}
      }
   ]
});&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT178 SECTION &quot;Setup&quot; [543-978] --&gt;
&lt;h3 class=&quot;sectionedit179&quot; id=&quot;config_options&quot;&gt;Config Options&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
All config options described below are optional. 
&lt;/p&gt;

&lt;p&gt;
&lt;div class=&quot;noteclassic&quot;&gt;Options marked with an “*” have no effect in case you use the &lt;a href=&quot;http://www.projekktor.com/docs/theming#projekktor-izing_anything&quot; class=&quot;urlextern&quot; title=&quot;http://www.projekktor.com/docs/theming#projekktor-izing_anything&quot;&gt;Projekktorize my HTML principle&lt;/a&gt; (patent pending).
&lt;/div&gt;
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;designmode_booleanfalse&quot;&gt;designMode (Boolean: false}&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;del&gt;
Setting this to “true” prevents the buffer-indicator form fading out in order to make styling easier.&lt;/del&gt; Obsolete
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;disablefade_booleanfalse&quot;&gt;disableFade (Boolean: false} *&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;del&gt;If set “true” the controls-container won´t fade away after “fadeDelay” seconds but stay persistent during playback.&lt;/del&gt; Obsolete. Please alter the theme-&lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt; to keep the controlbar visible on “inactive” state (display: block;)
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;fadedelay_integer2500&quot;&gt;fadeDelay (Integer: 2500}&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Milliseconds to toggle control-bar´s state from “active” to “inactive” after last user-interaction (e.g. mousemove, keypress etc.pp.) and in case the container does not have the focus (e.g. mouseover).
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;showonstart_booleanfalse&quot;&gt;showOnStart (Boolean: false}&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Setting this to “true” will turn the controls-container “active” right after the player begins playback and turn it “inactive” automatically after “fadeDelay” milliseconds.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;showonidle_booleanfalse&quot;&gt;showOnIdle (Boolean: false}&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Turns the control-bar-container “active” right after the player initialized but no playback has yet started. This usually is the case while the “poster” is shown.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;showcuepoints_booleanfalse&quot;&gt;showCuePoints (Boolean: false)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
If enabled (and proper &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt; is set) cuePoint markers will be displayed on top of the scrubber-bar.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;controlstemplate_stringul_class_left_li_div_play_div_div__and_much_more&quot;&gt;controlsTemplate (String: &amp;#039;&amp;lt;ul class=&amp;quot;left&amp;quot;&amp;gt;&amp;lt;li&amp;gt;&amp;lt;div %{play}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div % ... and much more ...&amp;#039;) *&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
In case you do NOT use the &lt;a href=&quot;http://www.projekktor.com/docs/theming#projekktor-izing_anything&quot; class=&quot;urlextern&quot; title=&quot;http://www.projekktor.com/docs/theming#projekktor-izing_anything&quot;&gt;Projekktorize my HTML principle&lt;/a&gt; (patent pending) the plugin will apply the markup set here to the player automatically.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT179 SECTION &quot;Config Options&quot; [979-] --&gt;</description>
            <author>operator</author>
            <pubDate>Wed, 23 Jan 2013 11:06:54 +0200</pubDate>
        </item>
        <item>
            <title>Logo Plugin - [Config Options] </title>
            <link>http://www.projekktor.com/docs/plugins_logo?rev=1354293227&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit180&quot; id=&quot;logo_plugin&quot;&gt;Logo Plugin&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT180 SECTION &quot;Logo Plugin&quot; [1-28] --&gt;
&lt;h2 class=&quot;sectionedit181&quot; id=&quot;general&quot;&gt;General&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
This plugin adds an image overlay to the player´s video display to be used for branding. The image is click able and can be configured for each playlist item individually. It is possible to define a time-offset to delay appearance of the image according to the current playhead position.
&lt;/p&gt;

&lt;p&gt;
This plugin implements a functionality formerly built into the download bundle of Projekktor.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://shop.projekktorxl.com/shop/logo-overlay/&quot; class=&quot;urlextern&quot; title=&quot;http://shop.projekktorxl.com/shop/logo-overlay/&quot;&gt;Get it here.&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT181 SECTION &quot;General&quot; [29-501] --&gt;
&lt;h2 class=&quot;sectionedit182&quot; id=&quot;install&quot;&gt;Install&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT182 SECTION &quot;Install&quot; [502-522] --&gt;
&lt;h3 class=&quot;sectionedit183&quot; id=&quot;scripts&quot;&gt;Scripts&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Load “porjekktor.logo.js” into the head of your page and activate the plugin by stetting “addplugin” accordingly.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT183 SECTION &quot;Scripts&quot; [523-656] --&gt;
&lt;h3 class=&quot;sectionedit184&quot; id=&quot;html&quot;&gt;HTML&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
This plugin does not require any additional markup.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT184 SECTION &quot;HTML&quot; [657-726] --&gt;
&lt;h3 class=&quot;sectionedit185&quot; id=&quot;css&quot;&gt;CSS&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The plugin adds an &amp;lt;img/&amp;gt; to the player´s &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt; holding the configured image &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; as &amp;#039;src&amp;#039; attribute. It gets the class &amp;lt;prefix&amp;gt;logo (“pplogo” per default). The additional classes “active” and “inactive” are added dynamically in order to reflect the configured delay.
&lt;/p&gt;

&lt;p&gt;
The following example &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt; uses transitions in order to provide a fancy fade-in/fade-out effect:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;.pplogo {
    position: absolute;
    top: 2%;
    left: 2%;
}


img.pplogo.inactive {
    -moz-opacity: 0;
    -khtml-opacity: 0;
    opacity: 0;
    -webkit-transition: opacity 1.0s linear;
    -moz-transition: opacity 1.0s linear;
    -o-transition: opacity 1.0s linear;
    transition: opacity 1.0s linear;      
}

img.pplogo.active {
    -moz-opacity: 1;
    -khtml-opacity: 1;
    opacity: 1;
    -webkit-transition: opacity 1.0s linear;
    -moz-transition: opacity 1.0s linear;
    -o-transition: opacity 1.0s linear;
    transition: opacity 1.0s linear;  
}
&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT185 SECTION &quot;CSS&quot; [727-1691] --&gt;
&lt;h2 class=&quot;sectionedit186&quot; id=&quot;configuration&quot;&gt;Configuration&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT186 SECTION &quot;Configuration&quot; [1692-1719] --&gt;
&lt;h3 class=&quot;sectionedit187&quot; id=&quot;config_options&quot;&gt;Config Options&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
This plugin features the following config-parameters:
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;image_string&quot;&gt;image (String:&amp;#039;&amp;#039;)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The full &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; to the image resource to be loaded as logo/watermark. If empty ⇒ no fun.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;delay_integer1&quot;&gt;delay (Integer:1)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Seconds to delay the activation of the logo container. Will also define the negative offset in relation to the total runtime of the video. E.g.: A value of “1” will activate the logo one second after the video has started and deactivate it one second before the video ends.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;logoclick_functionfunction_player&quot;&gt;logoClick (function:function(player){})&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Providing a callback function here the logo becomes clickable. On click this function will be triggered.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT187 SECTION &quot;Config Options&quot; [1720-] --&gt;</description>
            <author>operator</author>
            <pubDate>Fri, 30 Nov 2012 17:33:47 +0200</pubDate>
        </item>
        <item>
            <title>Plugins</title>
            <link>http://www.projekktor.com/docs/plugins?rev=1354120648&amp;do=diff</link>
            <description>
&lt;h2 class=&quot;sectionedit188&quot; id=&quot;plugins&quot;&gt;Plugins&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT188 SECTION &quot;Plugins&quot; [2-23] --&gt;
&lt;h3 class=&quot;sectionedit189&quot; id=&quot;general&quot;&gt;General&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Projekktor plug-ins are (optional) components extending the basic player´s functionality, behavior and / or look. They can be applied to one, more or all player instances and at any time during player instantiation. All Projekktor plug-ins consist of at least one Javascript file and sometimes an additional &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt; featuring a basic demo-style. Some plug-ins require additional &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt; markup either within the page or the player itself.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT189 SECTION &quot;General&quot; [24-478] --&gt;
&lt;h3 class=&quot;sectionedit190&quot; id=&quot;setup&quot;&gt;Setup&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Plugins have unique, single word names, e.g. “share”, “related”. The plugin files are named accordingly following this namescheme: projekktor.&amp;lt;plugin name&amp;gt;.&amp;lt;extention&amp;gt;, e.g. “projekktor.share.js”, “projekktor.share.css” etc. pp.
&lt;/p&gt;

&lt;p&gt;
To activate a plugin all *.&lt;abbr title=&quot;JavaScript&quot;&gt;JS&lt;/abbr&gt; and *.&lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt; files coming with the plugin-archive must be correctly included into the page in question and possibly required &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt; markups must be copy and pasted from an existing projekktor.&amp;lt;pluginname&amp;gt;.html - file into the player´s &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt; or the page´s body.
&lt;/p&gt;

&lt;p&gt;
Additionally the player has to learn which plugin(s) should be fired with events. To do so the plugin´s name must be added to the “&lt;strong&gt;addplugins&lt;/strong&gt;”-config array, e.g. to activate the “related” plugin you hack : 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;var player = projekktor(&amp;#039;#player_a&amp;#039;, {
   controls: true,
   autoplay: false,
   addplugins: [&amp;#039;related&amp;#039;],
   playlist: [   
      {
         0: {src:&amp;#039;demovideo.mp4&amp;#039;, type:&amp;quot;video/mp4&amp;quot;},
      }
   ]
});&lt;/pre&gt;

&lt;p&gt;
The plugin´s name is also relevant to address plugin specific configuration. Once a plugin has been added via “addplugins” the player eats additional config-objects named by the plugin and  prefixed with “plugin_”. E.g. below, note the “plugin_related” object (on &lt;a href=&quot;http://www.projekktor.com/docs/configuration#general&quot; class=&quot;wikilink1&quot; title=&quot;configuration&quot;&gt;player leve&lt;/a&gt;l configuration):
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;var player = projekktor(&amp;#039;#player_a&amp;#039;, {
   controls: true,
   autoplay: false,
   addplugins: [&amp;#039;related&amp;#039;],
   playlist: [   
      {
         0: {src:&amp;#039;http://www.projekktor.com/video/mc.mp4&amp;#039;, type:&amp;quot;video/mp4&amp;quot;},
      }
   ],
   plugin_related: {
       related: {
            enabled: true,
            title: &amp;#039;Related Videos&amp;#039;,
            items: [
                {poster: &amp;#039;./videoposter1.jpg&amp;#039;, url: &amp;#039;http://www.yoursite.com/vid1&amp;#039;, title:&amp;#039;Title 1&amp;#039;},
                {poster: &amp;#039;./videoposter2.jpg&amp;#039;, url: &amp;#039;http://www.yoursite.com/vid2&amp;#039;, title:&amp;#039;Title 2&amp;#039;},
                {poster: &amp;#039;./videoposter3.jpg&amp;#039;, url: &amp;#039;http://www.yoursite.com/vid3&amp;#039;, title:&amp;#039;Title 3&amp;#039;}
            ]
       }
   }
});&lt;/pre&gt;

&lt;p&gt;
Please note that some plugins must be configured on &lt;a href=&quot;http://www.projekktor.com/docs/configuration#general&quot; class=&quot;wikilink1&quot; title=&quot;configuration&quot;&gt;item-level&lt;/a&gt; why most are configured on &lt;a href=&quot;http://www.projekktor.com/docs/configuration#general&quot; class=&quot;wikilink1&quot; title=&quot;configuration&quot;&gt;player level&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT190 SECTION &quot;Setup&quot; [479-2626] --&gt;
&lt;h3 class=&quot;sectionedit191&quot; id=&quot;available_plugins&quot;&gt;Available Plugins&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT191 SECTION &quot;Available Plugins&quot; [2627-2655] --&gt;
&lt;h3 class=&quot;sectionedit192&quot; id=&quot;a&quot;&gt;A&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/plugins_audioslideshow&quot; class=&quot;wikilink1&quot; title=&quot;plugins_audioslideshow&quot;&gt;Audio Slideshow&lt;/a&gt; - Create media synchronized image slideshows. This plugin also  features a nifty image slider.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT192 SECTION &quot;A&quot; [2656-2810] --&gt;
&lt;h3 class=&quot;sectionedit193&quot; id=&quot;c&quot;&gt;C&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/plugins_controlbar&quot; class=&quot;wikilink1&quot; title=&quot;plugins_controlbar&quot;&gt;Controlbar&lt;/a&gt; &lt;img src=&quot;http://www.projekktor.com/docs/lib/images/smileys/icon_exclaim.gif&quot; class=&quot;icon&quot; alt=&quot;:!:&quot; /&gt; - Handles a couple of buttons and sliders to control the player. &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT193 SECTION &quot;C&quot; [2811-2931] --&gt;
&lt;h3 class=&quot;sectionedit194&quot; id=&quot;d&quot;&gt;D&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/plugins_display&quot; class=&quot;wikilink1&quot; title=&quot;plugins_display&quot;&gt;Display&lt;/a&gt; &lt;img src=&quot;http://www.projekktor.com/docs/lib/images/smileys/icon_exclaim.gif&quot; class=&quot;icon&quot; alt=&quot;:!:&quot; /&gt; - This plugin features the media display, a buffering indicator and a logo-overlay. &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT194 SECTION &quot;D&quot; [2932-3067] --&gt;
&lt;h3 class=&quot;sectionedit195&quot; id=&quot;l&quot;&gt;L&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/plugins_logo&quot; class=&quot;wikilink1&quot; title=&quot;plugins_logo&quot;&gt;Logo&lt;/a&gt; - Adds an ordinary, clickable image overlay to the player´s display to be used as watermark, logo or whatever.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT195 SECTION &quot;L&quot; [3068-3219] --&gt;
&lt;h3 class=&quot;sectionedit196&quot; id=&quot;p&quot;&gt;P&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/plugins_postertitle&quot; class=&quot;wikilink1&quot; title=&quot;plugins_postertitle&quot;&gt;Postertitle&lt;/a&gt; - Adds the title of the currently IDLEing video over the poster image. Fades out on mouseout.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT196 SECTION &quot;P&quot; [3220-3367] --&gt;
&lt;h3 class=&quot;sectionedit197&quot; id=&quot;r&quot;&gt;R&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/plugins_related&quot; class=&quot;wikilink1&quot; title=&quot;plugins_related&quot;&gt;Related&lt;/a&gt; - Adds a post-roll panel which shows thumbnails of related or recommended videos. Also features a “replay” button and optional sharing features.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT197 SECTION &quot;R&quot; [3368-3558] --&gt;
&lt;h3 class=&quot;sectionedit198&quot; id=&quot;s&quot;&gt;S&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/plugins_share&quot; class=&quot;wikilink1&quot; title=&quot;plugins_share&quot;&gt;Share&lt;/a&gt; - Adds social share buttons to the video display, per default those are: facebook, twitter. Links can be easily added, removed and altered by config parameters. It also promotes the embed-code for iframed players.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT198 SECTION &quot;S&quot; [3559-3814] --&gt;
&lt;h3 class=&quot;sectionedit199&quot; id=&quot;t&quot;&gt;T&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/plugins_tracking&quot; class=&quot;wikilink1&quot; title=&quot;plugins_tracking&quot;&gt;Tracking&lt;/a&gt; - Allows tracking of all player events and states plus some additional client information by any pixel-image based tracker.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/plugins_tracks&quot; class=&quot;wikilink1&quot; title=&quot;plugins_tracks&quot;&gt;Tracks&lt;/a&gt; - Implements cross-browser interpretation of the HTML5 &amp;lt;tracks&amp;gt;-element to provide subtitles and closed captions. Eats DXFP and SRT / webVTT formatted data feeds. &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT199 SECTION &quot;T&quot; [3815-4182] --&gt;
&lt;h3 class=&quot;sectionedit200&quot; id=&quot;v&quot;&gt;V&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/plugins_vast&quot; class=&quot;wikilink1&quot; title=&quot;plugins_vast&quot;&gt;VAST / IMA&lt;/a&gt; - Reads VAST 1.0 and VAST 2.0 feeds. Supports pre-roll-, overlay- and companion- ads plus relevant tracking. Approved by Smartclip and Google.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;div class=&quot;noteimportant&quot;&gt;Plugins marked with &lt;img src=&quot;http://www.projekktor.com/docs/lib/images/smileys/icon_exclaim.gif&quot; class=&quot;icon&quot; alt=&quot;:!:&quot; /&gt; are built into the official Projekktor releases.
&lt;/div&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT200 SECTION &quot;V&quot; [4183-] --&gt;</description>
            <author>operator</author>
            <pubDate>Wed, 28 Nov 2012 17:37:28 +0200</pubDate>
        </item>
        <item>
            <title>Share Plugin - [CSS] </title>
            <link>http://www.projekktor.com/docs/plugins_share?rev=1354120482&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit201&quot; id=&quot;share_plugin&quot;&gt;Share Plugin&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT201 SECTION &quot;Share Plugin&quot; [1-28] --&gt;
&lt;h2 class=&quot;sectionedit202&quot; id=&quot;general&quot;&gt;General&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Adds social share buttons to the video display - Facebook and Twitter by default. Links can be easily added, removed and altered by config parameters. It also promotes the embed-code for iframed players.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://shop.projekktorxl.com/shop/share/&quot; class=&quot;urlextern&quot; title=&quot;http://shop.projekktorxl.com/shop/share/&quot;&gt;Get it here.&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT202 SECTION &quot;General&quot; [29-314] --&gt;
&lt;h2 class=&quot;sectionedit203&quot; id=&quot;install&quot;&gt;Install&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT203 SECTION &quot;Install&quot; [315-335] --&gt;
&lt;h3 class=&quot;sectionedit204&quot; id=&quot;scripts&quot;&gt;Scripts&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Load “porjekktor.share.js” into the head of your page and activate the plugin by stetting “addplugin” accordingly.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT204 SECTION &quot;Scripts&quot; [336-470] --&gt;
&lt;h3 class=&quot;sectionedit205&quot; id=&quot;html&quot;&gt;HTML&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
This plugin does not require any additional markup.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT205 SECTION &quot;HTML&quot; [471-540] --&gt;
&lt;h3 class=&quot;sectionedit206&quot; id=&quot;css&quot;&gt;CSS&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
To understand the example &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt; which comes with plugin below please find the &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt;-markup the plugin dynamically injects into the player-&lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt;:
&lt;/p&gt;

&lt;p&gt;
This part of the markup represents the “social bar” which holds the different share-buttons:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;div class=&amp;quot;ppsocialbar inactive&amp;quot; data-pp-share-func=&amp;quot;container&amp;quot;&amp;gt;
    &amp;lt;div class=&amp;quot;ppsocialbutton ppembed&amp;quot;&amp;gt;embed&amp;lt;/div&amp;gt;
    &amp;lt;div class=&amp;quot;ppsocialbutton pptwitter&amp;quot;&amp;gt;Twitter&amp;lt;/div&amp;gt;
    &amp;lt;div class=&amp;quot;ppsocialbutton ppfacebook&amp;quot;&amp;gt;Facebook&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/pre&gt;

&lt;p&gt;
The following represents the popup-window which comes up once the “embed” button is available and has been clicked:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;div class=&amp;quot;ppsocialpopup inactive&amp;quot; data-pp-share-func=&amp;quot;popup&amp;quot;&amp;gt;
   &amp;lt;p&amp;gt;This is the embed (...)&amp;lt;/p&amp;gt;
   &amp;lt;p&amp;gt;Copy this:&amp;lt;/p&amp;gt;
   &amp;lt;textarea readonly=&amp;quot;readonly&amp;quot;&amp;gt;&amp;lt;/textarea&amp;gt;
   &amp;lt;a&amp;gt;Close Window&amp;lt;/a&amp;gt;
&amp;lt;/div&amp;gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT206 SECTION &quot;CSS&quot; [541-1371] --&gt;
&lt;h2 class=&quot;sectionedit207&quot; id=&quot;configuration&quot;&gt;Configuration&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT207 SECTION &quot;Configuration&quot; [1372-1399] --&gt;
&lt;h3 class=&quot;sectionedit208&quot; id=&quot;config_options&quot;&gt;Config Options&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
This plugin features the following config-parameters:
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;fadedelay_integer1800&quot;&gt;fadedelay (Integer:1800)&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Milliseconds to delay fadeout of the social-bar after player losses focus.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;embed_objectsee_below&quot;&gt;embed (Object:{..see below..})&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
This object allows to i18n the texts of the popup holding the embed code (&lt;em&gt;headlineText&lt;/em&gt;, &lt;em&gt;closeText&lt;/em&gt;, &lt;em&gt;descText&lt;/em&gt;) and the embed- &lt;em&gt;code&lt;/em&gt; itself. If you customize the embed-code you can use the following placeholders which are dynamically replaced by the respective data:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{embedid} - A randomly generated 8 digit alpha-string.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{playerurl} - The &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; of the iframe holding the player including its hash.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{ID} - The ID of the currently playing playlist-item as configured in the player´s playlist.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;{
    code:           &amp;#039;&amp;lt;&amp;#039;+&amp;#039;if&amp;#039;+&amp;#039;rame id=&amp;quot;%{embedid}&amp;quot; src=&amp;quot;%{playerurl}#%{ID}&amp;quot; width=&amp;quot;640&amp;quot; height=&amp;quot;385&amp;quot; frameborder=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;&amp;#039;+&amp;#039;/if&amp;#039;+&amp;#039;rame&amp;gt;&amp;#039;,
    buttonText:     &amp;#039;embed&amp;#039;,
    headlineText:   &amp;#039;Copy this:&amp;#039;,
    closeText:      &amp;#039;Close Window&amp;#039;,
    descText:       &amp;#039;This is the embed code for the current video which supports iPad, iPhone, Flash and native players.&amp;#039;
}&lt;/pre&gt;

&lt;/div&gt;

&lt;h4 id=&quot;links_objectsee_below&quot;&gt;links (Object:{..see below..})&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
This objects holds a collection of config-objects defining the links you want to provide. The keys (e.g. &lt;em&gt;twitter&lt;/em&gt;, &lt;em&gt;facebook&lt;/em&gt;) are used as internal identifiers and classnames for the corresponding buttons. “buttonText” defines the onscreen text while ”&lt;em&gt;text&lt;/em&gt;” defines the text to be pumped into ”&lt;em&gt;code&lt;/em&gt;”. While hacking the &lt;em&gt;code&lt;/em&gt; you can use two placeholders:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{pageurl} - Will be replaced by the page &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; the current player is embedded into.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{text} -  Will be replaced by the escaped version of the text defined above.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;#039;twitter&amp;#039;: {
    buttonText: &amp;#039;Twitter&amp;#039;,
    text:       &amp;#039;I found a cool HTML5 video player. Check this out: http://www.projekktor.com&amp;#039;,
    code:       &amp;#039;http://twitter.com/share?url=%{pageurl}&amp;amp;text=%{text}&amp;amp;via=projekktor&amp;#039;       
},

&amp;#039;facebook&amp;#039;:{
    buttonText: &amp;#039;Facebook&amp;#039;,
    text:       &amp;#039;I found a cool HTML5 video player. Check this out: http://www.projekktor.com&amp;#039;,     
    code:       &amp;#039;http://www.facebook.com/sharer.php?u=%{pageurl}&amp;amp;t=%{text}&amp;#039;     
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT208 SECTION &quot;Config Options&quot; [1400-] --&gt;</description>
            <author>operator</author>
            <pubDate>Wed, 28 Nov 2012 17:34:42 +0200</pubDate>
        </item>
        <item>
            <title>Postertitle Plugin - [General] </title>
            <link>http://www.projekktor.com/docs/plugins_postertitle?rev=1353933966&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit209&quot; id=&quot;postertitle_plugin&quot;&gt;Postertitle Plugin&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT209 SECTION &quot;Postertitle Plugin&quot; [1-35] --&gt;
&lt;h2 class=&quot;sectionedit210&quot; id=&quot;general&quot;&gt;General&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Adds the title of the currently IDLEing media item to the poster screen. Fades out on mouseout.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://shop.projekktorxl.com/shop/poster-title/&quot; class=&quot;urlextern&quot; title=&quot;http://shop.projekktorxl.com/shop/poster-title/&quot;&gt;Get it here.&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT210 SECTION &quot;General&quot; [36-218] --&gt;
&lt;h2 class=&quot;sectionedit211&quot; id=&quot;install&quot;&gt;Install&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT211 SECTION &quot;Install&quot; [219-239] --&gt;
&lt;h3 class=&quot;sectionedit212&quot; id=&quot;scripts&quot;&gt;Scripts&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Load “porjekktor.postertitle.js” into the head of your page and activate the plugin by stetting “addplugin” accordingly.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT212 SECTION &quot;Scripts&quot; [240-380] --&gt;
&lt;h3 class=&quot;sectionedit213&quot; id=&quot;html&quot;&gt;HTML&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
This plugin does not require any additional markup.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT213 SECTION &quot;HTML&quot; [381-450] --&gt;
&lt;h3 class=&quot;sectionedit214&quot; id=&quot;css&quot;&gt;CSS&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The plugin adds an additional DIV-container to the player´s &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt; holding the title-string. It get the class &amp;lt;cssprefix&amp;gt;postertitle (“pppostertitle” per default). The additional classes “active” and “inactive” are added according to the current state.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT214 SECTION &quot;CSS&quot; [451-718] --&gt;
&lt;h2 class=&quot;sectionedit215&quot; id=&quot;configuration&quot;&gt;Configuration&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT215 SECTION &quot;Configuration&quot; [719-746] --&gt;
&lt;h3 class=&quot;sectionedit216&quot; id=&quot;config_options&quot;&gt;Config Options&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
This plugin doesn´t feature any config options.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT216 SECTION &quot;Config Options&quot; [747-] --&gt;</description>
            <author>operator</author>
            <pubDate>Mon, 26 Nov 2012 13:46:06 +0200</pubDate>
        </item>
        <item>
            <title>Audio Slideshow Plugin - [General] </title>
            <link>http://www.projekktor.com/docs/plugins_audioslideshow?rev=1353933940&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit217&quot; id=&quot;audio_slideshow_plugin&quot;&gt;Audio Slideshow Plugin&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT217 SECTION &quot;Audio Slideshow Plugin&quot; [1-37] --&gt;
&lt;h2 class=&quot;sectionedit218&quot; id=&quot;general&quot;&gt;General&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
The Audio Slideshow plugin generates time-index controlled image slideshows. Hence it allows to illustrate any sort of audio e.g. interviews, dramas and report pieces.
&lt;/p&gt;

&lt;p&gt;
The plugin is very easy to setup, style and integrates seamlessly into existing Projekktor installations.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://shop.projekktorxl.com/shop/html5-audioslideshow/&quot; class=&quot;urlextern&quot; title=&quot;http://shop.projekktorxl.com/shop/html5-audioslideshow/&quot;&gt;Get it here.&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT218 SECTION &quot;General&quot; [38-407] --&gt;
&lt;h2 class=&quot;sectionedit219&quot; id=&quot;install&quot;&gt;Install&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT219 SECTION &quot;Install&quot; [408-428] --&gt;
&lt;h3 class=&quot;sectionedit220&quot; id=&quot;scripts&quot;&gt;Scripts&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The plugin comes with one &lt;abbr title=&quot;JavaScript&quot;&gt;JS&lt;/abbr&gt; file (projekktor.audioslideshow.js) which needs to be included to your page.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT220 SECTION &quot;Scripts&quot; [429-553] --&gt;
&lt;h3 class=&quot;sectionedit221&quot; id=&quot;html&quot;&gt;HTML&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The plugin requires additional &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt;-Markup which must be present prior player initialization. The plugin is shipped with a file called “projekktor.audioslideshow.html” for further references.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;!-- THE PLAYER --&amp;gt;
&amp;lt;div class=&amp;quot;projekktor audio&amp;quot; id=&amp;quot;player2&amp;quot; style=&amp;quot;width: 576px; height: 250px; margin: 15px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;

&amp;lt;!-- THUMB CONVEYOR --&amp;gt;
&amp;lt;div class=&amp;quot;ppsliderwrapper&amp;quot;&amp;gt;
    &amp;lt;div class=&amp;quot;ppsliderconveyor&amp;quot; data-pp-audioslideshow-host=&amp;quot;player2&amp;quot; data-pp-audioslideshow-func=&amp;quot;conveyor&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;div class=&amp;quot;ppsliderprev&amp;quot; data-pp-audioslideshow-host=&amp;quot;player2&amp;quot; data-pp-audioslideshow-func=&amp;quot;prev&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;div class=&amp;quot;ppslidernext&amp;quot; data-pp-audioslideshow-host=&amp;quot;player2&amp;quot; data-pp-audioslideshow-func=&amp;quot;next&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;

&amp;lt;/div&amp;gt;


&amp;lt;!-- FULL SIZE IMAGE --&amp;gt;
&amp;lt;div class=&amp;quot;ppslidertitle&amp;quot; data-pp-audioslideshow-host=&amp;quot;player2&amp;quot; data-pp-audioslideshow-func=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;div class=&amp;quot;ppsliderimage&amp;quot; data-pp-audioslider-host=&amp;quot;player2&amp;quot; data-pp-audioslider-func=&amp;quot;canvas&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;

&lt;p&gt;
The &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt; classes can be set on your desire. This example uses &lt;a href=&quot;http://www.projekktor.com/docs/configuration#cssclassprefix_stringpp&quot; class=&quot;wikilink1&quot; title=&quot;configuration&quot;&gt;class-prefixes / namespace&lt;/a&gt; (“pp” per default) but this purely optional. Also the “ppsliderwrapper” container is just for some additional styling and not required for the plugin´s functionality.
&lt;/p&gt;

&lt;p&gt;
In the above example containers with assigned “data” are the important ones and all of them are optional.
&lt;/p&gt;

&lt;p&gt;
The following “&lt;strong&gt;data-pp-audioslideshow-func&lt;/strong&gt;” values are interpreted:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; “prev” will become the “jump to previous image” button.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; “next” will become the “jump to next image” button.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; “conveyor” will be filled with the thumbnail slider. &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; “canvas” will be used as canvas for the full sized version of active images. If this container is missing images will be displayed within the player´s display area.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; “title” will be filled with the active item´s title as set in the plugin-config.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
As you can have multiple audio sliders on one page you need to assign the discussed &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt; set to a specific player instance. This is done by using the “&lt;strong&gt;data-pp-audioslideshow-host&lt;/strong&gt;” attribute with which you can assign a player ID. In the given example the slider is tied to a Projekktor instance with the ID “player2”.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT221 SECTION &quot;HTML&quot; [554-2771] --&gt;
&lt;h3 class=&quot;sectionedit222&quot; id=&quot;css&quot;&gt;CSS&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The plugin comes with a very basic &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt; example (projekktor.audioslideshow.css). Nothing special here.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT222 SECTION &quot;CSS&quot; [2772-2888] --&gt;
&lt;h3 class=&quot;sectionedit223&quot; id=&quot;setup&quot;&gt;Setup&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The Audio Slides extension needs to get installed as a plugin as described &lt;a href=&quot;http://www.projekktor.com/docs/plugins#setup&quot; class=&quot;wikilink1&quot; title=&quot;plugins&quot;&gt;here&lt;/a&gt;. Basically this will look like this:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;var player = projekktor(&amp;#039;#player_a&amp;#039;, {
   controls: true,
   autoplay: false,
   addplugins: [&amp;#039;controlbar&amp;#039;],
   playlist: [   
      {
         0: {src:&amp;#039;http://www.projekktor.com/video/mc.mp4&amp;#039;, type:&amp;quot;video/mp4&amp;quot;}
      }
   ]
});&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT223 SECTION &quot;Setup&quot; [2889-3289] --&gt;
&lt;h3 class=&quot;sectionedit224&quot; id=&quot;config_options&quot;&gt;Config Options&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;

&lt;h4 id=&quot;images_array&quot;&gt;images (Array: [])&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Images holds an array of objects. Each of those objects requires four properties to be set:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; src_pre - &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; to a preview image (thumbnail) to add to the conveyor area.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; src - &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; to the full size version of the image as to display in the audio-slide canvas area.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; title - The image´s title.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; on - A string representing the human readable time-index to trigger focusing of the respective image.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;plugin_audioslideshow: {
	images: [
        {src_pre: &amp;#039;images/t1.jpg&amp;#039;, src: &amp;#039;images/t1-big.jpg&amp;#039;, on: &amp;#039;00:00:02&amp;#039;, title: &amp;#039;Oh long and dark the stairs I trod,&amp;#039;},
        {src_pre: &amp;#039;images/t2.jpg&amp;#039;, src: &amp;#039;images/t2-big.jpg&amp;#039;, on: &amp;#039;00:00:14&amp;#039;, title: &amp;#039;with stumbling feet to find my God,&amp;#039;},
        {src_pre: &amp;#039;images/t3.jpg&amp;#039;, src: &amp;#039;images/t3-big.jpg&amp;#039;, on: &amp;#039;00:00:34&amp;#039;, title: &amp;#039;Gaining a foothold bit by bit&amp;#039;},
        {src_pre: &amp;#039;images/t4.jpg&amp;#039;, src: &amp;#039;images/t4-big.jpg&amp;#039;, on: &amp;#039;00:01:20&amp;#039;, title: &amp;#039;Then slipping back and losing it.&amp;#039;},       
        {src_pre: &amp;#039;images/t5.jpg&amp;#039;, src: &amp;#039;images/t5-big.jpg&amp;#039;, on: &amp;#039;00:01:55&amp;#039;, title: &amp;#039;There came a certain time when I&amp;#039;},
        {src_pre: &amp;#039;images/t6.jpg&amp;#039;, src: &amp;#039;images/t6-big.jpg&amp;#039;, on: &amp;#039;00:02:15&amp;#039;, title: &amp;#039;Loosened my hold and fell thereby,&amp;#039;},
        {src_pre: &amp;#039;images/t7.jpg&amp;#039;, src: &amp;#039;images/t7-big.jpg&amp;#039;, on: &amp;#039;00:02:45&amp;#039;, title: &amp;#039;Down to the lowest step my fall&amp;#039;},
        {src_pre: &amp;#039;images/t8.jpg&amp;#039;, src: &amp;#039;images/t8-big.jpg&amp;#039;, on: &amp;#039;00:03:10&amp;#039;, title: &amp;#039;As if I had not climbed at all.&amp;#039;},     
        {src_pre: &amp;#039;images/t9.jpg&amp;#039;, src: &amp;#039;images/t9-big.jpg&amp;#039;, on: &amp;#039;00:03:45&amp;#039;, title: &amp;#039;And as I lay despairing there,&amp;#039;},
        {src_pre: &amp;#039;images/t10.jpg&amp;#039;, src: &amp;#039;images/t10-big.jpg&amp;#039;, on: &amp;#039;00:04:10&amp;#039;, title: &amp;#039;there came a footfall on the stairs&amp;#039;},
        {src_pre: &amp;#039;images/t11.jpg&amp;#039;, src: &amp;#039;images/t11-big.jpg&amp;#039;, on: &amp;#039;00:04:40&amp;#039;, title: &amp;#039;And lo when hope had ceased to be&amp;#039;},
        {src_pre: &amp;#039;images/t12.jpg&amp;#039;, src: &amp;#039;images/t12-big.jpg&amp;#039;, on: &amp;#039;00:04:50&amp;#039;, title: &amp;#039;My God came down the stairs to me.&amp;#039;}    
    ]
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT224 SECTION &quot;Config Options&quot; [3290-5294] --&gt;
&lt;h3 class=&quot;sectionedit225&quot; id=&quot;related_plugins&quot;&gt;Related Plugins&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The “controlbar” plugin visualizes cue-points used for the audioslides. To toggle this you can use the “showCuePoints” parameter, e.g.:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;plugin_controlbar: {
     showCuePoints: true,
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT225 SECTION &quot;Related Plugins&quot; [5295-] --&gt;</description>
            <author>operator</author>
            <pubDate>Mon, 26 Nov 2012 13:45:40 +0200</pubDate>
        </item>
        <item>
            <title>Audio Slides Plugin - [Config Options] </title>
            <link>http://www.projekktor.com/docs/plugins_audioslides?rev=1346502878&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit226&quot; id=&quot;audio_slides_plugin&quot;&gt;Audio Slides Plugin&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;div class=&quot;notewarning&quot;&gt;DRAFT
&lt;/div&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT226 SECTION &quot;Audio Slides Plugin&quot; [1-63] --&gt;
&lt;h2 class=&quot;sectionedit227&quot; id=&quot;general&quot;&gt;General&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
The Audio Slideshow plugin generates time-index controlled image slideshows. Hence it allows to illustrate any sort of audio e.g. interviews, dramas and report pieces.
&lt;/p&gt;

&lt;p&gt;
The plugin is very easy to setup, style and integrates seamlessly into existing Projekktor installations.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT227 SECTION &quot;General&quot; [64-360] --&gt;
&lt;h2 class=&quot;sectionedit228&quot; id=&quot;install&quot;&gt;Install&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT228 SECTION &quot;Install&quot; [361-381] --&gt;
&lt;h3 class=&quot;sectionedit229&quot; id=&quot;scripts&quot;&gt;Scripts&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The plugin comes with one &lt;abbr title=&quot;JavaScript&quot;&gt;JS&lt;/abbr&gt; file (projekktor.audioslideshow.js) which needs to be included to your page.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT229 SECTION &quot;Scripts&quot; [382-506] --&gt;
&lt;h3 class=&quot;sectionedit230&quot; id=&quot;html&quot;&gt;HTML&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The plugin requires additional &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt;-Markup which must be present prior player initialization. The plugin is shipped with a file called “projekktor.audioslideshow.html” for further references.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;!-- THE PLAYER --&amp;gt;
&amp;lt;div class=&amp;quot;projekktor audio&amp;quot; id=&amp;quot;player2&amp;quot; style=&amp;quot;width: 576px; height: 250px; margin: 15px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;

&amp;lt;!-- THUMB CONVEYOR --&amp;gt;
&amp;lt;div class=&amp;quot;ppsliderwrapper&amp;quot;&amp;gt;
    &amp;lt;div class=&amp;quot;ppsliderconveyor&amp;quot; data-pp-audioslideshow-host=&amp;quot;player2&amp;quot; data-pp-audioslideshow-func=&amp;quot;conveyor&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;div class=&amp;quot;ppsliderprev&amp;quot; data-pp-audioslideshow-host=&amp;quot;player2&amp;quot; data-pp-audioslideshow-func=&amp;quot;prev&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;div class=&amp;quot;ppslidernext&amp;quot; data-pp-audioslideshow-host=&amp;quot;player2&amp;quot; data-pp-audioslideshow-func=&amp;quot;next&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;

&amp;lt;/div&amp;gt;


&amp;lt;!-- FULL SIZE IMAGE --&amp;gt;
&amp;lt;div class=&amp;quot;ppslidertitle&amp;quot; data-pp-audioslideshow-host=&amp;quot;player2&amp;quot; data-pp-audioslideshow-func=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;div class=&amp;quot;ppsliderimage&amp;quot; data-pp-audioslider-host=&amp;quot;player2&amp;quot; data-pp-audioslider-func=&amp;quot;canvas&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;

&lt;p&gt;
The &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt; classes can be set on your desire. This example uses &lt;a href=&quot;http://www.projekktor.com/docs/configuration#cssclassprefix_stringpp&quot; class=&quot;wikilink1&quot; title=&quot;configuration&quot;&gt;class-prefixes / namespace&lt;/a&gt; (“pp” per default) but this purely optional. Also the “ppsliderwrapper” container is just for some additional styling and not required for the plugin´s functionality.
&lt;/p&gt;

&lt;p&gt;
In the above example containers with assigned “data” are the important ones and all of them are optional.
&lt;/p&gt;

&lt;p&gt;
The following “&lt;strong&gt;data-pp-audioslideshow-func&lt;/strong&gt;” values are interpreted:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; “prev” will become the “jump to previous image” button.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; “next” will become the “jump to next image” button.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; “conveyor” will be filled with the thumbnail slider. &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; “canvas” will be used as canvas for the full sized version of active images. If this container is missing images will be displayed within the player´s display area.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; “title” will be filled with the active item´s title as set in the plugin-config.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
As you can have multiple audio sliders on one page you need to assign the discussed &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt; set to a specific player instance. This is done by using the “&lt;strong&gt;data-pp-audioslideshow-host&lt;/strong&gt;” attribute with which you can assign a player ID. In the given example the slider is tied to a Projekktor instance with the ID “player2”.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT230 SECTION &quot;HTML&quot; [507-2724] --&gt;
&lt;h3 class=&quot;sectionedit231&quot; id=&quot;css&quot;&gt;CSS&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The plugin comes with a very basic &lt;abbr title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/abbr&gt; example (projekktor.audioslideshow.css). Nothing special here.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT231 SECTION &quot;CSS&quot; [2725-2841] --&gt;
&lt;h3 class=&quot;sectionedit232&quot; id=&quot;setup&quot;&gt;Setup&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The Audio Slides extension needs to get installed as a plugin as described &lt;a href=&quot;http://www.projekktor.com/docs/plugins#setup&quot; class=&quot;wikilink1&quot; title=&quot;plugins&quot;&gt;here&lt;/a&gt;. Basically this will look like this:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;var player = projekktor(&amp;#039;#player_a&amp;#039;, {
   controls: true,
   autoplay: false,
   addplugins: [&amp;#039;controlbar&amp;#039;],
   playlist: [   
      {
         0: {src:&amp;#039;http://www.projekktor.com/video/mc.mp4&amp;#039;, type:&amp;quot;video/mp4&amp;quot;}
      }
   ]
});&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT232 SECTION &quot;Setup&quot; [2842-3242] --&gt;
&lt;h3 class=&quot;sectionedit233&quot; id=&quot;config_options&quot;&gt;Config Options&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;

&lt;h4 id=&quot;images_array&quot;&gt;images (Array: [])&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Images holds an array of objects. Each of those objects requires four properties to be set:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; src_pre - &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; to a preview image (thumbnail) to add to the conveyor area.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; src - &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; to the full size version of the image as to display in the audio-slide canvas area.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; title - The image´s title.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; on - A string representing the human readable time-index to trigger focusing of the respective image.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;                plugin_audioslides: {
                    images: [
                        {src_pre: &amp;#039;http://farm6.staticflickr.com/5002/5292903664_d834670a40_s.jpg&amp;#039;, src: &amp;#039;http://farm6.staticflickr.com/5002/5292903664_d834670a40.jpg&amp;#039;, on: &amp;#039;00:03&amp;#039;, title: &amp;#039;Goa 1&amp;#039;},
                        {src_pre: &amp;#039;http://farm6.staticflickr.com/5208/5292295427_3583e5f90c_s.jpg&amp;#039;, src: &amp;#039;http://farm6.staticflickr.com/5208/5292295427_3583e5f90c.jpg&amp;#039;, on: &amp;#039;00:14&amp;#039;, title: &amp;#039;Goa 2&amp;#039;},
                        {src_pre: &amp;#039;http://farm6.staticflickr.com/5002/5292747298_6758f7b847_s.jpg&amp;#039;, src: &amp;#039;http://farm6.staticflickr.com/5002/5292747298_6758f7b847.jpg&amp;#039;, on: &amp;#039;00:18&amp;#039;, title: &amp;#039;Goa 3&amp;#039;},
                        {src_pre: &amp;#039;http://farm6.staticflickr.com/5001/5296532040_4636267f4a_s.jpg&amp;#039;, src: &amp;#039;http://farm6.staticflickr.com/5001/5296532040_4636267f4a.jpg&amp;#039;, on: &amp;#039;00:20&amp;#039;, title: &amp;#039;Goa 4&amp;#039;},	    
                        {src_pre: &amp;#039;http://farm6.staticflickr.com/5050/5296537706_573db3443c_s.jpg&amp;#039;, src: &amp;#039;http://farm6.staticflickr.com/5050/5296537706_573db3443c.jpg&amp;#039;, on: &amp;#039;00:22&amp;#039;, title: &amp;#039;Goa 5&amp;#039;},
                        {src_pre: &amp;#039;http://farm6.staticflickr.com/5207/5296026757_fcda8fb50b_s.jpg&amp;#039;, src: &amp;#039;http://farm6.staticflickr.com/5207/5296026757_fcda8fb50b.jpg&amp;#039;, on: &amp;#039;00:25&amp;#039;, title: &amp;#039;Goa 6&amp;#039;},
                        {src_pre: &amp;#039;http://farm6.staticflickr.com/5290/5299481744_9c68e0f43f_s.jpg&amp;#039;, src: &amp;#039;http://farm6.staticflickr.com/5290/5299481744_9c68e0f43f.jpg&amp;#039;, on: &amp;#039;00:29&amp;#039;, title: &amp;#039;Goa 7&amp;#039;},
                        {src_pre: &amp;#039;http://farm6.staticflickr.com/5289/5299623458_313e63a732_s.jpg&amp;#039;, src: &amp;#039;http://farm6.staticflickr.com/5289/5299623458_313e63a732.jpg&amp;#039;, on: &amp;#039;00:30&amp;#039;, title: &amp;#039;Goa 8&amp;#039;},	    
                        {src_pre: &amp;#039;http://farm6.staticflickr.com/5281/5319016324_4faed43fdc_s.jpg&amp;#039;, src: &amp;#039;http://farm6.staticflickr.com/5281/5319016324_4faed43fdc.jpg&amp;#039;, on: &amp;#039;00:35&amp;#039;, title: &amp;#039;Goa 9&amp;#039;},
                        {src_pre: &amp;#039;http://farm6.staticflickr.com/5243/5320211422_3510e790d9_s.jpg&amp;#039;, src: &amp;#039;http://farm6.staticflickr.com/5243/5320211422_3510e790d9.jpg&amp;#039;, on: &amp;#039;00:55&amp;#039;, title: &amp;#039;Goa 10&amp;#039;}	 	    
                    ]
                }&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT233 SECTION &quot;Config Options&quot; [3243-] --&gt;</description>
            <author>operator</author>
            <pubDate>Sat, 01 Sep 2012 14:34:38 +0200</pubDate>
        </item>
        <item>
            <title>Using Playlists - [Asynchronously loaded Playlist Feeds] </title>
            <link>http://www.projekktor.com/docs/playlists?rev=1344349157&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit234&quot; id=&quot;using_playlists&quot;&gt;Using Playlists&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;div class=&quot;noteimportant&quot;&gt;This doc applies to V0.8.11 or higher
&lt;/div&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT234 SECTION &quot;Using Playlists&quot; [1-93] --&gt;
&lt;h3 class=&quot;sectionedit235&quot; id=&quot;general_for_developers&quot;&gt;General (for developers)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Projekktor has a built in playlist support. You may want to ignore this and - if required - do the all the schedule handling via the &lt;abbr title=&quot;JavaScript&quot;&gt;JS&lt;/abbr&gt; &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt;. That´s OK and the possibilities to handle this are legion. Basically its all about fetching the “COMPLETED” state of the playback component and re-instantiate a new Projekktor with new media URLs afterwards. This is common practise (with other products) and will work fine. However you may find Projekktor itself a bit bloated then because you will not need about two-thirds of its functionality.
&lt;/p&gt;

&lt;p&gt;
As such it works best to use the player as central data handler and - if necessary - write plugins or wrappers to do the custom stuff. What ever you do, may the force be with you.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT235 SECTION &quot;General (for developers)&quot; [94-851] --&gt;
&lt;h3 class=&quot;sectionedit236&quot; id=&quot;general_for_webmasters&quot;&gt;General (for webmasters)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
In fact you have three options to pump schedule data into the player core:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; via the config object&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; via javascript &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; calls&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; via asynchronously loaded &lt;abbr title=&quot;Extensible Markup Language&quot;&gt;XML&lt;/abbr&gt; or JSON feeds&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
It is hard to make a recommendation which option works best since all three are the result of daily practice. If you just want to apply a pre- or post- roll ad the first option would work best because it keeps fragmentation of your code and mark-up low. On the other hand using feeds is the perfect way to go for video-focused sites with only a few central players (e.g. webTV). So it´s all up to you.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT236 SECTION &quot;General (for webmasters)&quot; [852-1472] --&gt;
&lt;h3 class=&quot;sectionedit237&quot; id=&quot;projekktor_playlist_format&quot;&gt;Projekktor Playlist Format&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
A Projekktor playlist is an array holding multiple objects where each object configures a single media item in the matter of its location (&lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;), type and optional item specific player-configuration.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[
  {
     // minimum 
     0:{src:&amp;#039;item_one_format_one.ext&amp;#039;, type: &amp;#039;video/...&amp;#039;}     
  },
  {
     // one content, multiple formats
     0:{src:&amp;#039;item_two_format_one.ext&amp;#039;, type: &amp;#039;video/...&amp;#039;},
     1:{src:&amp;#039;item_two_format_two.ext&amp;#039;, type: &amp;#039;video/...&amp;#039;}
  },
  {
     // one content, multiple formats, item specific config
     0:{src:&amp;#039;item_three_format_one.ext&amp;#039;, type: &amp;#039;video/...&amp;#039;},
     1:{src:&amp;#039;item_three_format_two.ext&amp;#039;, type: &amp;#039;video/...&amp;#039;},
     3:{src:&amp;#039;item_three_format_three.ext&amp;#039;, type: &amp;#039;video/...&amp;#039;},
     4:{src:&amp;#039;item_three_format_four.ext&amp;#039;, type: &amp;#039;video/...&amp;#039;},          
     config: {
        option1: value1,
        option2: value2
     }
     
]          &lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT237 SECTION &quot;Projekktor Playlist Format&quot; [1473-2392] --&gt;
&lt;h3 class=&quot;sectionedit238&quot; id=&quot;basic_playlist_schedule_setup&quot;&gt;Basic Playlist / Schedule Setup&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
As you might already know the player is instantiated this way (btw: in case you do not, &lt;a href=&quot;http://www.projekktor.com/docs/api#instantiation&quot; class=&quot;wikilink1&quot; title=&quot;api&quot;&gt;learn more here&lt;/a&gt;):
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;div id=&amp;quot;player_a&amp;quot; class=&amp;quot;mybasicplayerstyle&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;

&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;
    projekktor(&amp;#039;#player_a&amp;#039;, {});
&amp;lt;/script&amp;gt;&lt;/pre&gt;

&lt;p&gt;
Parameter one is a &lt;a href=&quot;http://api.jquery.com/category/selectors/&quot; class=&quot;urlextern&quot; title=&quot;http://api.jquery.com/category/selectors/&quot;&gt;jQuery DOM selector&lt;/a&gt; and indicates the destination &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt; container(s), the second parameter is for additional configuration. E.g. in order to play a single content in two formats, having controls enabled and set the volume to 50% you hack this:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;projekktor(&amp;#039;#player_a&amp;#039;, {
    controls: true,
    volume: 0.5,
    playlist: [
       {
          0:{src:&amp;#039;myvideo.mp4&amp;#039;, type: &amp;#039;video/mp4&amp;#039;},
          1:{src:&amp;#039;myvideo.ogv&amp;#039;, type: &amp;#039;video/ogv&amp;#039;}
       }
    ]
});&lt;/pre&gt;

&lt;p&gt;
Consistently it is possible to schedule multiple videos by extending the &lt;em&gt;playlist&lt;/em&gt; array. Let ´s add a kinda preroll-ad:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;projekktor(&amp;#039;#player_a&amp;#039;, {
    controls: true,
    volume: 0.5,
    playlist: [
       {
          0:{src:&amp;#039;advertisement.mp4&amp;#039;, type: &amp;#039;video/mp4&amp;#039;},
          1:{src:&amp;#039;advertisement.ogv&amp;#039;, type: &amp;#039;video/ogv&amp;#039;}
       },
       {
          0:{src:&amp;#039;myvideo.mp4&amp;#039;, type: &amp;#039;video/mp4&amp;#039;},
          1:{src:&amp;#039;myvideo.ogv&amp;#039;, type: &amp;#039;video/ogv&amp;#039;}
       }       
    ]
});&lt;/pre&gt;

&lt;p&gt;
You now have two videos in schedule which are played back one after one in a row. While this is quite cool it is not perfect yet. In general ads are enervating and users have tendencies to skip them when ever possible. To avoid this you may want to make use of Projekktor´s item-wise re-configuration feature.
&lt;/p&gt;

&lt;p&gt;
In order to prevent skipping and pausing of the first clip you can set &lt;em&gt;config.disablePause&lt;/em&gt; and &lt;em&gt;config.disallowSkip&lt;/em&gt; to &lt;em&gt;TRUE&lt;/em&gt; like that:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;projekktor(&amp;#039;#player_a&amp;#039;, {
    controls: true,
    volume: 0.5,
    playlist: [
       {
          0:{src:&amp;#039;advertisement.mp4&amp;#039;, type: &amp;#039;video/mp4&amp;#039;},
          1:{src:&amp;#039;advertisement.ogv&amp;#039;, type: &amp;#039;video/ogv&amp;#039;},
          config: {
             disablePause: true,
             disallowSkip: true
          }
       },
       {
          0:{src:&amp;#039;myvideo.mp4&amp;#039;, type: &amp;#039;video/mp4&amp;#039;},
          1:{src:&amp;#039;myvideo.ogv&amp;#039;, type: &amp;#039;video/ogv&amp;#039;}
       }       
    ]
});&lt;/pre&gt;

&lt;p&gt;
Et voila: Perfect constraint! 
&lt;/p&gt;

&lt;p&gt;
Note that configuration options above “playlist” define the defaults for all scheduled items while config options on item level affect only the respective item.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT238 SECTION &quot;Basic Playlist / Schedule Setup&quot; [2393-4857] --&gt;
&lt;h3 class=&quot;sectionedit239&quot; id=&quot;dynamic_scheduling_via_javascript_api&quot;&gt;Dynamic Scheduling via Javascript API&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Assumed you set a player up and running this way (&lt;a href=&quot;http://www.projekktor.com/docs/api#instantiation&quot; class=&quot;wikilink1&quot; title=&quot;api&quot;&gt;learn more here&lt;/a&gt;):
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;div id=&amp;quot;player_a&amp;quot; class=&amp;quot;mybasicplayerstyle&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;

&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;
projekktor(&amp;#039;#player_a&amp;#039;, {
    controls: true,
    volume: 0.5
});
&amp;lt;/script&amp;gt;&lt;/pre&gt;

&lt;p&gt;
It is possible to set (or overwrite) its schedule by using the  &lt;a href=&quot;http://www.projekktor.com/docs/api#playersetfile_datamixed_playlistboolean_void&quot; class=&quot;wikilink1&quot; title=&quot;api&quot;&gt;setFile&lt;/a&gt; or  &lt;a href=&quot;http://www.projekktor.com/docs/api#playersetfile_datamixed_playlistboolean_void&quot; class=&quot;wikilink1&quot; title=&quot;api&quot;&gt;setItem&lt;/a&gt; method. Below we define a new playlist and apply it to an already instantiated player with the ID “player_a”:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;var playlist = [
       {
          0:{src:&amp;#039;advertisement.mp4&amp;#039;, type: &amp;#039;video/mp4&amp;#039;},
          1:{src:&amp;#039;advertisement.ogv&amp;#039;, type: &amp;#039;video/ogv&amp;#039;},
          config: {
             disablePause: true,
             disallowSkip: true
          }
       },
       {
          0:{src:&amp;#039;myvideo.mp4&amp;#039;, type: &amp;#039;video/mp4&amp;#039;},
          1:{src:&amp;#039;myvideo.ogv&amp;#039;, type: &amp;#039;video/ogv&amp;#039;}
       }   
];

projekktor(&amp;#039;player_a&amp;#039;).setFile(playlist);&lt;/pre&gt;

&lt;p&gt;
The player instance will fire the “scheduled” event once the setFile-call has been processed. Note that ”&lt;a href=&quot;http://www.projekktor.com/docs/api#playersetfile_datamixed_playlistboolean_void&quot; class=&quot;wikilink1&quot; title=&quot;api&quot;&gt;setFile&lt;/a&gt;” overwrites all previously set items - which is close to a full reset. If you want to manipulate, add or remove single items without discarding the current schedule you better use the  &lt;a href=&quot;http://www.projekktor.com/docs/api#playersetitem_datamixed_indexnumber_replaceboolean_void&quot; class=&quot;wikilink1&quot; title=&quot;api&quot;&gt;setItem&lt;/a&gt; method.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT239 SECTION &quot;Dynamic Scheduling via Javascript API&quot; [4858-6346] --&gt;
&lt;h3 class=&quot;sectionedit240&quot; id=&quot;asynchronously_loaded_playlist_feeds&quot;&gt;Asynchronously loaded Playlist Feeds&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;div class=&quot;notewarning&quot;&gt;
Loading feeds will &lt;em class=&quot;u&quot;&gt;not work&lt;/em&gt; if you´re testing / developing through the file system. Files &lt;em class=&quot;u&quot;&gt;MUST&lt;/em&gt; be delivered by a &lt;abbr title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/abbr&gt; server sending proper content-type header information.
&lt;/div&gt;
&lt;/p&gt;

&lt;p&gt;
Projekktor can eat &lt;abbr title=&quot;Extensible Markup Language&quot;&gt;XML&lt;/abbr&gt; and JSON formatted playlist feeds either of a proprietary format or any other format by applying custom filter functions. If you´re planing a project from scratch and want to use the Projekktor we highly recommend to use JSON feeds in order to save overhead and performance.
&lt;/p&gt;

&lt;p&gt;
Feeds are applied like ordinary media files just by a given &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; and a &lt;em&gt;type&lt;/em&gt; set either to “text/json” to load a JSON formatted feed or “text/xml” to load - guess what - a feed which is handled as &lt;abbr title=&quot;Extensible Markup Language&quot;&gt;XML&lt;/abbr&gt;. As such the following example could do the job:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;div id=&amp;quot;player_g&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;

&amp;lt;script&amp;gt;
projekktor(&amp;#039;#player_g&amp;#039;, {
    file: [{src:&amp;#039;playlistserver.php&amp;#039;, type: &amp;#039;text/json&amp;#039;}]
});
&amp;lt;/script&amp;gt;&lt;/pre&gt;

&lt;p&gt;
The following will work also:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;video id=&amp;quot;player_g&amp;quot; width=&amp;quot;640&amp;quot; height=&amp;quot;480&amp;quot; controls&amp;gt;
   &amp;lt;source src=&amp;quot;playlistserver.php&amp;quot; type=&amp;quot;text/json&amp;quot;/&amp;gt;
&amp;lt;/video&amp;gt;

&amp;lt;script&amp;gt;
projekktor(&amp;#039;#player_g&amp;#039;, {});
&amp;lt;/script&amp;gt;&lt;/pre&gt;

&lt;p&gt;
&lt;div class=&quot;noteimportant&quot;&gt;
&lt;abbr title=&quot;Extensible Markup Language&quot;&gt;XML&lt;/abbr&gt; and JSON feeds must be loaded from the same domain as the page with the player itself loads from. Otherwise security restrictions apply and you get an error. If you need to load data from an external domain you can either use a simple proxy on your server which passes the feed through or use a JSONP formatted feed (set player to “application/jsonp” then).

&lt;/div&gt;
&lt;/p&gt;

&lt;p&gt;
During the load process the player will go to IDLE state and will refuse any user interaction or &lt;abbr title=&quot;JavaScript&quot;&gt;JS&lt;/abbr&gt; call until all feed data has been processed and all plugins (re-) initialized. 
&lt;/p&gt;

&lt;p&gt;
Loading a (new) feed will ALWAYS overwrite all scheduled items so far. This is important to know because it is possible to “chain” playlists. Once the player reaches an item of type “application/json”, “application/xml” or “application/jsonp” it will load the feed from the given &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; and continues playback with item #1 of the new scheduled items.
&lt;/p&gt;

&lt;p&gt;
The following example would play back the advertisement.*-video first and load the playlist.xml feed afterwards:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;projekktor(&amp;#039;#player_a&amp;#039;, {
    controls: true,
    volume: 0.5,
    playlist: [
       {
          0:{src:&amp;#039;advertisement.mp4&amp;#039;, type: &amp;#039;video/mp4&amp;#039;},
          1:{src:&amp;#039;advertisement.ogv&amp;#039;, type: &amp;#039;video/ogv&amp;#039;}
       },
       {
          0:{src:&amp;#039;playlist.xml&amp;#039;, type: &amp;#039;text/xml&amp;#039;}
       }       
    ]
});&lt;/pre&gt;

&lt;p&gt;
&lt;div class=&quot;notetip&quot;&gt;Icing on the cake: data  types are “always functional” fallback options. Read on:
&lt;/div&gt;
&lt;/p&gt;

&lt;p&gt;
You can set up extremely complex format fallback scenarios by providing feeds as alternate media sources. Since feeds are understood by all browsers even setting like this will work:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;projekktor(&amp;#039;#player_a&amp;#039;, {
    controls: true,
    volume: 0.5,
    playlist: [
       {
          0:{src:&amp;#039;advertisement.webm&amp;#039;, type: &amp;#039;video/webm&amp;#039;},
          1:{src:&amp;#039;alternate-playist.xml&amp;#039;, type: &amp;#039;text/xml&amp;#039;}
       }       
    ]
});&lt;/pre&gt;

&lt;p&gt;
In this example every client which is not able to play WEBM will load the “alternate-playist.xml” feed.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT240 SECTION &quot;Asynchronously loaded Playlist Feeds&quot; [6347-] --&gt;</description>
            <author>operator</author>
            <pubDate>Tue, 07 Aug 2012 16:19:17 +0200</pubDate>
        </item>
        <item>
            <title>Quality Toggle - [Configuration] </title>
            <link>http://www.projekktor.com/docs/qualitytoggle?rev=1343396295&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit241&quot; id=&quot;quality_toggle&quot;&gt;Quality Toggle&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT241 SECTION &quot;Quality Toggle&quot; [1-30] --&gt;
&lt;h3 class=&quot;sectionedit242&quot; id=&quot;general&quot;&gt;General&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Projekktor allows to provide multiple quality versions of a video. You can set up as many different versions of a specific video as you like. The player automatically detects a set of two “best matches” the user can toggle between. The player´s decision is based upon the available display dimensions which may vary on different platforms and devices. Quality toggling works transparently and independently of the available platform (html5, flash etc.pp.). However this mechanism doesn´t affect native quality-toggling e.g. for HDS and HLS players.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT242 SECTION &quot;General&quot; [31-602] --&gt;
&lt;h3 class=&quot;sectionedit243&quot; id=&quot;configuration&quot;&gt;Configuration&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Configuration is handled via the “playbackQualities” config parameter. It assigns an internal quality “key” and a set of detections rules in order to parametrize the auto-detection logic.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;simple_width-height_testing&quot;&gt;Simple Width-Height Testing&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Let´s have a look on this very basic example object:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt; 
{
  {key: &amp;#039;small&amp;#039;, minHeight: 240, minWidth: 240},
  {key: &amp;#039;highres&amp;#039;, minHeight: 1081, minWidth: 0}           
}&lt;/pre&gt;

&lt;p&gt;
The object holds two rule-sets for two different quality versions: “small” and “highres”. Note that these keys are just an example. You can set keys of any value you want to.
&lt;/p&gt;

&lt;p&gt;
The properties “minHeight” and “minWidth” define the rule itself. The given names should be quite self-explanatory at this point. So, the quality key “small” will be chosen if the player has minimum dimensions of 240x240px but less than 1081px of height. Setting either “minHeigh” or “minWidth” to zero will make the respective property ignored. So for “highres” only the height of the player will be tested but not its width.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;complex_aspect_ratio_testing&quot;&gt;Complex Aspect Ratio Testing&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Here we go. E.g.:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt; 
{
  {key: &amp;#039;small&amp;#039;, minHeight: 240, minWidth: 240},
  {key: &amp;#039;medium&amp;#039;, minHeight: 360, minWidth: [{ratio: 1.77, minWidth: 640}, {ratio: 1.33, minWidth: 480}]},
  {key: &amp;#039;highres&amp;#039;, minHeight: 1081, minWidth: 0}           
}&lt;/pre&gt;

&lt;p&gt;
&lt;strong&gt;No panik.&lt;/strong&gt; The “minWidth” property can be set to take respect of aspect ratios and as such it can be an object. Because the height of the player is the reference value for further calculations “minHeight” can only of type integer. 
&lt;/p&gt;

&lt;p&gt;
In addition to the decision tree described in the simple example above the player got a new rule-set keyed with “medium”. 
&lt;/p&gt;

&lt;p&gt;
For “medium” the player must have a minimum height of 360px. Furthermore - talking about &lt;strong&gt;{ratio: 1.77, minWidth: 640}&lt;/strong&gt; - the minimum width must be either 640px in case the player has at least an aspect ratio of 16:9 (because 16 / 9 = 1.77) or a minimum width of 480px if the player has at least an aspect ratio of 4:3 (4/3=1.33). You can set as many aspect ratio rules as you want to.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;complex_aspect_ratio_testing1&quot;&gt;Complex Aspect Ratio Testing&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Below you´ll find a complex setup and a (hopefully) human readable translation:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{key: &amp;#039;small&amp;#039;, minHeight: 240, minWidth: 240},
{key: &amp;#039;medium&amp;#039;, minHeight: 360, minWidth: [{ratio: 1.77, minWidth: 640}, {ratio: 1.33, minWidth: 480}]},
{key: &amp;#039;large&amp;#039;, minHeight: 480, minWidth: [{ratio: 1.77, minWidth: 853}, {ratio: 1.33, minWidth: 640}]},
{key: &amp;#039;hd1080&amp;#039;, minHeight: 1080, minWidth: [{ratio: 1.77, minWidth: 1920}, {ratio: 1.33, minWidth: 1440}]},
{key: &amp;#039;hd720&amp;#039;, minHeight: 720, minWidth: [{ratio: 1.77, minWidth: 1280}, {ratio: 1.33, minWidth: 960}]},
{key: &amp;#039;highres&amp;#039;, minHeight: 1081, minWidth: 0}           &lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; small: The player height is 240px and its width at least 240px &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; medium: Player height is 360px, and player dimensions are 640px by 360px (for 16:9 aspect ratio) or 480px by 360px (for 4:3 aspect ratio).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; large: Player height is 480px, and player dimensions are 853px by 480px (for 16:9 aspect ratio) or 640px by 480px (for 4:3 aspect ratio).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; hd720: Player height is 720px, and player dimensions are 1280px by 720px (for 16:9 aspect ratio) or 960px by 720px (for 4:3 aspect ratio).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; hd1080: Player height is 1080px, and player dimensions are 1920px by 1080px (for 16:9 aspect ratio) or 1440px by 1080px (for 4:3 aspect ratio).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; highres: Player height is greater than 1080px, which means that the player&amp;#039;s aspect ratio is greater than 1920px by 1080px.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT243 SECTION &quot;Configuration&quot; [603-4129] --&gt;
&lt;h3 class=&quot;sectionedit244&quot; id=&quot;setup&quot;&gt;Setup&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
/*
small: Player height is 240px, and player dimensions are at least 320px by 240px for 4:3 aspect ratio.
medium: Player height is 360px, and player dimensions are 640px by 360px (for 16:9 aspect ratio) or 480px by 360px (for 4:3 aspect ratio).
large: Player height is 480px, and player dimensions are 853px by 480px (for 16:9 aspect ratio) or 640px by 480px (for 4:3 aspect ratio).
hd720: Player height is 720px, and player dimensions are 1280px by 720px (for 16:9 aspect ratio) or 960px by 720px (for 4:3 aspect ratio).
hd1080: Player height is 1080px, and player dimensions are 1920px by 1080px (for 16:9 aspect ratio) or 1440px by 1080px (for 4:3 aspect ratio).
highres: Player height is greater than 1080px, which means that the player&amp;#039;s aspect ratio is greater than 1920px by 1080px.
*/
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT244 SECTION &quot;Setup&quot; [4130-] --&gt;</description>
            <author>operator</author>
            <pubDate>Fri, 27 Jul 2012 15:38:15 +0200</pubDate>
        </item>
    </channel>
</rss>
