Example #1
0
        private void OpenSdCard(string path)
        {
            SdPath = path;
            if (SD != null)
            {
                SD.Dispose();
            }

            GetAsyncProgress().QueueTask(progress => {
                progress.NewTask("Loading SD content");

                /* wtf is this doing here?
                 * if (SD != null) {
                 *      SongUpdateMutex.WaitOne();
                 *      Platforms.Add(SD);
                 *      SongUpdateMutex.ReleaseMutex();
                 * } */

                SD = PlatformRB2WiiCustomDLC.Instance.Create(SdPath, Game.Unknown, progress);
                progress.Progress();

                if (RiiFS != null)
                {
                    RiiFS.Stop();
                }
                StartRiiFS();
                RefreshRiiFS();

                UpdateSongList();
                progress.EndTask();
            });
        }
Example #2
0
        private void MenuFileClose_OnClick(object sender, EventArgs e)
        {
            PlatformData platform = (sender as ToolStripMenuItem).Tag as PlatformData;

            Progress.QueueTask(progress => {
                progress.NewTask("Closing " + platform.Platform.Name, 1);

                platform.Mutex.WaitOne();
                SongUpdateMutex.WaitOne();

                platform.Dispose();
                Platforms.Remove(platform);
                progress.Progress();

                SongUpdateMutex.ReleaseMutex();
                platform.Mutex.ReleaseMutex();

                RemovePlatform(platform);
                UpdatePlatformList();
                progress.EndTask();
            });
        }
Example #3
0
 private void MainForm_FormClosed(object sender, FormClosedEventArgs e)
 {
     try {
         foreach (PlatformData platform in Platforms)
         {
             platform.Dispose();
         }
     } catch { }
     try {
         if (Storage != null)
         {
             Storage.Dispose();
         }
     } catch { }
     try {
         if (SD != null)
         {
             SD.Dispose();
         }
     } catch { }
     try {
         if (RiiFS != null)
         {
             RiiFS.Stop();
         }
     } catch { }
     try {
         Console.SetOut(new StreamWriter(new MemoryStream()));
         if (LogStream != null)
         {
             LogStream.Close();
         }
     } catch { }
     try {
         Configuration.Save();
         DeleteTemporaryFiles();
     } catch { }
 }