/// <summary> /// Creates an instance of the CMixerExample unit operation. /// </summary> /// <remarks> /// This constructor demonstates the addition of a <see cref = "BooleanParameter"/>, /// <see cref = "IntegerParameter"/>, <see cref = "OptionParameter"/>, /// and a <see cref = "RealParameter"/> parameter to the parameter collection. /// In addition, the mixer unit has three <see cref = "UnitPort"/> ports /// added to the port collection. See the documentation for the /// <see cref = "MixerExample.Calculate"/> method for details on its implementation. /// </remarks> /// <example> /// An example of how to create a unit operation. Parameter and port objects are created /// and added the their respective collections. Ports are implemented by the <see cref="UnitPort"/> /// class and are placed in the Port Collection. Parameters are added to the Parameter Collection /// class. The available parameter classes are <see cref="RealParameter"/>, <see cref="IntegerParameter"/>, /// <see cref="BooleanParameter"/>, and <see cref="OptionParameter"/>. /// <code> /// public MixerExample() /// { /// // Add Ports using the UnitPort constructor. /// this.Ports.Add(new UnitPort("Inlet Port1", "Test Inlet Port1", CapePortDirection.CAPE_INLET, CapePortType.CAPE_MATERIAL)); /// this.Ports.Add(new UnitPort("Inlet Port2", "Test Inlet Port2", CapePortDirection.CAPE_INLET, CapePortType.CAPE_MATERIAL)); /// this.Ports.Add(new UnitPort("Outlet Port", "Test Outlet Port", CapePortDirection.CAPE_OUTLET, CapePortType.CAPE_MATERIAL)); /// /// // Add a real valued parameter using the RealParameter constructor. /// RealParameter real = new RealParameter("PressureDrop", "Drop in pressure between the outlet from the mixer and the pressure of the lower pressure inlet.", 0.0, 0.0, 0.0, 100000000.0, CapeParamMode.CAPE_INPUT, "Pa"); /// this.Parameters.Add(real); /// /// // Add a real valued parameter using the IntegerParameter constructor. /// this.Parameters.Add(new IntegerParameter("Integer Parameter", "This is an example of an integer parameter.", 12, 12, 0, 100, CapeParamMode.CAPE_INPUT_OUTPUT)); /// /// // Add a real valued parameter using the BooleanParameter constructor. /// this.Parameters.Add(new BooleanParameter("Boolean Parameter", "This is an example of a boolean parameter.", false, false, CapeOpen.CapeParamMode.CAPE_INPUT_OUTPUT)); /// /// // Create an array of strings for the option parameter restricted value list. /// String[] options = { "Test Value", "Another Value" }; /// /// // Add a string valued parameter using the OptionParameter constructor. /// this.Parameters.Add(new OptionParameter("OptionParameter", "This is an example of an option parameter.", "Test Value", "Test Value", options, true, CapeParamMode.CAPE_INPUT_OUTPUT)); /// /// // Add an available report. /// this.Reports.Add("Report 2"); /// } /// </code> /// </example> public MixerExample() { // Add Ports using the UnitPort constructor. this.Ports.Add(new UnitPort("Inlet Port1", "Test Inlet Port1", CapePortDirection.CAPE_INLET, CapePortType.CAPE_MATERIAL)); this.Ports.Add(new UnitPort("Inlet Port2", "Test Inlet Port2", CapePortDirection.CAPE_INLET, CapePortType.CAPE_MATERIAL)); this.Ports.Add(new UnitPort("Outlet Port", "Test Outlet Port", CapePortDirection.CAPE_OUTLET, CapePortType.CAPE_MATERIAL)); // Add a real valued parameter using the RealParameter constructor. RealParameter real = new RealParameter("PressureDrop", "Drop in pressure between the outlet from the mixer and the pressure of the lower pressure inlet.", 0.0, 0.0, 0.0, 100000000.0, CapeParamMode.CAPE_INPUT, "Pa"); this.Parameters.Add(real); // Add a real valued parameter using the IntegerParameter constructor. this.Parameters.Add(new IntegerParameter("Integer Parameter", "This is an example of an integer parameter.", 12, 12, 0, 100, CapeParamMode.CAPE_INPUT_OUTPUT)); // Add a real valued parameter using the BooleanParameter constructor. this.Parameters.Add(new BooleanParameter("Boolean Parameter", "This is an example of a boolean parameter.", false, false, CapeOpen.CapeParamMode.CAPE_INPUT_OUTPUT)); // Create an array of strings for the option parameter restricted value list. String[] options = { "Test Value", "Another Value" }; // Add a string valued parameter using the OptionParameter constructor. this.Parameters.Add(new OptionParameter("OptionParameter", "This is an example of an option parameter.", "Test Value", "Test Value", options, true, CapeParamMode.CAPE_INPUT_OUTPUT)); // Add an available report. this.Reports.Add("Report 2"); }
public override IEnumerable <Parameter> CreateParameters(string parameterPrefix) { Power = new EnumParameter <EPowerStatus>(parameterPrefix + "Pwr", "Power", "", false); Treshold = new RealParameter(parameterPrefix + "Trshd", "Treshold", "Trshd", 0.1, 1, 0.01); return(new List <Parameter> { Power, Treshold }); }
public override IEnumerable <Parameter> CreateParameters(string parameterPrefix) { FilterType = new EnumParameter <EFilterPass>(parameterPrefix + "Pass", "Filter Type", "Filter", false); CutoffFrequency = new RealParameter(parameterPrefix + "Cutoff", "Filter Cutoff Frequency", "Cutoff", 0.0, 0.99, 0.01); Resonance = new RealParameter(parameterPrefix + "Res", "Filter Resonance", "Resonance", 0.0, 1.0, 0.01); EnvAmount = new RealParameter(parameterPrefix + "Amnt", "Envelope Amount", "%", 0.01, 0.99, 0.01, false); return(new List <Parameter> { FilterType, CutoffFrequency, Resonance, EnvAmount }); }
public override IEnumerable <Parameter> CreateParameters(string parameterPrefix) { Power = new BypassParameter(parameterPrefix + "Pwr", "Power", Processor, "Pwr", false); OscillatorsMix = new RealParameter(parameterPrefix + "Mix", "Oscillators Mix", "Mix", 0, 1, 0.01); OscillatorsMix.SetDefaultValue(0.5); return(new List <Parameter> { Power, OscillatorsMix }); }
public override IEnumerable <Parameter> CreateParameters(string parameterPrefix) { Power = new EnumParameter <EPowerStatus>(parameterPrefix + "Pwr", "Power", "", false); DryLevel = new RealParameter(parameterPrefix + "Dry", "Dry Level", "Dry", 0, 1, 0.01); Time = new RealParameter(parameterPrefix + "Sec", "Delay Time", "Time", 0, 5, 0.01); Feedback = new RealParameter(parameterPrefix + "Fbck", "Feedback", "Feedback", 0, 1, 0.01); return(new List <Parameter> { Power, DryLevel, Time, Feedback }); }
public override IEnumerable <Parameter> CreateParameters(string parameterPrefix) { Attack = new RealParameter(parameterPrefix + "Atk", "Envelope Attack", "", 0.01, 4, 0.01, false); Decay = new RealParameter(parameterPrefix + "Dec", "Envelope Decay", "", 0.01, 2, 0.01, false); Sustain = new RealParameter(parameterPrefix + "Stn", "Envelope Sustain", "", 0, 1, 0.01, false); Release = new RealParameter(parameterPrefix + "Rel", "Envelope Release", "", 0.01, 1, 0.01, false); return(new List <Parameter> { Attack, Decay, Sustain, Release }); }
public override IEnumerable <Parameter> CreateParameters(string parameterPrefix) { OscillatorType = new EnumParameter <EOscillatorType>(parameterPrefix + "Osc", "LFO Type", "Osc", false); Frequency = new FrequencyParameter(parameterPrefix + "Frq", "LFO Frequency", "Frq", 0.01, 1000); MatchKey = new BooleanParameter(parameterPrefix + "Mtch", "LFO Phase Key Link", "Match", false); Gain = new RealParameter(parameterPrefix + "Gain", "LFO Gain", "Gain", 0, 1, 0.01, false); TargetParameter = new ParameterName(parameterPrefix, Processor.PluginController.ParametersManager); TargetParameter.OnValueChange += TargetParameterNumberOnValueChange; return(new List <Parameter> { OscillatorType, Frequency, MatchKey, Gain, TargetParameter }); }
public override IEnumerable <Parameter> CreateParameters(string parameterPrefix) { Volume = new VolumeParameter(parameterPrefix + "Vol", "Oscillator Volume"); OscillatorType = new EnumParameter <WaveGenerator.EOscillatorType>(parameterPrefix + "Osc", "Oscillator Type", "Osc", false); Fine = new RealParameter(parameterPrefix + "Fine", "Oscillator pitch", "Fine", -2, 2, 0.01); Fine.SetDefaultValue(0); Panning = new RealParameter(parameterPrefix + "Pan", "Oscillator Panorama", "", 0, 1, 0.01); Panning.SetDefaultValue(0.5); return(new List <Parameter> { Volume, OscillatorType, Fine, Panning }); }
public override IEnumerable <Parameter> CreateParameters() { var parameters = new List <Parameter>(); parameters.Add(Power = new BypassParameter("CPwr", "Power", this, "Pwr", false)); parameters.Add(OscillatorsMix = new RealParameter("CMix", "Oscillators Mix", "Mix", 0, 1, 0.01)); parameters.Add(MasterVolume = new VolumeParameter("MVol", "Master Volume", false)); parameters.Add(Unison = new EnumParameter <EPowerStatus>("UPwr", "Unison", "Pwr", false)); OscillatorsMix.SetDefaultValue(0.5); parameters.AddRange(OscillatorA.CreateParameters("A")); parameters.AddRange(OscillatorB.CreateParameters("B")); parameters.AddRange(EnvelopeSound.CreateParameters("EM")); parameters.AddRange(FilterEnv.CreateParameters("EF")); parameters.AddRange(Filter.CreateParameters("F")); parameters.AddRange(Distortion.CreateParameters("D")); parameters.AddRange(LFOModifierA.CreateParameters("LA")); parameters.AddRange(LFOModifierB.CreateParameters("LB")); return(parameters); }
//GlowContainer IElementVisitor<ElementToGlowOptions, GlowContainer>.Visit(EnumParameter element, ElementToGlowOptions state) //{ // var glow = new GlowQualifiedParameter(element.Path); // var dirFieldMask = state.DirFieldMask; // if (dirFieldMask.HasBits(GlowFieldFlags.Identifier)) // glow.Identifier = element.Identifier; // if (dirFieldMask.HasBits(GlowFieldFlags.Description) // && String.IsNullOrEmpty(element.Description) == false) // glow.Description = element.Description; // if (dirFieldMask.HasBits(GlowFieldFlags.Value)) // glow.Value = new GlowValue(element.Value); // if (dirFieldMask == GlowFieldFlags.All) // { // glow.Minimum = new GlowMinMax(element.Minimum); // glow.Maximum = new GlowMinMax(element.Maximum); // glow.Enumeration = element.Enumeration; // if (element.IsWritable) // glow.Access = GlowAccess.ReadWrite; // } // if ((dirFieldMask == GlowFieldFlags.All) // && String.IsNullOrEmpty(element.SchemaIdentifier) == false) // glow.SchemaIdentifiers = element.SchemaIdentifier; // return glow; //} GlowContainer Model.IElementVisitor <ElementToGlowOptions, GlowContainer> .Visit(RealParameter element, ElementToGlowOptions state) { var glow = new GlowQualifiedParameter(element.Path); var dirFieldMask = state.DirFieldMask; if (dirFieldMask.HasBits(GlowFieldFlags.Identifier)) { glow.Identifier = element.Identifier; } if (dirFieldMask.HasBits(GlowFieldFlags.Description) && String.IsNullOrEmpty(element.Description) == false) { glow.Description = element.Description; } if (dirFieldMask.HasBits(GlowFieldFlags.Value)) { glow.Value = new GlowValue(element.Value); } if (dirFieldMask == GlowFieldFlags.All) { glow.Minimum = new GlowMinMax(element.Minimum); glow.Maximum = new GlowMinMax(element.Maximum); if (element.IsWritable) { glow.Access = GlowAccess.ReadWrite; } } if ((dirFieldMask == GlowFieldFlags.All) && String.IsNullOrEmpty(element.SchemaIdentifier) == false) { glow.SchemaIdentifiers = element.SchemaIdentifier; } return(glow); }
//object IElementVisitor<object, object>.Visit(EnumParameter element, object state) //{ // _onParameter?.Invoke(element); // return null; //} object IElementVisitor <object, object> .Visit(RealParameter element, object state) { _onParameter?.Invoke(element); return(null); }
public Dictionary <List <Entity>, IParameter> executePreprocessing(int newSelectionId, int oldSelectionId, int oldParamId, string prepType, int parameterPosition, int newParamId) { models.Parameter oldParam = ((models.Parameter)DatabaseManager.SharedManager.entityById(oldParamId, typeof(models.Parameter))); TypeParameter type; switch (prepType) { case "Линейная нормализация 1 (к float)": type = TypeParameter.Real; break; case "Нелинейная нормализация 2 (к float)": type = TypeParameter.Real; break; case "нормализация 3 (к int)": type = TypeParameter.Int; break; case "бинаризация": type = TypeParameter.Int; break; case "без предобработки": type = oldParam.Type; break; default: type = TypeParameter.Real; break; } List <string> values = new List <string>(); List <Entity> valueParam = new List <Entity>(); List <Entity> oldSelectionRows = SelectionRow.where (new Query("SelectionRow").addTypeQuery(TypeQuery.select) .addCondition("SelectionID", "=", oldSelectionId.ToString()), typeof(SelectionRow)); int index = 0; foreach (Entity entity in oldSelectionRows) { int selectionRowId = entity.ID; List <Entity> list = ValueParameter.where (new Query("ValueParameter").addTypeQuery(TypeQuery.select) .addCondition("ParameterID", "=", oldParamId.ToString()). addCondition("SelectionRowID", "=", selectionRowId.ToString()), typeof(ValueParameter)); valueParam = valueParam.Concat(list).ToList(); values.Add(((ValueParameter)valueParam[index]).Value); index++; } List <Entity> valuesForParameter = new List <Entity>(); IParameter p = null; switch (prepType) { case "Линейная нормализация 1 (к float)": case "Нелинейная нормализация 2 (к float)": case "нормализация 3 (к int)": if (oldParam.Type == TypeParameter.Real) { p = new RealParameter(values); valuesForParameter = normalizeValues(valueParam, p, newParamId, newSelectionId, prepType); } else if (oldParam.Type == TypeParameter.Int) { p = new IntegerParameter(values); valuesForParameter = normalizeValues(valueParam, p, newParamId, newSelectionId, prepType); } else if (oldParam.Type == TypeParameter.Enum) { p = new EnumeratedParameter(values); valuesForParameter = normalizeValues(valueParam, p, newParamId, newSelectionId, prepType); } break; case "бинаризация": valuesForParameter = binarizationValues(valueParam, newParamId, newSelectionId, parameterPosition); break; case "без предобработки": valuesForParameter = processWithoutPreprocessing(valueParam, newParamId, newSelectionId); break; } Dictionary <List <Entity>, IParameter> res = new Dictionary <List <Entity>, IParameter>(); res.Add(valuesForParameter, p); return(res); }