The Skype Auto Recorder version 1.2 was released. It contains important bug fixes and finally can be treated as stable.

The source code is available on GitHub.

Changes in version 1.2

Fixed the issue when application doesn’t record MP3-file for some reason

It was difficult to find why sometimes application doesn’t return MP3-file. Furthermore, it even doesn’t start merging WAV channels saved by Skype. So finally I figured out the cause of a problem: Skype sends API message that the call has ended but still keeps output files locked. And looks like, it doesn’t depend on duration of the conversation. Locked files can’t be read and the only way to handle such situation is simply wait when they are released.

There is no build-in .NET Framework method to check that some file is in use, so a small tip how to do it:

try
{
    using (new FileStream(fileName, FileMode.Open))
    {
    }

    return false;
}
catch (IOException)
{
    return true;
}

This version was primary aimed on fixing existing issues. There are still several features that I’m planning to implement in the next release: formats for placeholders, distribution to several locations from one filter, new icon and images 🙂 and some others.

Now SkypeAutoRecorder waits for files before starting to process them.

Implemented handling of Skype disconnects and connection problems during conversation

From now application handles such situations correctly and save already recorded conversation. The bad side of Skype API that there is no explicit message about disconnect or connection problems (or maybe I just haven’t found it). The only way to react is to wait for API message with text CALL <ID> STATUS UNPLACED.

Implemented {duration} placeholder

From now it can be used in file names and returns duration of the recorded conversation in format hh.mm.ss (for example, 00.23.45).

Improved settings loading

Application will not throw an exception if can’t load settings (if file is corrupted or outdated). In case of error it will simply use default settings.

Several code improvements and refactorings

Format of settings-file still the same so existing settings will be used correctly in the new version.

Add comment