Updated header for TMPGEnc subtitle formats - thx Neil :)

git-svn-id: https://subtitleedit.googlecode.com/svn/trunk@1482 99eadd0c-20b8-1223-b5c4-2a2b2df33de2
This commit is contained in:
niksedk 2012-11-14 06:56:28 +00:00
parent b97a48e7de
commit 395175a374
2 changed files with 153 additions and 247 deletions

View File

@ -15,132 +15,11 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
public override string ToText(Subtitle subtitle, string title)
{
string xmlStructure = @"<?xml version='1.0' encoding='utf-8' ?>
<TMPGEncVMESubtitleTextFormat>
<Layout>
<LayoutItem index='0'>
<Name>
<![CDATA[Picture bottom layout]]>
</Name>
<Position>4</Position>
<FontName>
<![CDATA[Tahoma]]>
</FontName>
<FontHeight>0.069</FontHeight>
<FontColor>17588159451135</FontColor>
<FontBold>0</FontBold>
<FontItalic>0</FontItalic>
<FontUnderline>0</FontUnderline>
<FontStrikeOut>0</FontStrikeOut>
<HorizonAlign>1</HorizonAlign>
<VerticalAlign>2</VerticalAlign>
<DirectionVertical>0</DirectionVertical>
<BorderActive>1</BorderActive>
<BorderSize>0.00345</BorderSize>
<BorderColor>0</BorderColor>
<TextAlign>1</TextAlign>
<DirectionRightToLeft>0</DirectionRightToLeft>
</LayoutItem>
<LayoutItem index='1'>
<Name>
<![CDATA[Picture top layout]]>
</Name>
<Position>4</Position>
<FontName>
<![CDATA[Tahoma]]>
</FontName>
<FontHeight>0.1</FontHeight>
<FontColor>17588159451135</FontColor>
<FontBold>0</FontBold>
<FontItalic>0</FontItalic>
<FontUnderline>0</FontUnderline>
<FontStrikeOut>0</FontStrikeOut>
<HorizonAlign>1</HorizonAlign>
<VerticalAlign>0</VerticalAlign>
<DirectionVertical>0</DirectionVertical>
<BorderActive>1</BorderActive>
<BorderSize>0.005</BorderSize>
<BorderColor>0</BorderColor>
<TextAlign>1</TextAlign>
<DirectionRightToLeft>0</DirectionRightToLeft>
</LayoutItem>
<LayoutItem index='2'>
<Name>
<![CDATA[Picture left layout]]>
</Name>
<Position>4</Position>
<FontName>
<![CDATA[Tahoma]]>
</FontName>
<FontHeight>0.1</FontHeight>
<FontColor>17588159451135</FontColor>
<FontBold>0</FontBold>
<FontItalic>0</FontItalic>
<FontUnderline>0</FontUnderline>
<FontStrikeOut>0</FontStrikeOut>
<HorizonAlign>0</HorizonAlign>
<VerticalAlign>1</VerticalAlign>
<DirectionVertical>1</DirectionVertical>
<BorderActive>1</BorderActive>
<BorderSize>0.005</BorderSize>
<BorderColor>0</BorderColor>
<TextAlign>1</TextAlign>
<DirectionRightToLeft>0</DirectionRightToLeft>
</LayoutItem>
<LayoutItem index='3'>
<Name>
<![CDATA[Picture right layout]]>
</Name>
<Position>4</Position>
<FontName>
<![CDATA[Tahoma]]>
</FontName>
<FontHeight>0.1</FontHeight>
<FontColor>17588159451135</FontColor>
<FontBold>0</FontBold>
<FontItalic>0</FontItalic>
<FontUnderline>0</FontUnderline>
<FontStrikeOut>0</FontStrikeOut>
<HorizonAlign>2</HorizonAlign>
<VerticalAlign>1</VerticalAlign>
<DirectionVertical>1</DirectionVertical>
<BorderActive>1</BorderActive>
<BorderSize>0.005</BorderSize>
<BorderColor>0</BorderColor>
<TextAlign>1</TextAlign>
<DirectionRightToLeft>1</DirectionRightToLeft>
</LayoutItem>
<LayoutItem index='4'>
<Name>
<![CDATA[Picture bottom layout]]>
</Name>
<Position>4</Position>
<FontName>
<![CDATA[Tahoma]]>
</FontName>
<FontHeight>0.069</FontHeight>
<FontColor>17588159451135</FontColor>
<FontBold>0</FontBold>
<FontItalic>1</FontItalic>
<FontUnderline>0</FontUnderline>
<FontStrikeOut>0</FontStrikeOut>
<HorizonAlign>1</HorizonAlign>
<VerticalAlign>2</VerticalAlign>
<DirectionVertical>0</DirectionVertical>
<BorderActive>1</BorderActive>
<BorderSize>0.00345</BorderSize>
<BorderColor>0</BorderColor>
<TextAlign>1</TextAlign>
<DirectionRightToLeft>0</DirectionRightToLeft>
</LayoutItem>
</Layout>
<Subtitle>
</Subtitle>
</TMPGEncVMESubtitleTextFormat>".Replace("'", "\"");
string xmlStructure = Layout.Replace("'", "\"");
var xml = new XmlDocument();
xml.LoadXml(xmlStructure);
XmlNode div = xml.DocumentElement.SelectSingleNode("Subtitle");
div.InnerXml = string.Empty;
int no = 0;
foreach (Paragraph p in subtitle.Paragraphs)
{
@ -174,7 +53,10 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
no++;
}
return ToUtf8XmlString(xml);
string s = ToUtf8XmlString(xml);
int startPos = s.IndexOf("<Subtitle>") + 10;
s = s.Substring(startPos, s.IndexOf("</Subtitle>") - startPos).Trim();
return Layout.Replace("@", s);
}
public override bool IsMine(List<string> lines, string fileName)

