feat: adiciona funcionalidade para reordenar faixas externas com botões ↑↓ na interface
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
# PRD — Simple Multimedia Track Audio Editor
|
||||
|
||||
**Versão:** 1.4
|
||||
**Data:** 01/03/2026
|
||||
**Status:** v1.0 funcional — Fases 1–9 concluídas; 33 testes passando; aplicação executável
|
||||
**Revisão:** v1.4 — Adicionado RF-15 (Excluir faixa existente do output)
|
||||
**Versão:** 1.5
|
||||
**Data:** 02/03/2026
|
||||
**Status:** v1.0 funcional — Fases 1–9 concluídas; 72 testes passando; aplicação executável
|
||||
**Revisão:** v1.5 — Adicionado RF-16 (Reordenar faixas externas)
|
||||
|
||||
---
|
||||
|
||||
@@ -167,6 +167,15 @@ As ferramentas existentes são complexas (ex: interface direta do FFmpeg via CLI
|
||||
- Ambos os pipelines (FFmpeg e mkvmerge) respeitam o flag: faixas excluídas são filtradas antes da geração dos argumentos de `-map` / `--audio-tracks` / `--subtitle-tracks`
|
||||
- O estado `excluded` é persistido junto com a sessão (RF-14)
|
||||
|
||||
### RF-16 — Reordenar faixas externas
|
||||
|
||||
- O usuário pode alterar a ordem das faixas externas adicionadas (áudio e legenda) usando os botões **↑** e **↓** na lista de faixas
|
||||
- A ordem determina o índice de stream no container MKV final — relevante para players que selecionam faixas por posição (ex: VLC, Jellyfin)
|
||||
- O botão ↑ fica desabilitado na primeira faixa da lista; o botão ↓, na última
|
||||
- Implementado via método `move_track(id, delta: i8)` em `Project`, usando `Vec::swap` — ambos os pipelines (FFmpeg e mkvmerge) iteram `project.tracks` em ordem e não precisam de alteração
|
||||
- Somente faixas **externas** (`project.tracks`) são reordenáveis; faixas existentes (`project.existing_tracks`, lidas via ffprobe) permanecem na ordem detectada
|
||||
- A nova ordem é persistida automaticamente junto com a sessão (RF-14)
|
||||
|
||||
---
|
||||
|
||||
## 7. Requisitos Não Funcionais
|
||||
@@ -422,6 +431,7 @@ src/
|
||||
- [x] É possível exportar uma faixa existente para arquivo separado (RF-13)
|
||||
- [x] É possível salvar e restaurar a sessão em disco (RF-14)
|
||||
- [x] É possível excluir faixas de áudio ou legenda existentes do arquivo de saída, com possibilidade de restauração antes da geração (RF-15)
|
||||
- [x] É possível reordenar as faixas externas adicionadas com botões ↑↓; a ordem reflete o índice no container final (RF-16)
|
||||
- [x] O modo lote permite configurar e processar múltiplos projetos sequencialmente (RF-09)
|
||||
- [x] É possível definir fator de correção de drift por faixa (RF-12; requer mkvmerge)
|
||||
- [x] O arquivo MKV é gerado corretamente ao confirmar
|
||||
|
||||
Reference in New Issue
Block a user