public void LoadFile(string filepath) { Focus(); output.Stop(); output.Load(filepath); output.Play(); string name = Path.GetFileName(filepath); InputFileVm.inputFileViewModel.Set(name, output); DiscordIntegration.Update(string.Empty, string.Format(Properties.Resources.Listening, name)); PlayPauseImg.Source = new BitmapImage(new Uri("pack://application:,,,/Resources/pause.png")); }
private void OnPlayPauseClick(object sender, RoutedEventArgs e) { if (output.HasMedia) { if (!output.FileName.Equals(_oldPlayedSound)) { output.Stop(); output.Load(_oldPlayedSound); output.Play(); string name = Path.GetFileName(_oldPlayedSound); InputFileVm.inputFileViewModel.Set(name, output); DiscordIntegration.Update(string.Empty, string.Format(Properties.Resources.Listening, name)); PlayPauseImg.Source = new BitmapImage(new Uri("pack://application:,,,/Resources/pause.png")); } else if (output.IsPlaying) { output.Pause(); PlayPauseImg.Source = new BitmapImage(new Uri("pack://application:,,,/Resources/play.png")); } else if (output.Paused) { output.Resume(); PlayPauseImg.Source = new BitmapImage(new Uri("pack://application:,,,/Resources/pause.png")); } else if (output.IsStopped) { output.Play(); PlayPauseImg.Source = new BitmapImage(new Uri("pack://application:,,,/Resources/pause.png")); } } else { if (Sound_LstBox.SelectedIndex > -1 && Sound_LstBox.SelectedItem is ListBoxViewModel2 selected) { output.Stop(); output.Load(selected.FullPath); output.Play(); InputFileVm.inputFileViewModel.Set(selected.Content, output); DiscordIntegration.Update(string.Empty, string.Format(Properties.Resources.Listening, selected.Content)); PlayPauseImg.Source = new BitmapImage(new Uri("pack://application:,,,/Resources/pause.png")); } } }
public void LoadFile(string filepath) { ListBoxViewModel2 item = ListBoxVm.soundFiles.Where(x => x.FullPath.Equals(filepath)).FirstOrDefault(); if (item == null) { Focus(); item = new ListBoxViewModel2 { Content = Path.GetFileName(filepath), Data = null, FullPath = filepath, Folder = string.Empty }; ListBoxVm.soundFiles.Add(item); if (ListBoxVm.soundFiles.Count == 1) // auto play if one in queue { output.Stop(); output.Load(filepath); output.Play(); Sound_LstBox.SelectedIndex = 0; string name = Path.GetFileName(filepath); InputFileVm.inputFileViewModel.Set(name, output); DiscordIntegration.Update(string.Empty, string.Format(Properties.Resources.Listening, name)); PlayPauseImg.Source = new BitmapImage(new Uri("pack://application:,,,/Resources/pause.png")); } else { Sound_LstBox.SelectedIndex = ListBoxVm.soundFiles.IndexOf(item); Sound_LstBox.ScrollIntoView(item); } } else { Focus(); Sound_LstBox.SelectedIndex = ListBoxVm.soundFiles.IndexOf(item); Sound_LstBox.ScrollIntoView(item); } }
private async Task LoadPakFiles(EPakLoader mode) { ListBoxVm.gameFiles.Clear(); DataGridVm.dataGridViewModel.Clear(); ImageBoxVm.imageBoxViewModel.Reset(); StatusBarVm.statusBarViewModel.Reset(); AvalonEditVm.avalonEditViewModel.Reset(); PakPropertiesVm.pakPropertiesViewModel.Reset(); SortedTreeviewVm.gameFilesPath.Childrens.Clear(); AssetPropertiesVm.assetPropertiesViewModel.Reset(); await Task.Run(async() => { if (mode == EPakLoader.Single) { StatusBarVm.statusBarViewModel.Set($"{Properties.Settings.Default.PakPath}\\{PakFile.FileName}", Properties.Resources.Loading); DebugHelper.WriteLine("{0} {1} {2} {3}", "[FModel]", "[PakMenuItemViewModel]", "[Loader]", $"{PakFile.FileName} was selected ({mode})"); } else { StatusBarVm.statusBarViewModel.Set(Properties.Settings.Default.PakPath, Properties.Resources.Loading); DebugHelper.WriteLine("{0} {1} {2} {3}", "[FModel]", "[PakMenuItemViewModel]", "[Loader]", $"All PAK files were selected ({mode})"); } foreach (PakFileReader pakFile in MenuItems.pakFiles.GetPakFileReaders()) { if (pakFile.AesKey == null) { continue; } if (!Globals.CachedPakFiles.ContainsKey(pakFile.FileName)) { pakFile.ReadIndex(pakFile.AesKey); Globals.CachedPakFiles[pakFile.FileName] = pakFile; if (mode != EPakLoader.Single) { StatusBarVm.statusBarViewModel.Set(string.Format(Properties.Resources.MountedPakTo, pakFile.FileName, pakFile.MountPoint), Properties.Resources.Loading); } } } if (mode == EPakLoader.Single) { PakPropertiesVm.pakPropertiesViewModel.Set(PakFile); } await Localizations.SetLocalization(Properties.Settings.Default.AssetsLanguage, false).ConfigureAwait(false); PopulateTreeviewViewModel(mode); }).ContinueWith(t => { DiscordIntegration.Update( $"{Globals.CachedPakFiles.Count}/{MenuItems.pakFiles.GetPakCount()} {Properties.Resources.PakFiles}", string.Format("{0} - {1}", Globals.Game, mode == EPakLoader.All ? Properties.Resources.AllFiles : mode == EPakLoader.New ? Properties.Resources.NewFiles : mode == EPakLoader.Modified ? Properties.Resources.ModifiedFiles : mode == EPakLoader.NewModified ? Properties.Resources.NewModifiedFiles : mode == EPakLoader.Single ? Header.Substring(0, Header.LastIndexOf("-WindowsClient.pak")) : string.Empty )); if (t.Exception != null) { Tasks.TaskCompleted(t.Exception); } else { StatusBarVm.statusBarViewModel.Set( mode == EPakLoader.Single ? $"{Properties.Settings.Default.PakPath}\\{PakFile.FileName}" : Properties.Settings.Default.PakPath, Properties.Resources.Success); } }, TaskScheduler.FromCurrentSynchronizationContext()); GC.Collect(); GC.WaitForPendingFinalizers(); }