View File

@ -49,134 +49,155 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
return false;
}
internal const string Layout = @"<?xml version='1.0' encoding='UTF-8'?>
<TMPGEncVMESubtitleTextFormat>
<Layout>
<LayoutItem index='0'>
<Name>
<![CDATA[Picture bottom layout]]>
</Name>
<Position>4</Position>
<FontName>
<![CDATA[Tahoma]]>
</FontName>
<FontHeight>0.1</FontHeight>
<FontColor>17588159451135</FontColor>
<FontBold>0</FontBold>
<FontItalic>0</FontItalic>
<FontUnderline>0</FontUnderline>
<FontStrikeOut>0</FontStrikeOut>
<HorizonAlign>1</HorizonAlign>
<VerticalAlign>2</VerticalAlign>
<DirectionVertical>0</DirectionVertical>
<BorderActive>1</BorderActive>
<BorderSize>0.005</BorderSize>
<BorderColor>0</BorderColor>
<BorderOpacity>1</BorderOpacity>
<BackgroundActive>0</BackgroundActive>
<BackgroundSize>0.005</BackgroundSize>
<BackgroundColor>0</BackgroundColor>
<BackgroundOpacity>1</BackgroundOpacity>
<FadeInActive>0</FadeInActive>
<FadeInTime>1000</FadeInTime>
<FadeOutActive>0</FadeOutActive>
<FadeOutTime>1000</FadeOutTime>
<ScrollDirectionIndex>0</ScrollDirectionIndex>
<TextAlign>1</TextAlign>
<DirectionRightToLeft>0</DirectionRightToLeft>
</LayoutItem>
<LayoutItem index='1'>
<Name>
<![CDATA[Picture top layout]]>
</Name>
<Position>4</Position>
<FontName>
<![CDATA[Tahoma]]>
</FontName>
<FontHeight>0.1</FontHeight>
<FontColor>17588159451135</FontColor>
<FontBold>0</FontBold>
<FontItalic>0</FontItalic>
<FontUnderline>0</FontUnderline>
<FontStrikeOut>0</FontStrikeOut>
<HorizonAlign>1</HorizonAlign>
<VerticalAlign>0</VerticalAlign>
<DirectionVertical>0</DirectionVertical>
<BorderActive>1</BorderActive>
<BorderSize>0.005</BorderSize>
<BorderColor>0</BorderColor>
<BorderOpacity>1</BorderOpacity>
<BackgroundActive>0</BackgroundActive>
<BackgroundSize>0.005</BackgroundSize>
<BackgroundColor>0</BackgroundColor>
<BackgroundOpacity>1</BackgroundOpacity>
<FadeInActive>0</FadeInActive>
<FadeInTime>1000</FadeInTime>
<FadeOutActive>0</FadeOutActive>
<FadeOutTime>1000</FadeOutTime>
<ScrollDirectionIndex>0</ScrollDirectionIndex>
<TextAlign>1</TextAlign>
<DirectionRightToLeft>0</DirectionRightToLeft>
</LayoutItem>
<LayoutItem index='2'>
<Name>
<![CDATA[Picture left layout]]>
</Name>
<Position>4</Position>
<FontName>
<![CDATA[Tahoma]]>
</FontName>
<FontHeight>0.1</FontHeight>
<FontColor>17588159451135</FontColor>
<FontBold>0</FontBold>
<FontItalic>0</FontItalic>
<FontUnderline>0</FontUnderline>
<FontStrikeOut>0</FontStrikeOut>
<HorizonAlign>0</HorizonAlign>
<VerticalAlign>1</VerticalAlign>
<DirectionVertical>1</DirectionVertical>
<BorderActive>1</BorderActive>
<BorderSize>0.005</BorderSize>
<BorderColor>0</BorderColor>
<BorderOpacity>1</BorderOpacity>
<BackgroundActive>0</BackgroundActive>
<BackgroundSize>0.005</BackgroundSize>
<BackgroundColor>0</BackgroundColor>
<BackgroundOpacity>1</BackgroundOpacity>
<FadeInActive>0</FadeInActive>
<FadeInTime>1000</FadeInTime>
<FadeOutActive>0</FadeOutActive>
<FadeOutTime>1000</FadeOutTime>
<ScrollDirectionIndex>0</ScrollDirectionIndex>
<TextAlign>1</TextAlign>
<DirectionRightToLeft>1</DirectionRightToLeft>
</LayoutItem>
<LayoutItem index='3'>
<Name>
<![CDATA[Picture right layout]]>
</Name>
<Position>4</Position>
<FontName>
<![CDATA[Tahoma]]>
</FontName>
<FontHeight>0.1</FontHeight>
<FontColor>17588159451135</FontColor>
<FontBold>0</FontBold>
<FontItalic>0</FontItalic>
<FontUnderline>0</FontUnderline>
<FontStrikeOut>0</FontStrikeOut>
<HorizonAlign>2</HorizonAlign>
<VerticalAlign>1</VerticalAlign>
<DirectionVertical>1</DirectionVertical>
<BorderActive>1</BorderActive>
<BorderSize>0.005</BorderSize>
<BorderColor>0</BorderColor>
<BorderOpacity>1</BorderOpacity>
<BackgroundActive>0</BackgroundActive>
<BackgroundSize>0.005</BackgroundSize>
<BackgroundColor>0</BackgroundColor>
<BackgroundOpacity>1</BackgroundOpacity>
<FadeInActive>0</FadeInActive>
<FadeInTime>1000</FadeInTime>
<FadeOutActive>0</FadeOutActive>
<FadeOutTime>1000</FadeOutTime>
<ScrollDirectionIndex>0</ScrollDirectionIndex>
<TextAlign>1</TextAlign>
<DirectionRightToLeft>1</DirectionRightToLeft>
</LayoutItem>
</Layout>
<Subtitle>
@
</Subtitle>
</TMPGEncVMESubtitleTextFormat>";
public override string ToText(Subtitle subtitle, string title)
{
string xmlStructure = @"<?xml version='1.0' encoding='utf-8' ?>
<TMPGEncVMESubtitleTextFormat>
<Layout>
<LayoutItem index='0'>
<Name>
<![CDATA[Picture bottom layout]]>
</Name>
<Position>4</Position>
<FontName>
<![CDATA[Tahoma]]>
</FontName>
<FontHeight>0.069</FontHeight>
<FontColor>17588159451135</FontColor>
<FontBold>0</FontBold>
<FontItalic>0</FontItalic>
<FontUnderline>0</FontUnderline>
<FontStrikeOut>0</FontStrikeOut>
<HorizonAlign>1</HorizonAlign>
<VerticalAlign>2</VerticalAlign>
<DirectionVertical>0</DirectionVertical>
<BorderActive>1</BorderActive>
<BorderSize>0.00345</BorderSize>
<BorderColor>0</BorderColor>
<TextAlign>1</TextAlign>
<DirectionRightToLeft>0</DirectionRightToLeft>
</LayoutItem>
<LayoutItem index='1'>
<Name>
<![CDATA[Picture top layout]]>
</Name>
<Position>4</Position>
<FontName>
<![CDATA[Tahoma]]>
</FontName>
<FontHeight>0.1</FontHeight>
<FontColor>17588159451135</FontColor>
<FontBold>0</FontBold>
<FontItalic>0</FontItalic>
<FontUnderline>0</FontUnderline>
<FontStrikeOut>0</FontStrikeOut>
<HorizonAlign>1</HorizonAlign>
<VerticalAlign>0</VerticalAlign>
<DirectionVertical>0</DirectionVertical>
<BorderActive>1</BorderActive>
<BorderSize>0.005</BorderSize>
<BorderColor>0</BorderColor>
<TextAlign>1</TextAlign>
<DirectionRightToLeft>0</DirectionRightToLeft>
</LayoutItem>
<LayoutItem index='2'>
<Name>
<![CDATA[Picture left layout]]>
</Name>
<Position>4</Position>
<FontName>
<![CDATA[Tahoma]]>
</FontName>
<FontHeight>0.1</FontHeight>
<FontColor>17588159451135</FontColor>
<FontBold>0</FontBold>
<FontItalic>0</FontItalic>
<FontUnderline>0</FontUnderline>
<FontStrikeOut>0</FontStrikeOut>
<HorizonAlign>0</HorizonAlign>
<VerticalAlign>1</VerticalAlign>
<DirectionVertical>1</DirectionVertical>
<BorderActive>1</BorderActive>
<BorderSize>0.005</BorderSize>
<BorderColor>0</BorderColor>
<TextAlign>1</TextAlign>
<DirectionRightToLeft>0</DirectionRightToLeft>
</LayoutItem>
<LayoutItem index='3'>
<Name>
<![CDATA[Picture right layout]]>
</Name>
<Position>4</Position>
<FontName>
<![CDATA[Tahoma]]>
</FontName>
<FontHeight>0.1</FontHeight>
<FontColor>17588159451135</FontColor>
<FontBold>0</FontBold>
<FontItalic>0</FontItalic>
<FontUnderline>0</FontUnderline>
<FontStrikeOut>0</FontStrikeOut>
<HorizonAlign>2</HorizonAlign>
<VerticalAlign>1</VerticalAlign>
<DirectionVertical>1</DirectionVertical>
<BorderActive>1</BorderActive>
<BorderSize>0.005</BorderSize>
<BorderColor>0</BorderColor>
<TextAlign>1</TextAlign>
<DirectionRightToLeft>1</DirectionRightToLeft>
</LayoutItem>
<LayoutItem index='4'>
<Name>
<![CDATA[Picture bottom layout]]>
</Name>
<Position>4</Position>
<FontName>
<![CDATA[Tahoma]]>
</FontName>
<FontHeight>0.069</FontHeight>
<FontColor>17588159451135</FontColor>
<FontBold>0</FontBold>
<FontItalic>1</FontItalic>
<FontUnderline>0</FontUnderline>
<FontStrikeOut>0</FontStrikeOut>
<HorizonAlign>1</HorizonAlign>
<VerticalAlign>2</VerticalAlign>
<DirectionVertical>0</DirectionVertical>
<BorderActive>1</BorderActive>
<BorderSize>0.00345</BorderSize>
<BorderColor>0</BorderColor>
<TextAlign>1</TextAlign>
<DirectionRightToLeft>0</DirectionRightToLeft>
</LayoutItem>
</Layout>
<Subtitle>
</Subtitle>
</TMPGEncVMESubtitleTextFormat>".Replace("'", "\"");
string xmlStructure = Layout.Replace("'", "\"");
var xml = new XmlDocument();
xml.LoadXml(xmlStructure);
XmlNode div = xml.DocumentElement.SelectSingleNode("Subtitle");
div.InnerXml = string.Empty;
int no = 0;
foreach (Paragraph p in subtitle.Paragraphs)
{
@ -210,7 +231,10 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
no++;
}
return ToUtf8XmlString(xml);
string s = ToUtf8XmlString(xml);
int startPos = s.IndexOf("<Subtitle>") + 10;
s = s.Substring(startPos, s.IndexOf("</Subtitle>") - startPos).Trim();
return Layout.Replace("@", s);
}
public override void LoadSubtitle(Subtitle subtitle, List<string> lines, string fileName)