editor.py aktualisiert
This commit is contained in:
@@ -437,7 +437,6 @@ button:disabled { opacity:.45; cursor:not-allowed; }
|
|||||||
<button onclick="jump(1)">1 s ⏩</button>
|
<button onclick="jump(1)">1 s ⏩</button>
|
||||||
<button onclick="jump(10)">10 s ⏭</button>
|
<button onclick="jump(10)">10 s ⏭</button>
|
||||||
<button onclick="playSelection()">▶ Auswahl abspielen</button>
|
<button onclick="playSelection()">▶ Auswahl abspielen</button>
|
||||||
<button onclick="playFromStart()">▶ Ab Auswahlstart</button>
|
|
||||||
<button onclick="setStartAtCurrent()">⏱ Anfang = Position</button>
|
<button onclick="setStartAtCurrent()">⏱ Anfang = Position</button>
|
||||||
<button onclick="setEndAtCurrent()">⏱ Ende = Position</button>
|
<button onclick="setEndAtCurrent()">⏱ Ende = Position</button>
|
||||||
<button onclick="resetZoom()">↺ Gesamtansicht</button>
|
<button onclick="resetZoom()">↺ Gesamtansicht</button>
|
||||||
@@ -454,7 +453,6 @@ button:disabled { opacity:.45; cursor:not-allowed; }
|
|||||||
<div class="actions">
|
<div class="actions">
|
||||||
<button class="primary" id="trimButton" onclick="trim()">✂ Fertige Aufnahme erstellen</button>
|
<button class="primary" id="trimButton" onclick="trim()">✂ Fertige Aufnahme erstellen</button>
|
||||||
<a class="button" href="{{ audio_url }}" download>Original herunterladen</a>
|
<a class="button" href="{{ audio_url }}" download>Original herunterladen</a>
|
||||||
<button class="button danger" onclick="deleteOriginal()">🗑 Originalaufnahme löschen</button>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="info">Beim Erstellen einer fertigen Aufnahme bleibt das Original unverändert. Das Original kann hier bewusst gelöscht werden; bereits erstellte fertige Aufnahmen bleiben dabei erhalten.</div>
|
<div class="info">Beim Erstellen einer fertigen Aufnahme bleibt das Original unverändert. Das Original kann hier bewusst gelöscht werden; bereits erstellte fertige Aufnahmen bleiben dabei erhalten.</div>
|
||||||
<div class="progress-box" id="progressBox"><div class="progress-track"><div class="progress-bar" id="progressBar"></div></div><div class="progress-info"><span id="progressText">Verarbeitung läuft …</span><span id="progressPercent">0 %</span></div></div>
|
<div class="progress-box" id="progressBox"><div class="progress-track"><div class="progress-bar" id="progressBar"></div></div><div class="progress-info"><span id="progressText">Verarbeitung läuft …</span><span id="progressPercent">0 %</span></div></div>
|
||||||
@@ -731,22 +729,6 @@ function setEndAtCurrent() {
|
|||||||
function msg(text, ok) {
|
function msg(text, ok) {
|
||||||
const el=document.getElementById('message'); el.textContent=text; el.className='message '+(ok?'ok':'error');
|
const el=document.getElementById('message'); el.textContent=text; el.className='message '+(ok?'ok':'error');
|
||||||
}
|
}
|
||||||
async function deleteOriginal() {
|
|
||||||
if (!confirm('Originalaufnahme wirklich löschen?\\n\\n' + filename + '\\n\\nBereits erstellte fertige Aufnahmen bleiben erhalten.')) return;
|
|
||||||
|
|
||||||
audio.pause();
|
|
||||||
const response = await fetch('/api/file', {
|
|
||||||
method: 'POST',
|
|
||||||
headers: {'Content-Type': 'application/json'},
|
|
||||||
body: JSON.stringify({action: 'delete', kind: 'recording', filename})
|
|
||||||
});
|
|
||||||
const result = await response.json();
|
|
||||||
if (!result.success) {
|
|
||||||
alert(result.error || 'Löschen fehlgeschlagen.');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
location.href = '/';
|
|
||||||
}
|
|
||||||
|
|
||||||
async function trim() {
|
async function trim() {
|
||||||
if (end-start < 0.5) return msg('Der ausgewählte Bereich ist zu kurz.',false);
|
if (end-start < 0.5) return msg('Der ausgewählte Bereich ist zu kurz.',false);
|
||||||
|
|||||||
Reference in New Issue
Block a user