The original purpose of the SubLib subtitle library was to provide multimedia applications with a common and simple way to work with different file formats, performing file editing, searching, translation and synchronization.
Since its creation, although some projects have used SubLib in order to take some concepts and ideas, as was the case with a couple of commercial applications, SubLib itself wasn't used by those projects. In fact, SubLib is currently only used by the Gnome Subtitles project.... read more
SubLib 0.9 has been released. Release details follow.
- Added support for the following subtitle formats:
* AQ Title
* SubCreator 1.x
* ViPlay Subtitle File
- Improved subtitle format auto-detection
- Allow to install the library with autotools
This release features:
* Added support for the following subtitle formats:
o Adobe Encore DVD
o DKS Subtitle Format
o Karaoke Lyrics LRC
o Karaoke Lyrics VKT
o Phoenix Japanimation Society
o Power DivX
* Different subtitle formats share similar headers, when edited
* Allow to import text lines, without timings, from a plain text file
- Added support for subtitle translation
* Translation property in each Subtitle
* Search methods now search in translation too
* Select the type of text content (text or translation) to use when saving
* Allow to clear translations and import a translation into existing subtitles
- Try every detected encoding instead of only the first one, and use the first
encoding that works
- Allow to trim subtitle lines when getting them
- When replacing blank lines, also apply the replacement if the text is empty
- EncodingNotSupportedException is now thrown if an Encoding is not supported by
the platform, when opening a file
- Fixed some bugs that were visible when doing a backwards search
- Updated NCharDet
This release features minor feature enhancements, including a new property to specify the type of newline (Macintosh, Unix or Windows) to be used when saving Subtitles.
This release features an overall refactoring:
- File-related state (character coding, path, subtitle format) isn't maintained anymore after parsing
- SubtitleProperties now only includes properties that aren't file-related
- FileProperties includes all the file-related properties
- Refactored the parsing engine, with ParsingProperties being used to store the properties set during parsing
- Fixed the codepage attribution for some character codings. Some were removed as no codepages were available
- SubtitleSaver now includes all file saving functionality. This was simplified, with most overloaded methods being removed
- New and Open methods were also simplified
- Updated the documentation
This release focuses on minor feature enhancements. The library now allows to find a subtitle given a specific time position. Utility functions for converting from time to frames, given the time in seconds, were also added.
This release features a stabilization of the API, as well as some useful improvements:
- Added Search functionality:
* Find with regular expressions
* Find next or previous
* Find with specified case sensitivity and wrapping options
* Start search on the specified subtitle and text index
- Added ReplaceAll functionality
- Now updates the timing mode after saving a file with a different timing mode
- Moved to the C# 2.0 compiler
Version 0.3 of the SubLib library has been released. List of changes:
- Encoding auto-detection can now fallback to a specified encoding (and possibly try to detect a Unicode BOM) when auto-detection fails.
- Encoding auto-detection throws UnknownEncodingException when encoding is not detected.
- Renamed UnknownCharEncodingException to UnknownEncodingException.
- Added property to get the preferred extension for a SubtitleType.
- Methods and properties for returning info on the available subtitle types are now static.
- The Subtitles.AvailableTypes property doesn't sort types from now on. The new AvailableTypesSorted property does sort the types.
- Added method to return a SubtitleTypeInfo given a SubtitleType.
- Open files are now guaranteed to be closed when errors occur.
- Added method to search for an extension in a SubtitleTypeInfo.
This release brings support for the following subtitle formats:SubViewer 1.0, SubViewer 2.0, MPlayer, MPlayer 2, MPSub (with both time and frame modes), Sub Station Alpha and Advanced Sub Station Alpha.
It also includes timings auto-adjustment based on 2 correct times / synchronization points, which can be used to correct all subtitles or just a range. Shifting subtitles can now also be applied to all subtitles or just a range.... read more
SubLib 0.1 is out. Take a look at the release notes for more information.
The Sublib project has a new web site. It's available at:
Version 0.0.5 has been released. I've been pointed out today that the previous release archives were corrupted. I'm sorry for not being able to detect that earlier, and would like to thank the (anonymous) user who commented on that on the project's blog.
Complete list of changes:
- Major namespace change, everything is inside the "SubLib" namespace now.
- Internal file organization change, Domain files are now under Application.
- Now tries western 1252 encoding if both auto-detection and the default encoding fail.
- Stop throwing exceptions when times and frames are accessed and invalid (use IsValid to validate)
- Possibility to create a new/empty subtitle file
- Associate a new subtitle file to a filename or set it unnamed
- SubtitleProperties now handles file path and allows operations on it
- Subtitle's duration field can now be changed, and not only the end field
- Subtitles are now indexed starting at 0, instead of 1
- Enumerations changed, removed the "Unknown" item for consistency
- New constructors to Times, Frames, Subtitle, SubtitleText and Subtitles
- Code cleanup.... read more
The project's source repository has been migrated to Subversion.