mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-28 06:52:35 +01:00
All subtitle formats now public (easier to use SE as external lib)
git-svn-id: https://subtitleedit.googlecode.com/svn/trunk@1502 99eadd0c-20b8-1223-b5c4-2a2b2df33de2
This commit is contained in:
parent
9e669debe2
commit
c6c970eb24
@ -4,7 +4,7 @@ using System.Text;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class AQTitle : SubtitleFormat
|
||||
public class AQTitle : SubtitleFormat
|
||||
{
|
||||
|
||||
enum ExpectingLine
|
||||
|
@ -5,7 +5,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class AbcIViewer : SubtitleFormat
|
||||
public class AbcIViewer : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class AdobeEncore : SubtitleFormat
|
||||
public class AdobeEncore : SubtitleFormat
|
||||
{
|
||||
static Regex regexTimeCodes = new Regex(@"^\d\d:\d\d:\d\d:\d\d \d\d:\d\d:\d\d:\d\d ", RegexOptions.Compiled);
|
||||
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class AdobeEncoreLineTabs : SubtitleFormat
|
||||
public class AdobeEncoreLineTabs : SubtitleFormat
|
||||
{
|
||||
static Regex regexTimeCodes = new Regex(@"^\d\d\d\d\t\d\d:\d\d:\d\d:\d\d\t\d\d:\d\d:\d\d:\d\d\t", RegexOptions.Compiled);
|
||||
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class AdobeEncoreTabs : SubtitleFormat
|
||||
public class AdobeEncoreTabs : SubtitleFormat
|
||||
{
|
||||
static Regex regexTimeCodes = new Regex(@"^\d\d:\d\d:\d\d:\d\d\t\d\d:\d\d:\d\d:\d\d\t", RegexOptions.Compiled);
|
||||
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class AdobeEncoreWithLineNumbers : SubtitleFormat
|
||||
public class AdobeEncoreWithLineNumbers : SubtitleFormat
|
||||
{
|
||||
static Regex regexTimeCodes = new Regex(@"^\d+ \d\d:\d\d:\d\d:\d\d \d\d:\d\d:\d\d:\d\d ", RegexOptions.Compiled);
|
||||
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class AdobeEncoreWithLineNumbersNtsc : SubtitleFormat
|
||||
public class AdobeEncoreWithLineNumbersNtsc : SubtitleFormat
|
||||
{
|
||||
static Regex regexTimeCodes = new Regex(@"^\d+ \d\d;\d\d;\d\d;\d\d \d\d;\d\d;\d\d;\d\d ", RegexOptions.Compiled);
|
||||
|
||||
|
@ -6,7 +6,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class AdvancedSubStationAlpha : SubtitleFormat
|
||||
public class AdvancedSubStationAlpha : SubtitleFormat
|
||||
{
|
||||
|
||||
public string Errors { get; private set; }
|
||||
|
@ -5,7 +5,7 @@ using System.IO;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class AvidStl : SubtitleFormat
|
||||
public class AvidStl : SubtitleFormat
|
||||
{
|
||||
private const int TextLength = 112;
|
||||
|
||||
|
@ -6,7 +6,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class BelleNuitSubtitler : SubtitleFormat
|
||||
public class BelleNuitSubtitler : SubtitleFormat
|
||||
{
|
||||
///tc 00:00:35:09 00:00:38:05
|
||||
static readonly Regex RegexTimeCode = new Regex(@"^\/tc \d\d:\d\d:\d\d:\d\d \d\d:\d\d:\d\d:\d\d", RegexOptions.Compiled);
|
||||
|
@ -6,7 +6,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class CapMakerPlus : SubtitleFormat
|
||||
public class CapMakerPlus : SubtitleFormat
|
||||
{
|
||||
|
||||
static Regex regexTimeCodes = new Regex(@"^\d\d:\d\d:\d\d:\d\d$", RegexOptions.Compiled);
|
||||
|
@ -6,7 +6,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class Captionate : SubtitleFormat
|
||||
public class Captionate : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -6,7 +6,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class CaptionateMs : SubtitleFormat
|
||||
public class CaptionateMs : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.IO;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class CaptionsInc : SubtitleFormat
|
||||
public class CaptionsInc : SubtitleFormat
|
||||
{
|
||||
|
||||
public override string Extension
|
||||
|
@ -6,7 +6,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class CaraokeXml : SubtitleFormat
|
||||
public class CaraokeXml : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.Text;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class Cavena890 : SubtitleFormat
|
||||
public class Cavena890 : SubtitleFormat
|
||||
{
|
||||
const int LanguageIdHebrew = 20;
|
||||
const int LanguageIdLatin = 68;
|
||||
|
@ -5,7 +5,7 @@ using System.Text;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class CheetahCaption : SubtitleFormat
|
||||
public class CheetahCaption : SubtitleFormat
|
||||
{
|
||||
|
||||
static readonly List<int> LatinCodes = new List<int> {
|
||||
|
@ -22,7 +22,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
// </Font>
|
||||
//</DCSubtitle>
|
||||
|
||||
class DCSubtitle : SubtitleFormat
|
||||
public class DCSubtitle : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -6,7 +6,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class DCinemaSmpte : SubtitleFormat
|
||||
public class DCinemaSmpte : SubtitleFormat
|
||||
{
|
||||
//<?xml version="1.0" encoding="UTF-8"?>
|
||||
//<dcst:SubtitleReel xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dcst="http://www.smpte-ra.org/schemas/428-7/2010/DCST">
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class DigiBeta : SubtitleFormat
|
||||
public class DigiBeta : SubtitleFormat
|
||||
{
|
||||
static Regex regexTimeCode = new Regex(@"^\d\d \d\d \d\d \d\d\t\d\d \d\d \d\d \d\d\t", RegexOptions.Compiled);
|
||||
|
||||
|
@ -6,7 +6,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class Eeg708 : SubtitleFormat
|
||||
public class Eeg708 : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -4,7 +4,7 @@ using System.Text;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class F4Rtf : F4Text
|
||||
public class F4Rtf : F4Text
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class F4Xml : F4Text
|
||||
public class F4Xml : F4Text
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class FabSubtitler : SubtitleFormat
|
||||
public class FabSubtitler : SubtitleFormat
|
||||
{
|
||||
static Regex regexTimeCodes = new Regex(@"^\d\d:\d\d:\d\d:\d\d \d\d:\d\d:\d\d:\d\d$", RegexOptions.Compiled);
|
||||
|
||||
|
@ -7,7 +7,7 @@ using System.Xml;
|
||||
// - Mom, when you were my age what did you want to do?
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class FinalCutProTestXml : SubtitleFormat
|
||||
public class FinalCutProTestXml : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -6,7 +6,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class FinalCutProXXml : SubtitleFormat
|
||||
public class FinalCutProXXml : SubtitleFormat
|
||||
{
|
||||
public double FrameRate { get; set; }
|
||||
|
||||
|
@ -7,7 +7,7 @@ using System.Xml;
|
||||
// - Mom, when you were my age what did you want to do?
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class FinalCutProXml : SubtitleFormat
|
||||
public class FinalCutProXml : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -16,7 +16,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
// <p begin="00:00:15.200" end="00:00:19.700"><![CDATA[<sub>Many other properties related to fonts, sizes, colors<br/>and list properties are in style.css file</sub>]]></p>
|
||||
// </div>
|
||||
//</tt>
|
||||
class FlashXml : SubtitleFormat
|
||||
public class FlashXml : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class Footage : SubtitleFormat
|
||||
public class Footage : SubtitleFormat
|
||||
{
|
||||
|
||||
static readonly Regex RegexTimeCode = new Regex(@"^\s*\d+,\d\d$", RegexOptions.Compiled);
|
||||
|
@ -6,7 +6,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class GpacTtxt : SubtitleFormat
|
||||
public class GpacTtxt : SubtitleFormat
|
||||
{
|
||||
|
||||
public override string Extension
|
||||
|
@ -4,7 +4,7 @@ using System.Text;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class HtmlSamiArray : SubtitleFormat
|
||||
public class HtmlSamiArray : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class ImageLogicAutocaption : SubtitleFormat
|
||||
public class ImageLogicAutocaption : SubtitleFormat
|
||||
{
|
||||
static readonly Regex RegexTimeCode1 = new Regex(@"^\s*\d+\t\d\d:\d\d:\d\d;\d\d", RegexOptions.Compiled);
|
||||
|
||||
|
@ -7,7 +7,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class IssXml : SubtitleFormat
|
||||
public class IssXml : SubtitleFormat
|
||||
{
|
||||
|
||||
static Regex regexTimeCodes = new Regex(@"^\d\d:\d\d:\d\d:\d\d$", RegexOptions.Compiled); //00:02:56:02
|
||||
|
@ -8,7 +8,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
/// <summary>
|
||||
/// Crappy format... should always be saved as UTF-8 without BOM (hacked Main.cs) and <br /> tags should be oldstyle <br/>
|
||||
/// </summary>
|
||||
class ItunesTimedText : TimedText10
|
||||
public class ItunesTimedText : TimedText10
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -4,7 +4,7 @@ using System.Text;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class JsonType2 : SubtitleFormat
|
||||
public class JsonType2 : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -4,7 +4,7 @@ using System.Text;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class JsonType3 : SubtitleFormat
|
||||
public class JsonType3 : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class MidwayInscriberCGX : SubtitleFormat
|
||||
public class MidwayInscriberCGX : SubtitleFormat
|
||||
{
|
||||
static Regex regexTimeCodes = new Regex(@"<\d\d:\d\d:\d\d:\d\d> <\d\d:\d\d:\d\d:\d\d>$", RegexOptions.Compiled);
|
||||
|
||||
|
@ -4,7 +4,7 @@ using System.Text;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class NciCaption : SubtitleFormat
|
||||
public class NciCaption : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -6,7 +6,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class OpenDvt : SubtitleFormat
|
||||
public class OpenDvt : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -24,7 +24,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
/// <summary>
|
||||
/// “Property Lists” (or “PLists” for short) is an xml format by Apple.
|
||||
/// </summary>
|
||||
class PListCaption : SubtitleFormat
|
||||
public class PListCaption : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class PinnacleImpression : SubtitleFormat
|
||||
public class PinnacleImpression : SubtitleFormat
|
||||
{
|
||||
static Regex regexTimeCodes = new Regex(@"^\d\d:\d\d:\d\d:\d\d \d\d:\d\d:\d\d:\d\d ", RegexOptions.Compiled);
|
||||
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class QuickTimeText : SubtitleFormat
|
||||
public class QuickTimeText : SubtitleFormat
|
||||
{
|
||||
static Regex regexTimeCodes = new Regex(@"^\[\d\d:\d\d:\d\d.\d\d\]", RegexOptions.Compiled);
|
||||
|
||||
|
@ -6,7 +6,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class RhozetHarmonic : SubtitleFormat
|
||||
public class RhozetHarmonic : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class SamiModern : Sami
|
||||
public class SamiModern : Sami
|
||||
{
|
||||
|
||||
public override string Name
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class Scenarist : SubtitleFormat
|
||||
public class Scenarist : SubtitleFormat
|
||||
{
|
||||
static Regex regexTimeCodes = new Regex(@"^\d\d\d\d\t\d\d:\d\d:\d\d:\d\d\t\d\d:\d\d:\d\d:\d\d\t", RegexOptions.Compiled);
|
||||
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class SonyDVDArchitectExplicitDuration : SubtitleFormat
|
||||
public class SonyDVDArchitectExplicitDuration : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class SonyDVDArchitectTabs : SubtitleFormat
|
||||
public class SonyDVDArchitectTabs : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class SpruceWithSpace : SubtitleFormat
|
||||
public class SpruceWithSpace : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.Text;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class Spt : SubtitleFormat
|
||||
public class Spt : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class StructuredTitles : SubtitleFormat
|
||||
public class StructuredTitles : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -6,7 +6,7 @@ using System.IO;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class SubtitleEditorProject : SubtitleFormat
|
||||
public class SubtitleEditorProject : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -137,6 +137,8 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
new UnknownSubtitle38(),
|
||||
new UnknownSubtitle39(),
|
||||
new UnknownSubtitle40(),
|
||||
new UnknownSubtitle41(),
|
||||
new UnknownSubtitle42(),
|
||||
new UTSubtitleXml(),
|
||||
new Utx(),
|
||||
new UtxFrames(),
|
||||
|
@ -4,7 +4,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class SwiftText : SubtitleFormat
|
||||
public class SwiftText : SubtitleFormat
|
||||
{
|
||||
enum ExpectingLine
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class Tek : SubtitleFormat
|
||||
public class Tek : SubtitleFormat
|
||||
{
|
||||
static readonly Regex RegexTimeCode = new Regex(@"^\d+ \d+ \d \d \d$", RegexOptions.Compiled);
|
||||
|
||||
|
@ -6,7 +6,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class TimeXml : SubtitleFormat
|
||||
public class TimeXml : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -6,7 +6,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class TimedText : SubtitleFormat
|
||||
public class TimedText : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -9,7 +9,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class TimedText10 : SubtitleFormat
|
||||
public class TimedText10 : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -6,7 +6,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class TimedText200604 : SubtitleFormat
|
||||
public class TimedText200604 : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class TitleExchangePro : SubtitleFormat
|
||||
public class TitleExchangePro : SubtitleFormat
|
||||
{
|
||||
static Regex regexTimeCodes = new Regex(@"^\d\d:\d\d:\d\d:\d\d,\t[ ]?\d\d:\d\d:\d\d:\d\d,\t[ ]?", RegexOptions.Compiled);
|
||||
|
||||
|
@ -5,7 +5,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class TmpegEncAW5 : TmpegEncXml
|
||||
public class TmpegEncAW5 : TmpegEncXml
|
||||
{
|
||||
|
||||
public override string Name
|
||||
|
@ -17,7 +17,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
// </SubtitleItem>
|
||||
// ...
|
||||
|
||||
class TmpegEncXml : SubtitleFormat
|
||||
public class TmpegEncXml : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -6,7 +6,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class Tmx14 : SubtitleFormat
|
||||
public class Tmx14 : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -9,7 +9,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
/// <summary>
|
||||
/// http://trans.sourceforge.net
|
||||
/// </summary>
|
||||
class TranscriberXml : SubtitleFormat
|
||||
public class TranscriberXml : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class TurboTitler : SubtitleFormat
|
||||
public class TurboTitler : SubtitleFormat
|
||||
{
|
||||
|
||||
public override string Extension
|
||||
|
@ -6,7 +6,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UTSubtitleXml : SubtitleFormat
|
||||
public class UTSubtitleXml : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UleadSubtitleFormat : SubtitleFormat
|
||||
public class UleadSubtitleFormat : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -9,7 +9,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
/// The ULTECH caption file format (ULT/ULD file) is a compact binary file that stores captions with embedded EIA-608 control codes
|
||||
/// http://en.wikipedia.org/wiki/EIA-608
|
||||
/// </summary>
|
||||
class Ultech130 : SubtitleFormat
|
||||
public class Ultech130 : SubtitleFormat
|
||||
{
|
||||
private const string UltechId = "ULTECH\01.30";
|
||||
|
||||
|
@ -6,7 +6,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle13 : SubtitleFormat
|
||||
public class UnknownSubtitle13 : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -6,7 +6,7 @@ using System.IO;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle14 : SubtitleFormat
|
||||
public class UnknownSubtitle14 : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -6,7 +6,7 @@ using System.IO;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle15 : SubtitleFormat
|
||||
public class UnknownSubtitle15 : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle18 : SubtitleFormat
|
||||
public class UnknownSubtitle18 : SubtitleFormat
|
||||
{
|
||||
enum ExpectingLine
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle19 : SubtitleFormat
|
||||
public class UnknownSubtitle19 : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle20 : SubtitleFormat
|
||||
public class UnknownSubtitle20 : SubtitleFormat
|
||||
{
|
||||
static Regex _regexTimeCode1 = new Regex(@"^ \d\d:\d\d:\d\d:\d\d \d\d\d\d ", RegexOptions.Compiled);
|
||||
static Regex _regexTimeCode1Empty = new Regex(@"^ \d\d:\d\d:\d\d:\d\d \d\d\d\d$", RegexOptions.Compiled);
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle21 : SubtitleFormat
|
||||
public class UnknownSubtitle21 : SubtitleFormat
|
||||
{
|
||||
static readonly Regex RegexTimeCode1 = new Regex(@"^\s*\d+\t\d\d:\d\d:\d\d;\d\d", RegexOptions.Compiled);
|
||||
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle22 : SubtitleFormat
|
||||
public class UnknownSubtitle22 : SubtitleFormat
|
||||
{
|
||||
|
||||
//25 10:03:20:23 02:07 10:03:23:05
|
||||
|
@ -6,7 +6,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle23 : SubtitleFormat
|
||||
public class UnknownSubtitle23 : SubtitleFormat
|
||||
{
|
||||
//1: 01:00:19.04 01:00:21.05
|
||||
static readonly Regex RegexTimeCode1 = new Regex(@"^\s*\d+:\s+\d\d:\d\d:\d\d.\d\d\s+\d\d:\d\d:\d\d.\d\d\s*$", RegexOptions.Compiled);
|
||||
|
@ -4,7 +4,7 @@ using System.Text;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle24 : UnknownSubtitle18
|
||||
public class UnknownSubtitle24 : UnknownSubtitle18
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -6,7 +6,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle25 : SubtitleFormat
|
||||
public class UnknownSubtitle25 : SubtitleFormat
|
||||
{
|
||||
|
||||
//79.29 1.63
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle26 : SubtitleFormat
|
||||
public class UnknownSubtitle26 : SubtitleFormat
|
||||
{
|
||||
|
||||
//L'Enfant d'en haut
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle27 : SubtitleFormat
|
||||
public class UnknownSubtitle27 : SubtitleFormat
|
||||
{
|
||||
static Regex regexTimeCodes = new Regex(@"^\d\d:\d\d:\d\d: ", RegexOptions.Compiled);
|
||||
|
||||
|
@ -6,7 +6,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle28 : SubtitleFormat
|
||||
public class UnknownSubtitle28 : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle29 : SubtitleFormat
|
||||
public class UnknownSubtitle29 : SubtitleFormat
|
||||
{
|
||||
|
||||
//00:00:30:21 00:00:35:22
//Et c'est là que nous devions
//passer la nuit.
//00:00:38:04 00:00:40:18
//Un nouveau martyre a commencé.
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle31 : SubtitleFormat
|
||||
public class UnknownSubtitle31 : SubtitleFormat
|
||||
{
|
||||
|
||||
static readonly Regex RegexTimeCode = new Regex(@"^\d+\.\d\d$", RegexOptions.Compiled);
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle32 : SubtitleFormat
|
||||
public class UnknownSubtitle32 : SubtitleFormat
|
||||
{
|
||||
//1: 02:25:07.24 02:25:10.19
|
||||
static readonly Regex RegexTimeCode = new Regex(@"^\d+:\s+\d\d:\d\d:\d\d\.\d\d \d\d:\d\d:\d\d\.\d\d$", RegexOptions.Compiled);
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle33 : SubtitleFormat
|
||||
public class UnknownSubtitle33 : SubtitleFormat
|
||||
{
|
||||
|
||||
static Regex regexTimeCodes = new Regex(@"^\d\d\:\d\d\:\d\d\s+\d+ ", RegexOptions.Compiled);
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle34 : SubtitleFormat
|
||||
public class UnknownSubtitle34 : SubtitleFormat
|
||||
{
|
||||
|
||||
static Regex regexTimeCodes = new Regex(@"^\d\d\:\d\d\:\d\d\t[^ ]+", RegexOptions.Compiled);
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle35 : SubtitleFormat
|
||||
public class UnknownSubtitle35 : SubtitleFormat
|
||||
{
|
||||
|
||||
//0072.08-0076.05
|
||||
|
@ -29,7 +29,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
//00:02:20:16 , 00:02:24:00 ,Gente di questo quartiere |Un gran festival!
|
||||
|
||||
|
||||
class UnknownSubtitle36 : SubtitleFormat
|
||||
public class UnknownSubtitle36 : SubtitleFormat
|
||||
{
|
||||
static readonly Regex RegexTimeCodes = new Regex(@"^\d+:\d+:\d+:\d+ , \d+:\d+:\d+:\d+ ,.*$", RegexOptions.Compiled);
|
||||
|
||||
|
@ -4,7 +4,7 @@ using System.Text;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle37 : UnknownSubtitle36
|
||||
public class UnknownSubtitle37 : UnknownSubtitle36
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle38 : SubtitleFormat
|
||||
public class UnknownSubtitle38 : SubtitleFormat
|
||||
{
|
||||
static Regex regexTimeCodes = new Regex(@"^\d+ \d\d:\d\d:\d\d:\d\d \d\d:\d\d:\d\d:\d\d$", RegexOptions.Compiled);
|
||||
|
||||
|
@ -4,7 +4,7 @@ using System.Text;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle39 : UnknownSubtitle38
|
||||
public class UnknownSubtitle39 : UnknownSubtitle38
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle40 : SubtitleFormat
|
||||
public class UnknownSubtitle40 : SubtitleFormat
|
||||
{
|
||||
// 0:01 – 0:03
|
||||
static Regex regexTimeCodes = new Regex(@"^\d+:\d\d – \d+:\d\d$", RegexOptions.Compiled);
|
||||
|
128
src/Logic/SubtitleFormats/UnknownSubtitle41.cs
Normal file
128
src/Logic/SubtitleFormats/UnknownSubtitle41.cs
Normal file
@ -0,0 +1,128 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
public class UnknownSubtitle41 : SubtitleFormat
|
||||
{
|
||||
|
||||
static Regex regexTimeCodes1 = new Regex(@"^\d+.\d$", RegexOptions.Compiled);
|
||||
static Regex regexTimeCodes2 = new Regex(@"^\d+.\d\d$", RegexOptions.Compiled);
|
||||
|
||||
public override string Extension
|
||||
{
|
||||
get { return ".txt"; }
|
||||
}
|
||||
|
||||
public override string Name
|
||||
{
|
||||
get { return "Unknown 41"; }
|
||||
}
|
||||
|
||||
public override bool IsTimeBased
|
||||
{
|
||||
get { return true; }
|
||||
}
|
||||
|
||||
public override bool IsMine(List<string> lines, string fileName)
|
||||
{
|
||||
Subtitle subtitle = new Subtitle();
|
||||
LoadSubtitle(subtitle, lines, fileName);
|
||||
return subtitle.Paragraphs.Count > _errorCount;
|
||||
}
|
||||
|
||||
public override string ToText(Subtitle subtitle, string title)
|
||||
{
|
||||
const string paragraphWriteFormat = "{0}\r\n{1}\r\n{2}\r\n";
|
||||
var sb = new StringBuilder();
|
||||
foreach (Paragraph p in subtitle.Paragraphs)
|
||||
{
|
||||
sb.AppendLine(string.Format(paragraphWriteFormat, EncodeTimeCode(p.StartTime), p.Text, EncodeTimeCode(p.EndTime)));
|
||||
}
|
||||
return sb.ToString().Trim();
|
||||
}
|
||||
|
||||
public override void LoadSubtitle(Subtitle subtitle, List<string> lines, string fileName)
|
||||
{
|
||||
//911.2
|
||||
//C’est l’enfant qui l’a tuée ?
|
||||
//915.8/
|
||||
|
||||
//921.8
|
||||
//Comment elle s’appelait ?
|
||||
//924.6/
|
||||
|
||||
Paragraph p = null;
|
||||
bool textOn = false;
|
||||
var sb = new StringBuilder();
|
||||
foreach (string line in lines)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (textOn)
|
||||
{
|
||||
if (regexTimeCodes1.Match(line.TrimEnd('/')).Success || regexTimeCodes2.Match(line).Success)
|
||||
{
|
||||
p.EndTime = DecodeTimeCode(line.TrimEnd('/').Split('.'));
|
||||
if (sb.Length > 0)
|
||||
{
|
||||
p.Text = sb.ToString().TrimEnd();
|
||||
subtitle.Paragraphs.Add(p);
|
||||
textOn = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.AppendLine(line);
|
||||
if (sb.Length > 500)
|
||||
{
|
||||
_errorCount += 10;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (regexTimeCodes1.Match(line).Success || regexTimeCodes2.Match(line).Success)
|
||||
{
|
||||
p = new Paragraph();
|
||||
sb = new StringBuilder();
|
||||
p.StartTime = DecodeTimeCode(line.Split('.'));
|
||||
textOn = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
textOn = false;
|
||||
_errorCount++;
|
||||
}
|
||||
}
|
||||
if (textOn && sb.Length > 0 && p != null)
|
||||
{
|
||||
p.Text = sb.ToString().TrimEnd();
|
||||
subtitle.Paragraphs.Add(p);
|
||||
}
|
||||
subtitle.Renumber(1);
|
||||
}
|
||||
|
||||
private string EncodeTimeCode(TimeCode time)
|
||||
{
|
||||
Configuration.Settings.General.CurrentFrameRate = 24.0;
|
||||
int frames = MillisecondsToFrames(time.TotalMilliseconds);
|
||||
int footage = frames / 16;
|
||||
int rest = (int)((frames % 16) / 16.0 * Configuration.Settings.General.CurrentFrameRate);
|
||||
return string.Format("{0}.{1:0}", footage, rest);
|
||||
}
|
||||
|
||||
private TimeCode DecodeTimeCode(string[] parts)
|
||||
{
|
||||
Configuration.Settings.General.CurrentFrameRate = 24.0;
|
||||
string frames16 = parts[0];
|
||||
string frames = parts[1];
|
||||
return new TimeCode(0, 0, 0, FramesToMilliseconds(16 * int.Parse(frames16) + int.Parse(frames)));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
118
src/Logic/SubtitleFormats/UnknownSubtitle42.cs
Normal file
118
src/Logic/SubtitleFormats/UnknownSubtitle42.cs
Normal file
@ -0,0 +1,118 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
public class UnknownSubtitle42 : SubtitleFormat
|
||||
{
|
||||
//SUB[0 I 01:00:09:10>01:00:12:10]
|
||||
//SUB[0 N 01:00:09:10>01:00:12:10]
|
||||
static Regex regexTimeCodesI = new Regex(@"^SUB\[\d I \d\d:\d\d:\d\d:\d\d\>\d\d:\d\d:\d\d:\d\d\]$", RegexOptions.Compiled);
|
||||
static Regex regexTimeCodesN = new Regex(@"^SUB\[\d N \d\d:\d\d:\d\d:\d\d\>\d\d:\d\d:\d\d:\d\d\]$", RegexOptions.Compiled);
|
||||
|
||||
public override string Extension
|
||||
{
|
||||
get { return ".txt"; }
|
||||
}
|
||||
|
||||
public override string Name
|
||||
{
|
||||
get { return "Unknown 42"; }
|
||||
}
|
||||
|
||||
public override bool IsTimeBased
|
||||
{
|
||||
get { return true; }
|
||||
}
|
||||
|
||||
public override bool IsMine(List<string> lines, string fileName)
|
||||
{
|
||||
var subtitle = new Subtitle();
|
||||
LoadSubtitle(subtitle, lines, fileName);
|
||||
return subtitle.Paragraphs.Count > _errorCount;
|
||||
}
|
||||
|
||||
public override string ToText(Subtitle subtitle, string title)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
int index = 0;
|
||||
foreach (Paragraph p in subtitle.Paragraphs)
|
||||
{
|
||||
string style = "N";
|
||||
if (p.Text.StartsWith("<i>") && p.Text.EndsWith("</i>"))
|
||||
style = "I";
|
||||
sb.AppendLine(string.Format("SUB[0 {0} {1}>{2}]{3}{4}", style, EncodeTimeCode(p.StartTime), EncodeTimeCode(p.EndTime), Environment.NewLine, Utilities.RemoveHtmlTags(p.Text)));
|
||||
sb.AppendLine();
|
||||
index++;
|
||||
}
|
||||
return sb.ToString().Trim();
|
||||
}
|
||||
|
||||
private string EncodeTimeCode(TimeCode time)
|
||||
{
|
||||
//00:50:39:13 (last is frame)
|
||||
int frames = MillisecondsToFramesMaxFrameRate(time.Milliseconds);
|
||||
return string.Format("{0:00}:{1:00}:{2:00}:{3:00}", time.Hours, time.Minutes, time.Seconds, frames);
|
||||
}
|
||||
|
||||
public override void LoadSubtitle(Subtitle subtitle, List<string> lines, string fileName)
|
||||
{
|
||||
//SUB[0 N 01:00:16:22>01:00:19:04]
|
||||
//a cerca de 65 km a norte
|
||||
//de Nova Iorque.
|
||||
|
||||
Paragraph p = null;
|
||||
subtitle.Paragraphs.Clear();
|
||||
bool italic = false;
|
||||
foreach (string line in lines)
|
||||
{
|
||||
if (regexTimeCodesI.IsMatch(line) || regexTimeCodesN.IsMatch(line))
|
||||
{
|
||||
if (p != null && italic)
|
||||
p.Text = "<i>" + p.Text.Trim() + "</i>";
|
||||
|
||||
italic = line[6] == 'I';
|
||||
string start = line.Substring(8, 11);
|
||||
string end = line.Substring(20, 11);
|
||||
string[] startParts = start.Split(":".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
|
||||
string[] endParts = end.Split(":".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
|
||||
if (startParts.Length == 4 && endParts.Length == 4)
|
||||
{
|
||||
p = new Paragraph(DecodeTimeCode(startParts), DecodeTimeCode(endParts), string.Empty);
|
||||
subtitle.Paragraphs.Add(p);
|
||||
}
|
||||
}
|
||||
else if (line.Trim().Length == 0 || line.Trim().StartsWith("@"))
|
||||
{
|
||||
// skip these lines
|
||||
}
|
||||
else if (line.Trim().Length > 0 && p != null)
|
||||
{
|
||||
if (string.IsNullOrEmpty(p.Text))
|
||||
p.Text = line;
|
||||
else
|
||||
p.Text = p.Text.TrimEnd() + Environment.NewLine + line;
|
||||
}
|
||||
}
|
||||
if (p != null && italic)
|
||||
p.Text = "<i>" + p.Text.Trim() + "</i>";
|
||||
subtitle.Renumber(1);
|
||||
}
|
||||
|
||||
private TimeCode DecodeTimeCode(string[] parts)
|
||||
{
|
||||
//00:00:07:12
|
||||
string hour = parts[0];
|
||||
string minutes = parts[1];
|
||||
string seconds = parts[2];
|
||||
string frames = parts[3];
|
||||
|
||||
TimeCode tc = new TimeCode(int.Parse(hour), int.Parse(minutes), int.Parse(seconds), FramesToMillisecondsMax999(int.Parse(frames)));
|
||||
return tc;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,7 @@ using System.Xml;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class UnknownSubtitle5 : SubtitleFormat
|
||||
public class UnknownSubtitle5 : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -8,7 +8,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
/// <summary>
|
||||
/// Reported by dipa nuswantara
|
||||
/// </summary>
|
||||
class UnknownSubtitle7 : SubtitleFormat
|
||||
public class UnknownSubtitle7 : SubtitleFormat
|
||||
{
|
||||
|
||||
enum ExpectingLine
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class Wsb : SubtitleFormat
|
||||
public class Wsb : SubtitleFormat
|
||||
{
|
||||
public override string Extension
|
||||
{
|
||||
|
@ -8,7 +8,7 @@ using System.Windows.Forms;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class YouTubeAnnotations : SubtitleFormat
|
||||
public class YouTubeAnnotations : SubtitleFormat
|
||||
{
|
||||
private bool _promtForStyles = true;
|
||||
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class YouTubeTranscript : SubtitleFormat
|
||||
public class YouTubeTranscript : SubtitleFormat
|
||||
{
|
||||
static Regex regexTimeCodes = new Regex(@"^\d{1,2}:\d\d$", RegexOptions.Compiled);
|
||||
|
||||
|
@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
{
|
||||
class ZeroG : SubtitleFormat
|
||||
public class ZeroG : SubtitleFormat
|
||||
{
|
||||
|
||||
public override string Extension
|
||||
|
Loading…
Reference in New Issue
Block a user