private void HttpCompleted(object sender, DownloadStringCompletedEventArgs e)
        {
            if (e.Error == null)
            {
                try {
                    tmdb = JsonConvert.DeserializeObject <TitleMetadataDatabase>(e.Result);

                    if (this.InvokeRequired)
                    {
                        this.Invoke((MethodInvoker) delegate {
                            ChangeLanguage(this, "en");
                            tsbName.DropDownItems.Clear();

                            for (int i = 0; i < tmdb.names.Count(); i++)
                            {
                                if (string.IsNullOrEmpty(tmdb.names[i].lang))
                                {
                                    tmdb.names[i].lang = "(Default)";
                                }

                                byte[] nameBytes   = Encoding.Default.GetBytes(tmdb.names[i].name);
                                tmdb.names[i].name = Encoding.UTF8.GetString(nameBytes);

                                var tsi = new ToolStripMenuItem(tmdb.names[i].name);
                                tsi.DropDownItems.Add(tmdb.names[i].lang, null, tsbName_DropDownItemClicked);
                                tsbName.DropDownItems.Add(tsi);
                            }

                            foreach (var icon in tmdb.icons)
                            {
                                picIcon.ImageLocation = icon.icon;
                            }

                            tslConsoleType.Text = tmdb.console.ToString();

                            txtRevision.Text      = tmdb.revision.ToString();
                            txtFormatVersion.Text = tmdb.formatVersion.ToString();
                            txtParentalLevel.Text = tmdb.parentalLevel.ToString();

                            txtContentId.Text = tmdb.contentId.ToString();

                            txtCategory.Text = tmdb.category.ToString();

                            chkPsVr.Checked       = Convert.ToBoolean(tmdb.psVr);
                            chkNeoEnabled.Checked = Convert.ToBoolean(tmdb.neoEnable);
                        });
                    }
                } catch {
                    MessageBox.Show("Error parsing json file for game with np_title_id: " + txtNpTitleId.Text, "Error parsing",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                MessageBox.Show("Error finding game with np_title_id: " + txtNpTitleId.Text + "\n\n" + e.Error, "Not found",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        public frmExtra(TitleMetadataDatabase _tmdb, string np_title_id, string name)
        {
            InitializeComponent();

            tmdb      = _tmdb;
            this.Text = np_title_id + " - " + name;

            axWMP.settings.autoStart = false;

            bw                     = new BackgroundWorker();
            bw.DoWork             += new DoWorkEventHandler(bw_DoWork);
            bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted);

            if (!bw.IsBusy)
            {
                bw.RunWorkerAsync();
            }
        }