private void ExecuteAddChord(object obj)
 {
     if (obj is ChordTypes chord)
     {
         var sine = SineWaves.Last();
         var sines = sine.GetChord(Temperament, chord, true).ToList();
         sines.RemoveAt(0);
         sines.ForEach(s => SineWaves.Add(s));
     }
 }
 private void ExecuteCopyLast(object obj) => SineWaves.Add(new SineWave(SineWaves.Last()));
 public MainViewModel(IEnumerable<SineWave> sineWaves, TwelveToneTemperament temperament) : this()
 {
     sineWaves?.ToList()?.ForEach(s => SineWaves.Add(s));
     Temperament = temperament;
 }
 private bool CanExecuteAnything(object obj) => SineWaves?.Any() == true;
 private void ExecuteStopAll(object obj) => SineWaves
     .Where(s => s.Player?.IsPlaying == true)
     .ToList()
     .ForEach(s => s.TogglePlayCommand.Execute(obj));