private void listVoices_ItemChecked(object sender, ItemCheckedEventArgs e)
        {
            //QuestToSpeech.Voice s = Array.Find(tmpSelectedList.ToArray(), delegate (QuestToSpeech.Voice tv) { return (tv.Gender == v.Gender && tv.Name == v.Name && tv.LangCode == v.LangCode && tv.Module == v.Module); });

            if (drawn)
            {
                QuestToSpeech.Voice voice = new QuestToSpeech.Voice()
                {
                    Name     = e.Item.SubItems[0].Text,
                    Gender   = e.Item.SubItems[1].Text == "Female" ? QuestToSpeech.Gender.Female : QuestToSpeech.Gender.Male,
                    LangCode = e.Item.SubItems[3].Text,
                    Module   = QuestToSpeech.GetModule(e.Item.SubItems[2].Text)
                };

                if (e.Item.Checked)
                {
                    if (!tmpSelectedList.Exists(vx => QuestToSpeech.IsVoice(vx, voice)))
                    {
                        tmpSelectedList.Add(voice);
                    }
                }
                else
                {
                    if (tmpSelectedList.Exists(vx => QuestToSpeech.IsVoice(vx, voice)))
                    {
                        tmpSelectedList.Remove(tmpSelectedList.Find(vx => QuestToSpeech.IsVoice(vx, voice)));
                    }
                }
            }

            lblNumTotalSelected.Text = string.Format("(Total selected {0})", tmpSelectedList.Count);
        }
        private void btnTestVoice_Click(object sender, EventArgs e)
        {
            if (listVoices.SelectedItems.Count > 0)
            {
                ListViewItem i = listVoices.SelectedItems[0];

                testString = Prompt.InputDialog(string.Format("Voice: {2}, {0} ({1})", i.SubItems[0].Text, i.SubItems[1].Text, i.SubItems[2].Text), "Enter a sentence to speak", testString == null ? "" : testString);

                if (!string.IsNullOrWhiteSpace(testString))
                {
                    QuestToSpeech.Voice v = new QuestToSpeech.Voice()
                    {
                        Name     = i.SubItems[0].Text,
                        Gender   = i.SubItems[1].Text == "Female" ? QuestToSpeech.Gender.Female : QuestToSpeech.Gender.Male,
                        LangCode = i.SubItems[3].Text,
                        Module   = QuestToSpeech.GetModule(i.SubItems[2].Text)
                    };

                    Thread t = new Thread(() => VoiceTestSpeak(testString, v));
                    t.Start();
                }
            }
            else
            {
                MessageBox.Show("No row selected");
            }
        }