feat: adiciona suporte para sugestão de velocidade com base nas durações de vídeo e faixas de áudio/legenda

This commit is contained in:
2026-03-01 14:54:49 -03:00
parent 1ef47b3a07
commit e70612f5ea
5 changed files with 167 additions and 5 deletions
+7 -1
View File
@@ -7,7 +7,7 @@ use crate::application::use_cases::{
edit_existing_track_sync::EditExistingTrackSync, export_track::ExportTrack,
load_media_info::LoadMediaInfo, remove_track::RemoveTrack,
};
use crate::domain::entities::{MkvOutput, Project, VideoFile};
use crate::domain::entities::{MkvOutput, Project, TrackKind, VideoFile};
use crate::domain::value_objects::FilePath;
use crate::infrastructure::process::{run_ffmpeg_async, run_mkvmerge_async};
use crate::ui::components::{
@@ -135,6 +135,12 @@ impl App {
Ok(_) => {
self.existing_track_list
.sync_tracks(&project.existing_tracks);
// Propaga duração do vídeo para os formulários (sugestão de velocidade)
let video_dur = project.existing_tracks.iter()
.find(|t| matches!(t.kind, TrackKind::Video))
.and_then(|t| t.duration_ms);
self.add_audio_form.set_video_duration(video_dur);
self.add_subtitle_form.set_video_duration(video_dur);
}
Err(e) => {
self.execution_panel.state = ExecutionState::Error(e.to_string());