<?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>HTML5 Video - Docs</title>
        <description></description>
        <link>http://www.projekktor.com/docs/</link>
        <lastBuildDate>Thu, 17 May 2012 16:31:26 +0200</lastBuildDate>
        <generator>FeedCreator 1.7.2-ppt DokuWiki</generator>
        <image>
            <url>http://www.projekktor.com/docs//www.projekktor.com/docs/lib/tpl/default/images/favicon.ico</url>
            <title>HTML5 Video - Docs</title>
            <link>http://www.projekktor.com/docs/</link>
        </image>
        <item>
            <title>Javascript API Functions</title>
            <link>http://www.projekktor.com/docs/api?rev=1336654098&amp;do=diff</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot;&gt;&lt;a name=&quot;javascript_api_functions&quot; id=&quot;javascript_api_functions&quot;&gt;Javascript API Functions&lt;/a&gt;&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;&gt;&lt;a name=&quot;instantiation&quot; id=&quot;instantiation&quot;&gt;Instantiation&lt;/a&gt;&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;&gt;&lt;a name=&quot;projekktor_identifierstring_configobject_onreadyfunction_object&quot; id=&quot;projekktor_identifierstring_configobject_onreadyfunction_object&quot;&gt;projekktor(identifier:String, config:Object, onReady:Function):Object&lt;/a&gt;&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&gt;&lt;a name=&quot;creating_instances&quot; id=&quot;creating_instances&quot;&gt;creating instances&lt;/a&gt;&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;acronym title=&quot;Internet Explorer 6&quot;&gt;IE6&lt;/acronym&gt;,7,8. Single selectors like “audio” or “video” work fine.

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

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;getting_instances&quot; id=&quot;getting_instances&quot;&gt;getting instances&lt;/a&gt;&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;acronym title=&quot;JavaScript&quot;&gt;JS&lt;/acronym&gt; &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&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;&gt;&lt;a name=&quot;setters&quot; id=&quot;setters&quot;&gt;Setters&lt;/a&gt;&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;&gt;&lt;a name=&quot;playeraddlistener_eventstring_callbackobject_void&quot; id=&quot;playeraddlistener_eventstring_callbackobject_void&quot;&gt;player.addListener(event:String, callback:Object):Void&lt;/a&gt;&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;&gt;&lt;a name=&quot;playerremovelistener_eventstring_callbackobject_boolean&quot; id=&quot;playerremovelistener_eventstring_callbackobject_boolean&quot;&gt;player.removeListener(event:String, callback:Object):Boolean&lt;/a&gt;&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;&gt;&lt;a name=&quot;playersetfile_datamixed_typestring_void&quot; id=&quot;playersetfile_datamixed_typestring_void&quot;&gt;player.setFile(data:Mixed, type:String):Void&lt;/a&gt;&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;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&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;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; and &lt;em&gt;type&lt;/em&gt; is not a valid data exchange format (xml, json or jsonp), the &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; is interpreted as &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&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;&gt;&lt;a name=&quot;playersetitem_datamixed_indexnumber_replaceboolean_void&quot; id=&quot;playersetitem_datamixed_indexnumber_replaceboolean_void&quot;&gt;player.setItem(data:Mixed, index:Number, replace:Boolean):Void&lt;/a&gt;&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;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&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;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&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&gt;&lt;a name=&quot;add&quot; id=&quot;add&quot;&gt;add&lt;/a&gt;&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&gt;&lt;a name=&quot;remove&quot; id=&quot;remove&quot;&gt;remove&lt;/a&gt;&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;&gt;&lt;a name=&quot;playersetconfig_dataobject_destindexmixed_void&quot; id=&quot;playersetconfig_dataobject_destindexmixed_void&quot;&gt;player.setConfig(data:Object, destIndex:Mixed):Void&lt;/a&gt;&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;&gt;&lt;a name=&quot;playersetplayerposter_urlstring_void&quot; id=&quot;playersetplayerposter_urlstring_void&quot;&gt;player.setPlayerPoster(url:String):Void&lt;/a&gt;&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;&gt;&lt;a name=&quot;playersetplayhead_positionmixed_void_v0716&quot; id=&quot;playersetplayhead_positionmixed_void_v0716&quot;&gt;player.setPlayhead(position:mixed):Void (&amp;gt; V0.7.16)&lt;/a&gt;&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;&gt;&lt;a name=&quot;playersetvolume_volmixed_void_v0716&quot; id=&quot;playersetvolume_volmixed_void_v0716&quot;&gt;player.setVolume(vol:mixed):Void (&amp;gt; V0.7.16)&lt;/a&gt;&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;&gt;&lt;a name=&quot;playersetfullscreen_gofullscreenboolean_void&quot; id=&quot;playersetfullscreen_gofullscreenboolean_void&quot;&gt;player.setFullscreen(goFullscreen:Boolean):Void&lt;/a&gt;&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;&gt;&lt;a name=&quot;playersetresize&quot; id=&quot;playersetresize&quot;&gt;player.setResize()&lt;/a&gt;&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;acronym title=&quot;Document Object Model&quot;&gt;DOM&lt;/acronym&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;&gt;&lt;a name=&quot;playersetsize_widthx_heighty&quot; id=&quot;playersetsize_widthx_heighty&quot;&gt;player.setSize({width:&amp;lt;x&amp;gt;, height:&amp;lt;y&amp;gt;})&lt;/a&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;&gt;&lt;a name=&quot;playersetplaypause_boolean&quot; id=&quot;playersetplaypause_boolean&quot;&gt;player.setPlayPause():Boolean&lt;/a&gt;&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;&gt;&lt;a name=&quot;playersetplay_boolean&quot; id=&quot;playersetplay_boolean&quot;&gt;player.setPlay():Boolean&lt;/a&gt;&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;&gt;&lt;a name=&quot;playersetpause_boolean&quot; id=&quot;playersetpause_boolean&quot;&gt;player.setPause():Boolean&lt;/a&gt;&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;&gt;&lt;a name=&quot;playersetstop_boolean&quot; id=&quot;playersetstop_boolean&quot;&gt;player.setStop():Boolean&lt;/a&gt;&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;&gt;&lt;a name=&quot;playersetactiveitem_itemmixed_void&quot; id=&quot;playersetactiveitem_itemmixed_void&quot;&gt;player.setActiveItem(item:mixed):void&lt;/a&gt;&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;&gt;&lt;a name=&quot;playersetcuepoint_cuepointobject_void&quot; id=&quot;playersetcuepoint_cuepointobject_void&quot;&gt;player.setCuePoint(cuePoint:Object):void&lt;/a&gt;&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;&gt;&lt;a name=&quot;playerremovecuepoint_groupstring_idxinteger_this&quot; id=&quot;playerremovecuepoint_groupstring_idxinteger_this&quot;&gt;player.removeCuePoint(group:String, Idx:Integer):this&lt;/a&gt;&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;&gt;&lt;a name=&quot;playersetplaybackquality_qualitystring_this&quot; id=&quot;playersetplaybackquality_qualitystring_this&quot;&gt;player.setPlaybackQuality(quality:String):this&lt;/a&gt;&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;!-- EDIT23 SECTION &quot;player.setPlaybackQuality(quality:String):this&quot; [9835-10278] --&gt;
&lt;h3 class=&quot;sectionedit24&quot;&gt;&lt;a name=&quot;playerselfdestruct_void&quot; id=&quot;playerselfdestruct_void&quot;&gt;player.selfDestruct():void&lt;/a&gt;&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;!-- EDIT24 SECTION &quot;player.selfDestruct():void&quot; [10279-10455] --&gt;
&lt;h3 class=&quot;sectionedit25&quot;&gt;&lt;a name=&quot;playerreset_void&quot; id=&quot;playerreset_void&quot;&gt;player.reset():void&lt;/a&gt;&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;!-- EDIT25 SECTION &quot;player.reset():void&quot; [10456-10611] --&gt;
&lt;h3 class=&quot;sectionedit26&quot;&gt;&lt;a name=&quot;playeropenurl_objecturldest_targetstringself_pauseboolfalse&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;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

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

&lt;/div&gt;
&lt;!-- EDIT26 SECTION &quot;player.openUrl(Object:{url:&lt;dest&gt;, target:string:'_self', pause:bool:false})&quot; [10612-10805] --&gt;
&lt;h2 class=&quot;sectionedit27&quot;&gt;&lt;a name=&quot;getters&quot; id=&quot;getters&quot;&gt;Getters&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT27 SECTION &quot;Getters&quot; [10806-10826] --&gt;
&lt;h3 class=&quot;sectionedit28&quot;&gt;&lt;a name=&quot;playergetitemcount_number&quot; id=&quot;playergetitemcount_number&quot;&gt;player.getItemCount():Number&lt;/a&gt;&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;!-- EDIT28 SECTION &quot;player.getItemCount():Number&quot; [10827-10923] --&gt;
&lt;h3 class=&quot;sectionedit29&quot;&gt;&lt;a name=&quot;playergetvolume_float&quot; id=&quot;playergetvolume_float&quot;&gt;player.getVolume():Float&lt;/a&gt;&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;!-- EDIT29 SECTION &quot;player.getVolume():Float&quot; [10924-11051] --&gt;
&lt;h3 class=&quot;sectionedit30&quot;&gt;&lt;a name=&quot;playergetitemidx_number&quot; id=&quot;playergetitemidx_number&quot;&gt;player.getItemIdx():Number&lt;/a&gt;&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;!-- EDIT30 SECTION &quot;player.getItemIdx():Number&quot; [11052-11200] --&gt;
&lt;h3 class=&quot;sectionedit31&quot;&gt;&lt;a name=&quot;playergetitemid_string&quot; id=&quot;playergetitemid_string&quot;&gt;player.getItemId():String&lt;/a&gt;&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;!-- EDIT31 SECTION &quot;player.getItemId():String&quot; [11201-11298] --&gt;
&lt;h3 class=&quot;sectionedit32&quot;&gt;&lt;a name=&quot;playergetisautoslide_boolean&quot; id=&quot;playergetisautoslide_boolean&quot;&gt;player.getIsAutoslide():Boolean *&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

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

&lt;/div&gt;
&lt;!-- EDIT32 SECTION &quot;player.getIsAutoslide():Boolean *&quot; [11299-11358] --&gt;
&lt;h3 class=&quot;sectionedit33&quot;&gt;&lt;a name=&quot;playergetitem_idxmixed_object&quot; id=&quot;playergetitem_idxmixed_object&quot;&gt;player.getItem(idx:mixed):Object&lt;/a&gt;&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;/div&gt;
&lt;!-- EDIT33 SECTION &quot;player.getItem(idx:mixed):Object&quot; [11359-12109] --&gt;
&lt;h3 class=&quot;sectionedit34&quot;&gt;&lt;a name=&quot;playergetloadprogress_idxmixed_float&quot; id=&quot;playergetloadprogress_idxmixed_float&quot;&gt;player.getLoadProgress(idx:mixed):Float&lt;/a&gt;&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;!-- EDIT34 SECTION &quot;player.getLoadProgress(idx:mixed):Float&quot; [12110-12317] --&gt;
&lt;h3 class=&quot;sectionedit35&quot;&gt;&lt;a name=&quot;playergetloadplaybackprogress_idxmixed_float&quot; id=&quot;playergetloadplaybackprogress_idxmixed_float&quot;&gt;player.getLoadPlaybackProgress(idx:mixed):Float&lt;/a&gt;&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;!-- EDIT35 SECTION &quot;player.getLoadPlaybackProgress(idx:mixed):Float&quot; [12318-12478] --&gt;
&lt;h3 class=&quot;sectionedit36&quot;&gt;&lt;a name=&quot;playergetcuepoints_idxinteger_array&quot; id=&quot;playergetcuepoints_idxinteger_array&quot;&gt;player.getCuePoints(idx:Integer):Array&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

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

&lt;/div&gt;
&lt;!-- EDIT36 SECTION &quot;player.getCuePoints(idx:Integer):Array&quot; [12479-12534] --&gt;
&lt;h3 class=&quot;sectionedit37&quot;&gt;&lt;a name=&quot;playergetposition_number&quot; id=&quot;playergetposition_number&quot;&gt;player.getPosition():Number&lt;/a&gt;&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;!-- EDIT37 SECTION &quot;player.getPosition():Number&quot; [12535-12630] --&gt;
&lt;h3 class=&quot;sectionedit38&quot;&gt;&lt;a name=&quot;playergetduration_number&quot; id=&quot;playergetduration_number&quot;&gt;player.getDuration():Number&lt;/a&gt;&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;!-- EDIT38 SECTION &quot;player.getDuration():Number&quot; [12631-12738] --&gt;
&lt;h3 class=&quot;sectionedit39&quot;&gt;&lt;a name=&quot;playergettimeleft_number&quot; id=&quot;playergettimeleft_number&quot;&gt;player.getTimeLeft():Number&lt;/a&gt;&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;!-- EDIT39 SECTION &quot;player.getTimeLeft():Number&quot; [12739-12888] --&gt;
&lt;h3 class=&quot;sectionedit40&quot;&gt;&lt;a name=&quot;playergetkbpersec_float&quot; id=&quot;playergetkbpersec_float&quot;&gt;player.getKbPerSec():Float&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

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

&lt;/div&gt;
&lt;!-- EDIT40 SECTION &quot;player.getKbPerSec():Float&quot; [12889-12940] --&gt;
&lt;h3 class=&quot;sectionedit41&quot;&gt;&lt;a name=&quot;playergettrackid_string&quot; id=&quot;playergettrackid_string&quot;&gt;player.getTrackId():String&lt;/a&gt;&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.getTrackId():String&quot; [12941-12992] --&gt;
&lt;h3 class=&quot;sectionedit42&quot;&gt;&lt;a name=&quot;playergetpreloaderpct_float&quot; id=&quot;playergetpreloaderpct_float&quot;&gt;player.getPreloaderPct():Float&lt;/a&gt;&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;!-- EDIT42 SECTION &quot;player.getPreloaderPct():Float&quot; [12993-13089] --&gt;
&lt;h3 class=&quot;sectionedit43&quot;&gt;&lt;a name=&quot;playergetinfullscreen_boolean&quot; id=&quot;playergetinfullscreen_boolean&quot;&gt;player.getInFullscreen():Boolean&lt;/a&gt;&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;!-- EDIT43 SECTION &quot;player.getInFullscreen():Boolean&quot; [13090-13222] --&gt;
&lt;h3 class=&quot;sectionedit44&quot;&gt;&lt;a name=&quot;playergetpublicname_string&quot; id=&quot;playergetpublicname_string&quot;&gt;player.getPublicName():String&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

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

&lt;/div&gt;
&lt;!-- EDIT44 SECTION &quot;player.getPublicName():String&quot; [13223-13316] --&gt;
&lt;h3 class=&quot;sectionedit45&quot;&gt;&lt;a name=&quot;playergetmediatype_string&quot; id=&quot;playergetmediatype_string&quot;&gt;player.getMediaType():String&lt;/a&gt;&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;!-- EDIT45 SECTION &quot;player.getMediaType():String&quot; [13317-13426] --&gt;
&lt;h3 class=&quot;sectionedit46&quot;&gt;&lt;a name=&quot;playergetusesflash_boolean&quot; id=&quot;playergetusesflash_boolean&quot;&gt;player.getUsesFlash():Boolean&lt;/a&gt;&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;!-- EDIT46 SECTION &quot;player.getUsesFlash():Boolean&quot; [13427-13549] --&gt;
&lt;h3 class=&quot;sectionedit47&quot;&gt;&lt;a name=&quot;playergetcanplaynatively_mediatypesarray_boolean&quot; id=&quot;playergetcanplaynatively_mediatypesarray_boolean&quot;&gt;player.getCanPlayNatively(mediaTypes:Array):Boolean&lt;/a&gt;&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;mediaTypes&lt;/em&gt; parameter is set the test is performed for every media type provided and will return TRUE if one or more types specified can be played back natively. 
&lt;/p&gt;

