예제 #1
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateStringInput("Directory", TSliceMode.Dynamic, TPinVisibility.True, out FDir);
            FDir.SetSubType2(@"C:\", -1, string.Empty, TStringType.Directory);

            FHost.CreateValueInput("Create", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FCreate);
            FCreate.SetSubType(0, 1, 1, 0, true, false, false);

            FHost.CreateValueInput("Remove", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FDelete);
            FDelete.SetSubType(0, 1, 1, 0, true, false, false);

            FHost.CreateStringInput("New Name", TSliceMode.Dynamic, TPinVisibility.True, out FNewDir);
            FNewDir.SetSubType2(@"C:\", -1, string.Empty, TStringType.Directory);

            FHost.CreateValueInput("Rename", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FRename);
            FRename.SetSubType(0, 1, 1, 0, true, false, false);

            //create outputs
            FHost.CreateValueOutput("Exists", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FExists);
            FExists.SetSubType(0, 1, 1, 0, false, true, false);
        }
예제 #2
0
파일: IKSolver.cs 프로젝트: vnmone/vvvv-sdk
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            System.Guid[] guids = new System.Guid[1];
            guids[0] = new Guid("AB312E34-8025-40F2-8241-1958793F3D39");

            FHost.CreateNodeInput("Pose", TSliceMode.Single, TPinVisibility.True, out FPoseInput);
            FPoseInput.SetSubType(guids, "Skeleton");

            FHost.CreateStringInput("Start Joint", TSliceMode.Single, TPinVisibility.True, out FChainStart);

            FHost.CreateStringInput("End Joint", TSliceMode.Single, TPinVisibility.True, out FChainEnd);

            FHost.CreateValueInput("Target", 3, null, TSliceMode.Dynamic, TPinVisibility.True, out FTargetInput);

            FHost.CreateValueInput("Epsilon", 1, null, TSliceMode.Single, TPinVisibility.True, out FEpsilonInput);

            FHost.CreateValueInput("Velocity", 1, null, TSliceMode.Single, TPinVisibility.True, out FVelocityInput);
            FVelocityInput.SetSubType(0.0, 10.0, 0.1, 1.0, false, false, false);

            FHost.CreateValueInput("Pole Target", 3, null, TSliceMode.Dynamic, TPinVisibility.True, out FPoleTargetInput);

            FHost.CreateValueInput("Enable Pole Target", 1, null, TSliceMode.Single, TPinVisibility.True, out FEnablePoleTargetInput);
            FEnablePoleTargetInput.SetSubType(0.0, 1.0, 1.0, 0.0, false, false, true);

            // create outputs

            FHost.CreateNodeOutput("Output Pose", TSliceMode.Single, TPinVisibility.True, out FPoseOutput);
            FPoseOutput.SetSubType(guids, "Skeleton");

            FHost.CreateValueOutput("Debug", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FDebugOutput);
        }
예제 #3
0
파일: InfoFile.cs 프로젝트: vnmone/vvvv-sdk
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateStringInput("Filename", TSliceMode.Dynamic, TPinVisibility.True, out FFile);
            FFile.SetSubType("", true);

            FHost.CreateStringInput("Custom Root", TSliceMode.Dynamic, TPinVisibility.Hidden, out FCustomRoot);
            FCustomRoot.SetSubType("", false);

            FHost.CreateValueInput("Update", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FUpdate);
            FUpdate.SetSubType(0, 1, 1, 0, true, false, false);


            //create outputs
            FHost.CreateValueOutput("Exists", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FExists);
            FExists.SetSubType(0, 1, 1, 0, false, true, false);

            FHost.CreateValueOutput("Filesize", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FFileSize);
            FFileSize.SetSubType(0, double.MaxValue, 0.01, 0, false, false, true);

            FHost.CreateValueOutput("Read Only", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FReadOnly);
            FReadOnly.SetSubType(0, 1, 1, 0, false, true, false);

            FHost.CreateValueOutput("Hidden", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FHidden);
            FHidden.SetSubType(0, 1, 1, 0, false, true, false);
        }
예제 #4
0
파일: SetJoint.cs 프로젝트: vnmone/vvvv-sdk
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            System.Guid[] guids = new System.Guid[1];
            guids[0] = new Guid("AB312E34-8025-40F2-8241-1958793F3D39");

            //create inputs
            FHost.CreateNodeInput("Skeleton", TSliceMode.Single, TPinVisibility.True, out FSkeletonInput);
            FSkeletonInput.SetSubType(guids, "Skeleton");

            FHost.CreateStringInput("Parent Name", TSliceMode.Dynamic, TPinVisibility.True, out FParentNameInput);

            FHost.CreateValueInput("Constraints", 2, null, TSliceMode.Dynamic, TPinVisibility.False, out FConstraintsInput);
            FConstraintsInput.SetSubType2D(-1.0, 1.0, 0.01, -1.0, 1.0, false, false, false);

            FHost.CreateTransformInput("Base Transform", TSliceMode.Dynamic, TPinVisibility.True, out FBaseTransformInput);

            FHost.CreateTransformInput("Animation Transform", TSliceMode.Dynamic, TPinVisibility.True, out FAnimationTransformInput);

            //FHost.CreateValueInput("Rotation", 3, null, TSliceMode.Dynamic, TPinVisibility.True, out FRotationInput);

            FHost.CreateStringInput("Joint Name", TSliceMode.Dynamic, TPinVisibility.True, out FJointNameInput);

            // create outputs

            FHost.CreateNodeOutput("Skeleton", TSliceMode.Single, TPinVisibility.True, out FSkeletonOutput);
            FSkeletonOutput.SetSubType(guids, "Skeleton");
        }
