public void RaiseTaskStepInitEvent(StepDetail currentStepDetail)
 {
     if (TaskStepInit != null)
     {
         TaskStepInit(currentStepDetail);
     }
 }
예제 #2
0
 public void RaiseTaskStepInitEvent(StepDetail currentStepDetail)
 {
     if (TaskStepInit != null)
     {
         TaskStepInit(currentStepDetail);
     }
 }
        public void RaiseTaskProgressEvent(StepDetail currentStepDetail, int stepsDone)
        {
            TaskbarThumbnailManager.Instance.UpdateProgress((ulong)stepsDone, (ulong)TotalSteps);

            if (TaskProgress != null)
            {
                TaskProgress(currentStepDetail, stepsDone);
            }
        }
예제 #4
0
        public void RaiseTaskProgressEvent(StepDetail currentStepDetail, int stepsDone)
        {
            TaskbarThumbnailManager.Instance.UpdateProgress((ulong)stepsDone, (ulong)TotalSteps);

            if (TaskProgress != null)
            {
                TaskProgress(currentStepDetail, stepsDone);
            }
        }
예제 #5
0
        public override StepDetail RunNextStep()
        {
            StepDetail sd = new StepDetail();

            //sd.Description = SearchPath;
            sd.IsSuccess = true;
            sd.Results = "TXT_SUCCESS";

            finished = true;

            return sd;
        }
예제 #6
0
        public override StepDetail RunNextStep()
        {
            StepDetail detail = new StepDetail();
            detail.Description = string.Format("Importing from {0} ...", SourcePath);

            _abortScan = false;

            try
            {
                Catalog cat = new Catalog(CatalogPath);
                CatalogItem parent = cat.GetByItemID(InsertionPointID);

                ScanFolder(cat, new System.IO.DirectoryInfo(SourcePath), parent);

                finished = true;

                if (!_abortScan)
                {
                    cat.CatalogDescription = CatalogDescription;
                    cat.Save(CatalogPath);
                }

                detail.Results = (_abortScan) ? Translator.Translate("TXT_ABORTED") : Translator.Translate("TXT_SUCCESS");
                detail.IsSuccess = !_abortScan;
            }
            catch(Exception ex)
            {
                detail.Results = ex.Message;
                detail.IsSuccess = false;
            }
            finally
            {
                finished = true;
            }

            return detail;
        }
예제 #7
0
        private StepDetail ProcessTrack(Track track)
        {
            string newFileName = string.Format("{0}.{1}",
                CdRipper.GetFileName(WordCasing.KeepCase, track, OutputFilePattern),
                this.EncoderSettings.AudioMediaFormatType.ToString().ToLowerInvariant());

            StepDetail detail = new StepDetail();
            detail.Description = Translator.Translate("TXT_PROCESSING_TRACK", track, newFileName);
            RaiseTaskStepInitEvent(detail);

            detail.Results = Translator.Translate("TXT_UNHANDLED");
            detail.IsSuccess = false;

            try
            {
                _grabber = CdRipper.CreateGrabber(this.EncoderSettings.AudioMediaFormatType);
                char letter = Drive.RootDirectory.FullName.ToUpperInvariant()[0];
                using (CDDrive cd = new CDDrive())
                {
                    if (cd.Open(letter) && cd.Refresh() && cd.HasAudioTracks())
                    {
                        string destFile = Path.Combine(OutputFolder, newFileName);

                        bool generateTagsFromMetadata = false;

                        switch (this.EncoderSettings.AudioMediaFormatType)
                        {
                            case AudioMediaFormatType.WAV:
                                break;

                            case AudioMediaFormatType.MP3:
                                (_grabber as GrabberToMP3).Mp3ConversionOptions = this.EncoderSettings.Mp3EncoderSettings.Mp3ConversionOptions;
                                generateTagsFromMetadata = this.EncoderSettings.Mp3EncoderSettings.GenerateTagsFromTrackMetadata;
                                break;
                        }

                        _grabber.Grab(cd, track, destFile, generateTagsFromMetadata);
                    }
                }

                detail.IsSuccess = true;
            }
            catch (Exception ex)
            {
                detail.Results = ex.Message;
            }

            return detail;
        }
예제 #8
0
        private void ReportPseudoStepInit(string desc)
        {
            StepDetail detail = new StepDetail();
            detail.Description = desc;

            RaiseTaskStepInitEvent(detail);
        }
예제 #9
0
        private StepDetail ProcessFile(string file)
        {
            StepDetail detail = new StepDetail();
            detail.Description = "TXT_PROCESSING_FILE: " + file;
            RaiseTaskStepInitEvent(detail);

            detail.Results = Translator.Translate("TXT_UNHANDLED");
            detail.IsSuccess = false;

            try
            {
                switch (taskType)
                {
                    case TaskType.MultiRename:
                        detail.Results = RenameFile(file);
                        break;

                    case TaskType.EditTag:
                        detail.Results = ChangeTag(file);
                        break;

                    case TaskType.FillTagByFS:
                        detail.Results = GenerateTag(file);
                        break;

                    case TaskType.ChangeEncoding:
                        detail.Results = ChangeEncoding(file);
                        break;
                }

                detail.IsSuccess = true;
            }
            catch (Exception ex)
            {
                detail.Results = ex.Message;
                detail.IsSuccess = false;
            }

            return detail;
        }