allow re-entering sections in 2pass, set ass title, use layoutres x/y header tags
This commit is contained in:
parent
b3057fad7d
commit
53a96783b3
|
@ -29,7 +29,7 @@ type rendererStatsEntry struct {
|
|||
Size *atomic.Uint64
|
||||
}
|
||||
|
||||
func NewRenderer(frameRate float64, display shapes.Rectangle[float64]) *Renderer {
|
||||
func NewRenderer(title string, frameRate float64, display shapes.Rectangle[float64]) *Renderer {
|
||||
width := int64(display.Width() * settings.GlobalSettings.VideoScaleMultiplier)
|
||||
height := int64(display.Height() * settings.GlobalSettings.VideoScaleMultiplier)
|
||||
|
||||
|
@ -44,7 +44,7 @@ func NewRenderer(frameRate float64, display shapes.Rectangle[float64]) *Renderer
|
|||
"[Script Info]",
|
||||
"; Script generated by swf2ass Renderer",
|
||||
"; https://git.gammaspectra.live/WeebDataHoarder/swf2ass-go",
|
||||
"Title: swf2ass",
|
||||
fmt.Sprintf("Title: %s", title),
|
||||
"ScriptType: v4.00+",
|
||||
//TODO: WrapStyle: 0 or 2?
|
||||
"WrapStyle: 2",
|
||||
|
@ -52,12 +52,14 @@ func NewRenderer(frameRate float64, display shapes.Rectangle[float64]) *Renderer
|
|||
"YCbCr Matrix: PC.709",
|
||||
fmt.Sprintf("PlayResX: %d", width),
|
||||
fmt.Sprintf("PlayResY: %d", height),
|
||||
fmt.Sprintf("LayoutResX: %d", width),
|
||||
fmt.Sprintf("LayoutResY: %d", height),
|
||||
"",
|
||||
"",
|
||||
"[Aegisub Project Garbage]",
|
||||
"Last Style Storage: f",
|
||||
fmt.Sprintf("Video File: ?dummy:%s:10000:%d:%d:160:160:160:c", strconv.FormatFloat(frameRate, 'f', -1, 64), width, height),
|
||||
fmt.Sprintf("Video AR Value: %.6F", ar),
|
||||
fmt.Sprintf("Video AR Value: %s", strconv.FormatFloat(ar, 'f', -1, 64)),
|
||||
"Active Line: 0",
|
||||
"Video Zoom Percent: 2.000000",
|
||||
"",
|
||||
|
|
|
@ -71,7 +71,8 @@ func PostProcess(r io.ReadSeeker, w io.WriteSeeker) (err error) {
|
|||
sections[currentSectionName] = currentSection
|
||||
}
|
||||
currentSectionName = string(h)
|
||||
currentSection = nil
|
||||
//allow re-entering a section
|
||||
currentSection = sections[currentSectionName]
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
|
|
@ -63,7 +63,7 @@ func TestParser(t *testing.T) {
|
|||
|
||||
processor := types.NewSWFProcessor(tags, shapes.RectangleFromSWF(swfReader.Header().FrameSize), swfReader.Header().FrameRate.Float64(), int64(swfReader.Header().FrameCount), swfReader.Header().Version)
|
||||
|
||||
assRenderer := ass.NewRenderer(processor.FrameRate, processor.ViewPort)
|
||||
assRenderer := ass.NewRenderer("sample.swf", processor.FrameRate, processor.ViewPort)
|
||||
|
||||
var lastFrame *types.FrameInformation
|
||||
for {
|
||||
|
|
|
@ -108,7 +108,7 @@ func main() {
|
|||
|
||||
processor := types.NewSWFProcessor(tags, shapes.RectangleFromSWF(swfReader.Header().FrameSize), swfReader.Header().FrameRate.Float64(), int64(swfReader.Header().FrameCount), swfReader.Header().Version)
|
||||
|
||||
assRenderer := ass.NewRenderer(processor.FrameRate, processor.ViewPort)
|
||||
assRenderer := ass.NewRenderer(path.Base(*inputFile), processor.FrameRate, processor.ViewPort)
|
||||
|
||||
var ks KnownSignature
|
||||
|
||||
|
|
Loading…
Reference in a new issue