예제 #5
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            System.Guid[] guids = new System.Guid[1];
            guids[0] = new Guid("AB312E34-8025-40F2-8241-1958793F3D39");

            //create inputs

            FHost.CreateStringInput("Joint Name", TSliceMode.Dynamic, TPinVisibility.True, out FJointNameInput);

            FHost.CreateStringInput("Parent Name", TSliceMode.Dynamic, TPinVisibility.True, out FParentNameInput);

            FHost.CreateTransformInput("Base Transformation", TSliceMode.Dynamic, TPinVisibility.True, out FBaseTransformInput);

            String[] dimensions = new String[2];
            dimensions[0] = "Min";
            dimensions[1] = "Max";

            FHost.CreateValueInput("Constraints", 2, dimensions, TSliceMode.Dynamic, TPinVisibility.True, out FConstraintsInput);
            FConstraintsInput.SetSubType2D(-1.0, 1.0, 0.1, -1.0, 1.0, false, false, false);


            String[] offsetModes = new String[2];
            offsetModes[0] = "parent";
            offsetModes[1] = "world";
            FHost.UpdateEnum("OffsetModes", "parent", offsetModes);
            FHost.CreateEnumInput("Position relative to", TSliceMode.Single, TPinVisibility.True, out FOffsetModeInput);
            FOffsetModeInput.SetSubType("OffsetModes");

            FHost.CreateNodeOutput("Skeleton", TSliceMode.Single, TPinVisibility.True, out FSkeletonOutput);
            FSkeletonOutput.SetSubType(guids, "Skeleton");
        }
예제 #6
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create config
            FHost.CreateStringConfig("Cases", TSliceMode.Single, TPinVisibility.OnlyInspector, out FCases);
            FCases.SetSubType("one, two", false);

            //create inputs
            FHost.CreateStringInput("Switch", TSliceMode.Dynamic, TPinVisibility.True, out FSwitch);
            FSwitch.SetSubType("one", false);

            FHost.CreateValueInput("one", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FIn0);
            FIn0.SetSubType(double.MinValue, double.MaxValue, 0.01, 0.0, false, false, false);

            FHost.CreateValueInput("two", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FIn1);
            FIn1.SetSubType(double.MinValue, double.MaxValue, 0.01, 0.0, false, false, false);

            //create outputs
            FHost.CreateValueOutput("Value Output", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FOutput);
            FOutput.SetSubType(double.MinValue, double.MaxValue, 0.01, 0, false, false, false);

            FHit[0]     = 0;
            FPinArr[0]  = FIn0;
            FCaseArr[0] = "one";
            FPinArr[1]  = FIn1;
            FCaseArr[1] = "two";
        }
예제 #7
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateStringInput("Input", TSliceMode.Single, TPinVisibility.True, out FStringInput);
            FStringInput.SetSubType("", false);

            FHost.CreateValueInput("Speed", 1, null, TSliceMode.Single, TPinVisibility.True, out FSpeedInput);
            //Supported values range from -10 to 10
            FSpeedInput.SetSubType(-10.0, 10.0, 1.0, 5.0, false, false, true);

            FHost.CreateValueInput("Speak", 1, null, TSliceMode.Single, TPinVisibility.True, out FSpeakInput);
            FSpeakInput.SetSubType(0.0, 1.0, 1.0, 0.0, true, false, true);

            string[] narrators = new string[vox.GetVoices(string.Empty, string.Empty).Count];
            int      i         = 0;

            foreach (ISpeechObjectToken Token in vox.GetVoices(string.Empty, string.Empty))
            {
                narrators[i++] = Token.GetAttribute("Name");
            }

            FHost.CreateEnumInput("Narrator", TSliceMode.Single, TPinVisibility.True, out FNarratorInput);
            FNarratorInput.SetSubType("SpeechSynthesisNarrator");
            FHost.UpdateEnum("SpeechSynthesisNarrator", narrators[0], narrators);

            //create outputs
            FHost.CreateValueOutput("Done", 1, null, TSliceMode.Single, TPinVisibility.True, out FDoneOutput);
            FDoneOutput.SetSubType(0.0, 1.0, 1.0, 0.0, true, false, true);
        }
예제 #8
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateStringInput("Input", TSliceMode.Dynamic, TPinVisibility.True, out FInput);
            FInput.SetSubType("", true);

            FHost.CreateValueInput("Hidden", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FHidden);
            FHidden.SetSubType(0, 1, 1, 0, false, true, false);

            FHost.CreateValueInput("ReadOnly", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FReadOnly);
            FReadOnly.SetSubType(0, 1, 1, 0, false, true, false);

            FHost.CreateValueInput("System", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FSystem);
            FSystem.SetSubType(0, 1, 1, 0, false, true, false);

            FHost.CreateValueInput("Set", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FSet);
            FSet.SetSubType(0, 1, 1, 0, true, false, false);

            //create outputs
            FHost.CreateValueOutput("Hidden", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FIsHidden);
            FIsHidden.SetSubType(0, 1, 1, 0, false, true, false);

            FHost.CreateValueOutput("ReadOnly", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FIsReadOnly);
            FIsReadOnly.SetSubType(0, 1, 1, 0, false, true, false);

            FHost.CreateValueOutput("System", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FIsSystem);
            FIsSystem.SetSubType(0, 1, 1, 0, false, true, false);
        }
