]> git.parisson.com Git - telemeta.git/commitdiff
eztelemeta: embed template now loads SoundManager2's Page Player
authorolivier <>
Fri, 10 Apr 2009 15:26:18 +0000 (15:26 +0000)
committerolivier <>
Fri, 10 Apr 2009 15:26:18 +0000 (15:26 +0000)
tools/eztelemeta/datatypes/eztelemetaitem/eztelemetaitemtype.php
tools/eztelemeta/design/standard/javascript/init.js
tools/eztelemeta/design/standard/javascript/page-player.js
tools/eztelemeta/design/standard/override/templates/embed/eztelemetaitem.tpl
tools/eztelemeta/settings/design.ini.append

index 089e1bf106364a794ba896b4c44f22ca15758d20..41ea9232e2630d801d5afaa44826d81ac39bfde7 100755 (executable)
@@ -66,7 +66,8 @@ class eZTelemetaItemType extends eZDataType
             'title'         => '',
             'creator'       => '',
             'description'   => '',
-            'rights'        => ''
+            'rights'        => '',
+            'mp3'           => ''
         );
     }
 
@@ -76,9 +77,9 @@ class eZTelemetaItemType extends eZDataType
         if (!ereg('^http://', $url)) {
             $url = "http://$url";
         }
-        $url = ereg_replace('/*$', '', $url);
-        $id = urlencode('item:' . $item['id']);
-        $request    = "$url/oai/?verb=GetRecord&identifier=$id&metadataPrefix=oai_dc";
+        $url        = ereg_replace('/*$', '', $url);
+        $encodedId  = urlencode($item['id']);
+        $request    = "$url/oai/?verb=GetRecord&identifier=item:$encodedId&metadataPrefix=oai_dc";
 
         $doc = new DOMDocument();
         if (!@$doc->load($request)) {
@@ -116,6 +117,8 @@ class eZTelemetaItemType extends eZDataType
             throw new eZTelemetaError("The retrieved item has no title");
         }
 
+        $result['mp3'] = "$url/items/download/$encodedId.mp3";
+
         return array_merge($item, $result);
     }
 
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..21d916517ffdaa30d9bf58ef4d7b4834dc44537c 100644 (file)
@@ -0,0 +1,13 @@
+
+/* SoundManager2 configuration */
+soundManager.debugMode = true;
+
+/* SoundManager2 Page Player configuration */
+var PP_CONFIG = {
+  flashVersion: 9,
+  usePeakData: true,
+  useWaveformData: false,
+  useEQData: false,
+  useFavIcon: false,
+  useMovieStar: false
+}
index fee544904f232ad7ed9a3594ea746a30e7b7dd39..43fe008ef77b857a0ee7b07c2331756ad278a29c 100644 (file)
@@ -23,7 +23,7 @@ function PagePlayer(oConfigOverride) {
   var isOpera = navigator.userAgent.match(/opera/i);\r
   var isFirefox = navigator.userAgent.match(/firefox/i);\r
 \r
-  sm.url = '../../swf/'; // path to directory containing SM2 SWF\r
+  // sm.url = '../../swf/'; // path to directory containing SM2 SWF\r
 \r
   this.config = {\r
     flashVersion: 8,        // version of Flash to tell SoundManager to use - either 8 or 9. Flash 9 required for peak / spectrum data.\r
@@ -40,7 +40,7 @@ function PagePlayer(oConfigOverride) {
     useFavIcon: false       // try to show peakData in address bar (Firefox + Opera)\r
   }\r
 \r
-  sm.debugMode = (window.location.href.toString().match(/debug=1/i)?true:false); // enable with #debug=1 for example\r
+  //sm.debugMode = (window.location.href.toString().match(/debug=1/i)?true:false); // enable with #debug=1 for example\r
 \r
   this._mergeObjects = function(oMain,oAdd) {\r
     // non-destructive merge\r
@@ -455,7 +455,7 @@ function PagePlayer(oConfigOverride) {
       return true;\r
     }\r
     var sURL = o.getAttribute('href');\r
-    if (!o.href || (!sm.canPlayURL(o.href) && !self.hasClass(o,'playable')) || self.hasClass(o,'exclude')) {\r
+    if (!o.href || (!sm.canPlayURL(o.href) || !self.hasClass(o,'playable')) || self.hasClass(o,'exclude')) {\r
       if (isIE && o.onclick) {\r
         return false; // IE will run this handler before .onclick(), everyone else is cool?\r
       }\r
@@ -853,7 +853,7 @@ function PagePlayer(oConfigOverride) {
     // grab all links, look for .mp3\r
     var foundItems = 0;\r
     for (var i=0; i<oLinks.length; i++) {\r
-      if ((sm.canPlayURL(oLinks[i].href) || self.hasClass(oLinks[i],'playable')) && !self.hasClass(oLinks[i],'exclude')) {\r
+      if ((sm.canPlayURL(oLinks[i].href) && self.hasClass(oLinks[i],'playable')) && !self.hasClass(oLinks[i],'exclude')) {\r
         oLinks[i].rel = 'pagePlayerMP3Sound'+i;\r
         self.links[self.links.length] = oLinks[i];\r
         self.addClass(oLinks[i],self.css.sDefault); // add default CSS decoration\r
@@ -1011,4 +1011,4 @@ var pagePlayer = new PagePlayer(typeof PP_CONFIG != 'undefined'?PP_CONFIG:null);
 soundManager.onload = function() {\r
   // soundManager.createSound() etc. may now be called\r
   pagePlayer.initDOM();\r
-}
\ No newline at end of file
+}\r
index acffddd8b5e3cd429eb6d0c8437a70df4150930c..a1cbabefdaa136916c8756e6e38608934bb48faf 100755 (executable)
@@ -1,3 +1,6 @@
+<script language="javascript">
+soundManager.url = {'swf/'|ezdesign};
+</script>
 <div class="view-embed">
     <div class="content-media">
     {let attribute=$object.data_map.item}
@@ -7,7 +10,33 @@
         <dt>Identifier:</dt><dd>{$attribute.content.id}</dd>
         <dt>Title:</dt><dd>{$attribute.content.title|wash}</dd>
         </dl>
+        <ul class="playlist">
+        <li><a class="playable" href="{$attribute.content.mp3}">{$attribute.content.title|wash}</a></li>
+        </ul>
     {/let}
     </div>
+     <div id="control-template">
+      <!-- control markup inserted dynamically after each link -->
+      <div class="controls">
+       <div class="statusbar">
+        <div class="loading"></div>
+         <div class="position"></div>
+       </div>
+      </div>
+      <div class="timing">
+       <div id="sm2_timing" class="timing-data">
+        <span class="sm2_position">%s1</span> / <span class="sm2_total">%s2</span></div>
+      </div>
+      <div class="peak">
+       <div class="peak-box"><span class="l"></span><span class="r"></span>
+       </div>
+      </div>
+     </div>
+
+     <div id="spectrum-container" class="spectrum-container">
+      <div class="spectrum-box">
+       <div class="spectrum"></div>
+      </div>
+     </div>
 </div>
 
index 7835bfeb7baba93ec62cc24f0882e1873777eac1..4473da943bbeebc6892e86d50f3a5de0cdd91f01 100644 (file)
@@ -6,6 +6,6 @@ CSSFileList[]=eztelemeta.css
 CSSFileList[]=page-player.css
 
 [JavaScriptSettings]
+JavaScriptList[]=soundmanager2.js
 JavaScriptList[]=init.js
-JavaScriptList[]=soundmanager2-nodebug-jsmin.js
 JavaScriptList[]=page-player.js