Subtitle Processor - Documentation

Subtitle Processor 6 - Documentation

This document is written for SP 6.4

Subtitle Processor is tool for editing subtitles. The main purposes are:

  • Editing and repairing existing subtitles in supported formats with a rich set of functions
  • Translating subtitles
  • Subtitling movies

Some of the main features are:

  • Advanced subtitle editor supporting both frame and time modes. It has a rich set of functions. Some of them are:
    • Style editor for editing subtitle styles
    • Reformat lines (word-wrap): reformat subtitles with various options to fit on selected screen width
    • Merge/Split - merge 2 subtitle files or split one file to 2 parts
    • Move/Scale - many variations to change the speed (fps) and time offset
    • Transitions - cool feature that creates a set of subtitles that show a transition (marquee, fading color and so on)
    • Correct OCR - correct OCR errors using configurable set of rules
    • Multipoint Linear Resynchronization - synchronize subtitles with variable time errors using a set of synchronization points and distributing the time error linearly between the synchronization points
  • Integrated advanced movie player with a lot of functions that ease the creation of subtitles. Some of the features are:
    • Lot of seeking functions to precisely seek to a frame
    • Integrated editor for creating subtitles as the movie plays
    • Bookmarks for finding exact starts of dialogs
    • Support for all media formats that are supported by DirectShow and installed filters (codecs) - not only movies but also music (mp3) and so on.
    • Support for multi-language movies - can switch audio streams
    • High integration to the Editor and Translator to help editing and translating
    • Advanced picture controls like color (gamma, contrast, brightness), zoom, aspect ratio, position and so on
    • OSD with information about the media stream
    • Display 1st and 2nd subtitles
  • Translator with 2 integrated views on translated and original subtitles
    • Both views support editing
    • The subtitles are linked between views so when a subtitle in one view is selected, the same subtitle in the other view is also selected
    • Buttons for copying timestamps and texts between both subtitles
    • Integrated player controls so the translator can listen to the dialogs without switching to the Player
  • Configurable keyboard (or mouse) shortcuts for many actions, the configuration is exportable as a nice looking HTML table
  • Limited support for MVD movie files

System requirements:

  • 32 bit Windows. Developed on Windows XP
  • DirectShow and decoder filters for your movies (DirectShow 9)
  • Processor that can play movies. Tested on PII400 and the movies played fluently. When the player is not used, even lower end system can be used - tested on Pentium 166 MMX. Developed on Intel P IV 2.66 GHz
  • Memory:Current computers have a lot of memory so it does not matter
  • Graphic card: Any graphic card that run under Windows and with DirectX with a minimum resolution of 800x600. Overlay support is highly recommended.

