]> git.parisson.com Git - telemeta.git/commitdiff
fix item page title, add autonomous player but we have to make two JS and HTML for...
authoryomguy <yomguy@parisson.com>
Thu, 14 Apr 2011 11:59:48 +0000 (13:59 +0200)
committeryomguy <yomguy@parisson.com>
Thu, 14 Apr 2011 11:59:48 +0000 (13:59 +0200)
telemeta/htdocs/css/telemeta.css
telemeta/templates/telemeta/mediaitem_player.html [new file with mode: 0644]
telemeta/templates/telemeta_default/mediaitem_detail.html
telemeta/templates/telemeta_default/mediaitem_player.html [new file with mode: 0644]
telemeta/urls.py
telemeta/web/base.py

index c504d50302e5d46a84d4fc5ebbcd04a935013769..3ee4759a90972ca1ae2fd91ce310b5d041e535a3 100644 (file)
@@ -114,16 +114,19 @@ a img { border: none; }
 #content_header td{
     vertical-align: top;
 }
+
 #content_header td.rightcol{
     text-align:right;
     white-space:nowrap; /**this implies to stretach righcol to accomodate all the width,
                         UNLESS there is a div.fixedWidthAsPlayer inside td.rightcol (see blow)*/
 }
+
 #content_header td.rightcol div.fixedWidthAsPlayer{
     width:374px; /*must be width+2*padding, see #rightcol below*/
     float:right;
     white-space:normal; /*to override no-wrap defined in #content_header td.rightcol*/
 }
+
 #content_header td.rightcol div.fixedWidthAsPlayer a{
     display:inline-block;
     margin-top:0.5ex;
@@ -141,10 +144,12 @@ a img { border: none; }
     -webkit-border-radius: 8px 8px 8px 8px;
     border-radius: 8px 8px 8px 8px;
 }
+
 #rightcol .analyzer, #rightcol .exporter, .markers {
     text-align: left;
     position: relative;
 }
+
 #rightcol form {
     width: 360px;
     margin-top: 5px;
diff --git a/telemeta/templates/telemeta/mediaitem_player.html b/telemeta/templates/telemeta/mediaitem_player.html
new file mode 100644 (file)
index 0000000..2b8b1a1
--- /dev/null
@@ -0,0 +1 @@
+{% extends "telemeta_default/mediaitem_player.html" %}
index feef1abfa781745e52b9ecc865520673ac7d303b..2cba3efceb0a20de95a16a5dbe8627da97d99732 100644 (file)
@@ -2,17 +2,17 @@
 {% load telemeta_utils %}
 {% load i18n %}
 
-{% block head_title %}{% trans "Item" %}- {{ block.super }}{% endblock %}
+{% block head_title %}{{ block.super }} - {% trans "Item" %} : {{ item.title }}{% endblock %}
 
 {% block stylesheets %}
 {{ block.super }}
 <link rel="stylesheet" type="text/css" href="{% url telemeta-timeside "css/timeside.css" %}" />
-      <link rel="stylesheet" type="text/css" href="{% url telemeta-timeside "skins/lab/style.css" %}" />
-      <link rel="stylesheet" type="text/css" href="{% url telemeta-css "player.css" %}" />
-      {% endblock %}
+<link rel="stylesheet" type="text/css" href="{% url telemeta-timeside "skins/lab/style.css" %}" />
+<link rel="stylesheet" type="text/css" href="{% url telemeta-css "player.css" %}" />
+{% endblock %}
 
-      {% block extra_javascript %}
-      <!--<script src="{% url telemeta-js "wz_jsgraphics.js" %}" type="text/javascript"></script>-->
+{% block extra_javascript %}
+<!--<script src="{% url telemeta-js "wz_jsgraphics.js" %}" type="text/javascript"></script>-->
 <script src="{% url telemeta-js "soundmanager2.js" %}" type="text/javascript"></script>
 <script src="{% url telemeta-timeside "src/playlist.js" %}" type="text/javascript"></script>
 <script type="text/javascript">
