Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 static private Action <int> GetSetValueLengthAction(IValueOut valueOut)
 {
     return((newLength) =>
     {
         valueOut.SliceCount = newLength;
     });
 }
Esempio n. 3
0
        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);
                }
            }
        }
Esempio n. 4
0
        public override void DestroyPins()
        {
            // DELETE ALL PINS
            ///////////////////////

            FHost.DeletePin(FValueOut);
            FValueOut = null;

            base.DestroyPins();
        }
Esempio n. 5
0
        public override void DestroyPins()
        {
            // DELETE ALL PINS
            ///////////////////////
            FHost.DeletePin(FCurrentStateOut);
            FCurrentStateOut = null;

            FHost.DeletePin(FStates);
            FStates = null;

            FHost.DeletePin(FStateTimes);
            FStateTimes = null;

            base.DestroyPins();
        }
Esempio n. 6
0
        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();
        }
Esempio n. 7
0
 public ValueOutput(IValueOut pin)
 {
     FPin = pin;
     pin.GetValuePointer(out dataptr);
 }
Esempio n. 8
0
        //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);
        }