예제 #9
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateValueConfig("Ansi/UTF8", 1, null, TSliceMode.Single, TPinVisibility.OnlyInspector, out FAnsiUtf);
            FAnsiUtf.SetSubType(0, 1, 1, 0, false, true, false);

            FHost.CreateValueConfig("Toggle line-wise", 1, null, TSliceMode.Single, TPinVisibility.OnlyInspector, out FLineWise);
            FLineWise.SetSubType(0, 1, 1, 0, false, true, false);

            FHost.CreateStringInput("Filename", TSliceMode.Dynamic, TPinVisibility.True, out FFilename);
            FFilename.SetSubType("", true);

            FHost.CreateValueInput("Startindex", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FIndex);
            FIndex.SetSubType(0, double.MaxValue, 1, 0, false, false, true);

            FHost.CreateValueInput("Count", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FCount);
            FCount.SetSubType(0, double.MaxValue, 1, 1, false, false, true);

            FHost.CreateValueInput("Update", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FUpdate);
            FUpdate.SetSubType(0, 1, 1, 0, true, false, false);

            //create outputs
            FHost.CreateStringOutput("Content", TSliceMode.Dynamic, TPinVisibility.True, out FContent);
            FContent.SetSubType("", false);
        }
예제 #10
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs

            FHost.CreateStringInput("Filename", TSliceMode.Single, TPinVisibility.True, out FMyStringInput);
            FMyStringInput.SetSubType("rig.x", true);

            //create outputs

            FHost.CreateValueOutput("Bind Indices", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FBindIndicesOutput);
            FBindIndicesOutput.Order = 1;

            FHost.CreateValueOutput("Skin Weights", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FSkinWeightsOutput);
            FSkinWeightsOutput.Order = 2;

            FHost.CreateValueOutput("Indices", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FIndicesOutput);
            FIndicesOutput.Order = 3;

            FHost.CreateTransformOutput("Inverse Bind Pose", TSliceMode.Dynamic, TPinVisibility.True, out FInverseBindPoseOutput);
            FInverseBindPoseOutput.Order = 4;

            FHost.CreateNodeOutput("Skeleton", TSliceMode.Single, TPinVisibility.True, out FSkeletonOutput);
            System.Guid[] guids = new System.Guid[1];
            guids[0] = new Guid("AB312E34-8025-40F2-8241-1958793F3D39");
            FSkeletonOutput.SetSubType(guids, "Skeleton");
            FSkeletonOutput.Order = 5;
        }
예제 #11
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            var guids = new System.Guid[1];

            guids[0] = SkeletonNodeIO.GUID;

            //create inputs
            FHost.CreateStringInput("Joint Name", TSliceMode.Single, TPinVisibility.True, out FJointNameInput);
            FHost.CreateTransformInput("Base Transform", TSliceMode.Single, TPinVisibility.True, out FBaseTransformInput);
            String[] dimensions = new String[2];
            dimensions[0] = "Min";
            dimensions[1] = "Max";
            FHost.CreateValueInput("Rotation Constraints", 2, dimensions, TSliceMode.Dynamic, TPinVisibility.True, out FRotationConstraintsInput);
            FRotationConstraintsInput.SetSubType2D(-1.0, 1.0, 0.1, -1.0, 1.0, false, false, false);
            INodeIn node;

            FHost.CreateNodeInput("Child1", TSliceMode.Single, TPinVisibility.True, out node);
            node.SetSubType(guids, "Skeleton");
            FChildPins.Add(node);

            FHost.CreateValueConfig("Children Count", 1, null, TSliceMode.Single, TPinVisibility.OnlyInspector, out FChildrenCountInput);
            FChildrenCountInput.SetSubType(0, 50, 1.0, 1.0, false, false, true);

            // create outputs
            FHost.CreateNodeOutput("Skeleton", TSliceMode.Single, TPinVisibility.True, out FSkeletonOutput);
            FSkeletonOutput.SetSubType(guids, "Skeleton");
            FSkeletonOutput.MarkPinAsChanged();
        }
예제 #12
0
파일: MakePath.cs 프로젝트: vnmone/vvvv-sdk
        public void Configurate(IPluginConfig Input)
        {
            if (Input == FInCount)
            {
                double inCount;
                FInCount.GetValue(0, out inCount);
                int idiff = FInList.Count - (int)Math.Round(inCount);

                if (idiff > 0)         //delete pins
                {
                    for (int i = 0; i < idiff; i++)
                    {
                        IStringIn delPin = FInList[FInList.Count - 1];
                        FInList.Remove(delPin);
                        FHost.DeletePin(delPin);
                    }
                }
                else if (idiff < 0)         //create pins
                {
                    for (int i = 0; i > idiff; i--)
                    {
                        IStringIn newPin;
                        FHost.CreateStringInput("Input " + (FInList.Count + 1), TSliceMode.Dynamic, TPinVisibility.True, out newPin);
                        newPin.SetSubType("", false);
                        FInList.Add(newPin);
                    }
                }
                evaluate = true;
            }
        }
