/// <summary>
        /// Processes the file as media item. OBSOLETE
        /// </summary>
        /// <param name="filename">The filename.</param>
        /// <param name="outputDirectory">The output directory.</param>
        private void processFile(string filename, string outputDirectory)
        {
            THelper.Information ("Processing {0} ...", filename);

            DateTime startTime = DateTime.Now;

            MSEEncoder.MediaItem mediaItem;
            try
                {
                mediaItem = new MSEEncoder.MediaItem (filename);
                }
            catch (MSEEncoder.InvalidMediaFileException)
                {
                THelper.Critical("\"" + filename + "\" isn't a video file.");
                return;
                }
            bool hasVideo = (mediaItem.OriginalFileType &
                MSEEncoder.FileType.Video) == MSEEncoder.FileType.Video;
            if (!hasVideo)
                {
                THelper.Critical ("\"" + filename + "\" isn't a video file.");
                return;
                }

            if (_tnSettings.End == TimeSpan.Zero)
                _tnSettings.End = mediaItem.FileDuration - new TimeSpan (0, 0, 5);
            else if (_tnSettings.End < TimeSpan.Zero)
                _tnSettings.End = mediaItem.FileDuration + _tnSettings.End;
            else if (_tnSettings.End > mediaItem.FileDuration)
                _tnSettings.End = mediaItem.FileDuration;

            DateTime mediaItemCreated = DateTime.Now;
            THelper.Information ("{0} to create Microsoft.Encoder.MediaItem.",
                                (mediaItemCreated - startTime).ToString(@"h\:mm\:ss"));

            ThumbnailCreator tg;
            DateTime overviewCreated;
            int nThumbs;
            int originalBorder = _tnSettings.Border;
            _tnSettings.SrcRect =
                new System.Drawing.Rectangle (0, 0,
                                              mediaItem.OriginalVideoSize.Width,
                                              mediaItem.OriginalVideoSize.Height);
            double videoAspect = (double) mediaItem.OriginalVideoSize.Width /
                mediaItem.OriginalVideoSize.Height;
            _tnSettings.ThumbAspectRatio = videoAspect;

            int x, y, newWidth, newHeight;

            if (_cropAspect != 0.0)
                {
                if (_cropAspect > videoAspect)
                    {
                    x = 0;
                    newWidth = mediaItem.OriginalVideoSize.Width;

                    newHeight = (int) (mediaItem.OriginalVideoSize.Width /
                                     _cropAspect + 0.5);
                    y = (int) ((mediaItem.OriginalVideoSize.Height - newHeight)
                        / 2.0);
                    }
                else
                    {
                    y = 0;
                    newHeight = mediaItem.OriginalVideoSize.Height;

                    newWidth = (int) (mediaItem.OriginalVideoSize.Height *
                                      _cropAspect + 0.5);
                    x = (int) ((mediaItem.OriginalVideoSize.Width - newWidth)
                        / 2.0);
                    }
                _tnSettings.SrcRect = new System.Drawing.Rectangle (x, y,
                                                                   newWidth,
                                                                   newHeight);
                _tnSettings.ThumbAspectRatio = (double) newWidth / newHeight;
                }

            if (_stretchAspect != 0.0)
                {
                _tnSettings.ThumbAspectRatio = _stretchAspect;
                }

            if (!_skipOverview)
                {
                _tnSettings.Border = 1;
                tg = new ThumbnailCreator (_tnSettings, _debug);

                nThumbs = tg.GenerateOverviewThumbs (mediaItem, filename, outputDirectory);
                overviewCreated = DateTime.Now;
                THelper.Information ("{0} to create overview thumbnails.",
                                     (overviewCreated - mediaItemCreated).ToString(@"h\:mm\:ss"));
                THelper.Information ("{0} thumbs created. {1:F2} seconds / thumb.",
                       nThumbs, (overviewCreated - mediaItemCreated).TotalSeconds / nThumbs);
                }
            else
                {
                overviewCreated = DateTime.Now;
                THelper.Information ("Overview page skipped.");
                }

            _tnSettings.Border = originalBorder;

            tg = new ThumbnailCreator (_tnSettings, _debug);
            nThumbs = 0;
            if (_tnSettings.Interval.TotalSeconds > 0)
                {
                TimeSpan originalInterval = _tnSettings.Interval;
                if (mediaItem.FileDuration.TotalMinutes < 45 && originalInterval.TotalSeconds > 2)
                    _tnSettings.Interval = new TimeSpan (0, 0, 2);

                nThumbs = tg.GenerateMultiThumbs (mediaItem, filename, outputDirectory);

                _tnSettings.Interval = originalInterval;
                }
            DateTime multiCreated = DateTime.Now;
            if (nThumbs > 0)
                {
                THelper.Information ("{0} to generate multi-page thumbnails.",
                                    (multiCreated - overviewCreated).ToString(@"h\:mm\:ss"));
                THelper.Information ("{0} thumbs created. {1:F2} seconds / thumb.",
                                     nThumbs, (multiCreated - overviewCreated).TotalSeconds / nThumbs);
                }
            else
                {
                THelper.Information ("Multi-page thumbnails skipped.");
                }

            THelper.Information ("{0} overall time to process {1}.",
                                (multiCreated - startTime).ToString(@"h\:mm\:ss"), filename);
            THelper.Information ();
        }