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()), "")); } } }
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; }