mirror of
https://github.com/zoriya/go-astisub.git
synced 2026-08-16 02:33:21 +00:00
STL maximum values are now editable
This commit is contained in:
@@ -10,9 +10,9 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/asticode/go-astitools/byte"
|
||||
"github.com/asticode/go-astitools/map"
|
||||
"github.com/asticode/go-astitools/ptr"
|
||||
astibyte "github.com/asticode/go-astitools/byte"
|
||||
astimap "github.com/asticode/go-astitools/map"
|
||||
astiptr "github.com/asticode/go-astitools/ptr"
|
||||
"github.com/pkg/errors"
|
||||
"golang.org/x/text/unicode/norm"
|
||||
)
|
||||
@@ -188,10 +188,12 @@ func ReadFromSTL(i io.Reader) (o *Subtitles, err error) {
|
||||
// Update metadata
|
||||
// TODO Add more STL fields to metadata
|
||||
o.Metadata = &Metadata{
|
||||
Framerate: g.framerate,
|
||||
Language: stlLanguageMapping.B(g.languageCode).(string),
|
||||
STLPublisher: g.publisher,
|
||||
Title: g.originalProgramTitle,
|
||||
Framerate: g.framerate,
|
||||
Language: stlLanguageMapping.B(g.languageCode).(string),
|
||||
STLMaximumNumberOfDisplayableCharactersInAnyTextRow: astiptr.Int(g.maximumNumberOfDisplayableCharactersInAnyTextRow),
|
||||
STLMaximumNumberOfDisplayableRows: astiptr.Int(g.maximumNumberOfDisplayableRows),
|
||||
STLPublisher: g.publisher,
|
||||
Title: g.originalProgramTitle,
|
||||
}
|
||||
|
||||
// Parse Text and Timing Information (TTI) blocks.
|
||||
@@ -308,6 +310,12 @@ func newGSIBlock(s Subtitles) (g *gsiBlock) {
|
||||
g.framerate = s.Metadata.Framerate
|
||||
g.languageCode = stlLanguageMapping.A(s.Metadata.Language).(string)
|
||||
g.originalProgramTitle = s.Metadata.Title
|
||||
if s.Metadata.STLMaximumNumberOfDisplayableCharactersInAnyTextRow != nil {
|
||||
g.maximumNumberOfDisplayableCharactersInAnyTextRow = *s.Metadata.STLMaximumNumberOfDisplayableCharactersInAnyTextRow
|
||||
}
|
||||
if s.Metadata.STLMaximumNumberOfDisplayableRows != nil {
|
||||
g.maximumNumberOfDisplayableRows = *s.Metadata.STLMaximumNumberOfDisplayableRows
|
||||
}
|
||||
g.publisher = s.Metadata.STLPublisher
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -8,6 +8,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/asticode/go-astisub"
|
||||
astiptr "github.com/asticode/go-astitools/ptr"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
@@ -23,7 +24,7 @@ func TestSTL(t *testing.T) {
|
||||
assert.NoError(t, err)
|
||||
assertSubtitleItems(t, s)
|
||||
// Metadata
|
||||
assert.Equal(t, &astisub.Metadata{Framerate: 25, Language: astisub.LanguageFrench, STLPublisher: "Copyright test", Title: "Title test"}, s.Metadata)
|
||||
assert.Equal(t, &astisub.Metadata{Framerate: 25, Language: astisub.LanguageFrench, STLMaximumNumberOfDisplayableCharactersInAnyTextRow: astiptr.Int(40), STLMaximumNumberOfDisplayableRows: astiptr.Int(23), STLPublisher: "Copyright test", Title: "Title test"}, s.Metadata)
|
||||
|
||||
// No subtitles to write
|
||||
w := &bytes.Buffer{}
|
||||
|
||||
+21
-19
@@ -249,25 +249,27 @@ func (sa *StyleAttributes) propagateWebVTTAttributes() {}
|
||||
// Metadata represents metadata
|
||||
// TODO Merge attributes
|
||||
type Metadata struct {
|
||||
Comments []string
|
||||
Framerate int
|
||||
Language string
|
||||
SSACollisions string
|
||||
SSAOriginalEditing string
|
||||
SSAOriginalScript string
|
||||
SSAOriginalTiming string
|
||||
SSAOriginalTranslation string
|
||||
SSAPlayDepth *int
|
||||
SSAPlayResX, SSAPlayResY *int
|
||||
SSAScriptType string
|
||||
SSAScriptUpdatedBy string
|
||||
SSASynchPoint string
|
||||
SSATimer *float64
|
||||
SSAUpdateDetails string
|
||||
SSAWrapStyle string
|
||||
STLPublisher string
|
||||
Title string
|
||||
TTMLCopyright string
|
||||
Comments []string
|
||||
Framerate int
|
||||
Language string
|
||||
SSACollisions string
|
||||
SSAOriginalEditing string
|
||||
SSAOriginalScript string
|
||||
SSAOriginalTiming string
|
||||
SSAOriginalTranslation string
|
||||
SSAPlayDepth *int
|
||||
SSAPlayResX, SSAPlayResY *int
|
||||
SSAScriptType string
|
||||
SSAScriptUpdatedBy string
|
||||
SSASynchPoint string
|
||||
SSATimer *float64
|
||||
SSAUpdateDetails string
|
||||
SSAWrapStyle string
|
||||
STLMaximumNumberOfDisplayableCharactersInAnyTextRow *int
|
||||
STLMaximumNumberOfDisplayableRows *int
|
||||
STLPublisher string
|
||||
Title string
|
||||
TTMLCopyright string
|
||||
}
|
||||
|
||||
// Region represents a subtitle's region
|
||||
|
||||
Reference in New Issue
Block a user