Esempio n. 1
0
        /// <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));
        }
Esempio n. 2
0
        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);
        }