+ private void RedrawQueue()\r
+ {\r
+ if (InvokeRequired)\r
+ {\r
+ BeginInvoke(new UpdateHandler(RedrawQueue));\r
+ return;\r
+ }\r
+\r
+ list_queue.Items.Clear();\r
+ ReadOnlyCollection<Job> theQueue = queue.CurrentQueue;\r
+ foreach (Job queue_item in theQueue)\r
+ {\r
+ string q_item = queue_item.Query;\r
+ Functions.QueryParser parsed = Functions.QueryParser.Parse(q_item);\r
+\r
+ // Get the DVD Title\r
+ string title = parsed.DVDTitle == 0 ? "Auto" : parsed.DVDTitle.ToString();\r
+\r
+ // Get the DVD Chapters\r
+ string chapters;\r
+ if (parsed.DVDChapterStart == 0)\r
+ chapters = "Auto";\r
+ else\r
+ {\r
+ chapters = parsed.DVDChapterStart.ToString();\r
+ if (parsed.DVDChapterFinish != 0)\r
+ chapters = chapters + " - " + parsed.DVDChapterFinish;\r
+ }\r
+\r
+ ListViewItem item = new ListViewItem();\r
+ item.Text = title; // Title\r
+ item.SubItems.Add(chapters); // Chapters\r
+ item.SubItems.Add(queue_item.Source); // Source\r
+ item.SubItems.Add(queue_item.Destination); // Destination\r
+ item.SubItems.Add(parsed.VideoEncoder); // Video\r
+\r
+ // Display The Audio Track Information\r
+ string audio = string.Empty;\r
+ foreach (AudioTrack track in parsed.AudioInformation)\r
+ {\r
+ if (audio != "")\r
+ audio += ", " + track.Encoder;\r
+ else\r
+ audio = track.Encoder;\r
+ }\r
+ item.SubItems.Add(audio); // Audio\r