{% extends "telemeta_default/mediaitem_detail.html" %}
-
-{% load telemeta_utils %}
-{% load i18n %}
-
-{% block content %}
-
-<h3>Item : {{ item }}</h3>
-<div class="{% if item.file %}with-rightcol{% endif %}">
-
-{% if item.file %}
- <div id="player_maximized" class="ts-skin-lab">
- <a href="#" class="toggle">Minimize</a>
- <div class="wazing"></div>
- </div>
- <div id="rightcol">
- <div id="player_minimized" class="ts-skin-lab">
- <a href="#" class="toggle">Maximize</a>
- <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,"m4a" %}">
- <img class="ts-image" src="{% url telemeta-item-visualize item.public_id,visualizer_id,1800,233 %}"
- alt="" /></a>
- </div>
- </div>
- </div>
- </div>
- </div>
-
- <div class="item_visualization">
- <form id="visualizer_id_form" method="get" action="#">
- <!--
- <select name="visualizer_id" onchange="this.form.submit()">
- {% for v in visualizers %}
- <option value="{{ v.id }}" {% ifequal v.id visualizer_id %} selected="selected" {% endifequal %}>
- {{v.name}}</option>
- {% endfor %}
- </select>
- -->
- <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 type="submit" value="Set" />
- </form>
-
- <div class="analyzer">
- <table width="100%">
- <tr class="analyzer-title">
- <td>Property</td>
- <td>Value</td>
- <td>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>
-<!--
- <form method="get" action="#">
- <p> Vamp plugin analysis</p>
- <select name="vamp_id">
- {% for plugin in vamp_plugins %}
- <option value="{{ plugin }}" {% ifequal plugin vamp_id %} selected="selected" {% endifequal %}>
- {{ plugin }}</option>
- {% endfor %}
- </select>
- <input type="submit" value="Get" />
- </form>
--->
- </div>
-
- {% if audio_export_enabled %}
- <div class="exporter">
- <p>{% trans "Download:" %}
- {% for format in export_formats %}
- <a href="{% url telemeta-item-export item.public_id,format.extension %}">{{ format.name }}</a>
- {% endfor %}</p>
- </div>
- {% endif %}
-
- </div>
-{% endif %}
-
- <div class="infos">
- {% block general_info %}
- <dl class="listing">
- {% dl_field item "title" %}
- {% dl_field item "alt_title" %}
- {% dl_field item "collector" %}
- <dt>{% field_label item "collection" %}</dt>
- <dd><a href="{% url telemeta-collection-detail item.collection.public_id %}">{{ item.collection }}</a></dd>
- {% if item.recorded_from_date %}
- <dt>{% trans "Recording date" %}</dt>
- <dd>{{ item.recorded_from_date }} {{ item.recorded_to_date|prepend:" - " }}</dd>
- {% endif %}
- </dl>
- {% endblock general_info %}
- </div>
- <div class="extraInfos">
- {% block geoethnic_data %}
- <div>
- <h4><a href="#">{% trans "Geographic and cultural informations" %}</a></h4>
- <dl class="listing">
- {% if item.location %}
- <dt>{% trans "Location" %}</dt>
- <dd>{{ item.location.fullnames|join:"<br/>" }}</dd>
- {% endif %}
- {% dl_field item "location_comment" %}
- {% dl_field item "cultural_area" %}
- {% dl_field item "ethnic_group" %}
- {% dl_field item "context_comment" %}
- {% dl_field item "keywords" join with ", " %}
- </dl>
- </div>
- {% endblock geoethnic_data %}
- </div>
- <div class="extraInfos">
- {% block musical_data %}
- <div>
- <h4><a href="#">{% trans "Musical informations" %}</a></h4>
- <dl class="listing">
- {% dl_field item "vernacular_style" %}
- {% dl_field item "generic_style" %}
- {% dl_field item "author" %}
- </dl>
- {% if item.performances %}
- <div class="instruments">
- <table class="instruments">
- <thead>
- <tr>
- <td>{% field_label "MediaItemPerformance" "instruments_num" %}</td>
- <td>{% field_label "MediaItemPerformance" "instrument" %}</td>
- <td>{% field_label "MediaItemPerformance" "alias" %}</td>
- <td>{% field_label "MediaItemPerformance" "musicians" %}</td>
- </tr>
- </thead>
- <tbody>
- {% for performance in item.performances.all %}
- <tr>
- <td>{{ performance.instruments_num }}</td>
- <td>{{ performance.instrument|default:"" }}</td>
- <td>{{ performance.alias|default:"" }}</td>
- <td>{{ performance.musicians }}</td>
- </tr>
- {% endfor %}
- </tbody>
- </table>
- </div>
- {% endif %}
- </div>
- {% endblock musical_data %}
- </div>
- <div class="extraInfos">
- {% block general_data %}
- <div>
- <h4><a href="#">{% trans "General informations" %}</a></h4>
- <dl class="listing">
- {% dl_field item "comment" %}
- {% dl_field item "collector_selection" %}
- </dl>
- </div>
- {% endblock general_data %}
- </div>
- <div class="extraInfos">
- {% block archive_data %}
- <div>
- <h4><a href="#">{% trans "Archiving data" %}</a></h4>
- <dl class="listing">
- {% dl_field item "code" %}
- {% dl_field item "old_code" %}
- {% dl_field item "track" %}
- {% dl_field item "creator_reference" %}
- {% dl_field item "external_references" %}
- {% dl_field item "public_access_label" %}
- </dl>
- </div>
- {% endblock archive_data %}
- </div>
- <div class="extraInfos">
- {% block technical_data %}
- <div>
- <h4><a href="#">{% trans "Technical data" %}</a></h4>
- <div>
- <dl class="listing">
- <dt>{% trans "Media type" %}</dt><dd>{% trans "Audio" %}</dd>
- {% dl_field item "approx_duration" %}
- </dl>
- </div>
- </div>
- {% endblock technical_data %}
- </div>
-
-</div> <!-- with-rightcol -->
-
-{% endblock %}
-
'id':analyzer.id(),
'unit':analyzer.unit(),
'value':str(value)})
+ decoder.release()
self.cache.write_analyzer_xml(analyzers, analyze_file)
return render(request, template,
{'item': item, 'export_formats': formats,
'visualizers': graphers, 'visualizer_id': grapher_id,'analysers': analyzers, #FIXME analysers
- 'audio_export_enabled': getattr(settings, 'TELEMETA_DOWNLOAD_ENABLED', False)
+ 'audio_export_enabled': getattr(settings, 'TELEMETA_DOWNLOAD_ENABLED', True)
})
def item_analyze(self):
pipe = decoder | graph
pipe.run()
graph.render(self.cache.dir + os.sep + file)
-
+
response = HttpResponse(self.cache.read_stream_bin(file), mimetype = mime_type)
return response
if not self.cache_export.exists(file):
# source > encoder > stream
media = self.cache_export.dir + os.sep + file
- decoder.setup()
proc = encoder(media)
- proc.setup(decoder.channels(), decoder.samplerate())
- #metadata = dublincore.express_item(item).to_list()
- #enc.set_metadata(metadata)
- response = HttpResponse(stream_from_processor(decoder, proc), mimetype = mime_type)
- else:
- response = HttpResponse(self.cache_export.read_stream_bin(file), mimetype = mime_type)
+# metadata = dublincore.express_item(item).to_list()
+# enc.set_metadata(metadata)
+ pipe = decoder | proc
+ pipe.run()
+# response = HttpResponse(stream_from_processor(decoder, proc), mimetype = mime_type)
+# else:
+ response = HttpResponse(self.cache_export.read_stream_bin(file), mimetype = mime_type)
+ decoder.release()
response['Content-Disposition'] = 'attachment'
return response