private string BuildFileNameFromTemplate(string speakerName, int index)
{
string defaultFileName = GetDefaultFileName();
// We want to replace ### with 003
// (GetDefaultFileName always returns at least 1 #)
int firstHashIndex = defaultFileName.IndexOf('#');
int lastHashIndex = defaultFileName.LastIndexOf('#');
return
(defaultFileName.Substring(0, firstHashIndex) + index.ToString("D" + (lastHashIndex - firstHashIndex + 1)) + defaultFileName.Substring(lastHashIndex + 1))
.Replace("$", speakerName);
}