예제 #13
0
파일: RS232.cs 프로젝트: vnmone/vvvv-sdk
        public void SetPluginHost(IPluginHost Host)
        {
            FHost = Host;


            //INPUT-PINS
            FHost.CreateStringInput("Input", TSliceMode.Dynamic, TPinVisibility.True, out FDataIn);
            FDataIn.SetSubType("", false);

            FHost.CreateValueInput("Do Send", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FDoSendIn);
            FDoSendIn.SetSubType(0, 1, 1, 0, true, false, true);

            FHost.CreateValueInput("Keep Last Data", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FKeepLastDataIn);
            FKeepLastDataIn.SetSubType(0, 1, 1, 0, false, false, true);

            FHost.CreateValueInput("Baudrate", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FBaudrateIn);
            FBaudrateIn.SetSubType(Double.MinValue, Double.MaxValue, 1, 9600, false, false, true);

            FHost.CreateEnumInput("Data Bits", TSliceMode.Dynamic, TPinVisibility.True, out FDatabitsIn);
            FDatabitsIn.SetSubType("DataBits");

            FHost.CreateEnumInput("Stop Bits", TSliceMode.Dynamic, TPinVisibility.True, out FStopbitsIn);
            FStopbitsIn.SetSubType("StopBits");

            FHost.CreateEnumInput("Parity", TSliceMode.Dynamic, TPinVisibility.True, out FParityIn);
            FParityIn.SetSubType("Parity");

            FHost.CreateEnumInput("Hand Shake", TSliceMode.Dynamic, TPinVisibility.True, out FHandShakeIn);
            FHandShakeIn.SetSubType("Hand Shake");
            FHost.UpdateEnum("Hand Shake", "None", new string[] { "None", "RequestToSend", "RequestToSendXOnXOff", "XOnXOff" });

            FHost.CreateValueInput("ReadBuffer Size", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FReadBufferIn);
            FReadBufferIn.SetSubType(0, Double.MaxValue, 1, 4096, false, false, true);

            FHost.CreateValueInput("Enabled", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FEnableIn);
            FEnableIn.SetSubType(0, 1, 1, 0, false, false, true);

            FHost.CreateValueInput("ComPort", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FPortNumberIn);
            FPortNumberIn.SetSubType(1, double.MaxValue, 1, 1, false, false, true);


            // OUTPUT-PINS
            FHost.CreateStringOutput("Output", TSliceMode.Dynamic, TPinVisibility.True, out FDataOut);
            FDataOut.SetSubType("", false);

            FHost.CreateValueOutput("On Data", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FOnDataOut);
            FOnDataOut.SetSubType(0, 1, 1, 0, true, false, true);

            FHost.CreateValueOutput("IsConnected", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FConnectedOut);
            FConnectedOut.SetSubType(0, 1, 1, 0, false, false, true);

            FHost.CreateValueOutput("Available Ports", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FPortsOut);
            FPortsOut.SetSubType(1, 15, 1, 1, false, false, true);

            FHost.CreateValueOutput("ReadBuffer Size", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FReadBufferOut);
            FReadBufferOut.SetSubType(0, Double.MaxValue, 1, 0, false, false, true);

            FPortsOut.SliceCount = _AvailablePorts.Length;
        }
예제 #14
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateStringInput("Remote Host", TSliceMode.Dynamic, TPinVisibility.True, out FRemoteHostStringInput);
            FRemoteHostStringInput.SetSubType("localhost", false);

            FHost.CreateValueInput("Remote Port", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FRemotePortValueInput);
            FRemotePortValueInput.SetSubType(0.0, 65535.0, 1.0, 4444.0, false, false, true);

            FHost.CreateStringInput("Input", TSliceMode.Dynamic, TPinVisibility.True, out FInputStringInput);
            FInputStringInput.SetSubType("", false);

            FHost.CreateValueInput("Send", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FDoSendValueInput);
            FDoSendValueInput.SetSubType(0.0, 1.0, 1.0, 0.0, true, false, false);

            FHost.CreateValueInput("Hold", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FHoldOutputInput);
            FHoldOutputInput.SetSubType(0.0, 1.0, 1.0, 0.0, false, true, false);

            FHost.CreateValueInput("Receive Buffer Size", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FReceiveBufferSizeInput);
            FReceiveBufferSizeInput.SetSubType(1.0, (double)int.MaxValue, 1.0, 8192.0, false, false, true);

            FHost.CreateValueInput("Receive Timeout", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FReceiveTimeoutInput);
            FReceiveTimeoutInput.SetSubType(0.0, int.MaxValue / 1000.0, 1.0, 0.0, false, false, false);

            FHost.CreateValueInput("Send Buffer Size", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FSendBufferSizeInput);
            FSendBufferSizeInput.SetSubType(1.0, (double)int.MaxValue, 1.0, 8192.0, false, false, true);

            FHost.CreateValueInput("Send Timeout", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FSendTimeoutInput);
            FSendTimeoutInput.SetSubType(0.0, int.MaxValue / 1000.0, 1.0, 0.0, false, false, false);

            FHost.CreateValueInput("Enable", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FEnableValueInput);
            FEnableValueInput.SetSubType(0.0, 1.0, 1.0, 1.0, false, true, false);

            //create outputs
            FHost.CreateStringOutput("Output", TSliceMode.Dynamic, TPinVisibility.True, out FOutputStringOutput);
            FOutputStringOutput.SetSubType("", false);

            FHost.CreateValueOutput("NewData", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FReceivedNewData);
            FReceivedNewData.SetSubType(0, 1, 1, 0, true, false, true);

            FHost.CreateValueOutput("Connected", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FConnectedValueOutput);
            FConnectedValueOutput.SetSubType(0.0, 1.0, 1.0, 0.0, false, true, false);
        }
예제 #15
0
        public void SetPluginHost(IPluginHost Host)
        {
            FHost = Host;

            //INPUT-PINS
            FHost.CreateStringInput("Mask", TSliceMode.Dynamic, TPinVisibility.True, out FMask);
            FMask.SetSubType("*.*", false);

            FHost.CreateStringInput("Directory", TSliceMode.Single, TPinVisibility.True, out FDirectory);
            FDirectory.SetSubType2("", int.MaxValue, string.Empty, TStringType.Directory);

            FHost.CreateValueInput("Include Subdirectories", 1, null, TSliceMode.Single, TPinVisibility.True, out FSubdirectories);
            FSubdirectories.SetSubType(0, 1, 1, 0, false, true, true);

            FHost.CreateValueInput("Show Short Filename", 1, null, TSliceMode.Single, TPinVisibility.False, out FShortFilenameIn);
            FShortFilenameIn.SetSubType(0, 1, 1, 1, false, true, true);

            FHost.UpdateEnum("Sort Order", "Name", new string[] { "Name", "FullName", "FileSize", "Extension", "LastAccess", "LastWriteTime", "CreationTime" });
            FHost.CreateEnumInput("Sort Order", TSliceMode.Single, TPinVisibility.True, out FMaskRule);
            FMaskRule.SetSubType("Sort Order");

            FHost.CreateValueInput("Count", 1, null, TSliceMode.Single, TPinVisibility.True, out FCountIn);
            FCountIn.SetSubType(0, double.MaxValue, 1, 0, false, false, true);

            FHost.UpdateEnum("Count Selection", "First", new string[] { "First", "Last" });
            FHost.CreateEnumInput("Count Selection", TSliceMode.Single, TPinVisibility.True, out FCountOrder);
            FCountOrder.SetSubType("Count Selection");

            FHost.CreateValueInput("Update", 1, null, TSliceMode.Single, TPinVisibility.True, out FUpdate);
            FUpdate.SetSubType(0, 1, 1, 0, true, false, true);


            // OUTPUT-PINS
            FHost.CreateStringOutput("Filenames", TSliceMode.Dynamic, TPinVisibility.True, out FFiles);
            FFiles.SetSubType("", true);

            FHost.CreateStringOutput("Short Filenames", TSliceMode.Dynamic, TPinVisibility.True, out FShortFilenameOut);
            FShortFilenameOut.SetSubType("", false);

            FHost.CreateValueOutput("File Count", 1, null, TSliceMode.Single, TPinVisibility.True, out FCountOut);
            FCountOut.SetSubType(0, double.MaxValue, 1, 0, false, false, true);

            FHost.CreateStringOutput("Message", TSliceMode.Single, TPinVisibility.Hidden, out FMessage);
            FMessage.SetSubType("OK", false);
        }
예제 #16
0
        public static IStringIn CreateStringInput(this IPluginHost host, InputAttribute attribute, Type type)
        {
            IStringIn result = null;

            host.CreateStringInput(attribute.Name, (TSliceMode)attribute.SliceMode, (TPinVisibility)attribute.Visibility, out result);
            result.SetSubType2(attribute.DefaultString, attribute.MaxChars, attribute.FileMask, (TStringType)attribute.StringType);
            SetInputProperties(result, attribute);
            return(result);
        }
예제 #17
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateStringInput("Source", TSliceMode.Dynamic, TPinVisibility.True, out FSource);
            FSource.SetSubType("c:", true);

            FHost.CreateStringInput("Destination", TSliceMode.Dynamic, TPinVisibility.True, out FDestination);
            FDestination.SetSubType(@"c:\self", false);

            FHost.CreateValueInput("Save", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FDo);
            FDo.SetSubType(0, 1, 1, 0, true, false, false);

            //create outputs
            FHost.CreateValueOutput("Done", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FDone);
            FDone.SetSubType(0, 1, 1, 0, true, false, false);
        }
예제 #18
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateStringInput("TUIO Packet String", TSliceMode.Single, TPinVisibility.True, out FTUIOPacketInput);
            FTUIOPacketInput.SetSubType("", false);

            //create outputs
            FHost.CreateValueOutput("Session ID", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FSessionIDOut);
            FSessionIDOut.SetSubType(0, int.MaxValue, 1, 0, false, false, true);

            FHost.CreateValueOutput("Class ID", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FClassIDOut);
            FClassIDOut.SetSubType(0, int.MaxValue, 1, 0, false, false, true);

            FHost.CreateValueOutput("Unique ID", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FUniqueIDOut);
            FUniqueIDOut.SetSubType(0, int.MaxValue, 1, 0, false, false, true);

            FHost.CreateValueOutput("Position X", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FPosXOut);
            FPosXOut.SetSubType(0, 1, 0.0001, 0, false, false, false);

            FHost.CreateValueOutput("Position Y", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FPosYOut);
            FPosYOut.SetSubType(0, 1, 0.0001, 0, false, false, false);

            FHost.CreateValueOutput("Angle", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FAngleOut);
            FAngleOut.SetSubType(0, Math.PI * 2, 0.0001, 0, false, false, false);

            FHost.CreateValueOutput("Width", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FWidthOut);
            FPosYOut.SetSubType(0, 1, 0.0001, 0, false, false, false);

            FHost.CreateValueOutput("Height", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FHeightOut);
            FPosYOut.SetSubType(0, 1, 0.0001, 0, false, false, false);

            FHost.CreateValueOutput("Area", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FAreaOut);
            FPosYOut.SetSubType(0, 1, 0.0001, 0, false, false, false);

            FHost.CreateValueOutput("Movement X", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FMovementXOut);
            FMovementXOut.SetSubType(float.MinValue, float.MaxValue, 0.0001, 0, false, false, false);

            FHost.CreateValueOutput("Movement Y", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FMovementYOut);
            FMovementYOut.SetSubType(float.MinValue, float.MaxValue, 0.0001, 0, false, false, false);

            FHost.CreateValueOutput("Motion Acceleration", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FMotionAccelerationOut);
            FMotionAccelerationOut.SetSubType(float.MinValue, float.MaxValue, 0.0001, 0, false, false, false);

            FHost.CreateValueOutput("Rotation Acceleration", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FRotationAccelerationOut);
            FRotationAccelerationOut.SetSubType(float.MinValue, float.MaxValue, 0.0001, 0, false, false, false);

            FHost.CreateValueOutput("Motion Speed", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FMotionSpeedOut);
            FMotionSpeedOut.SetSubType(float.MinValue, float.MaxValue, 0.0001, 0, false, false, false);

            FHost.CreateValueOutput("Rotation Speed", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FRotationSpeedOut);
            FRotationSpeedOut.SetSubType(float.MinValue, float.MaxValue, 0.0001, 0, false, false, false);
        }
예제 #19
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateStringInput("Formate", TSliceMode.Dynamic, TPinVisibility.True, out FFormate);
            FFormate.SetSubType("", false);

            FHost.CreateStringInput("CultureInfo", TSliceMode.Dynamic, TPinVisibility.True, out FCulturInfo);
            FCulturInfo.SetSubType("en-US", false);

            FHost.CreateValueInput("Update", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FUpdate);
            FUpdate.SetSubType(0.0, 1.0, 1.0, 1.0, false, true, false);



            //create outputs
            FHost.CreateStringOutput("Current Date", TSliceMode.Dynamic, TPinVisibility.True, out FCurrentDate);
            FCurrentDate.SetSubType("", false);

            FHost.CreateStringOutput("UTC", TSliceMode.Dynamic, TPinVisibility.True, out FUTC);
            FUTC.SetSubType("", false);
        }
예제 #20
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateStringInput("Shortcut", TSliceMode.Dynamic, TPinVisibility.True, out FShortcut);
            FShortcut.SetSubType(@"c:\dummy.lnk", false);

            //create outputs
            FHost.CreateStringOutput("Destination", TSliceMode.Dynamic, TPinVisibility.True, out FDestination);
            FDestination.SetSubType("", true);

            FHost.CreateStringOutput("Working Directory", TSliceMode.Dynamic, TPinVisibility.OnlyInspector, out FWorkingDir);
            FWorkingDir.SetSubType("", true);

            FHost.CreateStringOutput("Icon Location", TSliceMode.Dynamic, TPinVisibility.OnlyInspector, out FIcon);
            FIcon.SetSubType("", true);
        }
예제 #21
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            var guids = new System.Guid[1];

            guids[0] = SkeletonNodeIO.GUID;
            FHost.CreateNodeInput("Skeleton", TSliceMode.Single, TPinVisibility.True, out FSkeletonInput);
            FSkeletonInput.SetSubType(guids, "Skeleton");
            FHost.CreateTransformInput("Inverse Bind Pose", TSliceMode.Dynamic, TPinVisibility.True, out FInverseBindPoseInput);
            FHost.UpdateEnum("SkinningMatricesOutputMode", "Dynamic", new string[] { "Dynamic", "Fixed to 60" });
            FHost.CreateEnumInput("Output Transform Count", TSliceMode.Single, TPinVisibility.True, out FOutputModeInput);
            FOutputModeInput.SetSubType("SkinningMatricesOutputMode");
            FHost.CreateStringInput("Joint Name", TSliceMode.Dynamic, TPinVisibility.True, out FJointNameInput);

            // create outputs
            FHost.CreateTransformOutput("Transform", TSliceMode.Dynamic, TPinVisibility.True, out FTransformOutput);
        }
예제 #22
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            var guids = new System.Guid[1];

            guids[0] = SkeletonNodeIO.GUID;
            FHost.CreateNodeInput("Skeleton", TSliceMode.Single, TPinVisibility.True, out FSkeletonInput);
            FSkeletonInput.SetSubType(guids, "Skeleton");
            FHost.CreateStringInput("Joint Name", TSliceMode.Dynamic, TPinVisibility.True, out FJointNameInput);

            // create outputs
            FHost.CreateValueOutput("ID", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FJointIdOutput);
            FJointIdOutput.SetSubType(0, 500, 1, 0, false, false, true);
            FHost.CreateStringOutput("Parent Name", TSliceMode.Dynamic, TPinVisibility.True, out FParentNameOutput);
            FHost.CreateTransformOutput("Base Transform", TSliceMode.Dynamic, TPinVisibility.True, out FBaseTransformOutput);
            FHost.CreateTransformOutput("Animation Transform", TSliceMode.Dynamic, TPinVisibility.True, out FAnimationTransformOutput);
        }
예제 #23
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateValueInput("Enabled", 1, null, TSliceMode.Single, TPinVisibility.True, out FEnablePin);
            FEnablePin.SetSubType(0, 1, 1, 1, false, true, false);

            FHost.CreateValueInput("Format", 1, null, TSliceMode.Single, TPinVisibility.True, out FFormatPin);
            FFormatPin.SetSubType(0, 5, 1, 1, false, false, true);

            FHost.CreateValueInput("Pixel Clock", 1, null, TSliceMode.Single, TPinVisibility.True, out FPixelClockPin);
            FPixelClockPin.SetSubType(5, 30, 1, 30, false, false, false);

            FHost.CreateValueInput("Framerate", 1, null, TSliceMode.Single, TPinVisibility.True, out FFrameRatePin);
            FFrameRatePin.SetSubType(7.76, 52.18, 0.01, 52.18, false, false, false);

            FHost.CreateValueInput("Exposure Time", 1, null, TSliceMode.Single, TPinVisibility.True, out FExposureTimePin);
            FExposureTimePin.SetSubType(0.03, 19.099, 0.01, 5, false, false, false);

            FHost.CreateValueInput("Flash Mode", 1, null, TSliceMode.Single, TPinVisibility.True, out FFlashModePin);
            FFlashModePin.SetSubType(0, 10, 1, 0, false, false, true);

            FHost.CreateValueInput("Flash Delay", 1, null, TSliceMode.Single, TPinVisibility.True, out FFlashDelayPin);
            FFlashDelayPin.SetSubType(0, 20, 0.01, 0, false, false, false);

            FHost.CreateValueInput("Flash Duration", 1, null, TSliceMode.Single, TPinVisibility.True, out FFlashDurationPin);
            FFlashDurationPin.SetSubType(0, 20, 0.01, 1, false, false, false);

            FHost.CreateStringInput("Shared Name", TSliceMode.Dynamic, TPinVisibility.True, out FSharedNamePin);
            FSharedNamePin.SetSubType("#vvvv", false);

            //create outputs
            FHost.CreateValueOutput("Actual Framerate", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FActualFrameRatePin);
            FActualFrameRatePin.SetSubType(0, double.MaxValue, 0.01, 0, false, false, false);

            FHost.CreateStringOutput("Info", TSliceMode.Single, TPinVisibility.True, out FInfoPin);
            FInfoPin.SetSubType("", false);
        }
예제 #24
0
파일: MakePath.cs 프로젝트: vnmone/vvvv-sdk
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create config
            FHost.CreateValueConfig("Input Count", 1, null, TSliceMode.Single, TPinVisibility.True, out FInCount);
            FInCount.SetSubType(1, double.MaxValue, 1, 1, false, false, true);

            //create inputs
            FHost.CreateValueInput("Prepend Patch Path", 1, null, TSliceMode.Single, TPinVisibility.OnlyInspector, out FPrepend);
            FPrepend.SetSubType(0, 1, 1, 1, false, true, false);

            FHost.CreateStringInput("Input 1", TSliceMode.Dynamic, TPinVisibility.True, out FIn1);
            FIn1.SetSubType("", false);

            //create outputs
            FHost.CreateStringOutput("Output", TSliceMode.Dynamic, TPinVisibility.True, out FOutput);
            FOutput.SetSubType("", false);

            //
            FInList.Add(FIn1);
        }
예제 #25
0
        public void SetPluginHost(IPluginHost Host)
        {
            FHost = Host;



            //INPUT-PINS
            FHost.CreateStringInput("Identifier", TSliceMode.Single, TPinVisibility.True, out FIdentifier);
            FIdentifier.SetSubType("", false);

            FHost.CreateValueInput("Enable", 1, null, TSliceMode.Single, TPinVisibility.True, out FEnableIn);
            FEnableIn.SetSubType(0, 1, 1, 0, false, false, true);

            FHost.CreateValueInput("Port", 1, null, TSliceMode.Single, TPinVisibility.True, out FPortNumberIn);
            FPortNumberIn.SetSubType(1, 15, 1, 1, false, false, true);

            FHost.CreateValueInput("Baudrate", 1, null, TSliceMode.Single, TPinVisibility.True, out FBaudrateIn);
            FBaudrateIn.SetSubType(Double.MinValue, Double.MaxValue, 1, 9600, false, false, true);

            FHost.CreateValueInput("Message Frame Size", 1, null, TSliceMode.Single, TPinVisibility.True, out FDataFieldSize);
            FDataFieldSize.SetSubType(0, double.MaxValue, 1, 8, false, false, true);

            FHost.CreateValueInput("Timeout", 1, null, TSliceMode.Single, TPinVisibility.True, out FTimeOut);
            FTimeOut.SetSubType(0, double.MaxValue, 1, 500, false, false, true);



            // OUTPUT-PINS
            FHost.CreateStringOutput("Output", TSliceMode.Dynamic, TPinVisibility.True, out FDataOut);
            FDataOut.SetSubType("", false);

            FHost.CreateValueOutput("Connected", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FConnectedOut);
            FConnectedOut.SetSubType(0, 1, 1, 0, false, false, true);

            FHost.CreateValueOutput("Available Ports", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FPortsOut);
            FPortsOut.SetSubType(1, 15, 1, 1, false, false, true);
        }
예제 #26
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            //assign host
            FHost = Host;

            //create inputs
            FHost.CreateValueConfig("List Count", 1, null, TSliceMode.Single, TPinVisibility.OnlyInspector, out FListCount);
            FListCount.SetSubType(1, double.MaxValue, 1, 1, false, false, true);

            FHost.CreateValueConfig("Columns", 1, null, TSliceMode.Single, TPinVisibility.OnlyInspector, out FColumns);
            FColumns.SetSubType(1, double.MaxValue, 1, 1, false, false, true);

            FHost.CreateStringInput("List Item", TSliceMode.Dynamic, TPinVisibility.True, out FItems);
            FItems.SetSubType("Item", false);

            FHost.CreateValueInput("Bin Size", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FBinSize);
            FBinSize.SetSubType(-1, double.MaxValue, 1, -1, false, false, true);

            FHost.CreateValueInput("Default Slice", 1, null, TSliceMode.Single, TPinVisibility.Hidden, out FDefault);
            FDefault.SetSubType(0, double.MaxValue, 1, 0, false, false, true);

            FHost.CreateValueInput("Select Item", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FSelectItem);
            FSelectItem.SetSubType(0, double.MaxValue, 1, 0, false, false, true);

            FHost.CreateValueInput("Do Select", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FDoSelect);
            FDoSelect.SetSubType(0, 1, 1, 0, true, false, false);


            //create outputs
            FHost.CreateValueOutput("Selected Index", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FSelectIndex);
            FSelectIndex.SetSubType(0, double.MaxValue, 0.01, 0, false, false, true);

            FHost.CreateStringOutput("Selected Item", TSliceMode.Dynamic, TPinVisibility.True, out FItem);
            FItem.SetSubType("", false);

            FComboList.Add(startCombo);
        }
