/// <summary> /// adds a single filter to the list /// </summary> public void AddFilter(FilterModel model) { if (filter.Count == 0 && images.NumImages == 0) { CurrentTarget = model.Target; // set target based on filter } Debug.Assert(model.Target == CurrentTarget); filter.Add(model); SetParameterChangeCallback(model); OnPropertyChanged(nameof(Filter)); }
private void RetargetFilter(FilterLoader.TargetType target) { if (target == CurrentTarget) { return; } CurrentTarget = target; if (Filter.Count == 0) { return; } string errors = ""; var newFilter = new List <FilterModel>(); foreach (var f in Filter) { try { newFilter.Add(f.Retarget(CurrentTarget)); } catch (Exception) { errors += $"Filter \"{f.Name}\" was removed during retargeting\n"; } } Dispose(); filter = newFilter; OnPropertyChanged(nameof(Filter)); if (errors.Length != 0) { OnRetargetError(errors); } }
private void TestFilter(string name, FilterLoader.TargetType target) { var loader = new FilterLoader("filter/" + name, target); var test = new FilterModel(loader, 1); }