&lt;p&gt;
E.g.: [&amp;#039;video/ogg&amp;#039;, &amp;#039;video/webm&amp;#039;]) will return TRUE in Chrome and TRUE in FF ⇐9 but [&amp;#039;video/webm&amp;#039;]) will return TRUE in Chrome only. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT47 SECTION &quot;player.getCanPlayNatively(mediaTypes:Array):Boolean&quot; [13550-14044] --&gt;
&lt;h3 class=&quot;sectionedit48&quot;&gt;&lt;a name=&quot;playergetiframewindow_jqueryobject&quot; id=&quot;playergetiframewindow_jqueryobject&quot;&gt;player.getIframeWindow():JQueryObject&lt;/a&gt;&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;!-- EDIT48 SECTION &quot;player.getIframeWindow():JQueryObject&quot; [14045-14205] --&gt;
&lt;h3 class=&quot;sectionedit49&quot;&gt;&lt;a name=&quot;playergetiframe_jqueryobject&quot; id=&quot;playergetiframe_jqueryobject&quot;&gt;player.getIframe():JQueryObject&lt;/a&gt;&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;!-- EDIT49 SECTION &quot;player.getIframe():JQueryObject&quot; [14206-14338] --&gt;
&lt;h3 class=&quot;sectionedit50&quot;&gt;&lt;a name=&quot;playergetplaylist_object&quot; id=&quot;playergetplaylist_object&quot;&gt;player.getPlaylist():Object&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

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

&lt;/div&gt;
&lt;!-- EDIT50 SECTION &quot;player.getPlaylist():Object&quot; [14339-14455] --&gt;
&lt;h3 class=&quot;sectionedit51&quot;&gt;&lt;a name=&quot;playergetstate_teststring_object&quot; id=&quot;playergetstate_teststring_object&quot;&gt;player.getState(test:string):Object&lt;/a&gt;&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;!-- EDIT51 SECTION &quot;player.getState(test:string):Object&quot; [14456-] --&gt;</description>
            <pubDate>Thu, 10 May 2012 14:48:18 +0200</pubDate>
        </item>
        <item>
            <title>Building Projekktor from Source</title>
            <link>http://www.projekktor.com/docs/build?rev=1334837184&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit52&quot;&gt;&lt;a name=&quot;building_projekktor_from_source&quot; id=&quot;building_projekktor_from_source&quot;&gt;Building Projekktor from Source&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT52 SECTION &quot;Building Projekktor from Source&quot; [1-47] --&gt;
&lt;h3 class=&quot;sectionedit53&quot;&gt;&lt;a name=&quot;general&quot; id=&quot;general&quot;&gt;General&lt;/a&gt;&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;!-- EDIT53 SECTION &quot;General&quot; [48-523] --&gt;
&lt;h3 class=&quot;sectionedit54&quot;&gt;&lt;a name=&quot;directory_structure&quot; id=&quot;directory_structure&quot;&gt;Directory Structure&lt;/a&gt;&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;!-- EDIT54 SECTION &quot;Directory Structure&quot; [524-997] --&gt;
&lt;h3 class=&quot;sectionedit55&quot;&gt;&lt;a name=&quot;the_controller_and_tools&quot; id=&quot;the_controller_and_tools&quot;&gt;The Controller and Tools&lt;/a&gt;&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;!-- EDIT55 SECTION &quot;The Controller and Tools&quot; [998-1573] --&gt;
&lt;h3 class=&quot;sectionedit56&quot;&gt;&lt;a name=&quot;the_models&quot; id=&quot;the_models&quot;&gt;The Models&lt;/a&gt;&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 their 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;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&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;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&gt; pages as regular content - optional&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT56 SECTION &quot;The Models&quot; [1574-2388] --&gt;
&lt;h3 class=&quot;sectionedit57&quot;&gt;&lt;a name=&quot;the_default_plugins&quot; id=&quot;the_default_plugins&quot;&gt;The Default Plugins&lt;/a&gt;&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;!-- EDIT57 SECTION &quot;The Default Plugins&quot; [2389-2667] --&gt;
&lt;h3 class=&quot;sectionedit58&quot;&gt;&lt;a name=&quot;the_parsers&quot; id=&quot;the_parsers&quot;&gt;The Parsers&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

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

&lt;/div&gt;
&lt;!-- EDIT58 SECTION &quot;The Parsers&quot; [2668-] --&gt;</description>
            <pubDate>Thu, 19 Apr 2012 14:06:24 +0200</pubDate>
        </item>
        <item>
            <title>Building Projekktor from Source</title>
            <link>http://www.projekktor.com/docs/building?rev=1323953579&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit59&quot;&gt;&lt;a name=&quot;building_projekktor_from_source&quot; id=&quot;building_projekktor_from_source&quot;&gt;Building Projekktor from Source&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT59 SECTION &quot;Building Projekktor from Source&quot; [1-47] --&gt;
&lt;h3 class=&quot;sectionedit60&quot;&gt;&lt;a name=&quot;general&quot; id=&quot;general&quot;&gt;General&lt;/a&gt;&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 them one
by one to your development page´s header or merge them into one file. 
&lt;/p&gt;

&lt;p&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.
In this section you´ll learn  what to take care of.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT60 SECTION &quot;General&quot; [48-514] --&gt;
&lt;h3 class=&quot;sectionedit61&quot;&gt;&lt;a name=&quot;directory_structure&quot; id=&quot;directory_structure&quot;&gt;Directory Structure&lt;/a&gt;&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; main - Holds the player´s core controller and models and basic tools.&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;!-- EDIT61 SECTION &quot;Directory Structure&quot; [515-937] --&gt;
&lt;h3 class=&quot;sectionedit62&quot;&gt;&lt;a name=&quot;the_controller_and_tools&quot; id=&quot;the_controller_and_tools&quot;&gt;The Controller and Tools&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Projekktor´s controller is generated out of all /js/main/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;!-- EDIT62 SECTION &quot;The Controller and Tools&quot; [938-1507] --&gt;
&lt;h3 class=&quot;sectionedit63&quot;&gt;&lt;a name=&quot;the_models&quot; id=&quot;the_models&quot;&gt;The Models&lt;/a&gt;&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 an other one depending on their 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;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&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;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&gt; pages as regular content - optional&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT63 SECTION &quot;The Models&quot; [1508-2324] --&gt;
&lt;h3 class=&quot;sectionedit64&quot;&gt;&lt;a name=&quot;the_default_plugins&quot; id=&quot;the_default_plugins&quot;&gt;The Default Plugins&lt;/a&gt;&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;!-- EDIT64 SECTION &quot;The Default Plugins&quot; [2325-2603] --&gt;
&lt;h3 class=&quot;sectionedit65&quot;&gt;&lt;a name=&quot;the_parsers&quot; id=&quot;the_parsers&quot;&gt;The Parsers&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

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

&lt;/div&gt;
&lt;!-- EDIT65 SECTION &quot;The Parsers&quot; [2604-] --&gt;</description>
            <pubDate>Thu, 15 Dec 2011 13:52:59 +0200</pubDate>
        </item>
        <item>
            <title>Compatibility Chart</title>
            <link>http://www.projekktor.com/docs/compatibility?rev=1322644793&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit66&quot;&gt;&lt;a name=&quot;compatibility_chart&quot; id=&quot;compatibility_chart&quot;&gt;Compatibility Chart&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&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 sectionedit67&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;acronym title=&quot;Moving Picture Experts Group Layer 3&quot;&gt;MP3&lt;/acronym&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;acronym title=&quot;Internet Explorer 6&quot;&gt;IE6&lt;/acronym&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;!-- EDIT67 TABLE [255-2064] --&gt;
&lt;/div&gt;
</description>
            <pubDate>Wed, 30 Nov 2011 10:19:53 +0200</pubDate>
        </item>
        <item>
            <title>Configuration parameters</title>
            <link>http://www.projekktor.com/docs/configuration?rev=1336743943&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit68&quot;&gt;&lt;a name=&quot;configuration_parameters&quot; id=&quot;configuration_parameters&quot;&gt;Configuration parameters&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT68 SECTION &quot;Configuration parameters&quot; [1-40] --&gt;
&lt;h3 class=&quot;sectionedit69&quot;&gt;&lt;a name=&quot;general&quot; id=&quot;general&quot;&gt;General&lt;/a&gt;&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;span class=&quot;curid&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;/span&gt;, … &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; those that &lt;span class=&quot;curid&quot;&gt;&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;&lt;/span&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;!-- EDIT69 SECTION &quot;General&quot; [41-979] --&gt;
&lt;h2 class=&quot;sectionedit70&quot;&gt;&lt;a name=&quot;config_options_to_be_set_prior_initialization_only&quot; id=&quot;config_options_to_be_set_prior_initialization_only&quot;&gt;Config options to be set prior initialization only&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT70 SECTION &quot;Config options to be set prior initialization only&quot; [980-1043] --&gt;
&lt;h3 class=&quot;sectionedit71&quot;&gt;&lt;a name=&quot;cookiename_stringqwprojaaekktor&quot; id=&quot;cookiename_stringqwprojaaekktor&quot;&gt;cookieName (String:&amp;#039;qwprojaaekktor&amp;#039;)&lt;/a&gt;&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;!-- EDIT71 SECTION &quot;cookieName (String:'qwprojaaekktor')&quot; [1044-1182] --&gt;
&lt;h3 class=&quot;sectionedit72&quot;&gt;&lt;a name=&quot;cookieexpiry_integer356&quot; id=&quot;cookieexpiry_integer356&quot;&gt;cookieExpiry (Integer:356)&lt;/a&gt;&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;!-- EDIT72 SECTION &quot;cookieExpiry (Integer:356)&quot; [1183-1253] --&gt;
&lt;h3 class=&quot;sectionedit73&quot;&gt;&lt;a name=&quot;plugins_arraydisplay_controlbar&quot; id=&quot;plugins_arraydisplay_controlbar&quot;&gt;plugins (Array:[&amp;#039;display&amp;#039;, &amp;#039;controlbar&amp;#039;])&lt;/a&gt;&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;acronym title=&quot;Document Object Model&quot;&gt;DOM&lt;/acronym&gt;. As such it is useful to add the “Display” plugin always first.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT73 SECTION &quot;plugins (Array:['display', 'controlbar'])&quot; [1254-1612] --&gt;
&lt;h3 class=&quot;sectionedit74&quot;&gt;&lt;a name=&quot;addplugins_array&quot; id=&quot;addplugins_array&quot;&gt;addplugins (Array:[])&lt;/a&gt;&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;!-- EDIT74 SECTION &quot;addplugins (Array:[])&quot; [1613-1750] --&gt;
&lt;h3 class=&quot;sectionedit75&quot;&gt;&lt;a name=&quot;reelparser_functionfunction_data_return_data&quot; id=&quot;reelparser_functionfunction_data_return_data&quot;&gt;reelParser (function:function(data){return data;})&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Projekktor can read external playlists loaded via Ajax. Those playlists can either be “&lt;acronym title=&quot;Extensible Markup Language&quot;&gt;XML&lt;/acronym&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 read different formats, e.g. &lt;acronym title=&quot;Rich Site Summary&quot;&gt;RSS&lt;/acronym&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;!-- EDIT75 SECTION &quot;reelParser (function:function(data){return data;})&quot; [1751-2466] --&gt;
&lt;h3 class=&quot;sectionedit76&quot;&gt;&lt;a name=&quot;cssclassprefix_stringpp&quot; id=&quot;cssclassprefix_stringpp&quot;&gt;cssClassPrefix (String:&amp;#039;pp&amp;#039;)&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Prefix added to all css-classnames used by the player in order to avoid conflicts with existing &lt;acronym title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/acronym&gt;.1
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT76 SECTION &quot;cssClassPrefix (String:'pp')&quot; [2467-2609] --&gt;
&lt;h3 class=&quot;sectionedit77&quot;&gt;&lt;a name=&quot;platforms_arraybrowser_ios_native_flash&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;/a&gt;&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 the and interact with a given media object. 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 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;acronym title=&quot;What the f***&quot;&gt;WTF?&lt;/acronym&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 let´s say we have a &amp;lt;video&amp;gt;-capable browser featuring the H.264 codec and with 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;!-- EDIT77 SECTION &quot;platforms (Array:['browser', 'ios', 'native', 'flash'])&quot; [2610-4273] --&gt;
&lt;h3 class=&quot;sectionedit78&quot;&gt;&lt;a name=&quot;iframe_booleanfalse&quot; id=&quot;iframe_booleanfalse&quot;&gt;iframe (Boolean:false)&lt;/a&gt;&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;!-- EDIT78 SECTION &quot;iframe (Boolean:false)&quot; [4274-4415] --&gt;
&lt;h3 class=&quot;sectionedit79&quot;&gt;&lt;a name=&quot;loop_booleanfalse&quot; id=&quot;loop_booleanfalse&quot;&gt;loop (Boolean:false)&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

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

&lt;/div&gt;
&lt;!-- EDIT79 SECTION &quot;loop (Boolean:false)&quot; [4416-4482] --&gt;
&lt;h3 class=&quot;sectionedit80&quot;&gt;&lt;a name=&quot;autoplay_booleanfalse&quot; id=&quot;autoplay_booleanfalse&quot;&gt;autoplay (Boolean:false)&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Enables / disables autoplay / autostart.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT80 SECTION &quot;autoplay (Boolean:false)&quot; [4483-4560] --&gt;
&lt;h3 class=&quot;sectionedit81&quot;&gt;&lt;a name=&quot;ignoreattributes_booleanfalse&quot; id=&quot;ignoreattributes_booleanfalse&quot;&gt;ignoreAttributes (Boolean:false)&lt;/a&gt;&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;!-- EDIT81 SECTION &quot;ignoreAttributes (Boolean:false)&quot; [4561-4874] --&gt;
&lt;h3 class=&quot;sectionedit82&quot;&gt;&lt;a name=&quot;continuous_booleantrue&quot; id=&quot;continuous_booleantrue&quot;&gt;continuous (Boolean:true)&lt;/a&gt;&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;!-- EDIT82 SECTION &quot;continuous (Boolean:true)&quot; [4875-5423] --&gt;
&lt;h3 class=&quot;sectionedit83&quot;&gt;&lt;a name=&quot;playlist_array&quot; id=&quot;playlist_array&quot;&gt;playlist (Array:[])&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
An array of objects featuring 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;!-- EDIT83 SECTION &quot;playlist (Array:[])&quot; [5424-5567] --&gt;
&lt;h3 class=&quot;sectionedit84&quot;&gt;&lt;a name=&quot;height_integer0&quot; id=&quot;height_integer0&quot;&gt;height (Integer:0)&lt;/a&gt;&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;!-- EDIT84 SECTION &quot;height (Integer:0)&quot; [5568-5731] --&gt;
&lt;h3 class=&quot;sectionedit85&quot;&gt;&lt;a name=&quot;width_integer0&quot; id=&quot;width_integer0&quot;&gt;width (Integer:0)&lt;/a&gt;&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;!-- EDIT85 SECTION &quot;width (Integer:0)&quot; [5732-5894] --&gt;
&lt;h3 class=&quot;sectionedit86&quot;&gt;&lt;a name=&quot;minheight_integer40&quot; id=&quot;minheight_integer40&quot;&gt;minHeight (Integer:40)&lt;/a&gt;&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;!-- EDIT86 SECTION &quot;minHeight (Integer:40)&quot; [5895-5963] --&gt;
&lt;h3 class=&quot;sectionedit87&quot;&gt;&lt;a name=&quot;minwidth_integer40&quot; id=&quot;minwidth_integer40&quot;&gt;minWidth (Integer:40)&lt;/a&gt;&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;!-- EDIT87 SECTION &quot;minWidth (Integer:40)&quot; [5964-6031] --&gt;
&lt;h3 class=&quot;sectionedit88&quot;&gt;&lt;a name=&quot;messages_objectsee_below&quot; id=&quot;messages_objectsee_below&quot;&gt;messages (Object:{... see below... })&lt;/a&gt;&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;  
  // flash &amp;amp; native:
  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 (%{file}) 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 (%{type}).&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;,
  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;!-- EDIT88 SECTION &quot;messages (Object:{... see below... })&quot; [6032-7093] --&gt;
&lt;h2 class=&quot;sectionedit89&quot;&gt;&lt;a name=&quot;config_options_available_per_playlist_item&quot; id=&quot;config_options_available_per_playlist_item&quot;&gt;Config options available per playlist item&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT89 SECTION &quot;Config options available per playlist item&quot; [7094-7149] --&gt;
&lt;h3 class=&quot;sectionedit90&quot;&gt;&lt;a name=&quot;id_string0&quot; id=&quot;id_string0&quot;&gt;ID (String:&amp;#039;0&amp;#039;)&lt;/a&gt;&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;!-- EDIT90 SECTION &quot;ID (String:'0')&quot; [7150-7294] --&gt;
&lt;h3 class=&quot;sectionedit91&quot;&gt;&lt;a name=&quot;title_string&quot; id=&quot;title_string&quot;&gt;title (String:&amp;#039;&amp;#039;)&lt;/a&gt;&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;!-- EDIT91 SECTION &quot;title (String:'')&quot; [7295-7356] --&gt;
&lt;h3 class=&quot;sectionedit92&quot;&gt;&lt;a name=&quot;poster_string&quot; id=&quot;poster_string&quot;&gt;poster (String:&amp;#039;&amp;#039;)&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&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;!-- EDIT92 SECTION &quot;poster (String:'')&quot; [7357-7502] --&gt;
&lt;h3 class=&quot;sectionedit93&quot;&gt;&lt;a name=&quot;cover_string&quot; id=&quot;cover_string&quot;&gt;cover (String:&amp;#039;&amp;#039;)&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&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;!-- EDIT93 SECTION &quot;cover (String:'')&quot; [7503-7636] --&gt;
&lt;h3 class=&quot;sectionedit94&quot;&gt;&lt;a name=&quot;controls_booleanfalse&quot; id=&quot;controls_booleanfalse&quot;&gt;controls (Boolean:false)&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

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

&lt;/div&gt;
&lt;!-- EDIT94 SECTION &quot;controls (Boolean:false)&quot; [7637-7720] --&gt;
&lt;h3 class=&quot;sectionedit95&quot;&gt;&lt;a name=&quot;duration_integer0&quot; id=&quot;duration_integer0&quot;&gt;duration (Integer:0)&lt;/a&gt;&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;!-- EDIT95 SECTION &quot;duration (Integer:0)&quot; [7721-7832] --&gt;
&lt;h3 class=&quot;sectionedit96&quot;&gt;&lt;a name=&quot;start_integer0&quot; id=&quot;start_integer0&quot;&gt;start (Integer:0)&lt;/a&gt;&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;!-- EDIT96 SECTION &quot;start (Integer:0)&quot; [7833-7930] --&gt;
&lt;h3 class=&quot;sectionedit97&quot;&gt;&lt;a name=&quot;stop_integer0&quot; id=&quot;stop_integer0&quot;&gt;stop (Integer:0)&lt;/a&gt;&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;!-- EDIT97 SECTION &quot;stop (Integer:0)&quot; [7931-8028] --&gt;
&lt;h3 class=&quot;sectionedit98&quot;&gt;&lt;a name=&quot;volume_float05&quot; id=&quot;volume_float05&quot;&gt;volume (Float:0.5)&lt;/a&gt;&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;!-- EDIT98 SECTION &quot;volume (Float:0.5)&quot; [8029-8123] --&gt;
&lt;h3 class=&quot;sectionedit99&quot;&gt;&lt;a name=&quot;disablepause_booleanfalse&quot; id=&quot;disablepause_booleanfalse&quot;&gt;disablePause (Boolean:false)&lt;/a&gt;&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;acronym title=&quot;Graphical User Interface&quot;&gt;GUI&lt;/acronym&gt;. &lt;acronym title=&quot;JavaScript&quot;&gt;JS&lt;/acronym&gt; &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; calls are not affected.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT99 SECTION &quot;disablePause (Boolean:false)&quot; [8124-8277] --&gt;
&lt;h3 class=&quot;sectionedit100&quot;&gt;&lt;a name=&quot;disallowskip_booleanfalse&quot; id=&quot;disallowskip_booleanfalse&quot;&gt;disallowSkip (Boolean:false)&lt;/a&gt;&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;acronym title=&quot;Graphical User Interface&quot;&gt;GUI&lt;/acronym&gt;. &lt;acronym title=&quot;JavaScript&quot;&gt;JS&lt;/acronym&gt; &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; calls are not affected.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT100 SECTION &quot;disallowSkip (Boolean:false)&quot; [8278-8445] --&gt;
&lt;h3 class=&quot;sectionedit101&quot;&gt;&lt;a name=&quot;fixedvolume_booleanfalse&quot; id=&quot;fixedvolume_booleanfalse&quot;&gt;fixedVolume (Boolean:false)&lt;/a&gt;&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;acronym title=&quot;Graphical User Interface&quot;&gt;GUI&lt;/acronym&gt;. &lt;acronym title=&quot;JavaScript&quot;&gt;JS&lt;/acronym&gt; &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; calls are not affected.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT101 SECTION &quot;fixedVolume (Boolean:false)&quot; [8446-8592] --&gt;
&lt;h3 class=&quot;sectionedit102&quot;&gt;&lt;a name=&quot;imagescaling_stringaspectratio_videoscaling_stringaspectratio&quot; id=&quot;imagescaling_stringaspectratio_videoscaling_stringaspectratio&quot;&gt;imageScaling (String:&amp;#039;aspectratio&amp;#039;), videoScaling (String:&amp;#039;aspectratio&amp;#039;)&lt;/a&gt;&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;!-- EDIT102 SECTION &quot;imageScaling (String:'aspectratio'), videoScaling (String:'aspectratio')&quot; [8593-9101] --&gt;
&lt;h3 class=&quot;sectionedit103&quot;&gt;&lt;a name=&quot;playerflashmp4_stringjarisplayerswf_playerflashmp3_stringjarisplayerswf&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;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

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

&lt;/div&gt;
&lt;!-- EDIT103 SECTION &quot;playerFlashMP4 (String:'jarisplayer.swf'), playerFlashMP3 (String:'jarisplayer.swf')&quot; [9102-9256] --&gt;
&lt;h3 class=&quot;sectionedit104&quot;&gt;&lt;a name=&quot;streamtype_stringfile&quot; id=&quot;streamtype_stringfile&quot;&gt;streamType (String:&amp;#039;file&amp;#039;)&lt;/a&gt;&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;!-- EDIT104 SECTION &quot;streamType (String:'file')&quot; [9257-9533] --&gt;
&lt;h3 class=&quot;sectionedit105&quot;&gt;&lt;a name=&quot;streamserver_string&quot; id=&quot;streamserver_string&quot;&gt;streamServer (String:&amp;#039;&amp;#039;)&lt;/a&gt;&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;!-- EDIT105 SECTION &quot;streamServer (String:'')&quot; [9534-9624] --&gt;
&lt;h3 class=&quot;sectionedit106&quot;&gt;&lt;a name=&quot;useytiframeapi_booleanfalse&quot; id=&quot;useytiframeapi_booleanfalse&quot;&gt;useYTIframeAPI (Boolean: false)&lt;/a&gt;&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;!-- EDIT106 SECTION &quot;useYTIframeAPI (Boolean: false)&quot; [9625-9806] --&gt;
&lt;h3 class=&quot;sectionedit107&quot;&gt;&lt;a name=&quot;enableflashfallback_booleantrue&quot; id=&quot;enableflashfallback_booleantrue&quot;&gt;enableFlashFallback (Boolean: true)&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;del&gt;&lt;img src=&quot;http://www.projekktor.com/docs/lib/images/smileys/icon_exclaim.gif&quot; class=&quot;middle&quot; alt=&quot;:!:&quot; /&gt; subject for changes

Enable / Disable Flash fallback. 
&lt;/del&gt; OBSOLETE
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT107 SECTION &quot;enableFlashFallback (Boolean: true)&quot; [9807-9933] --&gt;
&lt;h3 class=&quot;sectionedit108&quot;&gt;&lt;a name=&quot;enablenativeplayback_booleantrue&quot; id=&quot;enablenativeplayback_booleantrue&quot;&gt;enableNativePlayback (Boolean: true)&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;del&gt;&lt;img src=&quot;http://www.projekktor.com/docs/lib/images/smileys/icon_exclaim.gif&quot; class=&quot;middle&quot; alt=&quot;:!:&quot; /&gt; subject for changes

Enable / Disable native media playback.&lt;/del&gt; OBSOLETE
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT108 SECTION &quot;enableNativePlayback (Boolean: true)&quot; [9934-10068] --&gt;
&lt;h3 class=&quot;sectionedit109&quot;&gt;&lt;a name=&quot;enablenativeplatform_enableflashplatform_booleantrue&quot; id=&quot;enablenativeplatform_enableflashplatform_booleantrue&quot;&gt;enableNativePlatform, enableFlashPlatform (Boolean: true)&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Enable / Disable different playback methods. The most common ones are “native” (for the &amp;lt;video&amp;gt; and &amp;lt;audio&amp;gt; tags) and Flash. Setting “enable&amp;lt;platformname&amp;gt;Platform” to false is equal to strip a platform from the ”&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;platform&lt;/a&gt;” config array.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT109 SECTION &quot;enableNativePlatform, enableFlashPlatform (Boolean: true)&quot; [10069-10462] --&gt;
&lt;h3 class=&quot;sectionedit110&quot;&gt;&lt;a name=&quot;enablekeyboard_booleantrue&quot; id=&quot;enablekeyboard_booleantrue&quot;&gt;enableKeyboard (Boolean: true)&lt;/a&gt;&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;!-- EDIT110 SECTION &quot;enableKeyboard (Boolean: true)&quot; [10463-10561] --&gt;
&lt;h3 class=&quot;sectionedit111&quot;&gt;&lt;a name=&quot;enablefullscreen_booleantrue&quot; id=&quot;enablefullscreen_booleantrue&quot;&gt;enableFullscreen (Boolean: true)&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

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

&lt;/div&gt;
&lt;!-- EDIT111 SECTION &quot;enableFullscreen (Boolean: true)&quot; [10562-10755] --&gt;
&lt;h3 class=&quot;sectionedit112&quot;&gt;&lt;a name=&quot;enablenativefullscreen_booleantrue&quot; id=&quot;enablenativefullscreen_booleantrue&quot;&gt;enableNativeFullscreen (Boolean: true)&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Enable / Disable true &lt;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&gt; fullscreen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT112 SECTION &quot;enableNativeFullscreen (Boolean: true)&quot; [10756-10846] --&gt;
&lt;h3 class=&quot;sectionedit113&quot;&gt;&lt;a name=&quot;enabletestcard_booleantrue&quot; id=&quot;enabletestcard_booleantrue&quot;&gt;enableTestcard (Boolean: true)&lt;/a&gt;&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;!-- EDIT113 SECTION &quot;enableTestcard (Boolean: true)&quot; [10847-11106] --&gt;
&lt;h3 class=&quot;sectionedit114&quot;&gt;&lt;a name=&quot;skiptestcard_booleanfalse&quot; id=&quot;skiptestcard_booleanfalse&quot;&gt;skipTestcard (Boolean: false)&lt;/a&gt;&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;!-- EDIT114 SECTION &quot;skipTestcard (Boolean: false)&quot; [11107-11333] --&gt;
&lt;h3 class=&quot;sectionedit115&quot;&gt;&lt;a name=&quot;classname_string&quot; id=&quot;classname_string&quot;&gt;className (String:&amp;#039;&amp;#039;)&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sets an additional &lt;acronym title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/acronym&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;!-- EDIT115 SECTION &quot;className (String:'')&quot; [11334-11551] --&gt;
&lt;h3 class=&quot;sectionedit116&quot;&gt;&lt;a name=&quot;playbackqualities_arraysee_below&quot; id=&quot;playbackqualities_arraysee_below&quot;&gt;playbackQualities (Array:[ ... see below ... ])&lt;/a&gt;&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;!-- EDIT116 SECTION &quot;playbackQualities (Array:[ ... see below ... ])&quot; [11552-12380] --&gt;
&lt;h2 class=&quot;sectionedit117&quot;&gt;&lt;a name=&quot;configuring_plugins&quot; id=&quot;configuring_plugins&quot;&gt;Configuring Plugins&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT117 SECTION &quot;Configuring Plugins&quot; [12381-12412] --&gt;
&lt;h3 class=&quot;sectionedit118&quot;&gt;&lt;a name=&quot;xxxx&quot; id=&quot;xxxx&quot;&gt;xxxx&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT118 SECTION &quot;xxxx&quot; [12413-] --&gt;</description>
            <pubDate>Fri, 11 May 2012 15:45:43 +0200</pubDate>
        </item>
        <item>
            <title>Cue Points</title>
            <link>http://www.projekktor.com/docs/cuepoints?rev=1336642340&amp;do=diff</link>
            <description>
&lt;p&gt;
&lt;div class=&quot;noteimportant&quot;&gt;This docu is work in progress. Sorry about that.
&lt;/div&gt;
&lt;/p&gt;

&lt;h3 class=&quot;sectionedit119&quot;&gt;&lt;a name=&quot;cue_points&quot; id=&quot;cue_points&quot;&gt;Cue Points&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT119 SECTION &quot;Cue Points&quot; [73-95] --&gt;
&lt;h3 class=&quot;sectionedit120&quot;&gt;&lt;a name=&quot;general&quot; id=&quot;general&quot;&gt;General&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Projekktor features setting of “cuepoints” which can be set through &lt;a href=&quot;http://www.projekktor.com/docs/playlists&quot; class=&quot;wikilink1&quot; title=&quot;playlists&quot;&gt;playlists&lt;/a&gt; or by calling &lt;a href=&quot;http://www.projekktor.com/docs/api#playersetcuepoint_cuepointobject_void&quot; class=&quot;wikilink1&quot; title=&quot;api&quot;&gt;API functions&lt;/a&gt;. 
&lt;/p&gt;

&lt;p&gt;
Cuepoints trigger custom callback functions depending on the current time index (the playhead position) of the player. Furthermore they can be &lt;a href=&quot;http://www.projekktor.com/docs/api#playergetcuepoints_idxinteger_array&quot; class=&quot;wikilink1&quot; title=&quot;api&quot;&gt;grabed via the player´s JS API&lt;/a&gt; e.g. in order to create visual chapter indexes.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT120 SECTION &quot;General&quot; [96-553] --&gt;
&lt;h3 class=&quot;sectionedit121&quot;&gt;&lt;a name=&quot;the_cuepoint_object&quot; id=&quot;the_cuepoint_object&quot;&gt;The Cuepoint Object&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;{
id: &amp;#039;words1&amp;#039;,
item: &amp;#039;*&amp;#039;,
group: &amp;#039;cue3&amp;#039;,
on: &amp;#039;00:01&amp;#039;,
off: &amp;#039;00:09&amp;#039;,
value: &amp;#039;hallo baby&amp;#039;,
callback: function() {alert(&amp;quot;trigger me, babe&amp;quot;}
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT121 SECTION &quot;The Cuepoint Object&quot; [554-740] --&gt;
&lt;h3 class=&quot;sectionedit122&quot;&gt;&lt;a name=&quot;setting_cuepoints_via_the_api&quot; id=&quot;setting_cuepoints_via_the_api&quot;&gt;Setting Cuepoints via the API&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT122 SECTION &quot;Setting Cuepoints via the API&quot; [741-781] --&gt;
&lt;h3 class=&quot;sectionedit123&quot;&gt;&lt;a name=&quot;setting_cuepoints_via_playlists&quot; id=&quot;setting_cuepoints_via_playlists&quot;&gt;Setting Cuepoints via Playlists&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT123 SECTION &quot;Setting Cuepoints via Playlists&quot; [782-] --&gt;</description>
            <pubDate>Thu, 10 May 2012 11:32:20 +0200</pubDate>
        </item>
        <item>
            <title>Player Events</title>
            <link>http://www.projekktor.com/docs/events?rev=1331111367&amp;do=diff</link>
            <description>
&lt;h2 class=&quot;sectionedit124&quot;&gt;&lt;a name=&quot;player_events&quot; id=&quot;player_events&quot;&gt;Player Events&lt;/a&gt;&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&gt;&lt;a name=&quot;scheduleloading&quot; id=&quot;scheduleloading&quot;&gt;scheduleLoading&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

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

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;schedulemodified&quot; id=&quot;schedulemodified&quot;&gt;scheduleModified&lt;/a&gt;&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&gt;&lt;a name=&quot;scheduled&quot; id=&quot;scheduled&quot;&gt;scheduled&lt;/a&gt;&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&gt;&lt;a name=&quot;configmodified&quot; id=&quot;configmodified&quot;&gt;configModified&lt;/a&gt;&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;acronym title=&quot;Asynchronous JavaScript and XML&quot;&gt;AJAX&lt;/acronym&gt; call (e.g. in conjunction with “schduleLoading”).
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;item_itemindex&quot; id=&quot;item_itemindex&quot;&gt;item (itemIndex)&lt;/a&gt;&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&gt;&lt;a name=&quot;displayready&quot; id=&quot;displayready&quot;&gt;displayReady&lt;/a&gt;&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&gt;&lt;a name=&quot;pluginsready&quot; id=&quot;pluginsready&quot;&gt;pluginsReady&lt;/a&gt;&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&gt;&lt;a name=&quot;ready&quot; id=&quot;ready&quot;&gt;ready&lt;/a&gt;&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&gt;&lt;a name=&quot;starting&quot; id=&quot;starting&quot;&gt;starting&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The player got triggered to start and synchronizes the model with the controller.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;start&quot; id=&quot;start&quot;&gt;start&lt;/a&gt;&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&gt;&lt;a name=&quot;state_string&quot; id=&quot;state_string&quot;&gt;state (string)&lt;/a&gt;&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&gt;&lt;a name=&quot;possible_states&quot; id=&quot;possible_states&quot;&gt;possible states&lt;/a&gt;&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 begins playback for the very first time and initializes. 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;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;acronym title=&quot;JavaScript&quot;&gt;JS&lt;/acronym&gt; &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&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;/div&gt;

&lt;h4&gt;&lt;a name=&quot;buffer_string&quot; id=&quot;buffer_string&quot;&gt;buffer (string)&lt;/a&gt;&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&gt;&lt;a name=&quot;possible_states1&quot; id=&quot;possible_states1&quot;&gt;possible states&lt;/a&gt;&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&gt;&lt;a name=&quot;volume_currentvolumefloat&quot; id=&quot;volume_currentvolumefloat&quot;&gt;volume (currentVolume:float)&lt;/a&gt;&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&gt;&lt;a name=&quot;mute&quot; id=&quot;mute&quot;&gt;mute&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

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

&lt;/div&gt;

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

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

&lt;/div&gt;

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

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

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;time_float&quot; id=&quot;time_float&quot;&gt;time (float)&lt;/a&gt;&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&gt;&lt;a name=&quot;progress_float&quot; id=&quot;progress_float&quot;&gt;progress (float)&lt;/a&gt;&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&gt;&lt;a name=&quot;seek_float&quot; id=&quot;seek_float&quot;&gt;seek (float)&lt;/a&gt;&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&gt;&lt;a name=&quot;fullscreen_boolean&quot; id=&quot;fullscreen_boolean&quot;&gt;fullscreen (boolean)&lt;/a&gt;&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&gt;&lt;a name=&quot;resize&quot; id=&quot;resize&quot;&gt;resize&lt;/a&gt;&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&gt;&lt;a name=&quot;scale&quot; id=&quot;scale&quot;&gt;scale&lt;/a&gt;&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&gt;&lt;a name=&quot;qualitychange&quot; id=&quot;qualitychange&quot;&gt;qualitychange&lt;/a&gt;&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&gt;&lt;a name=&quot;detach&quot; id=&quot;detach&quot;&gt;detach&lt;/a&gt;&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&gt;&lt;a name=&quot;mousemove&quot; id=&quot;mousemove&quot;&gt;mousemove&lt;/a&gt;&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&gt;&lt;a name=&quot;mouseenter&quot; id=&quot;mouseenter&quot;&gt;mouseenter&lt;/a&gt;&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&gt;&lt;a name=&quot;leftclick_rightclick_middleclick_clickevent&quot; id=&quot;leftclick_rightclick_middleclick_clickevent&quot;&gt;leftclick / rightclick / middleclick (Click:event&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

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

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;mouseleave&quot; id=&quot;mouseleave&quot;&gt;mouseleave&lt;/a&gt;&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&gt;&lt;a name=&quot;key_keydowneventevent&quot; id=&quot;key_keydowneventevent&quot;&gt;key (KeydownEvent:event)&lt;/a&gt;&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&gt;&lt;a name=&quot;done&quot; id=&quot;done&quot;&gt;done&lt;/a&gt;&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>
            <pubDate>Wed, 07 Mar 2012 10:09:27 +0200</pubDate>
        </item>
        <item>
            <title>examples_opentape</title>
            <link>http://www.projekktor.com/docs/examples_opentape?rev=1305791380&amp;do=diff</link>
            <description>&lt;pre class=&quot;code&quot;&gt;&amp;lt;?php

  require_once(&amp;quot;opentape_common.php&amp;quot;);

  if ($_GET[&amp;#039;download&amp;#039;]==true) {
    header( &amp;#039;Location: &amp;#039;.get_base_url() . constant(&amp;quot;SONGS_PATH&amp;quot;) . &amp;#039;index.php&amp;#039; );
    die();
  }

  $songlist_struct = scan_songs();
  $songlist_struct_original = $songlist_struct;

  $prefs_struct = get_opentape_prefs();

  $config = array();
  $config[&amp;#039;playlist&amp;#039;] = array();
  
  // this is where the Projekktor fun begins:
  foreach ($songlist_struct as $pos =&amp;gt; $row) {
    $config[&amp;#039;playlist&amp;#039;][] = array(
      array(
	  &amp;#039;src&amp;#039; =&amp;gt; get_base_url() . constant(&amp;quot;SONGS_PATH&amp;quot;) . rawurlencode($row[&amp;#039;filename&amp;#039;]),
	  &amp;#039;type&amp;#039; =&amp;gt; &amp;#039;audio/mp3&amp;#039;
      ),
      array(
	  &amp;#039;src&amp;#039; =&amp;gt; str_replace(&amp;#039;mp3&amp;#039;, &amp;#039;ogg&amp;#039;, get_base_url() . constant(&amp;quot;SONGS_PATH&amp;quot;) . rawurlencode($row[&amp;#039;filename&amp;#039;]) ),
	  &amp;#039;type&amp;#039; =&amp;gt; &amp;#039;audio/ogg&amp;#039;
      ),
      &amp;#039;config&amp;#039; =&amp;gt; array(
	  &amp;#039;title&amp;#039; =&amp;gt; ( isset($row[&amp;#039;opentape_title&amp;#039;]) ) ? $row[&amp;#039;opentape_title&amp;#039;] : htmlentities($row[&amp;#039;title&amp;#039;]),
	  &amp;#039;poster&amp;#039; =&amp;gt; get_base_url() . constant(&amp;quot;SONGS_PATH&amp;quot;) . rawurlencode(&amp;#039;cover.jpg&amp;#039;)
      )
    );
  };

  // the json / jsonp header
  if ($_GET[&amp;#039;_jsonp&amp;#039;]==&amp;#039;&amp;#039;)
  {
      header(&amp;quot;Content-Type: application/json&amp;quot;);
  }
  else {
      header(&amp;quot;Content-Type: application/javascript&amp;quot;);
  }


  // jsonP callback function and bracket
  if ($_GET[&amp;#039;_jsonp&amp;#039;]!=&amp;#039;&amp;#039;)
  {
    echo $_GET[&amp;#039;_jsonp&amp;#039;].&amp;#039;(&amp;#039;;
  }
  
  echo json_encode($config);
  
  // jsonP bracket
  if ($_GET[&amp;#039;_jsonp&amp;#039;]!=&amp;#039;&amp;#039;)
  {
    echo $_GET[&amp;#039;_jsonp&amp;#039;].&amp;#039;);&amp;#039;;
  }&lt;/pre&gt;
</description>
            <pubDate>Thu, 19 May 2011 09:49:40 +0200</pubDate>
        </item>
        <item>
            <title>General F.A.Q.</title>
            <link>http://www.projekktor.com/docs/faq?rev=1327407555&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit125&quot;&gt;&lt;a name=&quot;general_faq&quot; id=&quot;general_faq&quot;&gt;General F.A.Q.&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT125 SECTION &quot;General F.A.Q.&quot; [1-30] --&gt;
&lt;h3 class=&quot;sectionedit126&quot;&gt;&lt;a name=&quot;where_can_i_find_the_release_roadmap_of_this_project&quot; id=&quot;where_can_i_find_the_release_roadmap_of_this_project&quot;&gt;Where can I find the release roadmap of this project?&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Projekktor releases are published spontaneously. This is (still) 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/&quot; class=&quot;urlextern&quot; title=&quot;http://spinningairwhale.com/contact/&quot;&gt;contact me&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT126 SECTION &quot;Where can I find the release roadmap of this project?&quot; [31-486] --&gt;
&lt;h3 class=&quot;sectionedit127&quot;&gt;&lt;a name=&quot;why_does_the_fullscreen_button_just_make_the_player_fill_my_browser_window_and_the_scrollbars_disappear&quot; id=&quot;why_does_the_fullscreen_button_just_make_the_player_fill_my_browser_window_and_the_scrollbars_disappear&quot;&gt;Why does the fullscreen button just make the player fill my browser window and the scrollbars disappear?&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
In some browsers “Fullscreen” is “full viewport” only because they don´t (yet) support &lt;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&gt; fullscreen. Due to the underlying least common denominator principle Flash- and HTML5- fullscreen are handled the same way. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT127 SECTION &quot;Why does the fullscreen button just make the player fill my browser window and the scrollbars disappear?&quot; [487-820] --&gt;
&lt;h3 class=&quot;sectionedit128&quot;&gt;&lt;a name=&quot;what_is_the_difference_between_ogv_and_ogg&quot; id=&quot;what_is_the_difference_between_ogv_and_ogg&quot;&gt;What is the difference between .ogv and .ogg&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&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;!-- EDIT128 SECTION &quot;What is the difference between .ogv and .ogg&quot; [821-1172] --&gt;
&lt;h3 class=&quot;sectionedit129&quot;&gt;&lt;a name=&quot;i_tried_to_apply_the_autostart_attribute_to_the_video_tag_in_order_to_make_the_video_play_well_automatically_but_something_is_messed_up&quot; id=&quot;i_tried_to_apply_the_autostart_attribute_to_the_video_tag_in_order_to_make_the_video_play_well_automatically_but_something_is_messed_up&quot;&gt;I tried to apply the autostart attribute to the VIDEO tag in order to make the video play, well, automatically, but something is messed up.&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
This is a known issue with some browsers. Some browsers initialize their 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 instantly for a glimpse, stop and the new Projekktor instance is started. This behavior causes some interesting effects but most of time 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, 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;!-- EDIT129 SECTION &quot;I tried to apply the autostart attribute to the VIDEO tag in order to make the video play, well, automatically, but something is messed up.&quot; [1173-1954] --&gt;
&lt;h3 class=&quot;sectionedit130&quot;&gt;&lt;a name=&quot;projekktor_s_jarisplayer_flash_component_doesn_t_support_proper_put_in_a_lot_of_freaky_flashstuff_here&quot; id=&quot;projekktor_s_jarisplayer_flash_component_doesn_t_support_proper_put_in_a_lot_of_freaky_flashstuff_here&quot;&gt;Projekktor´s Jarisplayer Flash component doesn´t support proper (...put in a lot of freaky flashstuff here...)&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&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.” So, Jarisplayer can be used to stream progressively and has very basic RTMP support. 
There are 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;!-- EDIT130 SECTION &quot;Projekktor´s Jarisplayer Flash component doesn´t support proper (...put in a lot of freaky flashstuff here...)&quot; [1955-2890] --&gt;
&lt;h1 class=&quot;sectionedit131&quot;&gt;&lt;a name=&quot;browser_issues_-_ie6_ie7_ie8&quot; id=&quot;browser_issues_-_ie6_ie7_ie8&quot;&gt;Browser Issues - IE6, IE7, IE8&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT131 SECTION &quot;Browser Issues - IE6, IE7, IE8&quot; [2891-2936] --&gt;
&lt;h3 class=&quot;sectionedit132&quot;&gt;&lt;a name=&quot;the_theme_layout_video_overlays_subtitles__looks_awful_in_internet_explorer_6_what_s_the_problem&quot; id=&quot;the_theme_layout_video_overlays_subtitles__looks_awful_in_internet_explorer_6_what_s_the_problem&quot;&gt;The theme / layout / video overlays / subtitles / (...) looks awful in Internet Explorer 6. What´s the problem?&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The used browser of course. Projekktor should work on &lt;acronym title=&quot;Internet Explorer 6&quot;&gt;IE6&lt;/acronym&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; environmentsand especially for more recent Internet Explorer´s is painful enough. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT132 SECTION &quot;The theme / layout / video overlays / subtitles / (...) looks awful in Internet Explorer 6. What´s the problem?&quot; [2937-3293] --&gt;
&lt;h3 class=&quot;sectionedit133&quot;&gt;&lt;a name=&quot;i_used_the_video_tag_as_eg_seen_in_your_demos_but_the_player_doesn_t_come_up_no_poster_no_controls_nothing&quot; id=&quot;i_used_the_video_tag_as_eg_seen_in_your_demos_but_the_player_doesn_t_come_up_no_poster_no_controls_nothing&quot;&gt;I used the &amp;lt;video&amp;gt; tag as e.g. seen in your demos but the player doesn´t come up. No poster, no controls, nothing.&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&amp;lt;audio&amp;gt; and &amp;lt;video&amp;gt; tags are not natively supported in IE7+8 and Projekktor uses a dirty trick to bypass this. Unfortunately this trick doesn´t work if the tag is wrapped by an other &lt;acronym title=&quot;Document Object Model&quot;&gt;DOM&lt;/acronym&gt; container, make sure it´s a block styled one and under no circumstances a &amp;lt;p&amp;gt;aragraph.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT133 SECTION &quot;I used the &lt;video&gt; tag as e.g. seen in your demos but the player doesn´t come up. No poster, no controls, nothing.&quot; [3294-3695] --&gt;
&lt;h1 class=&quot;sectionedit134&quot;&gt;&lt;a name=&quot;iphone_ipad_and_ipod_issues&quot; id=&quot;iphone_ipad_and_ipod_issues&quot;&gt;iPhone, iPad and iPod Issues&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT134 SECTION &quot;iPhone, iPad and iPod Issues&quot; [3696-3740] --&gt;
&lt;h3 class=&quot;sectionedit135&quot;&gt;&lt;a name=&quot;i_applied_the_autoplay_config_option_as_described_above_but_it_does_not_work_in_iphone_ipad_and_ipod_-_what_s_wrong&quot; id=&quot;i_applied_the_autoplay_config_option_as_described_above_but_it_does_not_work_in_iphone_ipad_and_ipod_-_what_s_wrong&quot;&gt;I applied the autoplay config option as described above but it does not work in iPhone, iPad, and iPod - what´s wrong?&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Simply forget it. Autostart video and audio playback doesn´t work on the mentioned devices. This is not a bug but a limitation by Apple. Most likely this is to protect the users from enervating ads and similar spam and to save battery power.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT135 SECTION &quot;I applied the autoplay config option as described above but it does not work in iPhone, iPad, and iPod - what´s wrong?&quot; [3741-4114] --&gt;
&lt;h3 class=&quot;sectionedit136&quot;&gt;&lt;a name=&quot;you_said_autoplay_doesn_t_work_in_ipad_iphone_and_so_on_but_there_are_workarounds_for_this_shouldn_t_you_change_your_field_of_scripting_dude&quot; id=&quot;you_said_autoplay_doesn_t_work_in_ipad_iphone_and_so_on_but_there_are_workarounds_for_this_shouldn_t_you_change_your_field_of_scripting_dude&quot;&gt;You said autoplay doesn´t work in iPad, iPhone and so on, but there are workarounds for this. Shouldn´t you change your field of scripting, dude?&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&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;!-- EDIT136 SECTION &quot;You said autoplay doesn´t work in iPad, iPhone and so on, but there are workarounds for this. Shouldn´t you change your field of scripting, dude?&quot; [4115-4560] --&gt;
&lt;h1 class=&quot;sectionedit137&quot;&gt;&lt;a name=&quot;firefox_issues&quot; id=&quot;firefox_issues&quot;&gt;Firefox Issues&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT137 SECTION &quot;Firefox Issues&quot; [4561-4590] --&gt;
&lt;h3 class=&quot;sectionedit138&quot;&gt;&lt;a name=&quot;if_player_is_in_flash_mode_fallback_or_youtube_the_video_restarts_on_fullscreen_toggle_wtf&quot; id=&quot;if_player_is_in_flash_mode_fallback_or_youtube_the_video_restarts_on_fullscreen_toggle_wtf&quot;&gt;If player is in Flash mode (fallback or Youtube) the video restarts on fullscreen toggle. WTF?&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
This happens thanx to an ancient bug which forces any embedded Flash object to reinitialize in some very special situations. Projekktor unfortunately forces such a situation while expanding the flash fallback component to full viewport. There is a basic workaround implemented but the general issue persists. As such any MP4 and &lt;acronym title=&quot;Moving Picture Experts Group Layer 3&quot;&gt;MP3&lt;/acronym&gt; will restart from the very beginning when ever the user toggles fullscreen. Please refer to &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=90268&quot; class=&quot;urlextern&quot; title=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=90268&quot;&gt;bugzilla&lt;/a&gt; for detailed information about this.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT138 SECTION &quot;If player is in Flash mode (fallback or Youtube) the video restarts on fullscreen toggle. WTF?&quot; [4591-5221] --&gt;
&lt;h3 class=&quot;sectionedit139&quot;&gt;&lt;a name=&quot;while_playing_back_ogg_theora_in_firefox_the_player_stops_playback_within_the_first_second_or_so&quot; id=&quot;while_playing_back_ogg_theora_in_firefox_the_player_stops_playback_within_the_first_second_or_so&quot;&gt;While playing back OGG/Theora in Firefox the player stops playback within the first second or so.&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&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;!-- EDIT139 SECTION &quot;While playing back OGG/Theora in Firefox the player stops playback within the first second or so.&quot; [5222-5476] --&gt;
&lt;h1 class=&quot;sectionedit140&quot;&gt;&lt;a name=&quot;general_playback_issues_faq&quot; id=&quot;general_playback_issues_faq&quot;&gt;General Playback Issues F.A.Q.&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;strong&gt;The video could not be loaded, either because the server or network failed or because the format is not supported.&lt;/strong&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT140 SECTION &quot;General Playback Issues F.A.Q.&quot; [5477-5642] --&gt;
&lt;h3 class=&quot;sectionedit141&quot;&gt;&lt;a name=&quot;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&quot; id=&quot;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&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;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Firefox´ native player requires proper type header responses by 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;!-- EDIT141 SECTION &quot;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?&quot; [5643-6239] --&gt;
&lt;h3 class=&quot;sectionedit142&quot;&gt;&lt;a name=&quot;the_player_sometimes_plays_a_video_for_a_couple_of_seconds_and_suddenly_ends_up_with_an_error_message_testcard&quot; id=&quot;the_player_sometimes_plays_a_video_for_a_couple_of_seconds_and_suddenly_ends_up_with_an_error_message_testcard&quot;&gt;The player sometimes plays a video for a couple of seconds and suddenly ends up with an error message (testcard).&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
In some browsers with native video support this happens if the media delivering web server uses GZIP compression. Usually this compression makes sense only for text based files (&lt;acronym title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/acronym&gt;, &lt;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&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;!-- EDIT142 SECTION &quot;The player sometimes plays a video for a couple of seconds and suddenly ends up with an error message (testcard).&quot; [6240-7038] --&gt;
&lt;h3 class=&quot;sectionedit143&quot;&gt;&lt;a name=&quot;i_added_a_youtube_video_to_the_playlist_but_all_i_got_is_an_error_message_testcard_why_is_that&quot; id=&quot;i_added_a_youtube_video_to_the_playlist_but_all_i_got_is_an_error_message_testcard_why_is_that&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;/h3&gt;
&lt;div class=&quot;level3&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;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&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;!-- EDIT143 SECTION &quot;I added a Youtube video to the playlist but all I got is an error message / testcard. Why is that?&quot; [7039-] --&gt;</description>
            <pubDate>Tue, 24 Jan 2012 13:19:15 +0200</pubDate>
        </item>
        <item>
            <title>Minimum requirements for a Flash Fallback Component</title>
            <link>http://www.projekktor.com/docs/flash?rev=1326734976&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit144&quot;&gt;&lt;a name=&quot;minimum_requirements_for_a_flash_fallback_component&quot; id=&quot;minimum_requirements_for_a_flash_fallback_component&quot;&gt;Minimum requirements for a Flash Fallback Component&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT144 SECTION &quot;Minimum requirements for a Flash Fallback Component&quot; [1-68] --&gt;
&lt;h3 class=&quot;sectionedit145&quot;&gt;&lt;a name=&quot;setters&quot; id=&quot;setters&quot;&gt;Setters&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The following setters must be available via ”&lt;em&gt;ExternalInferface&lt;/em&gt;”. It´s vital that all methods get a prefix like “api_” or something to avoid issues in some browsers. E.g. ”&lt;em&gt;addListener&lt;/em&gt;” should become “api_&lt;em&gt;addListener&lt;/em&gt;”. None of the methods should return any value as all interactions (except &lt;em&gt;addListener&lt;/em&gt; and &lt;em&gt;removeListeners&lt;/em&gt;)  must result in at least one &lt;em&gt;event&lt;/em&gt;.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;addlistener_eventstring_javascript_call_to_triggerstring&quot; id=&quot;addlistener_eventstring_javascript_call_to_triggerstring&quot;&gt;addListener(&amp;lt;Event:String&amp;gt;, &amp;lt;Javascript Call to trigger:String&amp;gt;&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Ads a Javascript call to the event given. E.g.:  obj.api_addlistener(“volume”, “JSvolumeListener”);
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;removelisteners&quot; id=&quot;removelisteners&quot;&gt;removeListeners()&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
A method which removes all listeners added via the “addListener” method. An optional parameter which specifies the very special event to be removed is cool but not necessary.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;seek_second_to_seek_forinteger&quot; id=&quot;seek_second_to_seek_forinteger&quot;&gt;seek(&amp;lt;second to seek for:Integer&amp;gt;)&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Force the player to set the playhead to a given position. If the requested position is out of the buffered range jump to the maximum available position.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;volume_volumefloat&quot; id=&quot;volume_volumefloat&quot;&gt;volume(&amp;lt;volume:Float&amp;gt;)&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
A value between 0 and 1 where 0 sets the volume, well, to zero (or muted) and 1 sets the player to full throttle.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;pause&quot; id=&quot;pause&quot;&gt;pause()&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Pauses the playback.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;play&quot; id=&quot;play&quot;&gt;play()&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Resumes / Starts playback.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;scale_widthinteger_heightinteger_xinteger_yinteger&quot; id=&quot;scale_widthinteger_heightinteger_xinteger_yinteger&quot;&gt;scale(&amp;lt;width:Integer&amp;gt;, &amp;lt;height:Integer&amp;gt;, &amp;lt;x:Integer&amp;gt;, &amp;lt;y:integer&amp;gt;)&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
If the Flash component doesn´t listen to “stage” events and / or automatically scales the media to the maximum stage you must allow scaling through this method where the given parameters indicate the required dimensions of the video (which may be greater than the current stage) and the x,y offset to place the video in relation to the upper left corner of the movie (which may become &amp;lt;0 each). 
&lt;/p&gt;

&lt;p&gt;
Its recommended to implement this scaling mechanism right into the Flash component and allow two different types of scaling set via flashvar params: “aspectratio” and “fill”
&lt;/p&gt;

&lt;p&gt;
“fill” scales the video in a way that the whole stage without changing the aspect ratio which will cause a cut image but a completely filled stage.
&lt;/p&gt;

&lt;p&gt;
“aspectratio” scales the video in a way that the whole video is shown while using the maximum available stage. This may result in black areas next to or over and below the video image.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT145 SECTION &quot;Setters&quot; [69-2268] --&gt;
&lt;h3 class=&quot;sectionedit146&quot;&gt;&lt;a name=&quot;events&quot; id=&quot;events&quot;&gt;Events&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Each event must trigger one (and only one) matching Javascript call set via “addListener”. Some events must provide parameters as described below.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;timeupdate_duration_float_position_float&quot; id=&quot;timeupdate_duration_float_position_float&quot;&gt;timeupdate( {duration(Float), position(Float)} )&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggered on every single change of playhead´s position. Shouldn´t be triggered more than twice in a second to avoid Flash´s “externalInterface”-flood-protection. 
&lt;/p&gt;

&lt;p&gt;
Must send and object with two properties: duration and position.
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;duration&lt;/em&gt; indicates the duration of the complete media element in seconds.
&lt;em&gt;position&lt;/em&gt; indicates the playhead´s current position.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;progress_total_integer_loaded_integer&quot; id=&quot;progress_total_integer_loaded_integer&quot;&gt;progress( {total(integer), loaded(integer)} )&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggered whenever the buffer got filled a little more. Shouldn´t be triggered more than twice in a second to avoid Flash´s “externalInterface”-flood-protection. 
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;total&lt;/strong&gt; indicates the total amount of bytes to be loaded while:
&lt;strong&gt;loaded&lt;/strong&gt; indicates how much of the current media has already been buffered (in bytes)
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;meta_videowidth_integer_videohight_integer&quot; id=&quot;meta_videowidth_integer_videohight_integer&quot;&gt;meta({videoWidth(integer), videoHight(integer))&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Optionally triggered once the component received META data from the currently selected media. Should at least contain the real video dimensions then.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;start&quot; id=&quot;start&quot;&gt;start()&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggered once the component was able to successfully establish a connection to the media and began playback (not resuming).
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;error_codeerror_code&quot; id=&quot;error_codeerror_code&quot;&gt;error({code:&amp;lt;Error Code&amp;gt;})&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;play1&quot; id=&quot;play1&quot;&gt;play()&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggered whenever the component begins or resumes playback as the result of a “play”-method call NOT due to buffering.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;pause1&quot; id=&quot;pause1&quot;&gt;pause()&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggered whenever the component pauses playback as the result of a “play”-method call / user interaction NOT due to buffering.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;ended&quot; id=&quot;ended&quot;&gt;ended()&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggered whenever the current media has been played back completely.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;volumechange_volumelautstaerke_1_voll_0_mute_05_halb_usw&quot; id=&quot;volumechange_volumelautstaerke_1_voll_0_mute_05_halb_usw&quot;&gt;volumechange({volume:&amp;lt;Lautstärke 1=Voll, 0=Mute, 0.5=Halb usw.})&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggered whenever the volume changed either as the result a user-interaction, method call or any other event.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;mute_optional&quot; id=&quot;mute_optional&quot;&gt;mute() (optional)&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggered once the player got muted.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;buffering&quot; id=&quot;buffering&quot;&gt;buffering()&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggered once the component began to buffer content.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;notbuffering&quot; id=&quot;notbuffering&quot;&gt;notbuffering()&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggered once the component stopped buffering OR &lt;strong&gt;has buffered enough content to continue playback&lt;/strong&gt;.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;scaled&quot; id=&quot;scaled&quot;&gt;scaled()&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The video image got scaled to fit the screen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT146 SECTION &quot;Events&quot; [2269-] --&gt;</description>
            <pubDate>Mon, 16 Jan 2012 18:29:36 +0200</pubDate>
        </item>
        <item>
            <title>Using Audio and Video elements</title>
            <link>http://www.projekktor.com/docs/html5media?rev=1321353430&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit147&quot;&gt;&lt;a name=&quot;using_audio_and_video_elements&quot; id=&quot;using_audio_and_video_elements&quot;&gt;Using Audio and Video elements&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;preamble&quot; id=&quot;preamble&quot;&gt;Preamble&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Projekktor &lt;strong&gt;optionally&lt;/strong&gt; mounts itself onto HTML5 &amp;lt;audio&amp;gt; and &amp;lt;video&amp;gt; tags. This  will work with any standard conform HTML5 media mark-up, regardless if the browser itself supports it. Since V0.8.0 you can pump Projekktor also into any blocked &lt;acronym title=&quot;Document Object Model&quot;&gt;DOM&lt;/acronym&gt; container which makes things much easier from time to time.
&lt;/p&gt;

&lt;p&gt;
The benefit of using HTML5 tags with Projekktor anyway is the fact that you will be able to &lt;strong&gt;add and remove&lt;/strong&gt; Projekktor &lt;strong&gt;whenever you want&lt;/strong&gt; and &lt;strong&gt;without the need to alter your &lt;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&gt; at any time&lt;/strong&gt;. 
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;minimum_mark-up&quot; id=&quot;minimum_mark-up&quot;&gt;Minimum Mark-up&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The most basic approach to embed e.g. a video via HTML5 is the following mark-up:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;video class=&amp;quot;projekktor&amp;quot; width=&amp;quot;640&amp;quot; height=&amp;quot;360&amp;quot; poster=&amp;quot;poster.jpg&amp;quot;&amp;gt;
  &amp;lt;source src=&amp;quot;myvideo.mp4&amp;quot; /&amp;gt;
  &amp;lt;source src=&amp;quot;myvideo.webm&amp;quot; /&amp;gt;
  &amp;lt;source src=&amp;quot;myvideo.ogv&amp;quot; /&amp;gt;
&amp;lt;/video&amp;gt;&lt;/pre&gt;

&lt;p&gt;
The mark-up above does not do much but will bring up a video player of 640 pixel width and of 360 pixels height.
The player will initialize bringing up a preview image filed as poster.jpg.
If the user hits &lt;em&gt;play&lt;/em&gt; “myvideo” is played back.
This is not that spectacular at all but works very well.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Of course this will also do without the use of Projekktor. Feel free to try it with and without Projekktor included in order to learn the difference.&lt;/strong&gt;
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;multiple_sources&quot; id=&quot;multiple_sources&quot;&gt;Multiple Sources&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
You might wonder why there are three video sources given in the example above.
The reason is simple: Not every browser (or device) is able to play back every video format.
The story behind is a long one to be told later.
For now it´s important for you to know that you should consider to provide multiple formats of the same video depending on the platforms you want your videos to be played back on.
&lt;/p&gt;

&lt;p&gt;
&lt;div class=&quot;notetip&quot;&gt;
As a basis for decision-making regarding what formats you want to provide please refer our &lt;a href=&quot;http://www.projekktor.com/docs/compatibility&quot; class=&quot;wikilink1&quot; title=&quot;compatibility&quot;&gt;compatibility chart&lt;/a&gt; which will also give you an idea how complex the encoding-topic is.

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

&lt;p&gt;
Anyhow Projekktor features an intelligent Flash fallback.
That way you will - by today - reach the most platforms by providing just an “h264/mp4” file which will played back either using Flash or native media capabilities where available (which is always preferred).
Thanks to this you can evaporate the mark-up down to the following - if you want to:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;video class=&amp;quot;projekktor&amp;quot; width=&amp;quot;640&amp;quot; height=&amp;quot;360&amp;quot; source=&amp;quot;myvideo.mp4&amp;quot; poster=&amp;quot;poster.jpg&amp;quot;&amp;gt;&amp;lt;/video&amp;gt;&lt;/pre&gt;

&lt;p&gt;
Nevertheless you should consider to provide at least a WEBM alternative to get the best results and a more Flash-less user experience at all.
&lt;/p&gt;

&lt;/div&gt;
</description>
            <pubDate>Tue, 15 Nov 2011 11:37:10 +0200</pubDate>
        </item>
        <item>
            <title>Youtube RSS Channel</title>
            <link>http://www.projekktor.com/docs/parsers?rev=1289730497&amp;do=diff</link>
            <description>
&lt;h3 class=&quot;sectionedit148&quot;&gt;&lt;a name=&quot;youtube_rss_channel&quot; id=&quot;youtube_rss_channel&quot;&gt;Youtube RSS Channel&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;	reelParser: function(jsonData) {
	    var result = {};
	    result[&amp;#039;config&amp;#039;] = {
		title: jsonData[&amp;#039;channel&amp;#039;][0][&amp;#039;title&amp;#039;][0][&amp;#039;Text&amp;#039;],
		desc: jsonData[&amp;#039;channel&amp;#039;][0][&amp;#039;description&amp;#039;][0][&amp;#039;Text&amp;#039;]
	    };
	    var regMatch = new RegExp(&amp;quot;http:[^ ,]+\.jpg&amp;quot;);
	    var items = jsonData[&amp;#039;channel&amp;#039;][0][&amp;#039;item&amp;#039;];
	    for (var i=0; i &amp;lt; items.length; i++) {
		// general meta
		result[i] = {
		    file: [{
			src: items[i][&amp;#039;link&amp;#039;][0][&amp;#039;Text&amp;#039;],			
			type: &amp;#039;video/youtube&amp;#039;
		    }],
		    config: {
			poster: regMatch.exec(unescape( items[i][&amp;#039;description&amp;#039;][0][&amp;#039;Text&amp;#039;] )),
			title: items[i][&amp;#039;title&amp;#039;][0][&amp;#039;Text&amp;#039;],
			desc: items[i][&amp;#039;description&amp;#039;][0][&amp;#039;Text&amp;#039;]
		    }
		};		
	    }
	    return result;	
	}    &lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT148 SECTION &quot;Youtube RSS Channel&quot; [2-] --&gt;</description>
            <pubDate>Sun, 14 Nov 2010 11:28:17 +0200</pubDate>
        </item>
        <item>
            <title>Using Playlists</title>
            <link>http://www.projekktor.com/docs/playlists?rev=1323865815&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit149&quot;&gt;&lt;a name=&quot;using_playlists&quot; id=&quot;using_playlists&quot;&gt;Using Playlists&lt;/a&gt;&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;!-- EDIT149 SECTION &quot;Using Playlists&quot; [1-93] --&gt;
&lt;h3 class=&quot;sectionedit150&quot;&gt;&lt;a name=&quot;general_for_developers&quot; id=&quot;general_for_developers&quot;&gt;General (for developers)&lt;/a&gt;&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;acronym title=&quot;JavaScript&quot;&gt;JS&lt;/acronym&gt; &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&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;!-- EDIT150 SECTION &quot;General (for developers)&quot; [94-851] --&gt;
&lt;h3 class=&quot;sectionedit151&quot;&gt;&lt;a name=&quot;general_for_webmasters&quot; id=&quot;general_for_webmasters&quot;&gt;General (for webmasters)&lt;/a&gt;&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;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&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;acronym title=&quot;Extensible Markup Language&quot;&gt;XML&lt;/acronym&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;!-- EDIT151 SECTION &quot;General (for webmasters)&quot; [852-1472] --&gt;
&lt;h3 class=&quot;sectionedit152&quot;&gt;&lt;a name=&quot;projekktor_playlist_format&quot; id=&quot;projekktor_playlist_format&quot;&gt;Projekktor Playlist Format&lt;/a&gt;&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;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&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;!-- EDIT152 SECTION &quot;Projekktor Playlist Format&quot; [1473-2392] --&gt;
&lt;h3 class=&quot;sectionedit153&quot;&gt;&lt;a name=&quot;basic_playlist_schedule_setup&quot; id=&quot;basic_playlist_schedule_setup&quot;&gt;Basic Playlist / Schedule Setup&lt;/a&gt;&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;acronym title=&quot;Document Object Model&quot;&gt;DOM&lt;/acronym&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;!-- EDIT153 SECTION &quot;Basic Playlist / Schedule Setup&quot; [2393-4857] --&gt;
&lt;h3 class=&quot;sectionedit154&quot;&gt;&lt;a name=&quot;dynamic_scheduling_via_javascript_api&quot; id=&quot;dynamic_scheduling_via_javascript_api&quot;&gt;Dynamic Scheduling via Javascript API&lt;/a&gt;&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;!-- EDIT154 SECTION &quot;Dynamic Scheduling via Javascript API&quot; [4858-6346] --&gt;
&lt;h3 class=&quot;sectionedit155&quot;&gt;&lt;a name=&quot;asynchronously_loaded_playlist_feeds&quot; id=&quot;asynchronously_loaded_playlist_feeds&quot;&gt;Asynchronously loaded Playlist Feeds&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Projekktor can eat &lt;acronym title=&quot;Extensible Markup Language&quot;&gt;XML&lt;/acronym&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;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&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;acronym title=&quot;Extensible Markup Language&quot;&gt;XML&lt;/acronym&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;
Make sure that your feeds are 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 must use a simple proxy on your server which passes the feed through. 

&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;acronym title=&quot;JavaScript&quot;&gt;JS&lt;/acronym&gt; call until all feed data has been processed and all plugins reinitialized. 
&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 “text/json” or “text/xml” it will load the feed from the given &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&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: text/xml and text/json 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;!-- EDIT155 SECTION &quot;Asynchronously loaded Playlist Feeds&quot; [6347-] --&gt;</description>
            <pubDate>Wed, 14 Dec 2011 13:30:15 +0200</pubDate>
        </item>
        <item>
            <title>Plugins</title>
            <link>http://www.projekktor.com/docs/plugins?rev=1336030064&amp;do=diff</link>
            <description>
&lt;h3 class=&quot;sectionedit156&quot;&gt;&lt;a name=&quot;plugins&quot; id=&quot;plugins&quot;&gt;Plugins&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT156 SECTION &quot;Plugins&quot; [2-21] --&gt;
&lt;h3 class=&quot;sectionedit157&quot;&gt;&lt;a name=&quot;c&quot; id=&quot;c&quot;&gt;C&lt;/a&gt;&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;middle&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;!-- EDIT157 SECTION &quot;C&quot; [22-142] --&gt;
&lt;h3 class=&quot;sectionedit158&quot;&gt;&lt;a name=&quot;d&quot; id=&quot;d&quot;&gt;D&lt;/a&gt;&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;middle&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;!-- EDIT158 SECTION &quot;D&quot; [143-278] --&gt;
&lt;h3 class=&quot;sectionedit159&quot;&gt;&lt;a name=&quot;r&quot; id=&quot;r&quot;&gt;R&lt;/a&gt;&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;!-- EDIT159 SECTION &quot;R&quot; [279-469] --&gt;
&lt;h3 class=&quot;sectionedit160&quot;&gt;&lt;a name=&quot;t&quot; id=&quot;t&quot;&gt;T&lt;/a&gt;&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;/div&gt;
&lt;!-- EDIT160 SECTION &quot;T&quot; [470-643] --&gt;
&lt;h3 class=&quot;sectionedit161&quot;&gt;&lt;a name=&quot;v&quot; id=&quot;v&quot;&gt;V&lt;/a&gt;&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;middle&quot; alt=&quot;:!:&quot; /&gt; are built into the official Projekktor releases.
&lt;/div&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT161 SECTION &quot;V&quot; [644-] --&gt;</description>
            <pubDate>Thu, 03 May 2012 09:27:44 +0200</pubDate>
        </item>
        <item>
            <title>Controlbar Plugin</title>
            <link>http://www.projekktor.com/docs/plugins_controlbar?rev=1335257817&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit162&quot;&gt;&lt;a name=&quot;controlbar_plugin&quot; id=&quot;controlbar_plugin&quot;&gt;Controlbar Plugin&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT162 SECTION &quot;Controlbar Plugin&quot; [1-34] --&gt;
&lt;h2 class=&quot;sectionedit163&quot;&gt;&lt;a name=&quot;general&quot; id=&quot;general&quot;&gt;General&lt;/a&gt;&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;!-- EDIT163 SECTION &quot;General&quot; [35-131] --&gt;
&lt;h2 class=&quot;sectionedit164&quot;&gt;&lt;a name=&quot;install&quot; id=&quot;install&quot;&gt;Install&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT164 SECTION &quot;Install&quot; [132-152] --&gt;
&lt;h3 class=&quot;sectionedit165&quot;&gt;&lt;a name=&quot;scripts&quot; id=&quot;scripts&quot;&gt;Scripts&lt;/a&gt;&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;!-- EDIT165 SECTION &quot;Scripts&quot; [153-384] --&gt;
&lt;h3 class=&quot;sectionedit166&quot;&gt;&lt;a name=&quot;html_css&quot; id=&quot;html_css&quot;&gt;HTML / CSS&lt;/a&gt;&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;!-- EDIT166 SECTION &quot;HTML / CSS&quot; [385-542] --&gt;
&lt;h3 class=&quot;sectionedit167&quot;&gt;&lt;a name=&quot;setup&quot; id=&quot;setup&quot;&gt;Setup&lt;/a&gt;&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;!-- EDIT167 SECTION &quot;Setup&quot; [543-978] --&gt;
&lt;h3 class=&quot;sectionedit168&quot;&gt;&lt;a name=&quot;config_options&quot; id=&quot;config_options&quot;&gt;Config Options&lt;/a&gt;&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&gt;&lt;a name=&quot;disablefade_booleanfalse&quot; id=&quot;disablefade_booleanfalse&quot;&gt;disableFade(Boolean: false} *&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
If set “true” the controls-container won´t fade away after “fadeDelay” seconds but stay persistent during playback.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;fadedelay_integer10000&quot; id=&quot;fadedelay_integer10000&quot;&gt;fadeDelay(Integer: 10000}&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
If “disableFade” is “false” the controls-container will fade away after “fadeDelay” milliseconds without any 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&gt;&lt;a name=&quot;showonstart_booleanfalse&quot; id=&quot;showonstart_booleanfalse&quot;&gt;showOnStart(Boolean: false}&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Setting this to “true” will make the controls-container visible right after the player begins playback. Will fade away if “disableFade” is not “false” after “fadeDelay” milliseconds.
&lt;/p&gt;

&lt;/div&gt;

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

&lt;p&gt;
Makes the control-container visible 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&gt;&lt;a name=&quot;controlstemplate_stringul_class_left_li_div_play_div_div__and_much_more&quot; 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;/a&gt;&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;!-- EDIT168 SECTION &quot;Config Options&quot; [979-] --&gt;</description>
            <pubDate>Tue, 24 Apr 2012 10:56:57 +0200</pubDate>
        </item>
        <item>
            <title>Display Plugin</title>
            <link>http://www.projekktor.com/docs/plugins_display?rev=1335359983&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit169&quot;&gt;&lt;a name=&quot;display_plugin&quot; id=&quot;display_plugin&quot;&gt;Display Plugin&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT169 SECTION &quot;Display Plugin&quot; [1-31] --&gt;
&lt;h2 class=&quot;sectionedit170&quot;&gt;&lt;a name=&quot;general&quot; id=&quot;general&quot;&gt;General&lt;/a&gt;&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;!-- EDIT170 SECTION &quot;General&quot; [32-135] --&gt;
&lt;h2 class=&quot;sectionedit171&quot;&gt;&lt;a name=&quot;install&quot; id=&quot;install&quot;&gt;Install&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT171 SECTION &quot;Install&quot; [136-156] --&gt;
&lt;h3 class=&quot;sectionedit172&quot;&gt;&lt;a name=&quot;scripts&quot; id=&quot;scripts&quot;&gt;Scripts&lt;/a&gt;&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;!-- EDIT172 SECTION &quot;Scripts&quot; [157-281] --&gt;
&lt;h3 class=&quot;sectionedit173&quot;&gt;&lt;a name=&quot;html&quot; id=&quot;html&quot;&gt;HTML&lt;/a&gt;&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;!-- EDIT173 SECTION &quot;HTML&quot; [282-448] --&gt;
&lt;h3 class=&quot;sectionedit174&quot;&gt;&lt;a name=&quot;css&quot; id=&quot;css&quot;&gt;CSS&lt;/a&gt;&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;!-- EDIT174 SECTION &quot;CSS&quot; [449-777] --&gt;
&lt;h2 class=&quot;sectionedit175&quot;&gt;&lt;a name=&quot;configuration&quot; id=&quot;configuration&quot;&gt;Configuration&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

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

&lt;/div&gt;
&lt;!-- EDIT175 SECTION &quot;Configuration&quot; [778-811] --&gt;
&lt;h3 class=&quot;sectionedit176&quot;&gt;&lt;a name=&quot;config_options&quot; id=&quot;config_options&quot;&gt;Config Options&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;displayclick_objectcallbacksetplaypause_valuenull&quot; id=&quot;displayclick_objectcallbacksetplaypause_valuenull&quot;&gt;displayClick (Object:{callback: &amp;#039;setPlayPause&amp;#039;, value: null}&lt;/a&gt;&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;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; methor or a custom function.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;displayplayingclick_objectcallbacksetplaypause_valuenull&quot; id=&quot;displayplayingclick_objectcallbacksetplaypause_valuenull&quot;&gt;displayPlayingClick (Object:{callback: &amp;#039;setPlayPause&amp;#039;, value: null}&lt;/a&gt;&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;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; methor or a custom function.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;displaydblclick_objectcallbacknull_valuenull&quot; id=&quot;displaydblclick_objectcallbacknull_valuenull&quot;&gt;displayDblClick (Object:{callback: null, value: null}&lt;/a&gt;&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;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; methor or a custom function.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;staticcontrols_booleanfalse&quot; id=&quot;staticcontrols_booleanfalse&quot;&gt;staticControls(Boolean: false}&lt;/a&gt;&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&gt;&lt;a name=&quot;buffericondelay_integer10000&quot; id=&quot;buffericondelay_integer10000&quot;&gt;bufferIconDelay(Integer: 10000}&lt;/a&gt;&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&gt;&lt;a name=&quot;spriteurl_string&quot; id=&quot;spriteurl_string&quot;&gt;spriteUrl(String: &amp;#039;&amp;#039;}&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

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

&lt;p&gt;
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;acronym title=&quot;Portable Network Graphics&quot;&gt;PNG&lt;/acronym&gt; featuring an animation-sequence by horizontally stacked icon-animation-frames / stills. All frames must be of the same size. 
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;spritewidth_integer50&quot; id=&quot;spritewidth_integer50&quot;&gt;spriteWidth(Integer: 50}&lt;/a&gt;&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&gt;&lt;a name=&quot;spriteheight_integer50&quot; id=&quot;spriteheight_integer50&quot;&gt;spriteHeight(Integer: 50}&lt;/a&gt;&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&gt;&lt;a name=&quot;spritetiles_integer25&quot; id=&quot;spritetiles_integer25&quot;&gt;spriteTiles(Integer: 25}&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

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

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;spriteoffset_integer1&quot; id=&quot;spriteoffset_integer1&quot;&gt;spriteOffset(Integer: 1}&lt;/a&gt;&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&gt;&lt;a name=&quot;spritecountup_booleanfalse&quot; id=&quot;spritecountup_booleanfalse&quot;&gt;spriteCountUp(Boolean: false}&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

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

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;logoimage_string&quot; id=&quot;logoimage_string&quot;&gt;logoImage(String: &amp;#039;&amp;#039;}&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Full qualified &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; to an optional logo-image. Preferably this should be a transpatent &lt;acronym title=&quot;Portable Network Graphics&quot;&gt;PNG&lt;/acronym&gt; but, well, it´s up to you.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;logodelay_integer1&quot; id=&quot;logodelay_integer1&quot;&gt;logoDelay(Integer: 1}&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
If “logoDelay” is &amp;gt; 0 the logo will smoothly fade in at the givin playhead position. Also the logo will fade out “logoDelay” seconds prior end of video.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;logoposition_stringtl&quot; id=&quot;logoposition_stringtl&quot;&gt;logoPosition(String: &amp;#039;tl&amp;#039;}&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The position of the logo can be set here. Contrary &lt;acronym title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/acronym&gt; direcives will be overwritten. Possible values are:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; “tl” for “top left”&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; “tr” for “top right”&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; “br” for “bottom right”&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; “bl” for “bottom left”&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;logoclick_objectcallbackvaluenull&quot; id=&quot;logoclick_objectcallbackvaluenull&quot;&gt;logoClick(Object: {callback: &amp;#039;&amp;#039;, value: null}}&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Triggeres “callback” in case the logo image is beeing clicked. “callback” can either be a Projekktor &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; methor or a custom function.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT176 SECTION &quot;Config Options&quot; [812-] --&gt;</description>
            <pubDate>Wed, 25 Apr 2012 15:19:43 +0200</pubDate>
        </item>
        <item>
            <title>Related Plugin</title>
            <link>http://www.projekktor.com/docs/plugins_related?rev=1330684458&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit177&quot;&gt;&lt;a name=&quot;related_plugin&quot; id=&quot;related_plugin&quot;&gt;Related Plugin&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT177 SECTION &quot;Related Plugin&quot; [1-30] --&gt;
&lt;h1 class=&quot;sectionedit178&quot;&gt;&lt;a name=&quot;general&quot; id=&quot;general&quot;&gt;General&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Provides a “related videos” and “share me” postroll display.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT178 SECTION &quot;General&quot; [31-116] --&gt;
&lt;h1 class=&quot;sectionedit179&quot;&gt;&lt;a name=&quot;install_preparation&quot; id=&quot;install_preparation&quot;&gt;Install / Preparation&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT179 SECTION &quot;Install / Preparation&quot; [117-153] --&gt;
&lt;h3 class=&quot;sectionedit180&quot;&gt;&lt;a name=&quot;scripts&quot; id=&quot;scripts&quot;&gt;Scripts&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

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

&lt;/div&gt;
&lt;!-- EDIT180 SECTION &quot;Scripts&quot; [154-260] --&gt;
&lt;h3 class=&quot;sectionedit181&quot;&gt;&lt;a name=&quot;html&quot; id=&quot;html&quot;&gt;HTML&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
No preparations required. Loads directly into the player´s &lt;acronym title=&quot;Document Object Model&quot;&gt;DOM&lt;/acronym&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT181 SECTION &quot;HTML&quot; [261-343] --&gt;
&lt;h3 class=&quot;sectionedit182&quot;&gt;&lt;a name=&quot;css&quot; id=&quot;css&quot;&gt;CSS&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Include the “projekktor.related.css” to your page´s &amp;lt;head&amp;gt; or copy and paste the mentioned &lt;acronym title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/acronym&gt; into your theme.css. Alter at will.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT182 SECTION &quot;CSS&quot; [344-492] --&gt;
&lt;h1 class=&quot;sectionedit183&quot;&gt;&lt;a name=&quot;configuration&quot; id=&quot;configuration&quot;&gt;Configuration&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT183 SECTION &quot;Configuration&quot; [493-522] --&gt;
&lt;h3 class=&quot;sectionedit184&quot;&gt;&lt;a name=&quot;setup&quot; id=&quot;setup&quot;&gt;Setup&lt;/a&gt;&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;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;/div&gt;
&lt;!-- EDIT184 SECTION &quot;Setup&quot; [523-1368] --&gt;
&lt;h3 class=&quot;sectionedit185&quot;&gt;&lt;a name=&quot;config_options&quot; id=&quot;config_options&quot;&gt;Config Options&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;

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

&lt;p&gt;
Display the “related”-panel right after the player initialize and before starting any video. Useful during &lt;acronym title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/acronym&gt; customization.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;related_object&quot; id=&quot;related_object&quot;&gt;related (Object)&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Holds the setup for the “related videos” lineup.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;relatedenable_booleantrue&quot; id=&quot;relatedenable_booleantrue&quot;&gt;related.enable (Boolean:true)&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Enable / Disable related items.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;relatedtitle_stringrelated_videos&quot; id=&quot;relatedtitle_stringrelated_videos&quot;&gt;related.title (String:&amp;#039;Related Videos&amp;#039;)&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The headline for all related items.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;relateditems_array&quot; id=&quot;relateditems_array&quot;&gt;related.items (Array:[])&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
An array of items to show within the “related videos” section. E.g.:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[
  {poster: &amp;#039;http://www.img.com/img1.jpg&amp;#039;, url: &amp;#039;http://www.projekktor.com/vid1&amp;#039;, title:&amp;#039;Title 1&amp;#039;}, 
  {poster: &amp;#039;http://www.img.com/img2.jpg&amp;#039;, url: &amp;#039;http://www.projekktor.com/vid2&amp;#039;, title:&amp;#039;Title 2&amp;#039;},
  {poster: &amp;#039;http://www.img.com/img3.jpg&amp;#039;, url: &amp;#039;http://www.projekktor.com/vid3&amp;#039;, title:&amp;#039;Title 3&amp;#039;} 
]&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;share_object&quot; id=&quot;share_object&quot;&gt;share (Object)&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Holds the setup for the link to provide for content sharing.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;shareenable_booleantrue&quot; id=&quot;shareenable_booleantrue&quot;&gt;share.enable (Boolean:true)&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Enable / Disable the link-share-textarea.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;sharetitle_stringlink_to_this_video&quot; id=&quot;sharetitle_stringlink_to_this_video&quot;&gt;share.title (String:&amp;#039;Link to this Video&amp;#039;)&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The headline for the shared &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt;.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;sharecode_stringhttpplayerurl_vidid_id&quot; id=&quot;sharecode_stringhttpplayerurl_vidid_id&quot;&gt;share.code (String:&amp;#039;http://%{playerurl}?vidid=%{ID}&amp;#039;)&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; to provide as “shared &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt;”. You can use two placeholders here to make the player generate the string automatically.
&lt;/p&gt;

&lt;p&gt;
%{playerurl} will get replaced by the window.location.href of the affected player instance. Note that this will be the iframe-&lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; for embeddable players. 
&lt;/p&gt;

&lt;p&gt;
%{ID} will be replaced either by a randomly generated string of 8 characters or by an ID you specified in your playlist setup by setting “id” within the item specific config block.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;embed_object&quot; id=&quot;embed_object&quot;&gt;embed(Object)&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Holds the setup for the shareable embed code.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;embedenable_booleantrue&quot; id=&quot;embedenable_booleantrue&quot;&gt;embed.enable (Boolean:true)&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Enable / Disable the embed-code-textarea.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;embedtitle_stringembed_this_video&quot; id=&quot;embedtitle_stringembed_this_video&quot;&gt;embed.title (String:&amp;#039;Embed this Video&amp;#039;)&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The headline for embedding.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;embedcode_stringiframe_id_embedid_src_playerurl_vidid_id_width_640_height_385_frameborder_0_iframe&quot; id=&quot;embedcode_stringiframe_id_embedid_src_playerurl_vidid_id_width_640_height_385_frameborder_0_iframe&quot;&gt;embed.code (String:&amp;#039;&amp;lt;iframe id=&amp;quot;%{embedid}&amp;quot; src=&amp;quot;%{playerurl}?vidid=%{ID}&amp;quot; width=&amp;quot;640&amp;quot; height=&amp;quot;385&amp;quot; frameborder=&amp;quot;0&amp;quot; &amp;lt;/iframe&amp;gt;&amp;#039;)&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The code build the embed code from.
&lt;/p&gt;

&lt;p&gt;
%{playerurl} will get replaced by the window.location.href of the affected player instance. Note that this will be the iframe-&lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; for embeddable players. 
&lt;/p&gt;

&lt;p&gt;
%{embedid} will be replaced by the iframe-ID as defined in the parent window.
&lt;/p&gt;

&lt;p&gt;
%{ID} will be replaced either by a randomly generated string of 8 characters or by an ID you specified in your playlist setup by setting “id” within the item specific config blo
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;replay_object&quot; id=&quot;replay_object&quot;&gt;replay(Object)&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Holds the setup for the “related videos” lineup.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;replayenable_booleantrue&quot; id=&quot;replayenable_booleantrue&quot;&gt;replay.enable (Boolean:true)&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Enable / Disable the replay-button.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;replaytitle_stringembed_this_video&quot; id=&quot;replaytitle_stringembed_this_video&quot;&gt;replay.title (String:&amp;#039;Embed this Video&amp;#039;)&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Title for the very same button.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT185 SECTION &quot;Config Options&quot; [1369-] --&gt;</description>
            <pubDate>Fri, 02 Mar 2012 11:34:18 +0200</pubDate>
        </item>
        <item>
            <title>Tracking Plugin</title>
            <link>http://www.projekktor.com/docs/plugins_tracking?rev=1337172406&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit186&quot;&gt;&lt;a name=&quot;tracking_plugin&quot; id=&quot;tracking_plugin&quot;&gt;Tracking Plugin&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT186 SECTION &quot;Tracking Plugin&quot; [1-32] --&gt;
&lt;h2 class=&quot;sectionedit187&quot;&gt;&lt;a name=&quot;general&quot; id=&quot;general&quot;&gt;General&lt;/a&gt;&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-image based tracker.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT187 SECTION &quot;General&quot; [33-178] --&gt;
&lt;h2 class=&quot;sectionedit188&quot;&gt;&lt;a name=&quot;install&quot; id=&quot;install&quot;&gt;Install&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT188 SECTION &quot;Install&quot; [179-199] --&gt;
&lt;h3 class=&quot;sectionedit189&quot;&gt;&lt;a name=&quot;scripts&quot; id=&quot;scripts&quot;&gt;Scripts&lt;/a&gt;&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;!-- EDIT189 SECTION &quot;Scripts&quot; [200-337] --&gt;
&lt;h3 class=&quot;sectionedit190&quot;&gt;&lt;a name=&quot;html&quot; id=&quot;html&quot;&gt;HTML&lt;/a&gt;&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;!-- EDIT190 SECTION &quot;HTML&quot; [338-407] --&gt;
&lt;h3 class=&quot;sectionedit191&quot;&gt;&lt;a name=&quot;css&quot; id=&quot;css&quot;&gt;CSS&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

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

&lt;/div&gt;
&lt;!-- EDIT191 SECTION &quot;CSS&quot; [408-473] --&gt;
&lt;h2 class=&quot;sectionedit192&quot;&gt;&lt;a name=&quot;configuration&quot; id=&quot;configuration&quot;&gt;Configuration&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT192 SECTION &quot;Configuration&quot; [474-501] --&gt;
&lt;h3 class=&quot;sectionedit193&quot;&gt;&lt;a name=&quot;config_options&quot; id=&quot;config_options&quot;&gt;Config Options&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;respectdnt_booleantrue&quot; id=&quot;respectdnt_booleantrue&quot;&gt;respectDNT (Boolean: true}&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Modern browsers feature a config option called “Do not Track” which is intended as 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;h4&gt;&lt;a name=&quot;track_array&quot; id=&quot;track_array&quot;&gt;track (Array:[])&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
This parameter configures the tracking-behavior itself and as such the triggers for different pixel-URLs. Triggers can be bound to one ore more of the following events: 
&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/events&quot; class=&quot;wikilink1&quot; title=&quot;events&quot;&gt;any event listed here&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; firstquartile - the playhead reached 25% of the duration of the vid for the very fist time&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; midpoint - the playhead reached 50% of the duration of the vid for the very fist time&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; thirdquartile - the playhead reached 75% of the duration of the vid for the very fist time&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Below find an example “track” setup:
&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;
“track” is an array holding unlimited sub-sets. Each set consists of an “events” array and an “url” string. 
&lt;/p&gt;

&lt;p&gt;
Lets have a closer look on the first 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;
The plugin will create an &amp;lt;img/&amp;gt; element with a “src” attribute pointing 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;” whenever the player goes “fullscreen”, the user watched the first five seconds of the vid and whenever “state” becomes “playing”. That´s it.
&lt;/p&gt;

&lt;p&gt;
You can add additional client information to be sent to your tracking server by adding magic GET parameters to your tracking &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&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 and once he or she watched at least three quarters of the video the player loads a tracking pixel. Before this is done the &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&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 placeholders will be replaced by the respective data. In this example the &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&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;
Available placeholders so far:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; %{vidId} - 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; %{plyId} - The playerID as set through the &lt;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&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; %{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; %{r} - A random string.&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; %{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; %{url} - The current &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&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; %{cp} - 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 all available “platforms”, separated by a ”.”&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;!-- EDIT193 SECTION &quot;Config Options&quot; [502-] --&gt;</description>
            <pubDate>Wed, 16 May 2012 14:46:46 +0200</pubDate>
        </item>
        <item>
            <title>VAST Plugin</title>
            <link>http://www.projekktor.com/docs/plugins_vast?rev=1336910550&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit194&quot;&gt;&lt;a name=&quot;vast_plugin&quot; id=&quot;vast_plugin&quot;&gt;VAST Plugin&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;div class=&quot;notewarning&quot;&gt;The VAST Projekktor-Plugin is not available for public download. If you´re interested to get a copy please &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;/div&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT194 SECTION &quot;VAST Plugin&quot; [1-214] --&gt;
&lt;h1 class=&quot;sectionedit195&quot;&gt;&lt;a name=&quot;general&quot; id=&quot;general&quot;&gt;General&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
The Projekktor VAST plugin supports three ad types: preroll, companions and overlays. (…)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT195 SECTION &quot;General&quot; [215-331] --&gt;
&lt;h1 class=&quot;sectionedit196&quot;&gt;&lt;a name=&quot;install_preparation&quot; id=&quot;install_preparation&quot;&gt;Install / Preparation&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT196 SECTION &quot;Install / Preparation&quot; [332-368] --&gt;
&lt;h3 class=&quot;sectionedit197&quot;&gt;&lt;a name=&quot;scripts&quot; id=&quot;scripts&quot;&gt;Scripts&lt;/a&gt;&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;!-- EDIT197 SECTION &quot;Scripts&quot; [369-779] --&gt;
&lt;h3 class=&quot;sectionedit198&quot;&gt;&lt;a name=&quot;html&quot; id=&quot;html&quot;&gt;HTML&lt;/a&gt;&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;acronym title=&quot;Document Object Model&quot;&gt;DOM&lt;/acronym&gt; elements with unique “id”-attributes placed somewhere next to the player´s &lt;acronym title=&quot;Document Object Model&quot;&gt;DOM&lt;/acronym&gt;. The IDs must be provided as config-parameter (see below).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT198 SECTION &quot;HTML&quot; [780-1043] --&gt;
&lt;h3 class=&quot;sectionedit199&quot;&gt;&lt;a name=&quot;css&quot; id=&quot;css&quot;&gt;CSS&lt;/a&gt;&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;acronym title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/acronym&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;pre class=&quot;code&quot;&gt;.projekktor.ad .ppplay,
.projekktor.ad .pppause,
.projekktor.ad .ppnext,
.projekktor.ad .ppprev,
.projekktor.ad .ppvslider,
.projekktor.ad .ppmute,
.projekktor.ad .ppvmax,
.projekktor.ad .ppunmute,
.projekktor.ad .ppfsenter,
.projekktor.ad .pptimeleft,
.projekktor.ad .ppfseexit {
    display: none;
    border: none;
}

.projekktor.ad .ppcontrols {
    background: transparent;
    border: none;
    border: 4px solid red;
}

.projekktor.ad .pptitle {
    border: none;
    left: 5px;
}
&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT199 SECTION &quot;CSS&quot; [1044-1925] --&gt;
&lt;h1 class=&quot;sectionedit200&quot;&gt;&lt;a name=&quot;configuration&quot; id=&quot;configuration&quot;&gt;Configuration&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT200 SECTION &quot;Configuration&quot; [1926-1955] --&gt;
&lt;h3 class=&quot;sectionedit201&quot;&gt;&lt;a name=&quot;setup&quot; id=&quot;setup&quot;&gt;Setup&lt;/a&gt;&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 will do 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 XM-feed, the content-&lt;strong&gt;type&lt;/strong&gt; of the mentioned feed (&lt;acronym title=&quot;Extensible Markup Language&quot;&gt;XML&lt;/acronym&gt; or JSONP-wrapped &lt;acronym title=&quot;Extensible Markup Language&quot;&gt;XML&lt;/acronym&gt;).
&lt;/p&gt;

&lt;p&gt;
&lt;div class=&quot;noteimportant&quot;&gt;Usually you have a specific ad &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&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;!-- EDIT201 SECTION &quot;Setup&quot; [1956-3153] --&gt;
&lt;h3 class=&quot;sectionedit202&quot;&gt;&lt;a name=&quot;config_options&quot; id=&quot;config_options&quot;&gt;Config Options&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;enablecompanions_enableoverlay_enablepreroll_booleantrue&quot; id=&quot;enablecompanions_enableoverlay_enablepreroll_booleantrue&quot;&gt;enableCompanions, enableOverlay, enablePreroll (Boolean:true)&lt;/a&gt;&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&gt;&lt;a name=&quot;url_string&quot; id=&quot;url_string&quot;&gt;url (String:&amp;#039;&amp;#039;)&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

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

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;type_stringapplication_xml&quot; id=&quot;type_stringapplication_xml&quot;&gt;type (String:&amp;#039;application/xml&amp;#039;)&lt;/a&gt;&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;acronym title=&quot;Extensible Markup Language&quot;&gt;XML&lt;/acronym&gt; formatted string wrapped into a JSONP function.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;overlaydelay_integer1&quot; id=&quot;overlaydelay_integer1&quot;&gt;overlayDelay (Integer:1)&lt;/a&gt;&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 the &lt;em&gt;overlayDelay&lt;/em&gt; second while playing back the content video.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;companiondest_arraycompaniona_companionb_companionc&quot; 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;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
An array of IDs addressing the &lt;acronym title=&quot;Document Object Model&quot;&gt;DOM&lt;/acronym&gt;-containers to playe 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;acronym title=&quot;Document Object Model&quot;&gt;DOM&lt;/acronym&gt;-container with accurate dimensions.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;resourcepriority_arrayimage_iframe_html_flash&quot; 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;/a&gt;&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 prefered before iframe and html, flash is the worst case.
&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&gt;&lt;a name=&quot;adblockcallback_functionfunction_myplayer&quot; id=&quot;adblockcallback_functionfunction_myplayer&quot;&gt;adblockCallback (Function:function(myPlayer) {}&lt;/a&gt;&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. The whole VAST mess will be skipped then and playback of the content video gets started.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;title_stringadvertisement&quot; id=&quot;title_stringadvertisement&quot;&gt;title (String:&amp;#039;advertisement&amp;#039;)&lt;/a&gt;&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 “adtitle” will be added to the screen holding the title.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;prerollskip_integer0&quot; id=&quot;prerollskip_integer0&quot;&gt;prerollSkip (Integer:0)&lt;/a&gt;&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;acronym title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/acronym&gt; classes “adskip” and  “locked” and filled with the &lt;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&gt; provided by “prerollSkipHtml”. The mentioned container will be faded in after prerollSkip/2 seconds and “lock” will turn to “unlocked” further more “prerollSkip/2” seconds later. At this point the container will become clickable.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;prerollskiphtml_stringsecs&quot; id=&quot;prerollskiphtml_stringsecs&quot;&gt;prerollSkipHtml (String:&amp;#039;%{secs}&amp;#039;)&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

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

&lt;p&gt;
The title to set for preroll ads.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT202 SECTION &quot;Config Options&quot; [3154-] --&gt;</description>
            <pubDate>Sun, 13 May 2012 14:02:30 +0200</pubDate>
        </item>
        <item>
            <title>Quality Toggle</title>
            <link>http://www.projekktor.com/docs/qualitytoggle?rev=1335545707&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit203&quot;&gt;&lt;a name=&quot;quality_toggle&quot; id=&quot;quality_toggle&quot;&gt;Quality Toggle&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT203 SECTION &quot;Quality Toggle&quot; [1-30] --&gt;
&lt;h3 class=&quot;sectionedit204&quot;&gt;&lt;a name=&quot;general&quot; id=&quot;general&quot;&gt;General&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT204 SECTION &quot;General&quot; [31-50] --&gt;
&lt;h3 class=&quot;sectionedit205&quot;&gt;&lt;a name=&quot;configuration&quot; id=&quot;configuration&quot;&gt;Configuration&lt;/a&gt;&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;!-- EDIT205 SECTION &quot;Configuration&quot; [51-869] --&gt;
&lt;h3 class=&quot;sectionedit206&quot;&gt;&lt;a name=&quot;setup&quot; id=&quot;setup&quot;&gt;Setup&lt;/a&gt;&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;!-- EDIT206 SECTION &quot;Setup&quot; [870-] --&gt;</description>
            <pubDate>Fri, 27 Apr 2012 18:55:07 +0200</pubDate>
        </item>
        <item>
            <title>Quick Install Guide (from scratch edition)</title>
            <link>http://www.projekktor.com/docs/quickinstall?rev=1321432815&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit207&quot;&gt;&lt;a name=&quot;quick_install_guide_from_scratch_edition&quot; id=&quot;quick_install_guide_from_scratch_edition&quot;&gt;Quick Install Guide (from scratch edition)&lt;/a&gt;&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;acronym title=&quot;JavaScript&quot;&gt;JS&lt;/acronym&gt;-files (Projekktor and jQuery) at least one &lt;acronym title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/acronym&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;acronym title=&quot;Document Object Model&quot;&gt;DOM&lt;/acronym&gt; element into a Projekktor - even within Internet Explorer (6,7,8).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT207 SECTION &quot;Quick Install Guide (from scratch edition)&quot; [1-415] --&gt;
&lt;h3 class=&quot;sectionedit208&quot;&gt;&lt;a name=&quot;preparation&quot; id=&quot;preparation&quot;&gt;Preparation&lt;/a&gt;&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;acronym title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/acronym&gt; + its image files&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;jquery_inclusion&quot; id=&quot;jquery_inclusion&quot;&gt;jQuery Inclusion&lt;/a&gt;&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;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&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;!-- EDIT208 SECTION &quot;Preparation&quot; [416-1717] --&gt;
&lt;h3 class=&quot;sectionedit209&quot;&gt;&lt;a name=&quot;projekktor_inclusion&quot; id=&quot;projekktor_inclusion&quot;&gt;Projekktor Inclusion&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Add the following &lt;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&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;!-- EDIT209 SECTION &quot;Projekktor Inclusion&quot; [1718-2087] --&gt;
&lt;h3 class=&quot;sectionedit210&quot;&gt;&lt;a name=&quot;projekktor_instantiation&quot; id=&quot;projekktor_instantiation&quot;&gt;Projekktor Instantiation&lt;/a&gt;&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;acronym title=&quot;Internet Explorer 6&quot;&gt;IE6&lt;/acronym&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;!-- EDIT210 SECTION &quot;Projekktor Instantiation&quot; [2088-2909] --&gt;
&lt;h3 class=&quot;sectionedit211&quot;&gt;&lt;a name=&quot;custom_configuration&quot; id=&quot;custom_configuration&quot;&gt;Custom Configuration&lt;/a&gt;&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;!-- EDIT211 SECTION &quot;Custom Configuration&quot; [2910-4829] --&gt;
&lt;h3 class=&quot;sectionedit212&quot;&gt;&lt;a name=&quot;example&quot; id=&quot;example&quot;&gt;Example&lt;/a&gt;&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;,
	plugin_display: {
	    logoImage:&amp;quot;yourlogo.png&amp;quot;,
	    logoURL:&amp;quot;http://www.projekktor.com/&amp;quot;,
	    target:&amp;quot;_blank&amp;quot;
	}
    });
});
&amp;lt;/script&amp;gt; 


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

&lt;/div&gt;
&lt;!-- EDIT212 SECTION &quot;Example&quot; [4830-] --&gt;</description>
            <pubDate>Wed, 16 Nov 2011 09:40:15 +0200</pubDate>
        </item>
        <item>
            <title>Quick Install Guide (from scratch edition)</title>
            <link>http://www.projekktor.com/docs/quickinstallguide?rev=1287843175&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit213&quot;&gt;&lt;a name=&quot;quick_install_guide_from_scratch_edition&quot; id=&quot;quick_install_guide_from_scratch_edition&quot;&gt;Quick Install Guide (from scratch edition)&lt;/a&gt;&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;acronym title=&quot;JavaScript&quot;&gt;JS&lt;/acronym&gt;-files (Projekktor and jQuery) at least one theme-&lt;acronym title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/acronym&gt; of your choice and, well, your are ready to go. 
&lt;/p&gt;

&lt;p&gt;
Once you did that you can morph any &amp;lt;video&amp;gt; and &amp;lt;audio&amp;gt; tag into a Projekktor - even within Internet Explorer (6,7,8).
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;This documentation applies to Projekktor V0.8 or later.&lt;/strong&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT213 SECTION &quot;Quick Install Guide (from scratch edition)&quot; [1-458] --&gt;
&lt;h2 class=&quot;sectionedit214&quot;&gt;&lt;a name=&quot;preparation&quot; id=&quot;preparation&quot;&gt;Preparation&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&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.js&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; jquery.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 “projekktor_theme_*” directory including a &lt;acronym title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/acronym&gt; + its image files&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT214 SECTION &quot;Preparation&quot; [459-678] --&gt;
&lt;h2 class=&quot;sectionedit215&quot;&gt;&lt;a name=&quot;jquery_inclusion&quot; id=&quot;jquery_inclusion&quot;&gt;jQuery Inclusion&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&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;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&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.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;/div&gt;
&lt;!-- EDIT215 SECTION &quot;jQuery Inclusion&quot; [679-1682] --&gt;
&lt;h2 class=&quot;sectionedit216&quot;&gt;&lt;a name=&quot;projekktor_inclusion&quot; id=&quot;projekktor_inclusion&quot;&gt;Projekktor Inclusion&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Add the following &lt;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&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.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;style/projekktor_theme_tll/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;!-- EDIT216 SECTION &quot;Projekktor Inclusion&quot; [1683-2063] --&gt;
&lt;h2 class=&quot;sectionedit217&quot;&gt;&lt;a name=&quot;projekktor_instantiation&quot; id=&quot;projekktor_instantiation&quot;&gt;Projekktor Instantiation&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&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;audio,video&amp;#039;);
         }
    &amp;lt;/script&amp;gt;&lt;/pre&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.
projekktor(&amp;#039;audio,video&amp;#039;) turns any audio and video tag into a Projekktor instance. Thats all. You´re ready to go.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT217 SECTION &quot;Projekktor Instantiation&quot; [2064-2791] --&gt;
&lt;h2 class=&quot;sectionedit218&quot;&gt;&lt;a name=&quot;custom_configuration&quot; id=&quot;custom_configuration&quot;&gt;Custom Configuration&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&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, if the player should use flash fallback and a lot of things more. As said above two of them are very &lt;strong&gt;likely&lt;/strong&gt; to be customized in the beginning 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;audio,video&amp;#039;);
         }
    &amp;lt;/script&amp;gt;&lt;/pre&gt;

&lt;p&gt;
You should now 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;audio,video&amp;#039; {
	                /* path to the MP4 Flash-player fallback component */
	                playerFlashMP4:		&amp;#039;jarisplayer.swf&amp;#039;,
	        
	                /* path to the MP3 Flash-player fallback component */
	                playerFlashMP3:		&amp;#039;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;p&gt;
&lt;strong&gt;Widdy well&lt;/strong&gt;, my unseen friend, you´re ready to projekktorize the web. Good speed!
&lt;/p&gt;

&lt;p&gt;
Next Step: &lt;a href=&quot;http://www.projekktor.com/docs/html5media&quot; class=&quot;wikilink1&quot; title=&quot;html5media&quot;&gt;Basic use of HTML5 media elements&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT218 SECTION &quot;Custom Configuration&quot; [2792-] --&gt;</description>
            <pubDate>Sat, 23 Oct 2010 16:12:55 +0200</pubDate>
        </item>
        <item>
            <title>SPEAKKER - The Free HTML5 Audio Player</title>
            <link>http://www.projekktor.com/docs/speakker?rev=1332941351&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit219&quot;&gt;&lt;a name=&quot;speakker_-_the_free_html5_audio_player&quot; id=&quot;speakker_-_the_free_html5_audio_player&quot;&gt;SPEAKKER - The Free HTML5 Audio Player&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
You don´t know what Speakker is? Go &lt;a href=&quot;http://www.speakker.com&quot; class=&quot;urlextern&quot; title=&quot;http://www.speakker.com&quot;&gt;here&lt;/a&gt; to learn more.
&lt;/p&gt;

&lt;p&gt;
&lt;div class=&quot;noteimportant&quot;&gt;AS OF March, 28th 2012 THIS DOC is outdated and currently being rewritten. Sorry for any inconveniences.
&lt;/div&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT219 SECTION &quot;SPEAKKER - The Free HTML5 Audio Player&quot; [1-269] --&gt;
&lt;h2 class=&quot;sectionedit220&quot;&gt;&lt;a name=&quot;quick_install_guide&quot; id=&quot;quick_install_guide&quot;&gt;Quick Install Guide&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Mounting Speakker into any website is quick and very straight forward:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Make sure your page loads jQuery V1.4.2 or higher&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Upload the “speakker”-folder of the download archive to your site. Make sure this includes all directories and files within. Speakker will automatically load it´s flash fallback component files from there. &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Inlude the “projekktor.min.js”.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Inlude the “speakker.min.js”.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Inlude “speakker.css” and “mspeakker.css”&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Create an empty &lt;acronym title=&quot;Document Object Model&quot;&gt;DOM&lt;/acronym&gt; container where you want the player to sit on.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Instantiate as described below.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Done.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Something similar to this should be in your page´s header now:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;speakker/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;

&amp;lt;!-- INCLUDE SPEAKKER --&amp;gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;speakker/css/speakker.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot;&amp;gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;speakker/css/mspeakker.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;speakker/projekktor.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt; 
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;speakker/speakker.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt; 
&amp;lt;!-- That´s it --&amp;gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT220 SECTION &quot;Quick Install Guide&quot; [270-1398] --&gt;
&lt;h2 class=&quot;sectionedit221&quot;&gt;&lt;a name=&quot;instantiating_the_tiny_player&quot; id=&quot;instantiating_the_tiny_player&quot;&gt;Instantiating the tiny Player&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Assumed you´ve something like this somewhere in your markup:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;div class=&amp;quot;speakkerSmall&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;

&lt;p&gt;
You can bring up the small version of the player with this:
&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() {	
	$(&amp;#039;.speakkerSmall&amp;#039;).speakker({
		file: &amp;#039;http://url/toyour/music.mp3&amp;#039;,
		title: &amp;#039;one single MP3&amp;#039;,
		theme: &amp;#039;light&amp;#039;,
		poster: &amp;#039;cover.jpg&amp;#039;
	});
&amp;lt;/script&amp;gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT221 SECTION &quot;Instantiating the tiny Player&quot; [1399-1849] --&gt;
&lt;h2 class=&quot;sectionedit222&quot;&gt;&lt;a name=&quot;instantiating_the_big_boy&quot; id=&quot;instantiating_the_big_boy&quot;&gt;Instantiating the Big Boy&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
The small Speakker is nice but the big one rocks. It´s designed for playlists. That´s why we want to focus on setting up a playlist driven instance here. Playlists will work for the tiny variant also - but who cares.
&lt;/p&gt;

&lt;p&gt;
To bring up the big sticky Speakker just use &lt;strong&gt;$().speakker&lt;/strong&gt; (without a selector) as shown below. The script will generate the necessary &lt;acronym title=&quot;Document Object Model&quot;&gt;DOM&lt;/acronym&gt; elements and will glue the player to the bottom of the page.
&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() {
	$().speakker({
		file: &amp;#039;http://www.speakker.com/opentape/code/projekktor.php&amp;#039;,
		playlist: true,
		theme: &amp;#039;light&amp;#039;,
		admin: &amp;#039;http://www.speakker.com/opentape/code/login.php&amp;#039;,
		lastfm: &amp;#039;http://www.lastfm.de/music/paniq&amp;#039;
	});
});
&amp;lt;/script&amp;gt;&lt;/pre&gt;

&lt;p&gt;
As you can see &lt;strong&gt;file&lt;/strong&gt; does not point to an OGV or &lt;acronym title=&quot;Moving Picture Experts Group Layer 3&quot;&gt;MP3&lt;/acronym&gt; but to a &lt;acronym title=&quot;Hypertext Preprocessor&quot;&gt;PHP&lt;/acronym&gt; file. This is where the JSON playlist is generated. To learn more about playlists please refer the &lt;a href=&quot;http://www.projekktor.com/docs/playlists&quot; class=&quot;urlextern&quot; title=&quot;http://www.projekktor.com/docs/playlists&quot;&gt;Projekktor Playlist Docu&lt;/a&gt;. To get a first insight just open the mentioned &lt;acronym title=&quot;Hypertext Preprocessor&quot;&gt;PHP&lt;/acronym&gt; to see what it pumps out: &lt;a href=&quot;http://www.speakker.com/opentape/code/projekktor.php&quot; class=&quot;urlextern&quot; title=&quot;http://www.speakker.com/opentape/code/projekktor.php&quot;&gt;http://www.speakker.com/opentape/code/projekktor.php&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;div class=&quot;noteimportant&quot;&gt;
You can´t apply &lt;a href=&quot;http://www.speakker.com/opentape/code/projekktor.php&quot; class=&quot;urlextern&quot; title=&quot;http://www.speakker.com/opentape/code/projekktor.php&quot;&gt;http://www.speakker.com/opentape/code/projekktor.php&lt;/a&gt; to your local test installation or within a page at an other domain due to Javascript security restrictions.

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

&lt;p&gt;
To avoid frustration and strange results let Speakker know that you feed him with a playlist by setting &lt;strong&gt;playlist&lt;/strong&gt; to &lt;strong&gt;TRUE&lt;/strong&gt;.
&lt;/p&gt;

&lt;p&gt;
Et voila… and yes, it is that easy.
&lt;/p&gt;

&lt;p&gt;
Optionally the big player variant features three custom links: “lastfm”, “wikipedia” and “admin”. Setting values for them will enable the corresponding &lt;acronym title=&quot;Graphical User Interface&quot;&gt;GUI&lt;/acronym&gt; elements. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT222 SECTION &quot;Instantiating the Big Boy&quot; [1850-3547] --&gt;
&lt;h2 class=&quot;sectionedit223&quot;&gt;&lt;a name=&quot;config_parameters&quot; id=&quot;config_parameters&quot;&gt;Config Parameters&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;strong&gt;file&lt;/strong&gt; (string): &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; to a single audio file or a projekktor playlist holding one or more &lt;br/&gt;

&lt;strong&gt;playlist&lt;/strong&gt; (boolean): Load “file” as JSON playlist on TRUE. Assume a single audio file otherwise. &lt;br/&gt;

&lt;strong&gt;poster&lt;/strong&gt; (string): The default poster / cover for the given file. &lt;br/&gt;

&lt;strong&gt;title&lt;/strong&gt; (string): The player´s title used on single file playback. &lt;br/&gt;

&lt;strong&gt;theme&lt;/strong&gt; (string): Use “dark” or “light” color scheme. &lt;br/&gt;

&lt;strong&gt;fat&lt;/strong&gt; (boolean): Makes the sticky playlist player even bigger if set to TRUE. &lt;br/&gt;

&lt;strong&gt;wikipedia&lt;/strong&gt; (string): &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; to the artist´s Wikipedia page if any. &lt;br/&gt;

&lt;strong&gt;lastfm&lt;/strong&gt; (string): &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; to the artist´s last.fm page if any. &lt;br/&gt;

&lt;strong&gt;admin&lt;/strong&gt; (string): &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; to the admin backend if any. &lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT223 SECTION &quot;Config Parameters&quot; [3548-] --&gt;</description>
            <pubDate>Wed, 28 Mar 2012 15:29:11 +0200</pubDate>
        </item>
        <item>
            <title>TOC</title>
            <link>http://www.projekktor.com/docs/start?rev=1289730414&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit224&quot;&gt;&lt;a name=&quot;toc&quot; id=&quot;toc&quot;&gt;TOC&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT224 SECTION &quot;TOC&quot; [1-19] --&gt;
&lt;h2 class=&quot;sectionedit225&quot;&gt;&lt;a name=&quot;general&quot; id=&quot;general&quot;&gt;general&lt;/a&gt;&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; &lt;a href=&quot;http://www.projekktor.com/docs/faq&quot; class=&quot;wikilink1&quot; title=&quot;faq&quot;&gt;F.A.Q.&lt;/a&gt; - Issues? Maybe it´s just nothing.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/html5media&quot; class=&quot;wikilink1&quot; title=&quot;html5media&quot;&gt;Basic Useage of HTML5 audio and video&lt;/a&gt; - &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/compatibility&quot; class=&quot;wikilink1&quot; title=&quot;compatibility&quot;&gt;Compatibility Chart&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/issues&quot; class=&quot;wikilink2&quot; title=&quot;issues&quot; rel=&quot;nofollow&quot;&gt;Known Issues &amp;amp; Common Pitfalls&lt;/a&gt; - Got stuck or wondering why it doesn´t work as expected? Take a look here.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT225 SECTION &quot;general&quot; [20-326] --&gt;
&lt;h2 class=&quot;sectionedit226&quot;&gt;&lt;a name=&quot;setup&quot; id=&quot;setup&quot;&gt;setup&lt;/a&gt;&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; &lt;a href=&quot;http://www.projekktor.com/docs/quickinstall&quot; class=&quot;wikilink1&quot; title=&quot;quickinstall&quot;&gt;Quick Install Guide&lt;/a&gt; - How to setup Projekktor.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/advanced&quot; class=&quot;wikilink2&quot; title=&quot;advanced&quot; rel=&quot;nofollow&quot;&gt;Advanced Setup&lt;/a&gt; - A more detailed look on how to take control over advanced Projekktor features.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/theming&quot; class=&quot;wikilink1&quot; title=&quot;theming&quot;&gt;Custom Themes&lt;/a&gt; - How to customize the player´s look &amp;amp; feel to match your style &amp;amp; CI&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/playlists&quot; class=&quot;wikilink1&quot; title=&quot;playlists&quot;&gt;Using Playlist&lt;/a&gt; - How to set up a telly style user-experience and pre- and postroll ads.&lt;/div&gt;
&lt;/li&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&quot; class=&quot;wikilink1&quot; title=&quot;configuration&quot;&gt;Config Parameters&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/api&quot; class=&quot;wikilink1&quot; title=&quot;api&quot;&gt;Javascript Api Methods&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/events&quot; class=&quot;wikilink1&quot; title=&quot;events&quot;&gt;Player Events&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/parsers&quot; class=&quot;wikilink1&quot; title=&quot;parsers&quot;&gt;reelParser Functions&lt;/a&gt; Parser functions for common feeds and services&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT226 SECTION &quot;setup&quot; [327-922] --&gt;
&lt;h2 class=&quot;sectionedit227&quot;&gt;&lt;a name=&quot;wordpress_plugin_projekktorwp&quot; id=&quot;wordpress_plugin_projekktorwp&quot;&gt;wordpress plugin (ProjekktorWP)&lt;/a&gt;&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; &lt;a href=&quot;http://www.projekktor.com/docs/wpinstall&quot; class=&quot;wikilink2&quot; title=&quot;wpinstall&quot; rel=&quot;nofollow&quot;&gt;Installation&lt;/a&gt; - So simple, it hurts&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/wpsetup&quot; class=&quot;wikilink1&quot; title=&quot;wpsetup&quot;&gt;Setup and Config Options&lt;/a&gt; - ProjekktorWP admin panel options explained&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/wpshortcodes&quot; class=&quot;wikilink1&quot; title=&quot;wpshortcodes&quot;&gt;Shortcodes&lt;/a&gt; - How to embed media with ProjekktorWP&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT227 SECTION &quot;wordpress plugin (ProjekktorWP)&quot; [923-] --&gt;</description>
            <pubDate>Sun, 14 Nov 2010 11:26:54 +0200</pubDate>
        </item>
        <item>
            <title>Projekktor Theming</title>
            <link>http://www.projekktor.com/docs/theming?rev=1335253138&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit228&quot;&gt;&lt;a name=&quot;projekktor_theming&quot; id=&quot;projekktor_theming&quot;&gt;Projekktor Theming&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT228 SECTION &quot;Projekktor Theming&quot; [1-33] --&gt;
&lt;h2 class=&quot;sectionedit229&quot;&gt;&lt;a name=&quot;preamble&quot; id=&quot;preamble&quot;&gt;Preamble&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
In fact, when ever we talk about “theming” we talk about editing the player´s &lt;acronym title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/acronym&gt; and optional applying  selected configuration options to one or more plugins - e.g. the “controlbar”-plugin.
&lt;/p&gt;

&lt;p&gt;
For your understanding: A bare Projekktor does not require any “theming”. Its not more or less than a &amp;lt;div&amp;gt; container where all the media stuff is injected into. Nevertheless plugins (which are in terms of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Model_View_Controller&quot; class=&quot;urlextern&quot; title=&quot;http://en.wikipedia.org/wiki/Model_View_Controller&quot;&gt;MCV-pattern&lt;/a&gt; “views”) usually add &lt;acronym title=&quot;Document Object Model&quot;&gt;DOM&lt;/acronym&gt;-containers to the player´s container or somewhere else on the page.
&lt;/p&gt;

&lt;p&gt;
The official packed Projekktor distribution features two built-in plugins: &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; and &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;. So theming this distributions usually end up a customized &lt;acronym title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/acronym&gt; file replacing the default “theme/style.css” and sometimes providing custom config parameters for one or both of the mentioned plugins.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT229 SECTION &quot;Preamble&quot; [34-962] --&gt;
&lt;h2 class=&quot;sectionedit230&quot;&gt;&lt;a name=&quot;customizing_the_controlbar_s_layout&quot; id=&quot;customizing_the_controlbar_s_layout&quot;&gt;Customizing the Controlbar´s Layout&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Ok, let´s have a look on the &lt;em class=&quot;u&quot;&gt;default&lt;/em&gt; controlbar template. You can alter it by setting the &lt;em&gt;plugin_controlbar.controlsTemplate&lt;/em&gt; config parameters:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&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 %{pause}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;div %{title}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;ul class=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;li&amp;gt;&amp;lt;div %{fsexit}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div %{fsenter}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;div %{vmax}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;div %{vslider}&amp;gt;&amp;lt;div %{vmarker}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div %{vknob}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;div %{mute}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;div %{timeleft}&amp;gt;%{hr_elp}:%{min_elp}:%{sec_elp} | %{hr_dur}:%{min_dur}:%{sec_dur}&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;div %{next}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;div %{prev}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;ul class=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;li&amp;gt;&amp;lt;div %{scrubber}&amp;gt;&amp;lt;div %{loaded}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div %{playhead}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div %{scrubberdrag}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;/pre&gt;

&lt;p&gt;
It looks more complex than it actually is. This is because all carriage returns, tabs and so on has been stripped out. Let´s get them back in:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&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 %{pause}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;
   &amp;lt;li&amp;gt;&amp;lt;div %{title}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;

&amp;lt;ul class=&amp;quot;right&amp;quot;&amp;gt;
   &amp;lt;li&amp;gt;&amp;lt;div %{fsexit}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div %{fsenter}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;
   &amp;lt;li&amp;gt;&amp;lt;div %{vmax}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;
   &amp;lt;li&amp;gt;&amp;lt;div %{vslider}&amp;gt;&amp;lt;div %{vmarker}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div %{vknob}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;
   &amp;lt;li&amp;gt;&amp;lt;div %{mute}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;
   &amp;lt;li&amp;gt;&amp;lt;div %{timeleft}&amp;gt;%{hr_elp}:%{min_elp}:%{sec_elp} | %{hr_dur}:%{min_dur}:%{sec_dur}&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;
   &amp;lt;li&amp;gt;&amp;lt;div %{next}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;
   &amp;lt;li&amp;gt;&amp;lt;div %{prev}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;

&amp;lt;ul class=&amp;quot;bottom&amp;quot;&amp;gt;
  &amp;lt;li&amp;gt;&amp;lt;div %{scrubber}&amp;gt;&amp;lt;div %{loaded}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div %{playhead}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div %{scrubberdrag}&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&lt;/pre&gt;

&lt;p&gt;
Ah, much better. But a little bit cryptic, though. Of course you noted the ”%{}”-tags. And of course they are just place-holders which are overwritten during runtime. Assumed you have a player having the &lt;strong&gt;cssClassPrefix&lt;/strong&gt; set to &lt;em&gt;pp&lt;/em&gt; (which is the default) the controlbar plugin would generate the following &lt;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&gt; based on the above template - the timecodes are just examples of course:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;ul class=&amp;quot;ppleft&amp;quot;&amp;gt;
   &amp;lt;li&amp;gt;&amp;lt;div class=&amp;quot;ppplay&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;pppause&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;
   &amp;lt;li&amp;gt;&amp;lt;div class=&amp;quot;pptitle&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;

&amp;lt;ul class=&amp;quot;ppright&amp;quot;&amp;gt;
   &amp;lt;li&amp;gt;&amp;lt;div class=&amp;quot;ppfsexit&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;ppfsenter&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;
   &amp;lt;li&amp;gt;&amp;lt;div class=&amp;quot;ppvmax&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;
   &amp;lt;li&amp;gt;&amp;lt;div class=&amp;quot;ppvslider&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;ppvmarker&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;ppvknob&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;
   &amp;lt;li&amp;gt;&amp;lt;div class=&amp;quot;ppmute&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;
   &amp;lt;li&amp;gt;&amp;lt;div class=&amp;quot;pptimeleft&amp;quot;&amp;gt;00:30:12 | 00:33:44&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;
   &amp;lt;li&amp;gt;&amp;lt;div class=&amp;quot;ppnext&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;
   &amp;lt;li&amp;gt;&amp;lt;div class=&amp;quot;ppprev&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;

&amp;lt;ul class=&amp;quot;ppbottom&amp;quot;&amp;gt;
  &amp;lt;li&amp;gt;&amp;lt;div class=&amp;quot;ppscrubber&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;pploaded&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;ppplayhead&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;ppscrubberdrag&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;dedicated_tags&quot; id=&quot;dedicated_tags&quot;&gt;Dedicated Tags&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
The following tags are replaced by &lt;em&gt;class&lt;/em&gt; attributes and are bound to specific controlbar functions. Eg. 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;div %{play}&amp;gt;PLAY&amp;lt;/div&amp;gt;&lt;/pre&gt;

&lt;p&gt;
will become
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;div class=&amp;quot;ppplay&amp;quot;&amp;gt;PLAY&amp;lt;/div&amp;gt;&lt;/pre&gt;

&lt;p&gt;
and will be bound to a “click” handler which causes the player to start playback once triggered.
&lt;/p&gt;
&lt;div class=&quot;table sectionedit231&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;strong&gt;tag var&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;strong&gt;Usage / Description&lt;/strong&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; playhead &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Area indicating the current playhead position / current timeindex in percent of the total duration -  “width”-style is set accordingly. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; loaded &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Area indicating how much of the media file has been loaded in percent -  “width”-style is set accordingly. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; scrubber &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Wrapper for the &lt;em&gt;playhead&lt;/em&gt; &amp;amp; &lt;em&gt;loaded&lt;/em&gt; marker &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; scrubberdrag &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; A knob which enables “live scrubbing” &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; play &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; The play-button. Is visible if player is paused, invisible elsewise. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; pause &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; The pause-button. Is visible if player is playing, invisible if paused. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; stop &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; The stop-button. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; prev &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; “Previous” button &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; next &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; “Next” button &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; rewind &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; “Rewind” button (-5 secs. scrubbing, decreasing) &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Forward &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; “Forward” button (+5 secs. scrubbing, increasing) &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; fsexit &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Exit fullscreen button. Is invisible if player is in fullscreen mode. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; fsenter &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Enter fullscreen button. Is invisible if player is NOT in fullscreen mode. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row14&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; loquality &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Set the playback quality to an alternate, lower one. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row15&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; hiquality &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Sets the playback quality to the highest possible (and configured) one. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row16&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; vslider &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Wrapper for the “Volume Marker” &lt;em&gt;vmarker&lt;/em&gt; and &lt;em&gt;vknob&lt;/em&gt;. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row17&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; vmarker &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Area indicating the current volume in percent - “width”-style is set accordinigly. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row18&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; vknob &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; The knob which can be dragged and dropped by the user in order to set the volume. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row19&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; mute &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; The mute-button - sets volume to 0 when clicked. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row20&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; unmute &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; The unmute-button - sets volume to the one prior muting. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row21&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; vmax &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; The mute-button - sets volume to 100 when clicked. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row22&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; title &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Once an item starts playback, the innerHTML of this is filled with the current item´s title. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row23&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; draghandle &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; If used the whole controlbar can be dragged and drop within boundaries of the media display. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row24&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; open &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row25&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; close &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row26&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; loopon &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row27&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; loopoff &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT231 TABLE [4027-5883] --&gt;
&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;timecode_tags&quot; id=&quot;timecode_tags&quot;&gt;Timecode Tags&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;div class=&quot;table sectionedit232&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;strong&gt;tag var&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;strong&gt;Usage / Description&lt;/strong&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; sec_dur &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; The seconds string of the current media element´s total duration. E.g. if duration is 130 seconds, sec_dur=10, if duration is 60 seconds,  sec_dur=00, if duration is 30 seconds, sec_dur=30 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; min_dur &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; The minutes string of the current media element´s total duration. E.g. if duration is 130 seconds, min_dur=02, if duration is 60 seconds,  min_dur=01, if duration is 30 seconds, min_dur=00 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; hr_dur &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; The hours string of the current media element´s total duration. E.g. if duration is 130 seconds, hr_dur=00, if duration is 3600 seconds,  hr_dur=01, if duration is 4000 seconds, hr_dur=01 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; sec_elp &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Follows the same scheme like &amp;#039;sec_dur&amp;#039; but is based on the media time elapsed &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; min_elp &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Follows the same scheme like &amp;#039;min_dur&amp;#039; but is based on the media time elapsed &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; hr_elp &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Follows the same scheme like &amp;#039;hr_dur&amp;#039; but is based on the media time elapsed &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; sec_rem &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Follows the same scheme like &amp;#039;sec_dur&amp;#039; but is based on the media time remaining. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; min_rem &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Follows the same scheme like &amp;#039;min_dur&amp;#039; but is based on the media time remaining. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; hr_rem &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Follows the same scheme like &amp;#039;hr_dur&amp;#039; but is based on the media time remaining. &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT232 TABLE [5909-7117] --&gt;
&lt;p&gt;
This way you can use a template string like this: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;#039;duration: %{hr_dur}:%{min_dur}:%{sec_dur} | remaining: %{hr_rem}:%{min_rem}:%{sec_rem}&amp;#039;&lt;/pre&gt;

&lt;p&gt;
Assumed you have a media file with a duration of 5.640 seconds (94 minutes), after 228 seconds of playback the above string will end up in this: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;#039;duration: 01:34:00 | remaining: 01:30:12&amp;#039;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;open_tags&quot; id=&quot;open_tags&quot;&gt;Open Tags&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
All tags which are not recognized as “dedicated”- or “timecode”- tags can be used for what ever you want to. %{myname} will become &amp;#039;class=“ppmyname”&amp;#039;, %{foo} will become &amp;#039;class=“ppfoo”&amp;#039; and so on. As such you get classes taking the cssClassPrefix-config-option into consideration.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT230 SECTION &quot;Customizing the Controlbar´s Layout&quot; [963-7783] --&gt;
&lt;h2 class=&quot;sectionedit233&quot;&gt;&lt;a name=&quot;customizing_the_css&quot; id=&quot;customizing_the_css&quot;&gt;Customizing the CSS&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
… is easy. As stated above all layout relevant stuff getting to live by a player instance is managed via plugins. Once you know the class-names of plugin-generated containers you can pimp them via &lt;acronym title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/acronym&gt;. From this point of view the &lt;acronym title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/acronym&gt; bundled with the official distribution is a &lt;acronym title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/acronym&gt; designing the output of the “controlbar-” and “display-” plugins.
&lt;/p&gt;

&lt;p&gt;
To simplify things a little all class-names are prefixed with “pp” (which is a short for “Projekktor Player”). This prefix can be reconfigured for each installation but most people use the default “pp” one. Those who don´t should care for the relevant &lt;acronym title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/acronym&gt; changes for themselves. 
&lt;/p&gt;

&lt;p&gt;
Below the classes used in the official distro - without prefix:
&lt;/p&gt;
&lt;div class=&quot;table sectionedit234&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;strong&gt;classname&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;strong&gt;Description&lt;/strong&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; playhead &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Area indicating the current playhead position / current timeindex in percent of the total duration -  “width”-style is set accordingly. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; loaded &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Area indicating how much of the media file has been loaded in percent -  “width”-style is set accordingly. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; scrubber &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Wrapper for the &lt;em&gt;playhead&lt;/em&gt; &amp;amp; &lt;em&gt;loaded&lt;/em&gt; marker &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; scrubberdrag &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; A knob which enables “live scrubbing” &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; play &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; The play-button. Is visible if player is paused, invisible elsewise. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; pause &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; The pause-button. Is visible if player is playing, invisible if paused. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; prev &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; “Previous” button &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; fsexit &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Exit fullscreen button. Is invisible if player is in fullscreen mode. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; fsenter &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Enter fullscreen button. Is invisible if player is NOT in fullscreen mode. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; vslider &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Wrapper for the “Volume Marker” &lt;em&gt;vmarker&lt;/em&gt; and &lt;em&gt;vknob&lt;/em&gt;. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; vmarker &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Area indicating the current volume in percent - “width”-style is set accordinigly. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; vknob &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; The knob which can be dragged and dropped by the user in order to set the volume. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; mute &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; The mute-button - sets volume to 0 when clicked. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row14&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; vmax &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; The mute-button - sets volume to 100 when clicked. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row15&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; title &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Once an item starts playback, the innerHTML of this is filled with the current item´s title. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row16&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; start &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; The startbutton showing up during IDLE &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row17&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; buffering &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; The buffer-indicator &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT234 TABLE [8516-9888] --&gt;
&lt;/div&gt;
&lt;!-- EDIT233 SECTION &quot;Customizing the CSS&quot; [7784-9892] --&gt;
&lt;h2 class=&quot;sectionedit235&quot;&gt;&lt;a name=&quot;projekktor-izing_anything&quot; id=&quot;projekktor-izing_anything&quot;&gt;Projekktor-izing Anything&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
… a very cool but complex feature to be described later.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT235 SECTION &quot;Projekktor-izing Anything&quot; [9893-9991] --&gt;
&lt;h2 class=&quot;sectionedit236&quot;&gt;&lt;a name=&quot;share_your_work&quot; id=&quot;share_your_work&quot;&gt;Share your Work&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
If you made a theme for your own why not give us a note? We like totally love to see new themes and we would be proud to featured yours in our download section. ZIP all relevant files and post a link to the archive to your &lt;a href=&quot;http://www.projekktor.com/board&quot; class=&quot;urlextern&quot; title=&quot;http://www.projekktor.com/board&quot;&gt;forum&lt;/a&gt;. Don´t forget to provide your name and &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; to your homepage. Please note that we will only re-publish themes which are under &lt;acronym title=&quot;GNU General Public License&quot;&gt;GPL&lt;/acronym&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT236 SECTION &quot;Share your Work&quot; [9992-] --&gt;</description>
            <pubDate>Tue, 24 Apr 2012 09:38:58 +0200</pubDate>
        </item>
        <item>
            <title>vast2</title>
            <link>http://www.projekktor.com/docs/vast2?rev=1311852250&amp;do=diff</link>
            <description>&lt;pre class=&quot;code&quot;&gt;&amp;lt;VAST&amp;gt;
    &amp;lt;Ad&amp;gt;
    &amp;lt;InLine&amp;gt;
	&amp;lt;AdSystem/&amp;gt;
	&amp;lt;AdTitle/&amp;gt;
	&amp;lt;Description/&amp;gt;
	&amp;lt;Survey/&amp;gt;
	&amp;lt;Error&amp;gt;
	&amp;lt;Creatives&amp;gt;
	    &amp;lt;Creative&amp;gt;
		&amp;lt;Linear&amp;gt; 
		    &amp;lt;Duration&amp;gt;
		    &amp;lt;TrackingEvents&amp;gt;
			&amp;lt;Tracking event=&amp;quot;creativeView&amp;quot;&amp;gt;
			&amp;lt;Tracking event=&amp;quot;start&amp;quot;&amp;gt; [OK]
			&amp;lt;Tracking event=&amp;quot;firstQuartile&amp;quot;&amp;gt; [OK]
			&amp;lt;Tracking event=&amp;quot;midpoint&amp;quot;&amp;gt; [OK]
			&amp;lt;Tracking event=&amp;quot;thirdQuartile&amp;quot;&amp;gt; [OK]
			&amp;lt;Tracking event=&amp;quot;complete&amp;quot;&amp;gt; [OK]
			&amp;lt;Tracking event=&amp;quot;mute&amp;quot;&amp;gt; [OK]
			&amp;lt;Tracking event=&amp;quot;unmute&amp;quot;&amp;gt; [OK]
			&amp;lt;Tracking event=&amp;quot;pause&amp;quot;&amp;gt; [OK]
			&amp;lt;Tracking event=&amp;quot;rewind&amp;quot;&amp;gt; 
			&amp;lt;Tracking event=&amp;quot;resume&amp;quot;&amp;gt; [OK]
			&amp;lt;Tracking event=&amp;quot;fullscreen&amp;quot;&amp;gt; [OK]
			&amp;lt;Tracking event=&amp;quot;expand&amp;quot;&amp;gt;
			&amp;lt;Tracking event=&amp;quot;collapse&amp;quot;&amp;gt;
			&amp;lt;Tracking event=&amp;quot;acceptInvitation&amp;quot;&amp;gt;
			&amp;lt;Tracking event=&amp;quot;close&amp;quot;&amp;gt;
		    &amp;lt;/TrackingEvents&amp;gt;
		    &amp;lt;AdParameters&amp;gt;
		    &amp;lt;VideoClicks&amp;gt;
		    &amp;lt;ClickThrough/&amp;gt;  [OK]
		    &amp;lt;ClickTracking/&amp;gt;
		    &amp;lt;CustomClick/&amp;gt;
		    &amp;lt;/VideoClicks&amp;gt;
		    &amp;lt;MediaFiles&amp;gt;  [OK]
			&amp;lt;MediaFile delivery=&amp;quot;&amp;quot; type=&amp;quot;&amp;quot;&amp;gt;  [OK]
			&amp;lt;/MediaFile&amp;gt;
		    &amp;lt;/MediaFiles&amp;gt; 
		&amp;lt;/Linear&amp;gt;
		
	    &amp;lt;CompanionAds&amp;gt;
		&amp;lt;Companion width=&amp;quot;&amp;quot; height=&amp;quot;&amp;quot; expandedWidth=&amp;quot;&amp;quot; expandedHeight=&amp;quot;&amp;quot;/&amp;gt;
		    &amp;lt;StaticResource creativeType=&amp;quot;&amp;quot; /&amp;gt;  [OK]
		    &amp;lt;IFrameResource/&amp;gt; [OK]
		    &amp;lt;HTMLResource/&amp;gt; [OK]
		    &amp;lt;TrackingEvents&amp;gt;
		    &amp;lt;Tracking&amp;gt;
		    &amp;lt;CompanionClickThrough/&amp;gt; [OK]
		    &amp;lt;AltText/&amp;gt;
		    &amp;lt;AdParameters/&amp;gt;
	    &amp;lt;/CompanionAds&amp;gt;
	    
	    &amp;lt;NonLinearAds&amp;gt;
		&amp;lt;NonLinear id=&amp;quot;adSwf&amp;quot; width=&amp;quot;&amp;quot; height=&amp;quot;&amp;quot;&amp;gt;
		    &amp;lt;StaticResource creativeType=&amp;quot;&amp;quot; /&amp;gt;  [OK]
		    &amp;lt;IFrameResource/&amp;gt; [OK]
		    &amp;lt;HTMLResource/&amp;gt; [OK]
		&amp;lt;NonLinear/&amp;gt;
		&amp;lt;TrackingEvents&amp;gt;
		    &amp;lt;Tracking event=&amp;quot;creativeView&amp;quot;&amp;gt;
		    &amp;lt;Tracking event=&amp;quot;start&amp;quot;&amp;gt;
		    &amp;lt;Tracking event=&amp;quot;midpoint&amp;quot;&amp;gt;
		    &amp;lt;Tracking event=&amp;quot;firstQuartile&amp;quot;&amp;gt;
		    &amp;lt;Tracking event=&amp;quot;thirdQuartile&amp;quot;&amp;gt;
		    &amp;lt;Tracking event=&amp;quot;complete&amp;quot;&amp;gt;
		    &amp;lt;Tracking event=&amp;quot;mute&amp;quot;&amp;gt;
		    &amp;lt;Tracking event=&amp;quot;unmute&amp;quot;&amp;gt;
		    &amp;lt;Tracking event=&amp;quot;pause&amp;quot;&amp;gt;
		    &amp;lt;Tracking event=&amp;quot;rewind&amp;quot;&amp;gt;
		    &amp;lt;Tracking event=&amp;quot;resume&amp;quot;&amp;gt;
		    &amp;lt;Tracking event=&amp;quot;fullscreen&amp;quot;&amp;gt;
		    &amp;lt;Tracking event=&amp;quot;expand&amp;quot;&amp;gt;
		    &amp;lt;Tracking event=&amp;quot;collapse&amp;quot;&amp;gt;
		    &amp;lt;Tracking event=&amp;quot;acceptInvitation&amp;quot;&amp;gt;
		    &amp;lt;Tracking event=&amp;quot;close&amp;quot;&amp;gt;
		&amp;lt;/TrackingEvents&amp;gt;    
	    &amp;lt;NonLinearClickThrough/&amp;gt;  [OK]
	    &amp;lt;AdParameters/&amp;gt;
	    &amp;lt;/NonLinearAds&amp;gt;
	&amp;lt;/InLine&amp;gt;
	&amp;lt;Extensions/&amp;gt;
	&amp;lt;Wrapper&amp;gt;
	&amp;lt;AdSystem/&amp;gt;
	&amp;lt;VASTAdTagURI/&amp;gt;
	&amp;lt;Creatives/&amp;gt; &amp;lt;Error/&amp;gt;    
    &amp;lt;Impression/&amp;gt;
    &amp;lt;/Wrapper&amp;gt;
    &amp;lt;/Ad&amp;gt; 
&amp;lt;/VAST&amp;gt;  &lt;/pre&gt;
</description>
            <pubDate>Thu, 28 Jul 2011 13:24:10 +0200</pubDate>
        </item>
        <item>
            <title>wordpress plugin (ProjekktorWP)</title>
            <link>http://www.projekktor.com/docs/wp?rev=1291122014&amp;do=diff</link>
            <description>
&lt;h2 class=&quot;sectionedit237&quot;&gt;&lt;a name=&quot;wordpress_plugin_projekktorwp&quot; id=&quot;wordpress_plugin_projekktorwp&quot;&gt;wordpress plugin (ProjekktorWP)&lt;/a&gt;&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; &lt;a href=&quot;http://www.projekktor.com/docs/wpinstall&quot; class=&quot;wikilink2&quot; title=&quot;wpinstall&quot; rel=&quot;nofollow&quot;&gt;Installation&lt;/a&gt; - So simple, it hurts&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/wpsetup&quot; class=&quot;wikilink1&quot; title=&quot;wpsetup&quot;&gt;Setup and Config Options&lt;/a&gt; - ProjekktorWP admin panel options explained&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projekktor.com/docs/wpshortcodes&quot; class=&quot;wikilink1&quot; title=&quot;wpshortcodes&quot;&gt;Shortcodes&lt;/a&gt; - How to embed media with ProjekktorWP&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
</description>
            <pubDate>Tue, 30 Nov 2010 14:00:14 +0200</pubDate>
        </item>
        <item>
            <title>ProjekktorWP Admin Panel Options</title>
            <link>http://www.projekktor.com/docs/wpsetup?rev=1306831835&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit238&quot;&gt;&lt;a name=&quot;projekktorwp_admin_panel_options&quot; id=&quot;projekktorwp_admin_panel_options&quot;&gt;ProjekktorWP Admin Panel Options&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT238 SECTION &quot;ProjekktorWP Admin Panel Options&quot; [1-57] --&gt;
&lt;h1 class=&quot;sectionedit239&quot;&gt;&lt;a name=&quot;general&quot; id=&quot;general&quot;&gt;General&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
All parameters are strictly optional and are provided for higher flexibility only.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;enable_projekktorjs&quot; id=&quot;enable_projekktorjs&quot;&gt;Enable Projekktor.JS&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;del&gt;Disabling this will truly suck coz it will strip away all the projekktor comfortableness. But in very certain situations it might be useful or desired to get just the short-shortcodes parsed but keep the Projekktor Extension itself disabled. So, toggle at will.&lt;/del&gt; OBSOLETE since V0.9.8
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;try_to_create_a_clean_mediarss&quot; id=&quot;try_to_create_a_clean_mediarss&quot;&gt;Try to create a clean mediaRSS (...)&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
By default Wordpress generates &lt;acronym title=&quot;Rich Site Summary&quot;&gt;RSS&lt;/acronym&gt; feeds with media enclosures. That´s fine so far but it disregards the idea of multiple files of different formats for one specific media content. Because this concept is an important aspect of the HTML5 &amp;lt;video&amp;gt; tag, ProjekktorWP provides an option to apply the mediaRSS standard to the &lt;acronym title=&quot;Rich Site Summary&quot;&gt;RSS&lt;/acronym&gt; feeds of your blog.
&lt;/p&gt;

&lt;p&gt;
This functionality might be subject to conflicts with other WP plugins or with the way you use your feed in general. This is why this option is disabled by default. 
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;automatic_flash_fallback&quot; id=&quot;automatic_flash_fallback&quot;&gt;Automatic Flash Fallback&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Unfortunately some browsers and platforms still require a fall back to Flash because they are not able to play H.264 encoded files natively. Projekktor features a Flash video component as a way around and to make sure that your media will be available on as much platforms possible. But idealists and free media format evangelists should try to disable this… a single small step into the right direction.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;wildcards&quot; id=&quot;wildcards&quot;&gt;Wildcards&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;div class=&quot;notewarning&quot;&gt;still not supported in projekktorWP v0.9.8
&lt;/div&gt;
In order to get a maximum reach you should provide your videos in at least two encoding formats: h.264 and ogg/theora or webm. If those variants are available from the same base &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; (eg.: &lt;a href=&quot;http://www.myblog.com/myfiles/test.mp4&quot; class=&quot;urlextern&quot; title=&quot;http://www.myblog.com/myfiles/test.mp4&quot;&gt;http://www.myblog.com/myfiles/test.mp4&lt;/a&gt; &amp;amp;  &lt;a href=&quot;http://www.myblog.com/myfiles/test.ogv&quot; class=&quot;urlextern&quot; title=&quot;http://www.myblog.com/myfiles/test.ogv&quot;&gt;http://www.myblog.com/myfiles/test.ogv&lt;/a&gt;) you may find this option useful.
&lt;/p&gt;

&lt;p&gt;
Instead of applying two sources to each media tag every time over and over again configuring “wildcards” will automatically generate URLs for your all your media variants. To apply them you can use the {*}-placeholder in your media source:
&lt;/p&gt;

&lt;p&gt;
Assumed you set “wildcards” to “webm,mp4,720.ogv” you can use a source attribute like this: [media src=“&lt;a href=&quot;http://www.myblog.com/files/test&quot; class=&quot;urlextern&quot; title=&quot;http://www.myblog.com/files/test&quot;&gt;http://www.myblog.com/files/test&lt;/a&gt;.{*}”]. At the end the resulting player will get the following sources automatically: &lt;a href=&quot;http://www.myblog.com/files/test.webm&quot; class=&quot;urlextern&quot; title=&quot;http://www.myblog.com/files/test.webm&quot;&gt;http://www.myblog.com/files/test.webm&lt;/a&gt;, &lt;a href=&quot;http://www.myblog.com/files/test.mp4&quot; class=&quot;urlextern&quot; title=&quot;http://www.myblog.com/files/test.mp4&quot;&gt;http://www.myblog.com/files/test.mp4&lt;/a&gt; and &lt;a href=&quot;http://www.myblog.com/files/test.720.ogv&quot; class=&quot;urlextern&quot; title=&quot;http://www.myblog.com/files/test.720.ogv&quot;&gt;http://www.myblog.com/files/test.720.ogv&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;enable_fullscreen_webtv&quot; id=&quot;enable_fullscreen_webtv&quot;&gt;Enable Fullscreen webTV?&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Setting this option to TRUE will unlock the player at &lt;a href=&quot;http://www.yourblog.com?projekktor=tv&quot; class=&quot;urlextern&quot; title=&quot;http://www.yourblog.com?projekktor=tv&quot;&gt;http://www.yourblog.com?projekktor=tv&lt;/a&gt; (or &lt;a href=&quot;http://www.yourblog.com/projekktor/tv/&quot; class=&quot;urlextern&quot; title=&quot;http://www.yourblog.com/projekktor/tv/&quot;&gt;http://www.yourblog.com/projekktor/tv/&lt;/a&gt;). All your media posted so far will be played back continuously starting with the most recent item there.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT239 SECTION &quot;General&quot; [58-2744] --&gt;
&lt;h1 class=&quot;sectionedit240&quot;&gt;&lt;a name=&quot;defaults&quot; id=&quot;defaults&quot;&gt;Defaults&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Settings made here affect the result of the parsed shortcodes as they are the default values for each optional tag parameter. They are overwritten for the respective media element by parameters used directly within the shortcode tag. 
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;enable_controlbar&quot; id=&quot;enable_controlbar&quot;&gt;Enable Controlbar&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Enables the controlbar per default - which is a good idea at all. Anyhow you may want to remove controlbars by default. If so you can apply them individually by using the “controls” attribute within the tag: [media src_mp4=“test.mp4” controls]
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;initial_volume&quot; id=&quot;initial_volume&quot;&gt;Initial Volume&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Sets the default volume of the players, 0 is off, 100 is full throttle and can later on be overwritten like this: [media src_mp4=“test.mp4” volume=50]
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;width_height&quot; id=&quot;width_height&quot;&gt;Width / Height&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Sets the default dimensions of the players. To overwrite these values you may hack a tag similar to this: [media src_mp4=“test.mp4” width=640 height=480]
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT240 SECTION &quot;Defaults&quot; [2745-3633] --&gt;
&lt;h1 class=&quot;sectionedit241&quot;&gt;&lt;a name=&quot;branding&quot; id=&quot;branding&quot;&gt;Branding&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;logo_url&quot; id=&quot;logo_url&quot;&gt;Logo URL&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
To apply a custom logo as overlay to your player, you can provide a full qualified &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; to an image of your choice here. Preferably you should use a transparent &lt;acronym title=&quot;Portable Network Graphics&quot;&gt;PNG&lt;/acronym&gt; to get this fancy watermark effect.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;logo_position&quot; id=&quot;logo_position&quot;&gt;Logo Position&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Sets the position you want the logo to be relative to the media display.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;default_poster&quot; id=&quot;default_poster&quot;&gt;Default Poster&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Sets the default poster image for each player. Should be provided as full qualified &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt;. To apply a video specific one try this: [media src_mp4=“test.mp4” poster=“&lt;a href=&quot;http://www.myblog.com/myposter.jpg&quot; class=&quot;urlextern&quot; title=&quot;http://www.myblog.com/myposter.jpg&quot;&gt;http://www.myblog.com/myposter.jpg&lt;/a&gt;”]
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;theme&quot; id=&quot;theme&quot;&gt;Theme&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
You can select your preferred player-layout here
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT241 SECTION &quot;Branding&quot; [3634-4265] --&gt;
&lt;h1 class=&quot;sectionedit242&quot;&gt;&lt;a name=&quot;social_features&quot; id=&quot;social_features&quot;&gt;Social Features&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;enable_twitter&quot; id=&quot;enable_twitter&quot;&gt;Enable Twitter&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;enable_facebook&quot; id=&quot;enable_facebook&quot;&gt;Enable Facebook&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;enable_embed_this&quot; id=&quot;enable_embed_this&quot;&gt;Enable Embed This&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT242 SECTION &quot;Social Features&quot; [4266-4370] --&gt;
&lt;h1 class=&quot;sectionedit243&quot;&gt;&lt;a name=&quot;social_texts&quot; id=&quot;social_texts&quot;&gt;Social Texts&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;close_window_this_is_the_embed_code_for&quot; id=&quot;close_window_this_is_the_embed_code_for&quot;&gt;Close Window / This is the embed code for ...&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;i_found_a_cool_html5_video_powered_site&quot; id=&quot;i_found_a_cool_html5_video_powered_site&quot;&gt;I found a cool HTML5 video powered site...&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT243 SECTION &quot;Social Texts&quot; [4371-4524] --&gt;
&lt;h1 class=&quot;sectionedit244&quot;&gt;&lt;a name=&quot;error_messages&quot; id=&quot;error_messages&quot;&gt;Error Messages&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT244 SECTION &quot;Error Messages&quot; [4525-] --&gt;</description>
            <pubDate>Tue, 31 May 2011 10:50:35 +0200</pubDate>
        </item>
        <item>
            <title>ProjekktorWP Shortcodes</title>
            <link>http://www.projekktor.com/docs/wpshortcodes?rev=1306855247&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit245&quot;&gt;&lt;a name=&quot;projekktorwp_shortcodes&quot; id=&quot;projekktorwp_shortcodes&quot;&gt;ProjekktorWP Shortcodes&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT245 SECTION &quot;ProjekktorWP Shortcodes&quot; [1-48] --&gt;
&lt;h1 class=&quot;sectionedit246&quot;&gt;&lt;a name=&quot;embedding_video&quot; id=&quot;embedding_video&quot;&gt;Embedding Video&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;markup&quot; id=&quot;markup&quot;&gt;markup&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Minimum markup: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[video src=&amp;quot;URL to file&amp;quot;]&lt;/pre&gt;

&lt;p&gt;
Advanced markup example:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[video src_ogg=&amp;quot;URL to OGG/Theora file&amp;quot; src_mp4=&amp;quot;URL to H.264/mp4 file&amp;quot; width=640 height=480 poster=&amp;quot;http://myblog.de/images/poster.png&amp;quot;]&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;multiple_formats&quot; id=&quot;multiple_formats&quot;&gt;multiple formats&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
When hacking new articles use at minimum [video src=“&lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; to file”] in order to embed a video into your post. The player will try to auto-detect the media type and tries to start playback via native HTML5 video or with Flash. In the (unlikely) event that both fails you will get an error-message (testcard).
&lt;/p&gt;

&lt;p&gt;
However you may want to provide multiple formats of the same video. If you do not know why this is a good idea you may find our &lt;a href=&quot;http://www.projekktor.com/docs/html5media&quot; class=&quot;wikilink1&quot; title=&quot;html5media&quot;&gt;introduction to HTML5 media&lt;/a&gt; interesting. To apply multiple formats you can use the &lt;strong&gt;src_xxx&lt;/strong&gt; attribute within the [video] shortcode where &lt;strong&gt;xxx&lt;/strong&gt; must be replaced with one of the following codes:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ogg to embed a video of type video/ogg&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; or ogv embed add a video of type video/ogg&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; mp4 to embed a video of type video/mp4&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; webm to embed a video of type video/webm&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; flv to embed a video of type video/x-flv&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; mov to embed a video of type video/quicktime&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; yt to embed a Youtube video&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
E.g. in order to embed a single video with alternate OGG and MP4 formatted sources you hack:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[video src_ogg=&amp;quot;http://www.myvideorepo.com/test.ogg&amp;quot; src_mp4=&amp;quot;http://www.myvideorepo.com/test.ogg&amp;quot;]&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;attributes_overview&quot; id=&quot;attributes_overview&quot;&gt;attributes overview&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;div class=&quot;table sectionedit247&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;strong&gt;name&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;strong&gt;expected value&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;strong&gt;description&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; &lt;strong&gt;default can be set in admin panel&lt;/strong&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; poster &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; a valid &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; to an image file &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; image that shows up while the player is IDLE and waits to be started be the user&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; YES &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; controls &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; none &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; if missing the controlbar of the player does not show up &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; YES &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; width &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; number &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; defines the width of the player in pixels &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; YES &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; height &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; number &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; defines the height of the player in pixels &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; YES &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; loop &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; none &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; if set the player will loop playback of the current video (or playlist) &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; autoplay &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; none &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; if set the player will start playback immediately once the page has loaded &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT247 TABLE [1558-2197] --&gt;
&lt;p&gt;
Example: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[video src_ogg=&amp;quot;http://myrepo.com/video.ogg&amp;quot; src_mp4=&amp;quot;http://myrepo.com/video.mp4&amp;quot; loop autoplay controls]&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT246 SECTION &quot;Embedding Video&quot; [49-] --&gt;</description>
            <pubDate>Tue, 31 May 2011 17:20:47 +0200</pubDate>
        </item>
    </channel>
</rss>

