ttml

package
v0.0.0-...-f890984 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 4, 2018 License: MIT Imports: 4 Imported by: 1

README

GoDoc cover.run go

#readttml.go

Supports ttml v1.0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LoadTtml

func LoadTtml(v *Tt, filepath string) error

LoadTtml loads the TTML file from a given filepath

func WriteTtml

func WriteTtml(v *WTt, outpath string) error

WriteTtml writes the TTML file

Types

type Region

type Region struct {
	XMLID           string `xml:"id,attr"`
	TtsDisplayAlign string `xml:"displayAlign,attr"`
	TtsExtent       string `xml:"extent,attr"`
	TtsOrigin       string `xml:"origin,attr"`
}

Region struct

type Style

type Style struct {
	XMLID         string `xml:"id,attr"`
	TtsTextAlign  string `xml:"textAlign,attr"`
	TtsFontFamily string `xml:"fontFamily,attr"`
	TtsFontSize   string `xml:"fontSize,attr"`
}

Style struct

type Subtitle

type Subtitle struct {
	Id     string `xml:"id,attr"`
	Begin  string `xml:"begin,attr"`
	End    string `xml:"end,attr"`
	Style  string `xml:"style,attr,omitempty"`
	Region string `xml:"region,attr,omitempty"`
	Text   string `xml:",innerxml"`
}

Subtitle - struct for subtitles

type Tt

type Tt struct {
	XMLName      xml.Name `xml:"tt"`
	Xmlns        string   `xml:"xmlns,attr"`
	XmlnsTtp     string   `xml:"ttp,attr"`
	XmlnsTts     string   `xml:"tts,attr"`
	XmlnsTtm     string   `xml:"ttm,attr"`
	XmlnsXML     string   `xml:"xml,attr"`
	TtpTimeBase  string   `xml:"timeBase,attr"`
	TtpFrameRate string   `xml:"frameRate,attr"`
	XMLLang      string   `xml:"lang,attr"`
	Head         struct {
		Metadata struct {
			TtmTitle string `xml:"title"`
		} `xml:"metadata"`
		Styling struct {
			Style []Style `xml:"style"`
		} `xml:"styling"`
		Layout struct {
			Region []Region `xml:"region"`
		} `xml:"layout"`
	} `xml:"head"`
	Body struct {
		Region string `xml:"region,attr"`
		Style  string `xml:"style,attr"`
		Div    struct {
			P []Subtitle `xml:"p"`
		} `xml:"div"`
	} `xml:"body"`
}

Tt read struct - outlines the file on read

func ParseTtml

func ParseTtml(filename string) (*Tt, error)

ParseTtml is a generic loader for TTML files

type WTt

type WTt struct {
	XMLName      xml.Name `xml:"tt"`
	Xmlns        string   `xml:"xmlns,attr"`
	XmlnsTtp     string   `xml:"xmlns:ttp,attr"`
	XmlnsTts     string   `xml:"xmlns:tts,attr"`
	XmlnsTtm     string   `xml:"xmlns:ttm,attr"`
	XmlnsXML     string   `xml:"xmlns:xml,attr"`
	TtpTimeBase  string   `xml:"ttp:timeBase,attr"`
	TtpFrameRate string   `xml:"ttp:frameRate,attr"`
	XMLLang      string   `xml:"xml:lang,attr"`
	Head         struct {
		Metadata struct {
			TtmTitle string `xml:"ttm:title"`
		} `xml:"metadata"`
		Styling struct {
			Style []Wstyle `xml:"style"`
		} `xml:"styling"`
		Layout struct {
			Region []Wregion `xml:"region"`
		} `xml:"layout"`
	} `xml:"head"`
	Body struct {
		Region string `xml:"region,attr"`
		Style  string `xml:"style,attr"`
		Div    struct {
			P []Wsubtitle `xml:"p"`
		} `xml:"div"`
	} `xml:"body"`
}

WTt is the Write TTML struct. Primary reason for using a separate struct is Go's strange handling of complex XML parameters

type Wregion

type Wregion struct {
	XMLID           string `xml:"xml:id,attr"`
	TtsDisplayAlign string `xml:"tts:displayAlign,attr"`
	TtsExtent       string `xml:"tts:extent,attr"`
	TtsOrigin       string `xml:"tts:origin,attr"`
}

Wregion - Region write struct

type Wstyle

type Wstyle struct {
	XMLID         string `xml:"xml:id,attr"`
	TtsTextAlign  string `xml:"tts:textAlign,attr"`
	TtsFontFamily string `xml:"tts:fontFamily,attr"`
	TtsFontSize   string `xml:"tts:fontSize,attr"`
}

Wstyle - Style write struct

type Wsubtitle

type Wsubtitle struct {
	Id     string `xml:"xml:id,attr"`
	Begin  string `xml:"begin,attr"`
	End    string `xml:"end,attr"`
	Style  string `xml:"style,attr,omitempty"`
	Region string `xml:"region,attr,omitempty"`
	Text   string `xml:",innerxml"`
}

Wsubtitle - Subtitle write struct

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL