feat: basic ass processing (without style)

This commit is contained in:
CDN 2025-04-23 17:42:13 +08:00
parent 8897d7ae90
commit ebbf516689
Signed by: CDN
GPG key ID: 0C656827F9F80080
10 changed files with 2301 additions and 808 deletions

View file

@ -6,6 +6,7 @@ import (
"path/filepath"
"strings"
"sub-cli/internal/format/ass"
"sub-cli/internal/format/lrc"
"sub-cli/internal/format/srt"
"sub-cli/internal/format/txt"
@ -45,6 +46,8 @@ func convertToIntermediate(sourceFile, sourceFormat string) (model.Subtitle, err
return srt.ConvertToSubtitle(sourceFile)
case "vtt":
return vtt.ConvertToSubtitle(sourceFile)
case "ass":
return ass.ConvertToSubtitle(sourceFile)
default:
return model.Subtitle{}, fmt.Errorf("%w: %s", ErrUnsupportedFormat, sourceFormat)
}
@ -59,6 +62,8 @@ func convertFromIntermediate(subtitle model.Subtitle, targetFile, targetFormat s
return srt.ConvertFromSubtitle(subtitle, targetFile)
case "vtt":
return vtt.ConvertFromSubtitle(subtitle, targetFile)
case "ass":
return ass.ConvertFromSubtitle(subtitle, targetFile)
case "txt":
return txt.GenerateFromSubtitle(subtitle, targetFile)
default: