public static IValueOut CreateValueOutput(this IPluginHost host, OutputAttribute attribute, Type type) { attribute = NormalizePinAttribute(attribute, type); IValueOut result = null; host.CreateValueOutput(attribute.Name, attribute.Dimension, attribute.DimensionNames, (TSliceMode)attribute.SliceMode, (TPinVisibility)attribute.Visibility, out result); switch (attribute.Dimension) { case 2: result.SetSubType2D(attribute.MinValue, attribute.MaxValue, attribute.StepSize, attribute.DefaultValues[0], attribute.DefaultValues[1], attribute.IsBang, attribute.IsToggle, attribute.AsInt); break; case 3: result.SetSubType3D(attribute.MinValue, attribute.MaxValue, attribute.StepSize, attribute.DefaultValues[0], attribute.DefaultValues[1], attribute.DefaultValues[2], attribute.IsBang, attribute.IsToggle, attribute.AsInt); break; case 4: result.SetSubType4D(attribute.MinValue, attribute.MaxValue, attribute.StepSize, attribute.DefaultValues[0], attribute.DefaultValues[1], attribute.DefaultValues[2], attribute.DefaultValues[3], attribute.IsBang, attribute.IsToggle, attribute.AsInt); break; default: result.SetSubType(attribute.MinValue, attribute.MaxValue, attribute.StepSize, attribute.DefaultValue, attribute.IsBang, attribute.IsToggle, attribute.AsInt); break; } result.Order = attribute.Order; return(result); }
static private Action <int> GetSetValueLengthAction(IValueOut valueOut) { return((newLength) => { valueOut.SliceCount = newLength; }); }
public void Configurate(IPluginConfig Input) { if (Input == FPinCountPin || Input == FPinCountCons) { double countPin; double countCons; FPinCountPin.GetValue(0, out countPin); FPinCountCons.GetValue(0, out countCons); // delete all pins. for (int i = 0; i < FInputPinList.Count; i++) { IValueIn pinToDelete = FInputPinList[i]; FHost.DeletePin(pinToDelete); } for (int i = 0; i < FSelectPinList.Count; i++) { IValueIn pinToDelete = FSelectPinList[i]; FHost.DeletePin(pinToDelete); } for (int i = 0; i < FOutputPinList.Count; i++) { IValueOut pinToDelete = FOutputPinList[i]; FHost.DeletePin(pinToDelete); } FInputPinList.Clear(); FSelectPinList.Clear(); FOutputPinList.Clear(); // create new pins. for (int i = 0; i < countCons; i++) { for (int j = 0; j < countPin; j++) { IValueIn inputPin; FHost.CreateValueInput("Input " + (i + 1) + "," + (j + 1), 1, null, TSliceMode.Dynamic, TPinVisibility.True, out inputPin); inputPin.SetSubType(double.MinValue, double.MaxValue, 0.01, 0.0, false, false, false); FInputPinList.Add(inputPin); } IValueIn selectPin; FHost.CreateValueInput("Select " + (i + 1), 1, null, TSliceMode.Single, TPinVisibility.True, out selectPin); selectPin.SetSubType(0, double.MaxValue, 1, 1, false, false, true); FSelectPinList.Add(selectPin); } for (int i = 0; i < countPin; i++) { IValueOut outputPin; FHost.CreateValueOutput("Output " + (i + 1), 1, null, TSliceMode.Dynamic, TPinVisibility.True, out outputPin); outputPin.SetSubType(double.MinValue, double.MaxValue, 0.01, 0, false, false, false); FOutputPinList.Add(outputPin); } } }
public override void DestroyPins() { // DELETE ALL PINS /////////////////////// FHost.DeletePin(FValueOut); FValueOut = null; base.DestroyPins(); }
public override void DestroyPins() { // DELETE ALL PINS /////////////////////// FHost.DeletePin(FCurrentStateOut); FCurrentStateOut = null; FHost.DeletePin(FStates); FStates = null; FHost.DeletePin(FStateTimes); FStateTimes = null; base.DestroyPins(); }
public override void DestroyPins() { // DELETE ALL PINS /////////////////////// /// FHost.DeletePin(FFilenameIn); FFilenameIn = null; FHost.DeletePin(FChannelOut); FChannelOut = null; FHost.DeletePin(FVelocityOut); FVelocityOut = null; //delete midiscore FMidiScore = null; base.DestroyPins(); }
public ValueOutput(IValueOut pin) { FPin = pin; pin.GetValuePointer(out dataptr); }
//called by the plugin the host can create a pin public void CreateValueOutput(string Name, int Dimension, string[] DimensionNames, TSliceMode SliceMode, TPinVisibility Visibility, out IValueOut Pin) { Pin = new TValuePin(this, Name, Dimension, DimensionNames, TPinDirection.Output, null, SliceMode, Visibility); AddPin(Pin as TBasePin); }