예제 #27
0
        //this method is called by vvvv when the node is created
        public void SetPluginHost(IPluginHost Host)
        {
            FHost = Host;

            FHost.CreateStringInput("Wiimote ID", TSliceMode.Dynamic, TPinVisibility.OnlyInspector, out FPinInputID);
            FPinInputID.SetSubType("-1", false);

            FHost.CreateValueInput("Enable", 1, null, TSliceMode.Single, TPinVisibility.True, out FPinInputEnable);
            FPinInputEnable.SetSubType(0, 1, 1, 0, false, true, false);

            FHost.CreateValueInput("LED", 4, new string[4] {
                "0", "1", "2", "3"
            }, TSliceMode.Dynamic, TPinVisibility.True, out FPinInputLED);
            FPinInputLED.SetSubType4D(0, 1, 1, 0, 0, 0, 0, false, true, false);

            FHost.CreateValueInput("Rumble", 1, null, TSliceMode.Dynamic, TPinVisibility.True, out FPinInputRumble);
            FPinInputRumble.SetSubType(0, 1, 1, 0, false, true, false);

            FHost.UpdateEnum("WiimoteInfraredMode", "Extended", new string[4] {
                "Full", "Extended", "Basic", "Off"
            });

            FHost.CreateEnumInput("Infrared Mode", TSliceMode.Dynamic, TPinVisibility.True, out FPinInputMode);
            FPinInputMode.SetSubType("WiimoteInfraredMode");

            FHost.CreateValueFastInput("Calibration ZeroG", 3, null, TSliceMode.Dynamic, TPinVisibility.OnlyInspector, out FPinInputCalibrationZeroG);
            FPinInputCalibrationZeroG.SetSubType3D(0, 0xFF, 1, 126, 126, 131, false, false, true);

            FHost.CreateValueFastInput("Calibration OneG", 3, null, TSliceMode.Dynamic, TPinVisibility.OnlyInspector, out FPinInputCalibrationOneG);
            FPinInputCalibrationOneG.SetSubType3D(0, 0xFF, 1, 151, 151, 151, false, false, true);

            FHost.CreateValueInput("Calibrate", 1, null, TSliceMode.Single, TPinVisibility.OnlyInspector, out FPinInputCalibrate);
            FPinInputCalibrate.SetSubType(0, 1, 1, 0, true, false, false);

            FHost.CreateValueInput("Force Reset", 1, null, TSliceMode.Single, TPinVisibility.OnlyInspector, out FPinForceReset);
            FPinForceReset.SetSubType(0, 1, 1, 0, true, false, false);

            FHost.UpdateEnum("WiimoteExtensionEnum", "none", new string[5] {
                "none", "Nunchuk", "Classic", "BalanceBoard", "Guitar"
            });
            FHost.CreateEnumConfig("Extension", TSliceMode.Single, TPinVisibility.True, out FPinConfigExtension);
            FPinConfigExtension.SetSubType("WiimoteExtensionEnum");

//			FHost.CreateValueConfig("MotionPlus", 1, null, TSliceMode.Single, TPinVisibility.True, out FPinMotionPlus);
//			FPinMotionPlus.SetSubType(0, 1, 1, 0, false, true, false);

            //create outputs
            FHost.CreateStringOutput("Available Wiimotes", TSliceMode.Dynamic, TPinVisibility.OnlyInspector, out FPinOutputAvailable);
            FPinOutputAvailable.SetSubType("none", false);

            FHost.CreateStringOutput("Working", TSliceMode.Single, TPinVisibility.True, out FPinOutputWorking);
            FPinOutputWorking.SetSubType("Initializing", false);

            FHost.CreateStringOutput("Extension Found", TSliceMode.Single, TPinVisibility.True, out FPinOutputExtensionFound);
            FPinOutputExtensionFound.SetSubType("none", false);

            FHost.CreateValueOutput("Battery", 1, null, TSliceMode.Single, TPinVisibility.True, out FPinOutputBattery);
            FPinOutputBattery.SetSubType(double.MinValue, double.MaxValue, 0.0001, 0, false, false, false);

            FHost.CreateValueOutput("Cursor", 4, new string[4] {
                "Up", "Down", "Left", "Right"
            }, TSliceMode.Dynamic, TPinVisibility.True, out FPinOutputCursor);
            FPinOutputCursor.SetSubType4D(0, 1, 1, 0, 0, 0, 0, false, true, false);

            FHost.CreateValueOutput("Buttons", 4, new string[4] {
                "A", "B", "1", "2"
            }, TSliceMode.Dynamic, TPinVisibility.True, out FPinOutputButtons);
            FPinOutputButtons.SetSubType4D(0, 1, 1, 0, 0, 0, 0, false, true, false);

            FHost.CreateValueOutput("System", 3, new string[3] {
                "Plus", "Minus", "Home"
            }, TSliceMode.Dynamic, TPinVisibility.True, out FPinOutputControls);
            FPinOutputControls.SetSubType3D(0, 1, 1, 0, 0, 0, false, true, false);

            FHost.CreateValueOutput("Acceleration", 3, null, TSliceMode.Dynamic, TPinVisibility.True, out FPinOutputAccelleration);
            FPinOutputAccelleration.SetSubType3D(double.MinValue, double.MaxValue, 0.0001, 0, 0, 0, false, false, false);

            FHost.CreateValueOutput("Angle", 3, new string[3] {
                "Pitch", "Roll", "Yaw"
            }, TSliceMode.Dynamic, TPinVisibility.True, out FPinOutputTilt);
            FPinOutputTilt.SetSubType3D(double.MinValue, double.MaxValue, 0.0001, 0, 0, 0, false, false, false);

            FHost.CreateValueOutput("Infrared", 3, new string[3] {
                "X", "Y", "Size"
            }, TSliceMode.Dynamic, TPinVisibility.True, out FPinOutputInfraredBlobs);
            FPinOutputInfraredBlobs.SetSubType3D(0, 1023, 1, 0, 0, 0, false, false, true);

            Enable();
        }