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:
niksedk 2012-11-22 07:05:47 +00:00
parent 9e669debe2
commit c6c970eb24
100 changed files with 345 additions and 97 deletions

View File

@ -4,7 +4,7 @@ using System.Text;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class AQTitle : SubtitleFormat
public class AQTitle : SubtitleFormat
{
enum ExpectingLine

View File

@ -5,7 +5,7 @@ using System.Xml;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class AbcIViewer : SubtitleFormat
public class AbcIViewer : SubtitleFormat
{
public override string Extension
{

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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; }

View File

@ -5,7 +5,7 @@ using System.IO;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class AvidStl : SubtitleFormat
public class AvidStl : SubtitleFormat
{
private const int TextLength = 112;

View File

@ -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);

View File

@ -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);

View File

@ -6,7 +6,7 @@ using System.Xml;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class Captionate : SubtitleFormat
public class Captionate : SubtitleFormat
{
public override string Extension
{

View File

@ -6,7 +6,7 @@ using System.Xml;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class CaptionateMs : SubtitleFormat
public class CaptionateMs : SubtitleFormat
{
public override string Extension
{

View File

@ -5,7 +5,7 @@ using System.IO;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class CaptionsInc : SubtitleFormat
public class CaptionsInc : SubtitleFormat
{
public override string Extension

View File

@ -6,7 +6,7 @@ using System.Xml;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class CaraokeXml : SubtitleFormat
public class CaraokeXml : SubtitleFormat
{
public override string Extension
{

View File

@ -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;

View File

@ -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> {

View File

@ -22,7 +22,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
// </Font>
//</DCSubtitle>
class DCSubtitle : SubtitleFormat
public class DCSubtitle : SubtitleFormat
{
public override string Extension
{

View File

@ -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">

View File

@ -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);

View File

@ -6,7 +6,7 @@ using System.Xml;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class Eeg708 : SubtitleFormat
public class Eeg708 : SubtitleFormat
{
public override string Extension
{

View File

@ -4,7 +4,7 @@ using System.Text;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class F4Rtf : F4Text
public class F4Rtf : F4Text
{
public override string Extension
{

View File

@ -5,7 +5,7 @@ using System.Xml;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class F4Xml : F4Text
public class F4Xml : F4Text
{
public override string Extension
{

View File

@ -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);

View File

@ -7,7 +7,7 @@ using System.Xml;
// - Mom, when you were my age&#13;what did you want to do?
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class FinalCutProTestXml : SubtitleFormat
public class FinalCutProTestXml : SubtitleFormat
{
public override string Extension
{

View File

@ -6,7 +6,7 @@ using System.Xml;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class FinalCutProXXml : SubtitleFormat
public class FinalCutProXXml : SubtitleFormat
{
public double FrameRate { get; set; }

View File

@ -7,7 +7,7 @@ using System.Xml;
// - Mom, when you were my age&#13;what did you want to do?
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class FinalCutProXml : SubtitleFormat
public class FinalCutProXml : SubtitleFormat
{
public override string Extension
{

View File

@ -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
{

View File

@ -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);

View File

@ -6,7 +6,7 @@ using System.Xml;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class GpacTtxt : SubtitleFormat
public class GpacTtxt : SubtitleFormat
{
public override string Extension

View File

@ -4,7 +4,7 @@ using System.Text;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class HtmlSamiArray : SubtitleFormat
public class HtmlSamiArray : SubtitleFormat
{
public override string Extension
{

View File

@ -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);

View File

@ -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

View File

@ -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
{

View File

@ -4,7 +4,7 @@ using System.Text;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class JsonType2 : SubtitleFormat
public class JsonType2 : SubtitleFormat
{
public override string Extension
{

View File

@ -4,7 +4,7 @@ using System.Text;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class JsonType3 : SubtitleFormat
public class JsonType3 : SubtitleFormat
{
public override string Extension
{

View File

@ -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);

View File

@ -4,7 +4,7 @@ using System.Text;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class NciCaption : SubtitleFormat
public class NciCaption : SubtitleFormat
{
public override string Extension
{

View File

@ -6,7 +6,7 @@ using System.Xml;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class OpenDvt : SubtitleFormat
public class OpenDvt : SubtitleFormat
{
public override string Extension
{

View File

@ -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
{

View File

@ -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);

View File

@ -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);

View File

@ -6,7 +6,7 @@ using System.Xml;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class RhozetHarmonic : SubtitleFormat
public class RhozetHarmonic : SubtitleFormat
{
public override string Extension
{

View File

@ -2,7 +2,7 @@
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class SamiModern : Sami
public class SamiModern : Sami
{
public override string Name

View File

@ -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);

View File

@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class SonyDVDArchitectExplicitDuration : SubtitleFormat
public class SonyDVDArchitectExplicitDuration : SubtitleFormat
{
public override string Extension
{

View File

@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class SonyDVDArchitectTabs : SubtitleFormat
public class SonyDVDArchitectTabs : SubtitleFormat
{
public override string Extension
{

View File

@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class SpruceWithSpace : SubtitleFormat
public class SpruceWithSpace : SubtitleFormat
{
public override string Extension
{

View File

@ -5,7 +5,7 @@ using System.Text;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class Spt : SubtitleFormat
public class Spt : SubtitleFormat
{
public override string Extension
{

View File

@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class StructuredTitles : SubtitleFormat
public class StructuredTitles : SubtitleFormat
{
public override string Extension
{

View File

@ -6,7 +6,7 @@ using System.IO;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class SubtitleEditorProject : SubtitleFormat
public class SubtitleEditorProject : SubtitleFormat
{
public override string Extension
{

View File

@ -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(),

View File

@ -4,7 +4,7 @@ using System.Text.RegularExpressions;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class SwiftText : SubtitleFormat
public class SwiftText : SubtitleFormat
{
enum ExpectingLine
{

View File

@ -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);

View File

@ -6,7 +6,7 @@ using System.Xml;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class TimeXml : SubtitleFormat
public class TimeXml : SubtitleFormat
{
public override string Extension
{

View File

@ -6,7 +6,7 @@ using System.Xml;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class TimedText : SubtitleFormat
public class TimedText : SubtitleFormat
{
public override string Extension
{

View File

@ -9,7 +9,7 @@ using System.Xml;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class TimedText10 : SubtitleFormat
public class TimedText10 : SubtitleFormat
{
public override string Extension
{

View File

@ -6,7 +6,7 @@ using System.Xml;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class TimedText200604 : SubtitleFormat
public class TimedText200604 : SubtitleFormat
{
public override string Extension
{

View File

@ -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);

View File

@ -5,7 +5,7 @@ using System.Xml;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class TmpegEncAW5 : TmpegEncXml
public class TmpegEncAW5 : TmpegEncXml
{
public override string Name

View File

@ -17,7 +17,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
// </SubtitleItem>
// ...
class TmpegEncXml : SubtitleFormat
public class TmpegEncXml : SubtitleFormat
{
public override string Extension
{

View File

@ -6,7 +6,7 @@ using System.Xml;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class Tmx14 : SubtitleFormat
public class Tmx14 : SubtitleFormat
{
public override string Extension
{

View File

@ -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
{

View File

@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class TurboTitler : SubtitleFormat
public class TurboTitler : SubtitleFormat
{
public override string Extension

View File

@ -6,7 +6,7 @@ using System.Xml;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class UTSubtitleXml : SubtitleFormat
public class UTSubtitleXml : SubtitleFormat
{
public override string Extension
{

View File

@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class UleadSubtitleFormat : SubtitleFormat
public class UleadSubtitleFormat : SubtitleFormat
{
public override string Extension
{

View File

@ -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";

View File

@ -6,7 +6,7 @@ using System.Xml;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class UnknownSubtitle13 : SubtitleFormat
public class UnknownSubtitle13 : SubtitleFormat
{
public override string Extension
{

View File

@ -6,7 +6,7 @@ using System.IO;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class UnknownSubtitle14 : SubtitleFormat
public class UnknownSubtitle14 : SubtitleFormat
{
public override string Extension
{

View File

@ -6,7 +6,7 @@ using System.IO;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class UnknownSubtitle15 : SubtitleFormat
public class UnknownSubtitle15 : SubtitleFormat
{
public override string Extension
{

View File

@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class UnknownSubtitle18 : SubtitleFormat
public class UnknownSubtitle18 : SubtitleFormat
{
enum ExpectingLine
{

View File

@ -5,7 +5,7 @@ using System.Xml;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class UnknownSubtitle19 : SubtitleFormat
public class UnknownSubtitle19 : SubtitleFormat
{
public override string Extension
{

View File

@ -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);

View File

@ -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);

View File

@ -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

View File

@ -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);

View File

@ -4,7 +4,7 @@ using System.Text;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class UnknownSubtitle24 : UnknownSubtitle18
public class UnknownSubtitle24 : UnknownSubtitle18
{
public override string Extension
{

View File

@ -6,7 +6,7 @@ using System.Text.RegularExpressions;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class UnknownSubtitle25 : SubtitleFormat
public class UnknownSubtitle25 : SubtitleFormat
{
//79.29 1.63

View File

@ -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

View File

@ -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);

View File

@ -6,7 +6,7 @@ using System.Xml;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class UnknownSubtitle28 : SubtitleFormat
public class UnknownSubtitle28 : SubtitleFormat
{
public override string Extension
{

View File

@ -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é.

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class UnknownSubtitle35 : SubtitleFormat
public class UnknownSubtitle35 : SubtitleFormat
{
//0072.08-0076.05

View File

@ -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);

View File

@ -4,7 +4,7 @@ using System.Text;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class UnknownSubtitle37 : UnknownSubtitle36
public class UnknownSubtitle37 : UnknownSubtitle36
{
public override string Extension
{

View File

@ -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);

View File

@ -4,7 +4,7 @@ using System.Text;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class UnknownSubtitle39 : UnknownSubtitle38
public class UnknownSubtitle39 : UnknownSubtitle38
{
public override string Extension
{

View File

@ -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);

View 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
//Cest lenfant qui la tuée ?
//915.8/
//921.8
//Comment elle sappelait ?
//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)));
}
}
}

View 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;
}
}
}

View File

@ -6,7 +6,7 @@ using System.Xml;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class UnknownSubtitle5 : SubtitleFormat
public class UnknownSubtitle5 : SubtitleFormat
{
public override string Extension
{

View File

@ -8,7 +8,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
/// <summary>
/// Reported by dipa nuswantara
/// </summary>
class UnknownSubtitle7 : SubtitleFormat
public class UnknownSubtitle7 : SubtitleFormat
{
enum ExpectingLine

View File

@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class Wsb : SubtitleFormat
public class Wsb : SubtitleFormat
{
public override string Extension
{

View File

@ -8,7 +8,7 @@ using System.Windows.Forms;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class YouTubeAnnotations : SubtitleFormat
public class YouTubeAnnotations : SubtitleFormat
{
private bool _promtForStyles = true;

View File

@ -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);

View File

@ -5,7 +5,7 @@ using System.Text.RegularExpressions;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{
class ZeroG : SubtitleFormat
public class ZeroG : SubtitleFormat
{
public override string Extension