public KeyBindWindow(KeyBind keybind, SoundViewModel soundVM, Sound sound) { this.keybind = keybind; this.sound = sound; this.soundVM = soundVM; InitializeComponent(); }
public MainWindow() { SoundVM = new SoundViewModel(this); keyBind = new KeyBind(SoundVM); InitializeComponent(); List <Sound> x = new List <Sound>(); DataContext = SoundVM; Source = CollectionViewSource.GetDefaultView(SoundVM.Sounds); Source.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Descending)); ListOfSounds.ItemsSource = Source; RefreshListOfSounds(); ListOutputs.ItemsSource = SoundVM.devices; SizeChanged += new SizeChangedEventHandler(WindowResize); }
/// <inheritdoc/> public SoundViewModel GetSoundVm(Sound s) { Guard.IsNotNull(s, nameof(s)); var vm = new SoundViewModel( s, _player, _soundDataProvider, _soundMixService, _telemetry, _renamer, _serviceProvider.GetRequiredService <IDialogService>(), _serviceProvider.GetRequiredService <IIapService>(), _serviceProvider.GetRequiredService <IDownloadManager>()); vm.Initialize(); return(vm); }
async protected override void OnNavigatedTo(NavigationEventArgs e) { if (e.Parameter is SoundViewModel ) { soundViewModel = e.Parameter as SoundViewModel; soundGroup = new SoundGroup(); // check if json file is not empty // customMusicGroup = new CustomMusicGroup(); await soundViewModel.GetCustomsounds(); } base.OnNavigatedTo(e); }
public async Task <IActionResult> UploadFile([FromForm] SoundViewModel soundModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } int user = Convert.ToInt32(User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Sid).Value); var result = await _soundsService.UploadSounds(soundModel, user); if (result.IsError) { return(BadRequest(result)); } return(Ok(result)); }
public MainViewModel(INavigationService navigationService, IEventAggregator eventAggregator , BingoCardViewModel bingoCardViewModel, BallCallsViewModel ballCallViewModel, PlayerInfoViewModel playerInfoViewModel, SoundViewModel soundViewModel) : base(navigationService) { _eventAggregator = eventAggregator; SoundPlayer = soundViewModel; BingoCard = bingoCardViewModel; BallCalls = ballCallViewModel; PlayerInfo = playerInfoViewModel; // listen to Credits change in PlayerInfo PlayerInfo.PropertyChanged += (sender, args) => { if (args.PropertyName == "Credits") { NotifyOfPropertyChange(() => CanPlay); } }; }
private IDisposable BindToSound(SoundViewModel x) { CompositeDisposable soundDisposable = new CompositeDisposable(); CompositeDisposable listItemDisposable = new CompositeDisposable().AddTo(soundDisposable); CompositeDisposable elementDisposable = new CompositeDisposable().AddTo(soundDisposable); listViewSound.Items.Clear(); x.TreeItem .BindTo( this, y => y.TreeViewSoundTopNode, BindingMode.OneWay, TreeViewItemViewModelToTreeNode ) .AddTo(soundDisposable); x.SelectedTreeItem .BindTo( treeViewSound, y => y.SelectedNode, BindingMode.TwoWay, y => treeViewSound.Nodes.OfType <TreeNode>().Select(z => SearchTreeNode(y, z)).FirstOrDefault(z => z != null), y => (TreeViewItemViewModel)y.Tag, Observable.FromEvent <TreeViewEventHandler, TreeViewEventArgs>( h => (s, e) => h(e), h => treeViewSound.AfterSelect += h, h => treeViewSound.AfterSelect -= h ) .ToUnit() ) .AddTo(soundDisposable); x.SelectedTreeItem .BindTo( listViewSound, y => y.Enabled, BindingMode.OneWay, y => x.TreeItem.Value.Children.Contains(y) ) .AddTo(soundDisposable); x.ListColumns .ObserveAddChanged() .Subscribe(y => { listViewSound.Columns.Add(ListViewColumnHeaderViewModelToColumnHeader(y)); listViewSound.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); }) .AddTo(soundDisposable); x.ListColumns .ObserveRemoveChanged() .Subscribe(y => { foreach (ColumnHeader column in listViewSound.Columns.OfType <ColumnHeader>().Where(z => z.Tag == y).ToArray()) { listViewSound.Columns.Remove(column); } listViewSound.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); }) .AddTo(soundDisposable); x.ListItems .ObserveAddChanged() .Subscribe(y => { listViewSound.Items.Add(ListViewItemViewModelToListViewItem(y)); listViewSound.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); }) .AddTo(soundDisposable); x.ListItems .ObserveRemoveChanged() .Subscribe(y => { foreach (ListViewItem item in listViewSound.Items.OfType <ListViewItem>().Where(z => z.Tag == y).ToArray()) { listViewSound.Items.Remove(item); } listViewSound.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); }) .AddTo(soundDisposable); x.SelectedListItem .BindTo( this, y => y.ListViewSoundSelectedItem, BindingMode.TwoWay, y => listViewSound.Items.OfType <ListViewItem>().FirstOrDefault(z => z.Tag == y), y => (ListViewItemViewModel)y?.Tag, Observable.FromEvent <EventHandler, EventArgs>( h => (s, e) => h(e), h => listViewSound.SelectedIndexChanged += h, h => listViewSound.SelectedIndexChanged -= h ) .ToUnit() ) .AddTo(soundDisposable); x.SelectedListItem .Where(y => y != null) .Subscribe(y => { listItemDisposable.Dispose(); listItemDisposable = new CompositeDisposable().AddTo(soundDisposable); y.Texts .ObserveReplaceChanged() .Subscribe(_ => { UpdateListViewItem(ListViewSoundSelectedItem, x.SelectedListItem.Value); listViewSound.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); }) .AddTo(listItemDisposable); }) .AddTo(soundDisposable); x.SelectedListItem .BindTo( groupBoxSoundKey, y => y.Enabled, BindingMode.OneWay, y => y != null ) .AddTo(soundDisposable); x.SelectedListItem .BindTo( groupBoxSoundValue, y => y.Enabled, BindingMode.OneWay, y => y != null ) .AddTo(soundDisposable); x.SelectedRun .Where(y => y != null) .Subscribe(y => { elementDisposable.Dispose(); elementDisposable = new CompositeDisposable().AddTo(soundDisposable); BindToSoundElement(y).AddTo(elementDisposable); }) .AddTo(soundDisposable); x.SelectedFlange .Where(y => y != null) .Subscribe(y => { elementDisposable.Dispose(); elementDisposable = new CompositeDisposable().AddTo(soundDisposable); BindToSoundElement(y).AddTo(elementDisposable); }) .AddTo(soundDisposable); x.SelectedMotor .Where(y => y != null) .Subscribe(y => { elementDisposable.Dispose(); elementDisposable = new CompositeDisposable().AddTo(soundDisposable); BindToSoundElement(y).AddTo(elementDisposable); }) .AddTo(soundDisposable); x.SelectedFrontSwitch .Where(y => y != null) .Subscribe(y => { elementDisposable.Dispose(); elementDisposable = new CompositeDisposable().AddTo(soundDisposable); BindToSoundElement(y).AddTo(elementDisposable); }) .AddTo(soundDisposable); x.SelectedRearSwitch .Where(y => y != null) .Subscribe(y => { elementDisposable.Dispose(); elementDisposable = new CompositeDisposable().AddTo(soundDisposable); BindToSoundElement(y).AddTo(elementDisposable); }) .AddTo(soundDisposable); x.SelectedBrake .Where(y => y != null) .Subscribe(y => { elementDisposable.Dispose(); elementDisposable = new CompositeDisposable().AddTo(soundDisposable); BindToSoundElement <BrakeElementViewModel, BrakeKey>(y).AddTo(elementDisposable); }) .AddTo(soundDisposable); x.SelectedCompressor .Where(y => y != null) .Subscribe(y => { elementDisposable.Dispose(); elementDisposable = new CompositeDisposable().AddTo(soundDisposable); BindToSoundElement <CompressorElementViewModel, CompressorKey>(y).AddTo(elementDisposable); }) .AddTo(soundDisposable); x.SelectedSuspension .Where(y => y != null) .Subscribe(y => { elementDisposable.Dispose(); elementDisposable = new CompositeDisposable().AddTo(soundDisposable); BindToSoundElement <SuspensionElementViewModel, SuspensionKey>(y).AddTo(elementDisposable); }) .AddTo(soundDisposable); x.SelectedPrimaryHorn .Where(y => y != null) .Subscribe(y => { elementDisposable.Dispose(); elementDisposable = new CompositeDisposable().AddTo(soundDisposable); BindToSoundElement <PrimaryHornElementViewModel, HornKey>(y).AddTo(elementDisposable); }) .AddTo(soundDisposable); x.SelectedSecondaryHorn .Where(y => y != null) .Subscribe(y => { elementDisposable.Dispose(); elementDisposable = new CompositeDisposable().AddTo(soundDisposable); BindToSoundElement <SecondaryHornElementViewModel, HornKey>(y).AddTo(elementDisposable); }) .AddTo(soundDisposable); x.SelectedMusicHorn .Where(y => y != null) .Subscribe(y => { elementDisposable.Dispose(); elementDisposable = new CompositeDisposable().AddTo(soundDisposable); BindToSoundElement <MusicHornElementViewModel, HornKey>(y).AddTo(elementDisposable); }) .AddTo(soundDisposable); x.SelectedDoor .Where(y => y != null) .Subscribe(y => { elementDisposable.Dispose(); elementDisposable = new CompositeDisposable().AddTo(soundDisposable); BindToSoundElement <DoorElementViewModel, DoorKey>(y).AddTo(elementDisposable); }) .AddTo(soundDisposable); x.SelectedAts .Where(y => y != null) .Subscribe(y => { elementDisposable.Dispose(); elementDisposable = new CompositeDisposable().AddTo(soundDisposable); BindToSoundElement(y).AddTo(elementDisposable); }) .AddTo(soundDisposable); x.SelectedBuzzer .Where(y => y != null) .Subscribe(y => { elementDisposable.Dispose(); elementDisposable = new CompositeDisposable().AddTo(soundDisposable); BindToSoundElement <BuzzerElementViewModel, BuzzerKey>(y).AddTo(elementDisposable); }) .AddTo(soundDisposable); x.SelectedPilotLamp .Where(y => y != null) .Subscribe(y => { elementDisposable.Dispose(); elementDisposable = new CompositeDisposable().AddTo(soundDisposable); BindToSoundElement <PilotLampElementViewModel, PilotLampKey>(y).AddTo(elementDisposable); }) .AddTo(soundDisposable); x.SelectedBrakeHandle .Where(y => y != null) .Subscribe(y => { elementDisposable.Dispose(); elementDisposable = new CompositeDisposable().AddTo(soundDisposable); BindToSoundElement <BrakeHandleElementViewModel, BrakeHandleKey>(y).AddTo(elementDisposable); }) .AddTo(soundDisposable); x.SelectedMasterController .Where(y => y != null) .Subscribe(y => { elementDisposable.Dispose(); elementDisposable = new CompositeDisposable().AddTo(soundDisposable); BindToSoundElement <MasterControllerElementViewModel, MasterControllerKey>(y).AddTo(elementDisposable); }) .AddTo(soundDisposable); x.SelectedReverser .Where(y => y != null) .Subscribe(y => { elementDisposable.Dispose(); elementDisposable = new CompositeDisposable().AddTo(soundDisposable); BindToSoundElement <ReverserElementViewModel, ReverserKey>(y).AddTo(elementDisposable); }) .AddTo(soundDisposable); x.SelectedBreaker .Where(y => y != null) .Subscribe(y => { elementDisposable.Dispose(); elementDisposable = new CompositeDisposable().AddTo(soundDisposable); BindToSoundElement <BreakerElementViewModel, BreakerKey>(y).AddTo(elementDisposable); }) .AddTo(soundDisposable); x.SelectedRequestStop .Where(y => y != null) .Subscribe(y => { elementDisposable.Dispose(); elementDisposable = new CompositeDisposable().AddTo(soundDisposable); BindToSoundElement <RequestStopElementViewModel, RequestStopKey>(y).AddTo(elementDisposable); }) .AddTo(soundDisposable); x.SelectedTouch .Where(y => y != null) .Subscribe(y => { elementDisposable.Dispose(); elementDisposable = new CompositeDisposable().AddTo(soundDisposable); BindToSoundElement(y).AddTo(elementDisposable); }) .AddTo(soundDisposable); x.SelectedOthers .Where(y => y != null) .Subscribe(y => { elementDisposable.Dispose(); elementDisposable = new CompositeDisposable().AddTo(soundDisposable); BindToSoundElement <OthersElementViewModel, OthersKey>(y).AddTo(elementDisposable); }) .AddTo(soundDisposable); new[] { x.AddRun, x.AddFlange, x.AddMotor, x.AddFrontSwitch, x.AddRearSwitch, x.AddBrake, x.AddCompressor, x.AddSuspension, x.AddPrimaryHorn, x.AddSecondaryHorn, x.AddMusicHorn, x.AddDoor, x.AddAts, x.AddBuzzer, x.AddPilotLamp, x.AddBrakeHandle, x.AddMasterController, x.AddReverser, x.AddBreaker, x.AddRequestStop, x.AddTouch, x.AddOthers } .BindToButton(buttonSoundAdd) .AddTo(soundDisposable); new[] { x.RemoveRun, x.RemoveFlange, x.RemoveMotor, x.RemoveFrontSwitch, x.RemoveRearSwitch, x.RemoveBrake, x.RemoveCompressor, x.RemoveSuspension, x.RemovePrimaryHorn, x.RemoveSecondaryHorn, x.RemoveMusicHorn, x.RemoveDoor, x.RemoveAts, x.RemoveBuzzer, x.RemovePilotLamp, x.RemoveBrakeHandle, x.RemoveMasterController, x.RemoveReverser, x.RemoveBreaker, x.RemoveRequestStop, x.RemoveTouch, x.RemoveOthers } .BindToButton(buttonSoundRemove) .AddTo(soundDisposable); return(soundDisposable); }
public IActionResult UpdateSound(SoundViewModel sound) { var result = _musicService.UpdateSound(sound); return(Ok(result)); }
public static Sound ToDataModel(this SoundViewModel viewModel, IMapper mapper) { return(mapper.Map <Sound>(viewModel)); }
public MusicResultViewModel UpdateSound(SoundViewModel sound) { var result = _musicUOW.UpdateSound(sound.ToDataModel(_mapper)); return(result.ToViewModels(_mapper)); }
public async Task <ResultDto <UploadSoundDto> > UploadSounds(SoundViewModel viewModel, int userId) { var result = new ResultDto <UploadSoundDto>(); if (viewModel.Sound.Length == 0) { result.Errors.Add("Nie przesłano pliku"); return(result); } if (viewModel.Sound.ContentType != "audio/mpeg") { result.Errors.Add("Przesyłany plik nie jest plikiem formatu audio/mpeg"); return(result); } var rootPath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot"); CreateDirIfDoesntExist(rootPath); var soundFolderPath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "sounds"); CreateDirIfDoesntExist(soundFolderPath); var files = await Task.Run(() => new DirectoryInfo(soundFolderPath).GetFiles()); string soundPosition = viewModel.SoundPosition == null ? "" : "_" + viewModel.SoundPosition.ToString(); string combinedSoundName = viewModel.Name + "_" + viewModel.Category + "_" + viewModel.GuitarString.ToString() + soundPosition + ".mp3"; foreach (var file in files) { if (file.Name == combinedSoundName) { result.Errors.Add("Ta kategoria posiada już ten dźwięk"); return(result); } } var pathToSaveSound = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "sounds", combinedSoundName); using (var stream = new FileStream(pathToSaveSound, FileMode.Create)) { await viewModel.Sound.CopyToAsync(stream); } var sound = _mapper.Map <Sound>(viewModel); sound.UserId = userId; sound.FullName = combinedSoundName; int isInserted = await _soundRepository.Insert(sound); if (isInserted == 0) { result.Errors.Add("Wystapił błąd podczas dodawania pliku " + sound.Name); return(result); } return(result); }