- Use file_accomplished (not frozen+!error) to gate audio player - Use errors field (was .error — wrong name, always falsy) - Render <audio controls> instead of bare download link - Add audiowidget.tmpl.stub for server-side customization
26 lines
937 B
Plaintext
26 lines
937 B
Plaintext
{# audiowidget.tmpl.stub
|
||
Copy to neusician/templates/ and rename to audiowidget.tmpl.
|
||
Include from base.tmpl or any score page with:
|
||
{% include 'audiowidget.tmpl' %}
|
||
|
||
Variables expected in context (all provided by /sompyle/status.json
|
||
via the sompyler_status_json route):
|
||
result_url – URL to the rendered audio file (e.g. /sompyle/result.mp3)
|
||
errors – non-empty string on synthesis failure, else empty/absent
|
||
|
||
The default JS audio widget in PaneCP renders a plain <audio> element.
|
||
Replace or extend this stub to match your site's look and feel.
|
||
#}
|
||
|
||
{% if errors %}
|
||
<div class="se-error">{{ errors }}</div>
|
||
{% elif result_url %}
|
||
<figure class="audio-result">
|
||
<figcaption>Rendered result</figcaption>
|
||
<audio controls preload="metadata">
|
||
<source src="{{ result_url }}" type="audio/mpeg">
|
||
<a href="{{ result_url }}">Download MP3</a>
|
||
</audio>
|
||
</figure>
|
||
{% endif %}
|