DirectShow decoder: You need correct decoders for audio and video. For example the DivX package. Best results can be achieved using the FFDSHOW (http://sourceforge.net/projects/ffdshow) package. It is capable to play all versions of DIVX, MPEG4 and XVID, plus it is OpenSource and free. The seeking is precise and immediate. With the DivX 5.02, i was not able to do the seeking. The picture didn't get updated after seek. If you see the seeking is not working, try if it is working in Windows Media Player (6.4 preferably).

Windows 9X: Because of the rich user interface, SubtitleProcessor requires lot of system resources. Try not to run too much programs simultaneously. This resource limit does not occur on the NT architecture (WinNT, Win2000, WinXP). Although SubtitleProcessor may run on Win9X, it is no longer tested.

Note:

When the program is first run (SubtitleProcessor.ini does not exist), or the language file selected in the INI file does not exist, the default language is English. You can switch to other available languages from the Settings screen.

Contents:

  • Supported formats
  • Keyboard controls
  • Main Window
  • Subtitle editor
    • Style editor
    • Credits editor
    • Editing functions
  • Movie player
  • Subtitle translator
  • Settings and language selection
  • Other dialogs
  • Version history

WWW

http://catsoft.no-ip.com, http://catsoft.wz.cz/sp - New versions

casoft@seznam.cz - Please send bug reports & suggestions


Version history

6.4

  • New features
    • Player
      • New picture controls (Better zoom, Position, Aspect ratio) together with corresponding keyboard actions
      • New OSD Info - info about current media file and subtitles
      • Possibility to start full-screen on different monitor than the default (usefull when TV is connected as second monitor)
    • Search for text in editor
    • Keyboard actions
      • Mark subtitles
      • Search for text
      • Aspect ratio, Reset picture, Picture position
    • Interface for configuring the controls
    • Show overlapping subtitles
    • Context sensitive help
  • Changes
    • About box redesigned
    • New subtitle current subtitle sarch engine - allows to find overlapping subtitles
    • New media loading code
    • Settings screen redesigned
    • Settings INI file format changed
  • Bug fixes
    • Movie position is now reset when new media is loaded
    • Audio streams are correctly switched in time mode

6.2.1

  • Fixed an invalid typecast bug preventing saving subtitles.

6.2

  • New features:
    • Multipoint Linear Resynchronization - new function to synchronize subtitles with variable time errors using a set of synchronization points and distributing the time error linearly between the synchronization points
    • Direct controls through keyboard (& mouse) shortcuts (configurable only through INI file for now)
      • INI Shortcut format: Action=FFT-TFF-T-Space|Ins -> Modifiers-AlternateModifiers-BlockInEdits-Key-AlternateKey. T=modifier present/BlockInEdits=True. Modifiers order is Shift-Alt-Ctrl
      • This shortcut will be: Primary - Ctrl+Space, Secondary - Shift+Ins, Blocked in edit fields
    • Export the controls to HTML file
  • Changes
    • New bookmarks in Player
    • New buttons edits in Merge/Split to quickly enter movie length
    • New OSD style
    • Audio button now cycle through available audio streams
  • Fixed
    • Tab order in most dialogs

6.0

  • Fixed
    • Incorrect resizing of the subtitle preview box & zoom bar in Editor
    • S and L style tags are shown in the subtitle grid immediately
    • Removed invalid error message in Move subtitles
  • New features
    • Highlight oversize subtitles in all editors and grids
    • Zoom in player (mouse wheel)
    • (Auto)Save subtitles together with WSP or MVD
    • Redesigned Drag&Drop dialog, now supports WSP files
    • Switch audio streams in multi-language movies
    • Import SRT format tags as line styles
    • Ask to save subtitles if they are changed and SP is about to load new ones
    • Fast save of files (without dialog) when clicking on save button and a file type is already displayed in the button(1.sub/2.sub/mvd/wsp0
    • Changing style in style combobox changes style in all selected subs
    • New buttons for inserting subtitle before and ater the selected
    • Translation engine gives error message with error position if the lng file is invalid
  • Changes
    • Saved files now added to MRU lists
    • Save subtitles dialogs now show in titles whether the subs are first or second
    • After deleting subs the sub directly after the removed is selected
    • Move & Scale has now 2 separate boxes for Move and Change speed
    • When switching time/frame in subtitle start/end boxes there is a configurable option to use old timestamp value and not convert the displayed one
    • Time->Frame conversion now rounds down start frame and up for end frame
    • Some other tiny changes
    • MVD loade loads subtitle language tag
    • When overwriting MVD a warning is given that MVD support is limited

5.9.9.b2

  • Fixed
    • Places bar not showing on first opening the WSP load dialog
    • Open button not opening the WSP dialog when WSP selected
    • WSP MRU showing Open dialog instead of instantly opening the file
    • Incorrect resizing of the grids in Translator

5.9.9.b1

  • New features
    • SSA Loader - full support of all SSA v4 features in the editor. Nothing is lost when a SSA file is opened and then resaved. In the player however not all the SSA features are rendered. Also contains the 3to4 (UU) encoding / decoding to extract and embed pictures to subtitle files. The only unsupported feature of SSA is embedding the fonts (need to explore the relevant part of Windows API).
    • Enriched Style structure and style dialog to hold new SSA properties
    • Enriched Subtitle structure to hold new SSA parameters
    • New Advanced subtitle editor tab in Editor - contains advanced subtitle properties (SSA)
    • New Credits & properties dialog & button in editor - edit advanced information about the subtitles
    • New tab in Settings with SSA options
    • Save / Load workspace - Save or load the workspace (opened files & selected subtitle index)
    • New option in Settings for auto-saving the workspace
    • Menu structure for saving same as for loading

5.5.1

  • Fixed bugs:
    • width of group boxes in the settings screen (format options)
    • linked English language was 5.4.9.b1 - something was left in Czech (because SP is originally written in Czech)

5.5.0

  • Fixed bugs:
    • SRT loader was buggy and unstable. Now can load even a corrupted SRT file
  • Changes:
    • Subtitle numbers in grids are 1-based (were zero-based)
    • Reworked the configuration dialog - selection of save format

5.4.9.b2

  • Fixed bugs:
    • Insert position to subtitle end
    • Drag&drop form not translated when SP was started with command line parameters
    • Unable to select multiple subtitles in editor
  • New features:
    • Jump buttons in Editor in the start and end timestamp editboxes
    • Split subtitle button in Player
    • Seeking buttons in Editor
    • Seeking toolbar & position indicators in Translator
    • Buttons to jump to start/end timestamp of the selected subtitle in Translator
  • Changes:
    • Edits in player are disabled when there is no subtitle displayed
    • Increased step in gamma control in Player (from 10 to 20)

5.4.9.b1

  • New features:
    • Display both first and second subtitles in Player (configurable, only first subtitles can be edited)
    • Switch position of first and second subtitles in Translator (configurable)
    • Brightness / Contrast / Gamma controls in Player (Alt/Ctrl/Shift + mouse wheel)
    • Better looking subtitle grids
  • Fixed bugs
    • Charset in subtitle grids and all other controls (was EAST_EUROPE, now is SYSTEM_DEFAULT)
    • Memory violation when closing SP if movie is playing (solved by automatic pause before exit)
    • Confusing terminology in help messages (hopefully now Main subtitles = First subtitles in all messages)
    • "Insert current subtitle end position" in player now disabled when there is no subtitle displayed
    • Saving in incorrect format (the selected format in the Save dialog was not taken into account. Also fixed the auto-adding of extensions)
    • Saving newly created subtitles (they hadn't a format specified, MDVD is used now as default)
    • Saving didn't sometimes work completely (incorrect path generation - resulted in invalid path and thus no file could be saved)

5.0.2

  • Fixed
    • Negative numbers in input boxes now correct
    • Loading MDVD subtitles with styles (incorrect recognition of styles due to charset)
    • Extension checking when saving (didn't work if there were dots in the path)
    • MRU code (bug in setting the items count)
    • Translation code (support captions with more lines - e.g. in the settings screen)
  • Added
    • MRU size option in the Settings screen

5.0.1

  • New Split subtitle function
  • Refined some icons
  • New menu system with MRU files
  • New buttons to seek to previous/next subtitles in the player (normal and full screen mode)
  • New Merge subtitles function to merge 2 and more selected subtitles
  • Fixed a potential hidden bug in the timeline engine

4.99b6

  • fixed bug concerning the places bar in dialogs
  • Windows XP styles! Initial support of Windows XP styles, slightly redesigned the interface
  • Added charset support to style editor - styles are used only for rendering subtitles
  • Changes in language files to reflect these new items in the style editor
  • New version of DSPack -now uses DirectShow 9
  • New version of Jedi VCL
  • Fixed invalid floating point operation in the player

4.99b5

  • fixed bug in the UNDO function in editboxes (buffer was not initialized properly)

4.99b4

  • Thanks to Michal Moučka for detailed bug report
  • fixed bug when exiting on read-only filesystem (can't exit due to INI save error)
  • fixed bug when loading from read-only filesystem (not loading subtitles and movies)
  • fixed language files (typos, and invalid XML chars), updated language files to match the changes in the GUI, language files are now in \lang subdirectory and also any file can be selected
  • fixed the options in Load and Save dialogs
  • fixed the Select format dialog (was resizable)
  • fixed bug in Save movie description when saving to different drive
  • fixed a major bug in mode switching (frames <-> time)
  • adjusted the width of the "subtitle text" column in the subtitle editor. It should now fit correctly
  • subtitles are now instantly updated if the editboxes lose focus
  • Undo (ESC key) and Confirm (Enter key) supported in most editboxes in the main windows
  • Completely new editboxes (not using the Pie-Tools package) - now properly validating using Regular Expressions. Units can be switched by clicking on the unit box
  • Changed the behavior when clicking the seek bars - can be selected in Settings screen
  • added Version information in the executable file
  • slightly changed About box
  • updated the documentation and cleared some ambiguities
  • maybe some more changes that I don't remember right now

4.99b3

  • Minor update in the documentation concerning language selection
  • Fixed bug in the style editor (incorrect style loading)

4.99b2

  • Available in English and Czech languages
  • Contains documentation in English
  • Fixed many small bugs

4.99b

  • Contains support for full localization, only czech language available right now.

4.95

  • Completely rewritten the subtitle engine and data structures. Major changes in the code structure
  • New version of DSPack, JVCL and JCL used
  • Ported to Delphi 7
  • Major changes in the user interface
  • Timestamp Matcher changed into Translator
  • New style editing concept introduced
  • Major changes in the editor to accommodate the new style concept
  • New option to change main mode - Frame and Time
  • New function: OCR Corrections
  • Substantial changes in other functions
  • Completely new internationalization engine and new language format
  • New fullscreen mode
  • New code for rendering subtitles
  • New structure of the loading engine prepared for other subtitle formats in the future
  • Reverted back to standard common Open/Save dialogs and removed the APR Dialogs library (fas not free with source code and was not available for Delphi 7)
  • New library for editboxes - PieTools - used
  • New documentation, in English language since this version
  • Lots and lots of small bugs fixed

4.0

  • Added the option to select output formats. New open and save dialogs.
  • Added 2 formats for save: SubRip and SimpleTime
  • New function: Merge / Split
  • New function: Recalculate FPS
  • Corrected bug in the Move function
  • New internationalization support
  • New fullscreen player mode
  • Changes in user interface
  • Lots of small bugs fixed
3.0
  • Added Timestamp Matcher
  • Changes in other windows to accommodate the timestamp matcher
  • Lot of small bugs fixed

2.0

  • Added Movie player
  • Changes in other windows to accommodate the player
  • Lot of small bugs fixed
0.99
  • First version of Subtitle Processor
SubtitleMover
  • Very first version. It was capable of loading and saving MicroDVD format subtitles. Main function was moving the subtitles in time.


Supported formats

Subtitle formats

Format | Load | Save | Type | Styles
MicroDVD | Yes | Yes | Frame | Yes
SubRip | Yes | Yes | Time | Yes
SimpleTime | Yes | Yes | Time | No
SubStation Alpha v4 | Yes | Yes | Time | Yes

Movie description formats

Format | Load | Save
MicroDVD - MVD | Yes | Yes

MVD support is limited. SP can only read the movie title and file and one subtitle file and language tag. If there are other sections in MVD, these are discarded. If there are more than one subtitles, only one of them are loaded and the language tag may be incorrect.

Multimedia formats

Theoretically all formats that are supported by DirectShow (for which you have the filters installed). You can load AVI, OGG, MPEG, ASF or others, but only the AVI format (frame based) is fully tested. The other formats are experimental, so be aware. You can also load sound only files (e.g. mp3) and subtitles (time based, since the sound files are only time-based) to display the words of a song while it is playing. The support of sound only files is also experimental.


Main window

Main screen

SubtitleProcessor's main screen contains a toolbar and 4 pages containing the Subtitle Editor, Movie Player, Translator and Settings windows.

The toolbar contains the following sections (left to right):

  • About button - show the About box
  • Load button - open a load menu with these items:
    • First subtitles - Open the first subtitles. These are the main subtitles and can be edited in the Editor and Player windows. They are also in the Translator window.
    • Second subtitles - Open the second subtitles. These are used mostly in the Translator and in some of the Editor functions
    • Movie - Open a DirectShow media file.
    • Movie Description - Open a movie description file - containing paths to movie and subtitles
    • Workspace - Open a workspace - file containing paths to 1st and 2nd subtitles and movie. It also contains the index of the selected sub.

Each menu item has a submenu with MRU (Most Recently Used) filelist. Upon selecting an item the icon on the main load button changes to indicate what will be opened by clicking on the button. The menu is opened by clicking on the arrow next to the button.

  • Save button

    This button opens the Save menu, which has the same main items as the Load menu. The items in Save menu have no subitems. The icon of the Save button also changes to indicate current shortcut. When the save button displays a shortcut, that file is saved without displaying the save dialog (with the same name as it was saved before). The arrow displays the Save menu and the items in this menu display the Save dialog so the filename can be changed.

  • File information panel - displays loaded files
  • Movie & Subtitles Information - display Movie & Subtitles Information dialog
  • Mode switching buttons:
    • Frame mode - Switch edit fields and program mode to Frame mode
    • Time mode - Switch edit fields and program mode to Time mode
  • Exit button - Close the application

Below the toolbar there are buttons for selecting appropriate windows.


Editor window

Subtitle Editor

This is the window for subtitle editing. It allows editing of the first subtitles (see main window for description of first and second subtitles)

1. Subtitles list

Contains list of loaded subtitles (first subtitles). The different color and font styles are configurable and mean following:

  • Black text: normal subtitle
  • Red text: oversize subtitle (wider than reference screen width - see editor functions)
  • Italics: all subtitles that are overlapped (the end time of one subtitle is greater than the start time of the second for example) with the selected one are in italics
  • Bold: marked subtitle (SSA)
  • Blue rectangle - selected subtitle(s)

The attributes can be combined.

Subtitle parameters are:

  • No. - number of the subtitle
  • Start - frames / time - when the subtitle starts to be visible
  • End - frames / time - when the subtitle goes out. No value means the subtitle stays visible till the next subtitle.
  • Lines - Number of subtitle lines
  • Style - Display style parameters - SLP:
    • S - entire subtitle has non-default style
    • L - some line has non-default style
    • P - some line has non-default position
  • Subtitle text - All subtitle lines separated by '|'

Subtitles count, selection count and edited subtitle number are shown in the bottom part of subtitle list. In the bottom right part there are 7 buttons:

  • Insert new subtitle before the selected one
  • Insert new subtitle after the selected one
  • - - Remove all selected subtitles
  • Split subtitle - open the Split subtitle dialog and split the subtitle
  • Merge subtitles - merge the selected subtitles together (using all the text and minimum start frame and maximum end frame).
  • Search for text - search for given text in all subtitles
  • Select all - Select all subtitles

When a movie is played, the displayed subtitle is selected in the list.

See Keyboard controls for keyboard shortcuts.

2 Subtitle Editor

Here the selected subtitle can be edited. The editboxes support Undo (Press the 'Esc' key). The subtitle text and other values are confirmed when the appropriate box loses the focus. Look at editing functions for more details about the editboxes.

On the left side there are several input fields:

  • Subtitle Start - Shows subtitle start time. Depending on the main mode, the start time can be displayed in frames or time. The panel left from the editbox displays the units (Fr. - frames, HMS - Hours:Mins:Secs,Fraction). You can change the units by clicking on the double arrow in the right corner. When you change the units, either the converted value from the editbox or the value stored in subtitle is shown. This is configurable. (When converting time->frame->time there is a loss of precision. So you can configure if you want to recalculate the value (and lose precision) or use the other value stored in the subtitle. This does not introduce the precision loss but the value that was entered in the box is lost. The precision loss occurs only in time-based subtitles, in frame based subtitles the times are allready recalculated from frames)
  • Subtitle End - Shows subtitle end time
  • Subtitle text - Shows the text of the subtitle. Line count is unlimited.
  • Subtitle style - Change the style of entire subtitle

On the right side is preview area. It displays the selected subtitle using its styles. The zoom can be adjusted by the track bar on the right side. Possible values are 1:1 (actual size, trackbar on the top) to 1:5.5 (5.5 times smaller, trackbar on the bottom).

On the bottom there are several buttons:

  • Credits & properties - show the Credits editor window
  • Style editor - show the Style Editor window
  • Player - show the subtitle in the player, seek to its start time and pause movie
  • Translator - show the subtitle in the translator
  • Pause - pause the movie
  • Play - play the movie
  • Seek buttons - Seek X frames (in frame mode) or seconds (in time mode). See the Player window.

Movie actual position is displayed in the bottom right corner.

3 Functions

Here you can select several editing functions. One of the tabs is also an advanced subtitle editor, which allows to change some advanced parameters of the selected subtitle.


Style editor

This is the window for editing subtitle styles.

The concept of styles is basically the same as in word processors or some other subtitling software (SSA for example). There is a centralized list of different styles and the styles are assigned to subtitles instead of changing font parameters of each subtitles. When the style is changed, each subtitle using it will render using the updated style, user is not required to change the parameters in each subtitle separately.

There are four main parts in the style editor:

  • Style list - Displays list of all available styles. By clicking on a row the style is selected and filled in the edit boxes. It has 3 columns:
    • No. - number of the style
    • Source - Local or Subs - Local means the style is from SubtitleProcessor.INI or from a style file, Subs means that the style is imported from the currently loaded subs. If SP is terminated and then started, all the styles becomes local because they will be saved in INI (configurable).
    • Name - Name of the style

    The styles in the list are displayed using the corresponding font and font options

  • Preview box - Displays the style on a sample text
  • Buttons - for manipulating the styles:
    • New - Create new style (with default values - determined from the *Default style)
    • Remove - Remove selected style and all references of it in subtitles. *Default style can't be removed
    • Remove all - Remove all the styles except the *Default
    • Remove unused - Scan through subtitles and remove styles that are not used in subtitles
    • Load styles - Load style list from disk. Warning: All existing styles and references in subtitles will be removed!
    • Save styles - Save style list to disk.
    • Close - Close the style editor
  • Style editing boxes - used for editing the style

The style editing boxes are divided into 7 groups:

  • Style name - Name of the style (displayed in the style selection combo boxes). Default style's name can't be changed (will always be *Default and it will always be the first style)
  • Font - Font parameters of the style:
    • Font name - determines the font. Empty line means same font as the default style
    • Size - font size. Zero means the same size as the default style
    • Color - font color. None means the same color as the default style
    • Font options:
      • B - Bold
      • I - Italic
      • U - Underline
      • S - Strike out
      • D - Default - Use union of style parameters and default style parameters, else use only the style parameters
    • Charset - select the font charset (all possible charsets are shown; select only those supported by your font)
    • Select button - open a system font dialog.
  • Colors - All colors associated with the style:
    • Primary - the main color of the subtitle text
    • Secondary, Tertiary - used by SSA when two or more subtitles are displayed in the same time. SP doesn't allow to display more subtitles, so these aren't used.
    • Shadow - color of the outline, shadow or opaque box under the subtitle used by SSA
  • Vertical position - determines if the subtitle is displayed on the bottom or top of the screen or in the center of the screen.
  • Alignment - determines the horizontal alignment of the subtitle lines
  • Border style - determines the style of the subtitle border:
    • Outline + shadow - all letters have outline and a drop shadow
    • Opaque box - a solid box is drawn under the text
  • Margins
    • Left / right - distance between the left/right screen edge and the text
    • Vertical - distance between the bottom/top edge of the screen and the subtitle text (depending on Vertical position)

Note: The advanced style options are used by SSA. SP allows to edit them but it's subtitle renderer is not capable to use them for now.

[Back to editor]


Credits editor

This window allows to edit the author information used by SubStation Alpha.

In this window There are several groups of edit controls:

  • Credits - original: Credits of the original authors and groups
  • Credits - updates: Credits of the authors who updated the subtitles
  • Screen resolution: Information about the screen res. used by original authors
  • Collisions: How to solve collisions of two or more subtitles (SSA) - not used by SP
  • Timer: Play timer speed (SSA) and offset - not used by SP

[Back to editor]


Editor functions

This section describes various editor functions. Many pages contain a special input box:

This input box has four main parts:

  • Caption - description of the edited value
  • Edit box - here the value can be edited. It is validated according the selected units, invalid input is automatically corrected.
  • Unit box - displays the selected units for the value. By clicking on the unit box the units can sometimes (where applicable) be switched
  • Button - do some action with the value - e.g. jump to selected position
  • Pick button - open a pick-list with predefined values

All these boxes support Undo - you can return the old value by pressing the 'Esc' key. The undo buffer is cleared when you press the 'Enter' key. By pressing the 'Enter' key you confirm the value.

In most cases 3 types of values can be edited:

  • Fr. - Frames / Integer numbers. Integer value indicating the time in frame units (must comply with this regular expression: "-?\d*").
  • HMS - Time. Time in format Hours:Minutes:Seconds,Fraction. The value can contain up to 2 colons (:) and one decimal separator (actual char depending on windows locale). Any part can have any number of digits. Result is calculated as H*3600 + M*60 + S + T/(10^number of digits after decimal separator). If there is only one colon, value is treated as Minutes:Seconds, without any colon the value is treated as Seconds. The fraction part can have any number of digits. The regular expression is "(-?\d*:?\d*:?\d*)([,\.]\d*)?".
  • Real numbers. Sometimes the box requires a real number (with decimal point). It can be a number with one decimal separator and optionally a minus sign. The regular expression is "-?\d+([,\.]\d*)?"

When there is no unit indication, you should use your common sense to determine what type of value applies to particular edit box. The system doesn't allow to type invalid value.

Some boxes have a maximum and minimum value, when you enter higher or smaller value, it is automatically corrected to fit in the limits.

Decimal separator: You can use "." (dot) or "," (comma), the edit boxes accept both independently of the Windows locale

Note: Some input boxes don't support unit switching, some have other units (% for example).

1. Advanced subtitle editor

This tab allows to change advanced subtitle parameters:

  • Type - Type of the subtitle (used in SSA files)
    • Dialogue - subtitle is a normal subtitle
    • Comment - Same as dialogue, but the subtitle is not displayed
    • Picture - Show a picture instead of text. The subtitle text points to a picture file
    • Sound, AVI - play sound or movie. The path is specified by subtitle text
    • Command - execute an external program

    These types are used by SubStation Alpha, SP can't display them for now.

  • Properties - Advanced subtitle properties used by SSA
    • Left, Right and Vertical margin - the free space on the screen that won't be occupied by the subtitle text
    • Marked subtitle - subtitle is "marked" in SSA. Marked subtitles are shown in bold in Editor, but the mark isn't used in SP for now.
    • Effect - subtitle effects defined in SSA (scrool karaoke etc.). They aren't rendered by SP for now.
  • Line properties - Style overrides of subtitle lines used by MDVD and SRT
    • X and Y coordinates - position of the selected line on the screen (relative to movie resolution) (MDVD only).
    • Sel. line style - style of the selected line (that has cursor in it).

2. Reformat lines

Reformat subtitle lines - split too long lines and merge too short lines. Empty subtitles can be removed. The settings are:

  • Split lines longer than screen width - split too long lines
  • Remove empty subtitles - remove subtitles without any text
  • Screen width [pixels] - select desired screen width
  • Merge short lines
    • Never - Never merge short lines
    • Only when some long line was split - Merge short lines only when some long line in the same subtitle was split
    • Always - Always merge short lines
    • Exclude lines starting with - Don't merge lines starting with given char
  • Ignore free lines (x,y<>0) - Ignore lines with non-default coordinates X,Y

The reformat is performed by clicking on the Reformat button

3. Merge / Split

Merge 2 subtitle files (when joining 2 movies into one) or split one file into 2 files (e.g. when splitting movie to fit on 2 CDs). The settings for Merge are:

  • First subtitles length - Move second subtitles by this length (length of first movie part)
  • Second subtitles offset - Adjust second subtitles position

The settings for Split are:

  • Split point - Subtitles with Start greater than split point will be moved to second subtitle file

The functions are performed by clicking on appropriate buttons.

4. Move / Scale

4.1 Move subtitles

Move the subtitles in time. Use this if the subtitles have a constant time offset. The controls are:

  • Edit box - enter the time offset you want to add to the subtitles. Enter negative value if the subtitles start too late, positive if they start too early.
  • Only selected - move only subtitles marked in the main list
  • Move - do the move operation

4.2 Change speed

Change the speed of subtitles. Use this if the subtitles are appearing more lately or early as the movie progress (they are running slower or faster). The controls are:

  • Edit box - enter the desired speed in %. Experiment with the value, try the subtitles in player and if the speed change is not precise, reload the subtitles and modify this value a little
  • Only selected - move only subtitles marked in the main list
  • Change - change the speed by the value entered in the edit box

4.3 Change length

Change speed using Old and New length ratio. The settings are:

  • New length - New length of the movie
  • Old length - Old length of the movie (automatically filled when movie is loaded)

By clicking the Change button, new speed is calculated and set to Speed change box. the Move by box is cleared and then a general Adjust is performed.

4.4 Recalculate FPS

Change speed using Old and New FPS ratio (to adjust subtitles for a movie with different frame rate). Available only for frame-based subtitles. The settings are:

  • New FPS - New frame rate
  • Old FPS - Old frame rate

By clicking the Change button, new speed is calculated and set to Speed change box. the Move by box is cleared and then a general Adjust is performed.

5. Transitions

Create a transition effect. There are 2 main transition types:

  • Style transition - change subtitle style during transition. Create growing text or fading text color. Only font size and font color are taken into account.
  • Rolling text - create appearing or disappearing text.

Transitions are calculated into given number of steps. The more steps, the smoother the transition will be and the more subtitles we get (decreasing performance of the player). Selected subtitle is used as the base

The settings are:

  • Start - Transition start, filled automatically from the selected subtitle.
  • End - Transition end
  • Time per step - Time per single transition step. Use a reasonably big value, subtitles can't be displayed faster than the frame rate of the movie
  • Step count - Number of steps in transition
  • Rolling text - include the Appearing / disappearing text transition (for selected line only)
    • In - Text appears from nothing to full length
    • Out - Text disappears from full length to nothing
  • Style - Change style during transition
    • Entire subtitle - Change style of entire subtitle
    • Selected line - Change style of selected line only
    • Target style - Target transition style (style of the last transition subtitle)

The Selected line box shows the text of the selected line (for information). Transition is created by clicking on the Create button

6. Correct OCR

Fix OCR (Optical Character Reader) errors. Such errors arise when ripping subtitles from DVD (i.e. with SubRip), because on DVD the subtitles are stored in bitmap format. The settings are:

  • Remove space in numbers - remove spaces between digits, for example 1 234 5 will be 12345
  • Remove multiple spaces - Remove multiple spaces, keep only single spaces (e.g. shrink 3 spaces into one space), remove leading and trailing spaces.
  • Fix OCR errors from list - Fix the OCR errors defined in the table
  • Ask always - Ask always when error found (override error definitions)

On the left side is a grid containing error definitions. It has 4 columns:

  • Search for - Invalid characters / strings to search (must not be empty)
  • Replace with - Characters / strings for replacing the incorrect ones
  • Replace where - Position where search for invalid strings:
    • Nowhere - Invalid string is not searched (user is not asked). Use only in 'Ask where' or for disabling errors
    • Start of word - Invalid string must be on start of the word (start of subtitle line or exactly after space)
    • Anywhere - Invalid string can be anywhere in the subtitle line
    • Except start - Except start of the word. Opposite to 'Start of word'
    • Between caps - Between capital letters - at least one capital letter on one side and non-letter char on the other side
    • Except caps - Opposite to 'Between caps'
  • Ask where - Where to ask the user. Same values as for 'Replace where'. When an error is found and this value denies the question, the error is automatically corrected. Use this for errors that can't be automatically corrected (e.g. letters I and l).

Next to the grid is a toolbar containing five buttons:

  • Add error - Add new row to the grid
  • Remove error - Remove selected row from the grid
  • Restore defaults - Remove all items and create default ones
  • Open error list - Load error list from disk (in INI format)
  • Save error list - Save error list to disk

The correction is started by clicking on the Fix OCR errors button. On top of the button is a progress bar showing the progress of this operation.

6.1 Confirmation dialog

While performing the correction, the Confirmation dialog may appear (depending on the value in 'Ask where' and 'Ask always'):

There are several important items in this box:

  • Actual error in the form 'Search for' --> 'Replace with'
  • Index and count of the subtitles
  • Text of the subtitle with the 'Search for' string highlighted
  • Three buttons:
    • Yes - Confirm the correction (Y on keyboard)
    • No - Reject the correction (N on keyboard)
    • Cancel - cancel the whole operation (C on keyboard)

6.2 Statistics

After the operation, a dialog containing statistics is displayed:

This window contains three columns:

  • Error - Actual error in the form 'Search for' --> 'Replace with'
  • Corrected - How many times the error was corrected (automatic or allowed by user)
  • Rejected - How many times the error was rejected by the user

The OCR error correction procedure doesn't employ any dictionary checking.

7. Multipoint Linear Resynchronization

This is advanced function that allows to synchronize subtitles with variable time errors (that were created e.g. for a low quality camera version) that are impossible to synchronize using only the time shift and speed change (Move/Scale). The time error is distributed linearly between the synchronization points.

Example:

  • Black solid line denotes original times of the subtitles
  • Red solid line denotes wanted times of the subtitles
  • Green and purple solid lines denote the options for starting and ending subtitles
  • Black dashed lines denote the resynchronization points
  • Red dashed lines denote the differences between original subtitle times and wanted times

How to use this function:

  1. Find at least 2 subtitles in the movie that start at bad times and define them as synchronization points (the more points, the better precision, points should be distributed through the whole movie)
  2. Find the correct start times by using the bookmark edits and listening to the movie
  3. Set the options for the outer subtitles
  4. Save the definition for later use if you make a mistake
  5. Execute the function with the Resynchronize button

The columns in the grid:

  • No: number of the synchronization point
  • Sub. No.: number of the subtitle that defines this synchronization point
  • Subtitle text: preview of the subtitle text (same as in the subtitle grid, taken from the subtitle determined by Sub. No.)
  • Old start: original start time of the subtitle
  • New start: wanted new start of the subtitle - this is a bookmark edit with the same possibilities as the bookmarks in Player
  • Difference: calculated difference between the original and new start

The buttons in the toolbar are:

  • Add: add a synchronization point (with the subtitle selected in the subtitle grid)
  • Remove: remove the synch. point
  • Remove all: remove all the synchronization points
  • Auto create: automatically create 8 synchronization points equally distributed through the movie
  • Load: load the definition from disk. Note: Subtitles must be loaded before the synch. points, otherwise an error is given
  • Save: save the definitions to disk

If the first and last synchronization point is not at the first and last subtitle, there are options for the subtitles out of the bounds:

  • Ignore: do not change the times (outer parts of the black solid line in the graph)
  • Move constantly: add a constant time to all the outer subtitles (determined by the first/last synch. point; see the purple line)
  • Move along line: move along a prolonged line (see the green line)

The resynchronization is executed through clicking on the Resynchronize button.

[Back to editor]


Player window

Movie player

This is the window for playing the movie and creating subtitles when listening to the sound and watching the picture. Several position controls provided for easier subtitling.

In this screenshot, the movie is not displayed because it is impossible to take screenshots of movies. It is normally visible, only the screenshots can't capture it. The visibility of the subtitles depends on the hardware and on the availability of the Overlay Mixer.

The player can display both first and second subtitles, each on either top or bottom of the screen. This is configurable.

Note: Try to play a movie in some player and then move this screenshot over the movie to see a cool effect!

1. Position control

Position controls are provided in frame mode or time mode:

The toolbar contains buttons for:

  • Play movie
  • Pause movie
  • Seek N frames (or N seconds) back/forward

Below the toolbar is a progress bar displaying the movie position. By clicking on it the position can be changed. After clicking each of the seek button the movie is paused. After clicking the position bar, the movie is paused or continues playing (depending on the setting in Settings screen)

There is also the 'Jump to position' edit box. It is used to jump on exactly specified position. The jump is carried out by clicking on the jump button right from the unit panel in the edit box (-->|). This edit box accepts the same values as the boxes described in Editing functions.

2. Bookmarks

In the left bottom corner there are 3 bookmark boxes:

These boxes are used for storing movie positions and for replaying movie from the stored positions. They contain a read-only edit box displaying the stored value and a toolbar with following buttons (left to right):
  • Set value - set the current movie position in the bookmark
  • Clear value - clear the bookmark
  • Seek to bookmark - Seek to the stored position & pause the movie
  • Play from bookmark - Play from the stored position
  • Switch frames / time

3. Subtitle editor

In the right bottom corner is a simplified subtitle editor. Text, start and stop times can be edited here. This editor is linked with the main editor in the Editor screen. By clicking on the jump buttons in the Start and End edit boxes, the movie is seeked to that position and paused.

There is also a toolbar for editing the subtitle left from the text editor with following buttons:

  • Jump to previous subtitle
  • Jump to next subtitle
  • Add subtitle - Add subtitle to current movie position
  • Split subtitle - Split the subtitle in the current point in time.
  • Switch to full-screen mode
  • Set start - Insert current position to Subtitle Start
  • Set end - Insert current position to Subtitle End
  • Remove subtitle - Remove displayed subtitle
  • Show the OSD controls

4. Other controls

There are other controls in the Player screen:

  • Audio stream selector - This button with a speaker icon displays the current audio stream. The arrow in this button displays a menu with available audio streams (multilanguage movies) and one of them can be selected. The default stream that is selected on movie load can be configured in Settings screen.
  • Position panel - displays current movie position

5. OSD controls

These are the on-screen display controls that are displayed over the movie. If the Overlay Mixer is not available, these controls will be invisible. There are 3 levels of OSD: Off, Seeking panel, OSD Info

5.1 Seeking panel

This panel contains a seek bar that can be clicked and 3 position indicators:

  • left top: displays the position to which the player will seek if the seek bar is clicked (when the cursor moves over the seek bar)
  • right top: movie position in frames or time depending on Main mode (frames in frame mode, time in time mode) in the form current / total
  • right bottom: movie position in the other value

5.2 OSD Info

These panels display information about the subtitles and the media file currently played

6. Picture controls

See the default keyboard controls for a list of available picture controls.


Translator window

Subtitle translator

This is the window for translating subtitles in other languages. It contains 2 grids, one for original and one for translated subtitles, so the user can see the translation and the original at once.

1. Subtitle grids

The translator window contains 2 grids for subtitles. They can display first or second subtitles, according to the configuration. The grids contain 4 columns:

  • No. - Subtitle number
  • Start - Subtitle start timestamp. The time is displayed in frames and HMS. On entering edit mode, the value is changed into frames or HMS and the user can edit the timestamp. The edit mode can be set in the Edit toolbar. The value follows the same rules as in the edit boxes described in editor functions.
  • End - Subtitle end. Same rules as for Start
  • Subtitle text - text of the subtitles. Lines are separated by | (pipe).

Both grids support editing. When a cell is clicked, the appropriate cell in the other grid and also in the main editor is selected. The user then can exactly determine which subtitle in the one grid belongs to which subtitle in the other grids. This is useful for correcting bad timing of subtitles that can't be corrected automatically.

2. The toolbars

2.1 Grid toolbars

Both grids have these toolbars. They contain subtitle manipulating buttons:

  • Insert subtitle - insert new subtitle before the selected line in the translation
  • Remove subtitle - remove the selected subtitle from the translation
  • Merge subtitles - merge selected subtitle with next subtitle (append lines of the text, use start timestamp of the first subtitle and end timestamp of the second subtitle)
  • Split subtitle - split selected subtitle. In the ask mode, the Split Subtitle dialog is shown. Otherwise selected subtitle must contain at least two lines, the first subtitle will get the first half of lines, the second subtitle the rest. The start timestamp of the second subtitle and the end timestamp of the first subtitle are calculated as average of the start and end timestamps of the original subtitle.
  • Search - search for text. Brings up Windows common dialog for search
  • Seek to start / end timestamp - seek the movie to start / end timestamp of the selected subtitle. Useful for checking the audio.
2.2 Edit toolbar

This toolbars allows to set options and to move multiple timestamp. It has these buttons:

  • Ask - if pressed, the user is asked on every operation from the toolbar. If not pressed, user is asked only when the 'All subtitles' option is selected
  • Edit mode buttons:
    • Time mode - the timestamps in the grids are edited as Hours:Minutes:Seconds.Fraction
    • Frame mode - timestamps are edited as frames
  • Time/Text copying:
    • Copy timestamps from original to translation
    • Copy timestamps from translation to original
    • Copy text from original to translation
    • Copy text from translation to original
  • Operation scope for Time/Text copying:
    • Selected line - only the values from the selected subtitle are copied
    • All subtitles - all values are copied

2.3 Player toolbar

This toolbar allows to control the movie player and is the same as in Player window.


Settings window

Settings

This is the window for changing the preferences.

Note: If the interface is in a language that you don't understand, do the following (see the screenshot):

  • Select the Settings screen (may be named differently in other languages, it is always the fourth screen)
  • Click the globe button and select from available languages (it looks the same in every language)

1. Frame rate

Frame rate is very important. It is used for converting frame and time values. It means the number of movie frames played per second. It determines the sampling rate for the timer responsible for rendering subtitles.

The frame rate is determined from movie. If no movie loaded, a default value of 25.0 is selected. The user can select the rate freely. If a movie is loaded, the frame rate is determined from the movie and the user can't change it. If the movie doesn't support frame mode (ASF or OGG for example), the default value of 25.0 is used for rendering subtitles (25 per second is quite enough and gives nice numbers in time mode) and the program can't be switched to the frame mode.

All subtitles have dual timestamps, one in frames an the other in seconds. One is calculated from the other, depending on the subtitles type (frame based or time based). The frame rate is used for converting them. If you save the subtitles in the same format as when they were loaded, the won't have corrupted timing if bad frame rate was selected.

Note: You can't change the subtitles speed by selecting frame rate in this box. If you want for example change the speed of subtitles that were designed for 25,000 fps to run correctly with movie that has 23,976 fps, see editor functions, section Move / Scale.

Note 2: If you have frame based subtitles designed for a 25 fps movie, you can use them with a 23.976 fps (or any other) movie with NO changes and they will run correctly

2. Language

By clicking on the globe button, you can select from available language files. The list of available languages is created on program startup. Language files must have the *.lng extension and must reside in the same directory as Subtitle Processor executable file.

Language files are in the XML format. You can edit them in any XML editor or plain text editor.

Additional languages may be available in the future.

The default language for the first time is English. If the language file selected in the INI file does not exist, the English will be used.

By clicking on the ? button in the top right corner of the language box you can get aditional information about the language file from the translator (if it was provided in the file)

3. Settings

There are several tabs containing various settings

  • Genaral - various global settings:
    • Save styles - automatically save style list in the main program INI file
    • Save OCR error list - automatically save OCR error list in the main program INI file
    • Show places bar in Open / Save dialogs - If checked the new dialog style is used in the OS that supports it.
    • Save workspace - save the paths to opened files and reopen them on start
    • Save subtitles when saving WSP or MVD - save the subtitles when MVD or WSP file is saved.
      • Save automatically (don't display the dialog) - subtitles are automatically saved using last filename when a WSP or MVD is saved and the Save dialog is not displayed
    • MRU limit - set the number of items in the Most Recently Used lists in menus
  • Player - settings concerning the movie player:
    • When clicking the seek bar - change behavior when user clicks on the seeking bars
      • Always play the movie - After clicking the seek bar, the movie starts to play, whether it was playing or not,
      • Always pause the movie - After clicking the seek bar, the movie will be paused, whether it was paused or not,
      • Play the movie if it was playing, pause it if it was paused - Maintain the same state of the movie as before the click.
    • Display both subtitles - both 1st and 2nd subtitles are shown in Player. The position determined by style is ignored.
    • Position of first subtitles - control the position of the first subtitles (top or bottom). The second subtitles are displayed on the opposite edge of the screen.
    • Automatically switch to this audio stream - automatically switch to selected audio stream when a multi-language movie is loaded (if not enabled, all streams will play simultaneously).
  • Translator - configuration of the Translator:
    • Position of the first subtitles - if the first subtitles are displayed in the top or the bottom grid.
  • Editor - options for the Editor:
    • When switching units in subtitle start/end use the subtitle's old value - see Editor.
  • Subtitle grids - settings concerning the display of subtitles in the grids
    • Subtitles highlighting - font styles for various types of subtitles
  • Controls - configuration of the keyboard controls
  • Subtitle format - options regarding supported subtitle formats
    • Format for saving subtitles - determines the preselected format in the Save dialog box
    • Format tabs - options for the formats


Dialogs

Other dialogs

1. Format selection

This dialog is displayed when SubtitleProcessor fails to determine the subtitle format automatically. In 99.9% cases the file can't be opened.

The controls in this dialog are:

  • Text preview - first few lines of the file being opened
  • Select format - select one of the supported formats
  • Ok - open the file in the selected format
  • Cancel - don't open the file

2. Drag & Drop

Displays the files that were dropped from the Explorer or specified in the command line. The controls are:

  • Files - displays list of dropped files
  • 1.sub - Open selected file as first subtitles
  • 2.sub - Open selected file as second subtitles (translator)
  • A/V - Open selected file as multimedia file
  • MVD - Open selected file as Movie description (movie and main subtitles will be loaded)
  • WSP - Open selected file as Workspace
  • OK - Close window without opening the files

3. Movie & Subtitles Information

Displays the movie information. Movie name can be edited. This name is loaded and saved from movie description (MVD) and then displayed in some movie players. It is not changed when the plain AVI is loaded.

4. Split subtitle

Split the displayed subtitle. Edit the text and move the separator (using buttons or PgUp/PgDn keys) to determine which text will go to which subtitle. The subtitle will be split at the point in time determined by the Split Timestamp.

5. About box

Displays information about SubtitleProcessor. It can be closed by clicking on the OK button. The 3rd party components button shows a list of used components.

Try to moving the mouse pointer over different parts oft the pictures and clicking when it changes!


Keyboard controls
Movie Player - General
Action | Everywhere | Full-screen mode
Play / Pause toggle | Ctrl + Space | Space | -
Audio Stream Toggle | Shift + Ctrl + A | A | -
Toggle full-screen mode | Ctrl + Tab | Tab (Player tab or Full-screen mode) | -
Toggle OSD | Ctrl + O | O | -
Movie Player - Seeking
Action | Everywhere | Full-screen mode
Jump to next subtitle | Ctrl + PgDn | PgDn | -
Jump to previous subtitle | Ctrl + PgUp | PgUp | -
Jump 1 frame back | Ctrl + F8 | F8 | -
Jump 5 frames back | Ctrl + F7 | F7 | -
Jump 1 second back | Ctrl + F6 | F6 | -
Jump 4 seconds back | Ctrl + F5 | F5 | -
Jump 30 seconds back | Alt + Ctrl + Left arrow | -NONE- | -
Jump 1 frame forward | Ctrl + F9 | F9 | -
Jump 5 frames forward | Ctrl + F10 | F10 | -
Jump 1 second forward | Ctrl + F11 | F11 | -
Jump 4 seconds forward | Ctrl + F12 | F12 | -
Jump 30 seconds forward | Alt + Ctrl + Right arrow | -NONE- | -
Movie Player - Picture &Colors
Action | Everywhere | Player window and Full-screen mode
Brightness + | Shift + B | Alt + Mouse Wheel Down | +
Brightness - | Ctrl + B | Alt + Mouse Wheel Up | +
Contrast + | Shift + C | Ctrl + Mouse Wheel Down | +
Contrast - | Ctrl + C | Ctrl + Mouse Wheel Up | +
Gamma + | Shift + G | Shift + Mouse Wheel Down | +
Gamma - | Ctrl + G | Shift + Mouse Wheel Up | +
Zoom + | Alt + Numpad + | Mouse Wheel Down | -
Zoom - | Alt + Numpad - | Mouse Wheel Up | -
Move right | Ctrl + Right arrow | Right arrow (Full-screen mode only) | -
Move left | Ctrl + Left arrow | Left arrow (Full-screen mode only) | -
Move up | Ctrl + Up arrow | Up arrow (Full-screen mode only) | -
Move down | Ctrl + Down arrow | Down arrow (Full-screen mode only) | -
Reset picture size | Ctrl + Home | Home | -
Aspect ratio + | Ctrl + Numpad * | Numpad * | -
Aspect ratio - | Ctrl + Numpad / | Numpad / | -
Subtitle Grids
Action | Focused subtitle grids | Focused subtite grids in edit mode
Add subtitle | Numpad + | Ctrl + Numpad + | -
Add subtitle after the selected | Shift + Numpad + | Shift + Ctrl + Numpad + | -
Remove selected subtitles | Numpad - | Ctrl + Numpad - | -
Split subtitle | Numpad / | Ctrl + Numpad / | -
Join subtitles | Numpad * | Ctrl + Numpad * | -
Select all subtitles | Ctrl + A | Shift + Ctrl + A | -
Mark / Unmark subtitles | Ctrl + M | Shift + Ctrl + M | -
Search for text | Ctrl + F (Editor window and focused subtitle grids) | Shift + Ctrl + F | -
Translator
Action | Translator window |
Copy timestamps from top to bottom | Ctrl + End | -NONE- | -
Copy timestamp from bottom to top | Ctrl + Home | -NONE- | -
Copy text from top to bottom | Ctrl + Del | -NONE- | -
Copy text from bottom to top | Ctrl + Ins | -NONE- | -
General
Action | Various | Various
Close dialog window (Cancel) | Esc (Closable dialogs) | -NONE- | -