SubFixer

A tool to join, split or fix subtitle files.

SubFixer.zip, Version 1.1, Size: 39,326 bytes.
CRC32/MD5 codes: 19928043/7C72A26D86CC994DA1417A407484DAAE.
This is tested and known to work on all 32-bit versions of Windows.
Operation in Win64, and Wine under Linux, has not been tested, but it may work.

If you're reading this, you already know why you might want it, so I won't say much. The pictures will make it clear enough.

What I must say is that VOBSUB can't handle SRT files. This can. Actually, VOBSUB in one case I tried, failed to handle its own format without huge sync errors! I couldn't even find a tool to use with SRT files, so at that point I knew I had to make my own, or do without.

I was determined to join all my files to avoid interruptions while watching them. There's little point now in forcing files into CD-sized chunks when it's better to use old hard disks to store them because if done carefully, this has a longer lifetime than DVD, CD or Flash storage.

Between VirtualDubMod and this tool, I have fixed enough files to know this tool is solid (it even fixed the VOBSUB files that VOBSUB couldn't fix), so now I make it available to you.

   

   

   

Assuming the tool got passed the correct command line arguments, it will output the data intended. It will put it into the current working directory, usually the desktop if not otherwise specified. The data preserves all internal timestamp and file offset references as cleanly as in the original sources, adjusting as required. If the user-supplied timestamp is correct, the output will be correct. Input files are never modified. If by some co-incidence an input filename matches the default output name, the tool will not overwrite the file. Try on some test copies first, just so you know it's safe.

The main change with SubFixer v1.1 is timestamp scaling. The need for offset correction at times is obvious, but scaling is extremely useful if you have subtitles for a PAL release but you have NTSC, or vice versa. Scaling by *1.042709376 will convert PAL to NTSC, and its reciprocal, *0.95904, will reverse the conversion.

This tool can join more than two parts. While it can only use two at once, you can call it to append any extras if you know the resulting timestamp needed after joining the first. Likewise, it can split a very large file into multiple parts the same way. I could have made the tool more complicated, but this is unwise. It's better to keep it simple to minimise the risk of error.

The only thing left to say is that this tool was built using LuaTools, a hybrid of C and the language Lua. (Lua is developed in the university in Rio, Brazil). LuaTools makes separate executable files that run independently of any Lua installation. I have made it available because I think people should be willing and able to make their own tools, so if I can make that easier, I do it.