private void UpdateBiquads(PeqDataViewModel vm)
        {
            if (!_flowId.HasValue)
            {
                return;
            }
            var usedBiquads = new List <int>(vm.PeqDataModel.Biquads);
            var sl          = new SpeakerLogicForFlow(DataModel, _flowId.Value);

            sl.AssignBiquads(vm.PeqDataModel);
            var toClear = usedBiquads.Except(vm.PeqDataModel.Biquads).ToArray();

            CommunicationViewModel.AddData(sl.GetEmptyDspData(toClear));
            CommunicationViewModel.AddData(sl.GetEmtptyRedundancyData(toClear));
        }
        private void RemovePeqParam(object sender, EventArgs eventArgs)
        {
            var s = (PeqDataViewModel)sender;

            RemoveVm(s);
            OnRemoveParam(s);
            RedrawMasterLine();
            if (!_flowId.HasValue)
            {
                return;
            }

            var sl              = new SpeakerLogicForFlow(DataModel, _flowId.Value);
            var emptyDspdata    = sl.GetEmptyDspData(s.PeqDataModel.Biquads);
            var emptyRedundancy = sl.GetEmtptyRedundancyData(s.PeqDataModel.Biquads);

            CommunicationViewModel.AddData(emptyDspdata);
            CommunicationViewModel.AddData(emptyRedundancy);
        }