Subtitler - Sub Station Alpha v2.x/4.x subtitling plugin for VirtualDub Copyright (C) 2000 Avery Lee, All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. This plugin is not endorsed or affiliated with Sub Station Alpha or its author, Kotus. ---------------------------------- How to use it: Copy subtitler.vdf into the PLUGINS\ directory in the VirtualDub program directory. The filter will then automatically load when the main program starts. To use it, go to Video > Filters and add the "subtitler" filter. You'll then be able to select a script filename and optionally turn on text antialiasing. Subtitler accepts Sub Station Alpha V2.x and V4.x scripts. Using text antialiasing is highly recommended, because it improves the quality of text, particularly at smaller frame sizes such as 320x240. With text antialiasing off, a border of 1 is always used, and shadows are not rendered. Thin-stemmed fonts, such as Times New Roman, may appear dark and thin, in which case you should enable bold text on the style. "Shadows" are always rendered as dropshadows of the outline with 50% translucency; borders are rendered as the given circular radius from the text. The Sub Station Alpha script format uses pixels for positioning, so subtitler must scale margin and font size values to fit the video frame. SSAv4 scripts should appear proportionally correct to the original, although you may need to tweak the script if it originally used very small fonts. Scripts from older versions of SSA may not have the original desktop resolution; in this case, the subtitler doesn't know how big the text originally was and will simply render with the specified pixel sizes. This can be rectified by inserting the PlayResY: header at the top: [Script Info] ; This is a Sub Station Alpha v4 script. ; For Sub Station Alpha info and downloads, ; go to http://www.eswat.demon.co.uk/ ; or email kotus@eswat.demon.co.uk Title: Original Script: Collisions: Normal PlayResY: 480 PlayDepth: 0 Subtitler assumes a 5:4 aspect ratio for PlayResY:1024 (1280x1024) and a 4:3 aspect ratio for all other resolutions. With version 1.3, text is only rendered at the beginning of the subtitle, and rendered from a cache until the end of the subtitle. In general, this results in a slight speed increase over V1.2. Thick outlines may take as long as a third of a second to render due to antialiasing, but the pause will not show up in the final output. Also in V1.3, SSA's smart wrapping mode is finally supported. This causes the subtitler to squeeze margins during word wrapping to even up text between lines. Soft returns (\n) are converted to spaces, and hard returns (\N) force breaks in text. Alignment overrides {\a3} are supported, but the first one encountered is used for the entire dialogue line. This should be the same as SSA's rendering behavior, although you should only use one alignment override anyway. Note that some versions of SSA4 will render the preview differently from the final titles if multiple alignment overrides are used in the same dialogue line. Note: Due to a bug in VirtualDub 1.3d, this filter cannot be used in frameserver mode. This bug has been fixed in VirtualDub 1.4+. Special thanks to paQ, who found a number of bugs in earlier releases and helped immensely in the development of this filter. ---------------------------------- The following features are supported: * Styles. * Color text. * Horizontal and vertical positioning with positional collision detection and resolution. * \a, \b, \i, \fs, \fn, \c, and \r style overrides. * Variable text border and shadow. ---------------------------------- The following features are not supported: * Audio, video, and program exec events. * Color collision resolution. * Karaoke and scrolling. * Embedded fonts and images. * Font encodings. ---------------------------------- Fixed in version 1.3b: * Fixed a critical smart wordwrapping problem. The smart wrapping works by crunching the margins until an extra line drops out. If the subtitler encountered a dialogue line like: w\Nw\Nw it hung in a loop because none of the lines would ever wrap. The filter now stops smart wrapping when this occurs. ---------------------------------- Fixed in version 1.3a: * Fixed some memory leaks and stability issues. ---------------------------------- Fixed in version 1.3: * Style overrides did not always work properly, because subtitler skipped too many characters after the first override. * After word-wrapping, all lines from a dialogue line were left-justified relative to each other, even though the whole was justified correctly. * \n (soft break) was accepted as a line break, but \N (hard break) was not. * Outlines could overlap text if style overrides were used in between non-whitespace characters (i.e. err{\i1}or). ---------------------------------- Fixed in version 1.2: * Style name checking ignores leading *'s. ---------------------------------- Fixed in version 1.1: * Subtitles work past one hour.