Пример #1
0
        public TrackStepViewModel AddTrack(SamplePlayer samplePlayer)
        {
            var track = new Track(samplePlayer);

            Tracks.Add(track);

            var trackVm = new TrackStepViewModel(track);

            try
            {
                if (CurrentTrackViewModel != null)
                {
                    var index = TrackViewModels.IndexOf(CurrentTrackViewModel);

                    if (index != -1)
                    {
                        TrackViewModels.Insert(index + 1, trackVm);
                        return(trackVm);
                    }
                }
            }
            catch (ArgumentOutOfRangeException)
            {
            }

            TrackViewModels.Add(trackVm);
            return(trackVm);
        }
Пример #2
0
        private void ReadFromJson(string jsonData)
        {
            var saveService = new PersistencyService();

            saveService.CreateDataFromJsonProject(AudioDefines.XAudio, AudioDefines.WaveFormat, AudioDefines.VoicePool, jsonData);

            MasterPan    = saveService.MasterTrackPan;
            MasterVolume = saveService.MasterTrackVolume;
            MasterBpm    = saveService.MasterTrackBpm;

            Tracks = new ConcurrentBag <Track>(saveService.Tracks);
            TrackViewModels.Clear();

            foreach (var track in Tracks)
            {
                TrackViewModels.Add(new TrackStepViewModel(track));
            }

            if (TrackViewModels.Any())
            {
                CurrentTrackViewModel = TrackViewModels.First();
            }
        }