\r
HandBrakeUtils.SetDvdNav(!job.Configuration.IsDvdNavDisabled);\r
\r
+ ServiceLogMessage("Scanning title for encoding ... ");\r
this.instance.StartScan(job.Task.Source, job.Configuration.PreviewScanCount, job.Task.Title);\r
}\r
catch (Exception exc)\r
{\r
+ ServiceLogMessage("Scan Failed ... " + Environment.NewLine + exc);\r
this.InvokeEncodeCompleted(new EventArgs.EncodeCompletedEventArgs(false, exc, "An Error has occured.", this.currentTask.Task.Destination));\r
}\r
}\r
if (this.instance != null)\r
{\r
this.instance.PauseEncode();\r
+ ServiceLogMessage("Encode Paused");\r
this.IsPasued = true;\r
}\r
}\r
if (this.instance != null)\r
{\r
this.instance.ResumeEncode();\r
+ ServiceLogMessage("Encode Resumed");\r
this.IsPasued = false;\r
}\r
}\r
{\r
this.IsEncoding = false;\r
this.instance.StopEncode();\r
+ ServiceLogMessage("Encode Stopped");\r
}\r
catch (Exception)\r
{\r
/// </param>\r
private void ScanCompleted(QueueTask job, IHandBrakeInstance instance)\r
{\r
+ ServiceLogMessage("Scan Completed. Setting up the job for encoding ...");\r
+\r
// Get an EncodeJob object for the Interop Library\r
EncodeJob encodeJob = InteropModelCreator.GetEncodeJob(job);\r
\r
Title title = this.scannedSource.Titles.FirstOrDefault(t => t.TitleNumber == job.Task.Title);\r
if (title == null)\r
{\r
+ ServiceLogMessage("Title not found.");\r
throw new Exception("Unable to get title for encoding. Encode Failed.");\r
}\r
\r
};\r
\r
// TODO fix this tempory hack to pass in the required title information into the factory.\r
- instance.StartEncode(encodeJob, scannedTitle, job.Configuration.PreviewScanCount);\r
+ try\r
+ {\r
+ ServiceLogMessage("Starting Encode ...");\r
+ instance.StartEncode(encodeJob, scannedTitle, job.Configuration.PreviewScanCount);\r
+ }\r
+ catch (Exception exc)\r
+ {\r
+ ServiceLogMessage("Failed to start encoding ..." + Environment.NewLine + exc);\r
+ this.InvokeEncodeCompleted(new EventArgs.EncodeCompletedEventArgs(false, exc, "Unable to start encoding", job.Task.Source));\r
+ }\r
\r
// Fire the Encode Started Event\r
this.InvokeEncodeStarted(System.EventArgs.Empty);\r
private void InstanceEncodeCompleted(object sender, EncodeCompletedEventArgs e)\r
{\r
this.IsEncoding = false;\r
+ ServiceLogMessage("Encode Completed ...");\r
\r
this.InvokeEncodeCompleted(\r
e.Error\r
/// </summary>\r
public void Stop()\r
{\r
+ ServiceLogMessage("Stopping Scan.");\r
this.instance.StopScan();\r
\r
try\r
\r
HandBrakeUtils.SetDvdNav(!configuraiton.IsDvdNavDisabled);\r
\r
+ this.ServiceLogMessage("Starting Scan ...");\r
this.instance.StartScan(sourcePath.ToString(), previewCount, minDuration, title != 0 ? title : 0);\r
}\r
catch (Exception exc)\r
{\r
+ this.ServiceLogMessage("Scan Failed ..." + Environment.NewLine + exc);\r
this.Stop();\r
\r
if (this.ScanCompleted != null)\r
/// </param>\r
private void InstanceScanCompleted(object sender, System.EventArgs e)\r
{\r
+ this.ServiceLogMessage("Starting Completed ...");\r
+\r
// Write the log file out before we start processing incase we crash.\r
try\r
{\r
/// </param>\r
private void HandBrakeInstanceErrorLogged(object sender, MessageLoggedEventArgs e)\r
{\r
- lock (LogLock)\r
- {\r
- if (this.scanLog != null)\r
- {\r
- this.scanLog.WriteLine(e.Message);\r
- }\r
-\r
- this.logging.AppendLine(e.Message);\r
- }\r
+ this.LogMessage(e.Message);\r
}\r
\r
/// <summary>\r
/// </param>\r
private void HandBrakeInstanceMessageLogged(object sender, MessageLoggedEventArgs e)\r
{\r
- lock (LogLock)\r
- {\r
- if (this.scanLog != null)\r
- {\r
- this.scanLog.WriteLine(e.Message);\r
- }\r
-\r
- this.logging.AppendLine(e.Message);\r
- }\r
+ this.LogMessage(e.Message);\r
}\r
\r
/// <summary>\r
\r
return titleList;\r
}\r
+\r
+ /// <summary>\r
+ /// The log message.\r
+ /// </summary>\r
+ /// <param name="message">\r
+ /// The message.\r
+ /// </param>\r
+ private void LogMessage(string message)\r
+ {\r
+ lock (LogLock)\r
+ {\r
+ if (this.scanLog != null)\r
+ {\r
+ this.scanLog.WriteLine(message);\r
+ }\r
+\r
+ this.logging.AppendLine(message);\r
+ }\r
+ }\r
+\r
+ /// <summary>\r
+ /// The service log message.\r
+ /// </summary>\r
+ /// <param name="message">\r
+ /// The message.\r
+ /// </param>\r
+ protected void ServiceLogMessage(string message)\r
+ {\r
+ this.LogMessage(string.Format("# {0}", message));\r
+ }\r
#endregion\r
}\r
}
\ No newline at end of file