diff --git a/telemeta/templates/telemeta_default/mediaitem_player.html b/telemeta/templates/telemeta_default/mediaitem_player.html
new file mode 100644 (file)
index 0000000..29fd10c
--- /dev/null
@@ -0,0 +1,177 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="{{ LANGUAGE_CODE }}" xml:lang="{{ LANGUAGE_CODE }}" {% if LANGUAGE_BIDI %}dir="rtl"{% endif %}>
+
+<head>
+{% load i18n %}
+{% load telemeta_utils %}
+
+<title>{%block head_title %}{% organization %} - Telemeta - {% trans "Item" %} : {{ item.title }}{% endblock%}</title>
+
+{% block stylesheets %}
+<link rel="stylesheet" type="text/css" href="{% url telemeta-css "telemeta.css" %}" />
+<link rel="stylesheet" type="text/css" href="{% url telemeta-timeside "css/timeside.css" %}" />
+<link rel="stylesheet" type="text/css" href="{% url telemeta-timeside "skins/lab/style.css" %}" />
+<link rel="stylesheet" type="text/css" href="{% url telemeta-css "player.css" %}" />
+{% endblock %}
+
+<script src="{% url telemeta-js "jquery.js" %}" type="text/javascript"></script>
+<script src="{% url telemeta-js "application.js" %}" type="text/javascript"></script>
+
+{% block extra_javascript %}
+<script src="{% url telemeta-js "soundmanager2.js" %}" type="text/javascript"></script>
+<script src="{% url telemeta-timeside "src/playlist.js" %}" type="text/javascript"></script>
+<script type="text/javascript">
+    soundManager.url = '{% url telemeta-swf "./" %}';
+    soundManager.flashVersion = 9;
+    soundManager.useMovieStar = true; // enable MP4/M4A/AAC
+    soundManager.debugMode = false;
+    soundManager.allowPolling = true;
+
+    var setupPlaylist = function(){
+        {% if user.is_authenticated %}
+        var p = playlistUtils;
+        {% for playlist in playlists %}
+        p.addPlaylist('{{ playlist.playlist.title }}','{{playlist.playlist.public_id}}');
+        {% endfor %}
+
+        {% endif %}
+        {% if item %}
+        var anchor = jQuery('#_add_to_playlist');
+        if(anchor.length){
+            anchor.click(function(evtObj_){
+                p.showPopupAddToPlaylist(evtObj_,'item','{{item.public_id}}','item added to selected playlist');return false;
+            });
+        }
+        {% endif %}
+    };
+
+    {% if item %}
+    var ITEM_PUBLIC_ID = '{{item.public_id}}';
+    {% endif %}
+
+    var scripts = ["{% url telemeta-js "wz_jsgraphics.js" %}",
+        //"{% url telemeta-timeside "src/playlist.js" %}",
+        "{% url telemeta-timeside "src/timeside.js" %}","{% url telemeta-js "playerUtils.js" %}"];
+
+    var _sound_manager_loaded=false;
+    var _jQuery_loaded = false;
+
+    jQuery(document).ready(function(){
+        _jQuery_loaded=true;
+        if(_sound_manager_loaded){
+            loadScripts(scripts, function(){loadPlayer('{% url telemeta-item-analyze-xml item.public_id %}',$('.ts-wave a').attr('href'));setupPlaylist()});
+        }
+    });
+    //$('.ts-wave a').attr('href')
+    soundManager.onready(function() {
+        _sound_manager_loaded=true;
+        if(_jQuery_loaded){
+            loadScripts(scripts, function(){loadPlayer('{% url telemeta-item-analyze-xml item.public_id %}',$('.ts-wave a').attr('href'));setupPlaylist()});
+        }
+    });
+
+</script>
+{% endblock %}
+
+{% if user.is_authenticated and perms.telemeta.change_mediaitem %}
+    <script type='text/javascript'>var CURRENT_USER_NAME="{{ user.username }}";</script>
+{% else %}
+    <script type='text/javascript'>var CURRENT_USER_NAME=undefined;</script>
+{% endif %}
+
+</head>
+
+<body>
+
+{% block content %}
+
+<div>
+{% if item.file %}
+    {% if public_access or user.is_staff %}
+    <div id="player_maximized" class="ts-skin-lab">
+        <a href="#" class="toggle">Minimize</a>
+        <div class="wazing"></div>
+    </div>
+    <div id="rightcol" style="float: left;">
+        <div id="player_minimized" class="ts-skin-lab">
+            
+            <div class="wazing"></div>
+            <div id="player" class="ts-player">
+                <div class="ts-viewer">
+                    <div class="ts-wave">
+                        <div class="ts-image-container">
+                            <a href="{% url telemeta-item-export item.public_id,"mp3" %}">
+                               <img class="ts-image" src="{% url telemeta-item-visualize item.public_id,visualizer_id,360,130 %}"
+                                 alt="" /></a>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="item_visualization" id="item_visualization_id">
+            <form id="visualizer_id_form" method="get" action="#">
+                <img src="images/plots.png" style="vertical-align:middle" />&nbsp;Visualization :
+                <select id="visualizer_id" name="visualizer_id">
+                    {% for v in visualizers %}
+                    <option value="{% url telemeta-item-visualize item.public_id,v.id,"WIDTH","HEIGHT" %}">
+                            {{v.name}}</option>
+                    {% endfor %}
+                </select>
+                <input style="visibility: hidden;" type="submit" value="Set" />
+            </form>
+        </div>
+
+        <div id="tabs_container">
+            <!-- this div will be hidden when everything is fully loaded-->
+            <span id="loading_span" href="#"><img style="vertical-align:middle" src="/images/wait.gif"/>&nbsp;
+                <span id="loading_span_text">Loading...</span></span>
+            <a id="tab_analysis" style="display:none" name ="analyzer_div_id" href="#">{% trans "Analysis" %}</a>
+            <a id="tab_markers" style="display:none" name="markers_div_id" href="#">{% trans "Markers" %}</a>
+        </div>
+
+        <div class="markers" id="markers_div_id"></div>
+
+        <div class="analyzer" id="analyzer_div_id">
+            <table width="100%">
+                <tr class="analyzer-title">
+                    <td>{% trans "Property" %}</td>
+                    <td>{% trans "Value" %}</td>
+                    <td>{% trans "Unit" %}</td>
+                </tr>
+               <!-- {% for analyser in analysers %}
+                <tr class="analyzer-line">
+                    <td>
+                        {{ analyser.name }}
+                    </td>
+                    <td>
+                        {{ analyser.value }}
+                    </td>
+                    <td>
+                        {{ analyser.unit }}
+                    </td>
+                </tr>
+                {% endfor %}-->
+            </table>
+        </div>
+        <!--</div>-->
+
+        {% if audio_export_enabled %}
+        <div class="exporter">
+            <p><img src="images/download.png" style="vertical-align:middle" /> {% trans "Download:" %}
+                {% for format in export_formats %}
+                <a href="{% url telemeta-item-export item.public_id,format.extension %}">
+                    <img src="images/{{ format.extension }}.png" style="vertical-align:middle" alt="{{ format.extension }}" /></a>
+                {% endfor %}</p>
+        </div>
+        {% endif %}
+
+    </div>
+    {% endif %}
+    {% endif %}
+
+</div>
+
+{% endblock %}
+
+</body>
+</html>
\ No newline at end of file
index f4fb66c0a7c22df159f2921c677c54380865c727..7a297449504d4eae735d8984bc992c40bc50e609 100644 (file)
@@ -95,6 +95,8 @@ urlpatterns = patterns('',
         dict(template='telemeta/mediaitem_copy.html'), name="telemeta-item-copy"),
     url(r'^item/add/$', web_view.item_add,
         dict(template='telemeta/mediaitem_add.html'), name="telemeta-item-add"),
+    url(r'^items/(?P<public_id>[A-Za-z0-9._-]+)/player/$', web_view.item_detail,
+        dict(template='telemeta/mediaitem_player.html'), name="telemeta-item-player"),
 
     # Markers
     url(r'^markers/(?P<marker_id>[A-Za-z0-9]+)/$', web_view.item_detail, name="telemeta-item-detail-marker"),
index 4db69776f813a9aea1f858fa2e2582521f9ac602..7b796a95196c6761bb46c6a6a6556355356aef50 100644 (file)
@@ -295,7 +295,7 @@ class WebView(object):
                     'previous' : previous, 'next' : next, 'marker': marker_id, 'playlists' : playlists, 
                     'public_access': public_access, 'translations': translations, 
                     })
-
+    
     def get_public_access(self, access, date_from, date_to):
         # Rolling publishing date : Public access when time between recorded year 
         # and currant year is over settings value PUBLIC_ACCESS_PERIOD
@@ -377,7 +377,6 @@ class WebView(object):
         
         return render(request, template, {'item': item, "form": form})
     
-    
     @method_decorator(permission_required('telemeta.add_mediaitem'))
     def item_copy(self, request, public_id, template='telemeta/mediaitem_copy.html'):
         """Show the details of a given item"""