Пример #1
0
            public NodeDescription(IVLNodeDescriptionFactory factory, Type signalType, string name, string category, string summary, string remarks, string tags)
            {
                Factory  = factory;
                Signal   = signalType;
                Name     = name;
                Category = "Audio." + category;
                Summary  = summary;
                Remarks  = remarks;
                FTags    = tags.Split(new char[1] {
                    ' '
                }, StringSplitOptions.RemoveEmptyEntries).ToImmutableArray();

                using (var signal = (AudioSignal)Activator.CreateInstance(signalType))
                {
                    foreach (var input in signal.InParams)
                    {
                        inputs.Add(new PinDescription(input.Name, DoubleToSingleT(input.GetValueType()), DoubleToSingleV(input.GetDefaultValue()), ""));
                    }

                    if (category == "Filter")
                    {
                        inputs.Add(new PinDescription("Apply", typeof(bool), true, ""));
                    }

                    outputs.Add(new PinDescription("Output", typeof(AudioSignal), null, ""));

                    foreach (var output in signal.OutParams)
                    {
                        outputs.Add(new PinDescription(output.Name, DoubleToSingleT(output.GetValueType()), DoubleToSingleV(output.GetDefaultValue()), ""));
                    }
                }
            }
Пример #2
0
 public ModelDescription(IVLNodeDescriptionFactory factory, string name, string url, string token = "")
 {
     Factory   = factory;
     FFullName = name;
     Name      = name.Split('/').Last();
     FUrl      = url.Trim('/') + '/';
     FToken    = token;
     FIsLocal  = string.IsNullOrWhiteSpace(token) ? true : false;
 }