├── .gitignore
├── 17366960395_ed2f6d85da_b.jpg
├── 32_vs_9.v4p
├── 3d_basic.v4p
├── ARTK.v4p
├── AnimationList.v4p
├── Arduino_Giro.v4p
├── Arduino_Sound.v4p
├── Arduino_first.v4p
├── Arduino_fullLEDv4p.v4p
├── Arduino_input.v4p
├── Arduino_pressure.v4p
├── BoxSpin.v4p
├── CS_Button.v4p
├── Cartesian.v4p
├── CdS.v4p
├── Client_TCP.v4p
├── Dijkstra.v4p
├── DrawAsQuad.v4p
├── EX9MeshSubset.v4p
├── EyqSensorToOSC_with_vvvv.v4p
├── FFDamageMove.v4p
├── FFT4Channel.v4p
├── FindBody.v4p
├── FizzBuzz.v4p
├── ForBeginner.v4p
├── GPUfluid.v4p
├── Game01.v4p
├── GameController.v4p
├── Kansuji.zip
├── Kinetic_Typography.v4p
├── LCD.v4p
├── LICENSE
├── LSystem.v4p
├── Leap.v4p
├── MMDLoader.v4p
├── Math_matrix.v4p
├── Matrix_02.v4p
├── Multimedia.v4p
├── ODE.v4p
├── README.md
├── SQL.v4p
├── SendTexture.v4p
├── Server_TCP.v4p
├── Shader.v4p
├── ShaderFilter.zip
├── ShaderFilter
├── CrossGrare.fx
├── Shader_Filter.v4p
├── TestFilter.fx
└── tokyo.jpg
├── Shooting.v4p
├── Spreads.v4p
├── TobiiTest.v4p
├── Tutorial_Kurumi.v4p
├── VST.v4p
├── VertexBuffer.v4p
├── VertexTexture.v4p
├── ame.v4p
├── audioin.v4p
├── b-spline.v4p
├── b-spline_2.v4p
├── ball.png
├── boids.zip
├── boids
├── 1AnimationFlockingBehavior.dll
├── PointSprites.fx
├── SubPatches
│ ├── AnimalBehavior_subPatch.v4p
│ ├── Behaviors_Save.v4p
│ ├── FlockingBehavior_subPatch.v4p
│ ├── Helpers.v4p
│ ├── Helpers_.v4p
│ └── Taget_EnemyGenerator.v4p
├── _AnimalBehaviors(Help).v4p
├── _FlockingBehavior(Help).v4p
├── arrow3d_1.x
├── main.v4p
└── star.png
├── box2d.v4p
├── brainfuck.v4p
├── break.wav
├── bullet.v4p
├── channel_vol9
├── LSystem (LSystem) help.v4p
├── LSystem.csproj
├── LSystemNode.cs
├── LifeGame.v4p
├── _00_ROOT.v4p
├── _01_electro.v4p
├── _02_real_cube.v4p
├── _03_Rings.v4p
├── _04_car_movie.v4p
├── _05_colorful_boxes.v4p
├── _06LSystem.v4p
├── _07_Ambient_Sphere.v4p
├── _08_skipping.v4p
├── _09_BallGame.v4p
├── _10_particle.v4p
├── _11_boxGPU.v4p
├── _12_RealShiny.v4p
├── _13_LifeGame.v4p
├── _14_kaoss.v4p
├── _15_vvvvj.v4p
├── _root_svg_import.v4p
└── glare.v4p
├── circle.png
├── complex.v4p
├── connect_near_line.v4p
├── cool_scene.v4p
├── desafes.v4p
├── dx11_gs_begin.v4p
├── effects
├── BoxSpin.fx
├── PixelTest.fx
├── TestEffect01.fx
├── TestFilter.fx
├── VertexSpin.fx
├── Wave.fx
├── Wave2.fx
└── shift.fx
├── enum.v4p
├── flickr.v4p
├── girov4p.v4p
├── gs_test.v4p
├── gui_button.v4p
├── hane.v4p
├── howahowa_circle.v4p
├── hsv_bug.v4p
├── keyboard.v4p
├── keying.v4p
├── lfo.v4p
├── lunar.png
├── midi_keyboard.v4p
├── move_window
├── MoveWindow help.v4p
└── plugins
│ └── WindowMoveWindow
│ ├── Properties
│ └── AssemblyInfo.cs
│ ├── WindowMoveWindow.csproj
│ ├── WindowMoveWindowNode.cs
│ └── bin
│ └── Dynamic
│ ├── -636783787._dynamic_.1.dll
│ ├── -636783787._dynamic_.2.dll
│ ├── -636783787._dynamic_.3.dll
│ ├── -636783787._dynamic_.4.dll
│ └── 1552615683._dynamic_.9.dll
├── movie_writer.v4p
├── newton.v4p
├── particle.v4p
├── perlin.v4p
├── pixel_texel.v4p
├── plugins
├── 1TobiiTobii
│ ├── 1TobiiTobii.csproj
│ ├── C1TobiiTobiiNode.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── bin
│ │ └── Dynamic
│ │ └── 2142191625._dynamic_.1.dll
├── DevicesTobiiEyeX
│ ├── DevicesTobiiEyeX.csproj
│ ├── DevicesTobiiEyeX.sln
│ ├── DevicesTobiiEyeX.suo
│ ├── DevicesTobiiEyeX.v11.suo
│ ├── DevicesTobiiEyeXNode.cs
│ ├── EyeXFramework
│ │ ├── ActivatableBehavior.cs
│ │ ├── DataStreamBase.cs
│ │ ├── EngineStateAccessor.cs
│ │ ├── EngineStateValue.cs
│ │ ├── EyePositionDataStream.cs
│ │ ├── EyeXFramework.csproj
│ │ ├── EyeXHost.Tools.cs
│ │ ├── EyeXHost.cs
│ │ ├── FixationDataStream.cs
│ │ ├── Forms
│ │ │ ├── BehaviorMap.cs
│ │ │ ├── DpiAwarenessUtilities.cs
│ │ │ ├── FormsCrawler.cs
│ │ │ ├── FormsEyeXHost.cs
│ │ │ ├── FormsInteractor.cs
│ │ │ └── IFormsEyeXHost.cs
│ │ ├── GazeAwareBehavior.cs
│ │ ├── GazePointDataStream.cs
│ │ ├── IDataStreamObserver.cs
│ │ ├── IEyeXBehavior.cs
│ │ ├── InteractorIDGenerator.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Settings.StyleCop
│ │ ├── Wpf
│ │ │ ├── Behavior.Activatable.cs
│ │ │ ├── Behavior.GazeAware.cs
│ │ │ ├── Behavior.Occluder.cs
│ │ │ ├── Behavior.cs
│ │ │ ├── WpfCrawler.cs
│ │ │ ├── WpfEyeXHost.cs
│ │ │ └── WpfInteractor.cs
│ │ ├── bin
│ │ │ └── x86
│ │ │ │ └── Debug
│ │ │ │ ├── EyeXFramework.dll
│ │ │ │ ├── EyeXFramework.pdb
│ │ │ │ ├── Tobii.EyeX.Client.Net20.dll
│ │ │ │ └── Tobii.EyeX.Client.Net20.xml
│ │ └── obj
│ │ │ └── x86
│ │ │ └── Debug
│ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ │ ├── EyeXFramework.csproj.FileListAbsolute.txt
│ │ │ ├── EyeXFramework.csprojResolveAssemblyReference.cache
│ │ │ ├── EyeXFramework.dll
│ │ │ ├── EyeXFramework.pdb
│ │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ │ │ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Tobii.EyeX.Client.Net20.dll
│ ├── Tobii.EyeX.Client.dll
│ ├── bin
│ │ ├── AnyCPU
│ │ │ └── Debug
│ │ │ │ ├── CommandLine.dll
│ │ │ │ ├── CommandLine.xml
│ │ │ │ ├── DevicesTobiiEyeX.dll
│ │ │ │ ├── DevicesTobiiEyeX.pdb
│ │ │ │ ├── EyeXFramework.dll
│ │ │ │ ├── EyeXFramework.pdb
│ │ │ │ ├── ICSharpCode.NRefactory.dll
│ │ │ │ ├── ICSharpCode.SharpDevelop.Dom.dll
│ │ │ │ ├── Microsoft.Practices.ServiceLocation.dll
│ │ │ │ ├── Microsoft.Practices.Unity.dll
│ │ │ │ ├── Microsoft.Practices.Unity.xml
│ │ │ │ ├── Mono.Cecil.dll
│ │ │ │ ├── SlimDX.dll
│ │ │ │ ├── SlimDX.xml
│ │ │ │ ├── System.ComponentModel.Composition.Codeplex.dll
│ │ │ │ ├── System.ComponentModel.Composition.Codeplex.xml
│ │ │ │ ├── System.Reactive.Core.dll
│ │ │ │ ├── System.Reactive.Core.xml
│ │ │ │ ├── System.Reactive.Interfaces.dll
│ │ │ │ ├── System.Reactive.Interfaces.xml
│ │ │ │ ├── System.Reactive.Linq.dll
│ │ │ │ ├── System.Reactive.Linq.xml
│ │ │ │ ├── System.Reflection.Context.dll
│ │ │ │ ├── Tobii.EyeX.Client.Net20.dll
│ │ │ │ ├── Tobii.EyeX.Client.dll
│ │ │ │ ├── VVVV.Core.dll
│ │ │ │ ├── VVVV.PluginInterfaces.dll
│ │ │ │ ├── VVVV.PluginInterfaces.xml
│ │ │ │ ├── VVVV.Utils.dll
│ │ │ │ ├── VVVV.Utils.xml
│ │ │ │ ├── VVVV.Utils3rdParty.dll
│ │ │ │ ├── VVVV.Utils3rdParty.xml
│ │ │ │ ├── VVVV.UtilsIL.dll
│ │ │ │ ├── VVVV.UtilsIL.xml
│ │ │ │ └── log4net.dll
│ │ └── Dynamic
│ │ │ ├── 1278305982._dynamic_.21.dll
│ │ │ ├── 1508555595._dynamic_.1.dll
│ │ │ ├── EyeXFramework.dll
│ │ │ ├── Tobii.EyeX.Client.Net20.dll
│ │ │ └── Tobii.EyeX.Client.dll
│ └── obj
│ │ ├── Debug
│ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ ├── DevicesTobiiEyeX.csproj.FileListAbsolute.txt
│ │ ├── DevicesTobiiEyeX.csprojResolveAssemblyReference.cache
│ │ ├── DevicesTobiiEyeX.dll
│ │ ├── DevicesTobiiEyeX.pdb
│ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ │ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
│ │ └── x86
│ │ └── Debug
│ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ └── build.force
├── NetworkSendTexture
│ ├── NetworkSendTexture.csproj
│ ├── NetworkSendTextureNode.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── bin
│ │ └── Dynamic
│ │ └── 1302268752._dynamic_.1.dll
├── RawSendTexture
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── RawSendTexture.csproj
│ ├── RawSendTextureNode.cs
│ └── bin
│ │ └── Dynamic
│ │ └── -1277556148._dynamic_.19.dll
├── StringFFDamageMove
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── StringFFDamageMove.csproj
│ ├── StringFFDamageMoveNode.cs
│ └── bin
│ │ └── Dynamic
│ │ └── 348075696._dynamic_.51.dll
├── ValueCS_Test
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── ValueCS_Test.csproj
│ ├── ValueCS_TestNode.cs
│ └── bin
│ │ └── Dynamic
│ │ └── -1925375871._dynamic_.9.dll
└── ValueSortPoint2
│ ├── Properties
│ └── AssemblyInfo.cs
│ ├── ValueSortPoint2.csproj
│ ├── ValueSortPoint2Node.cs
│ └── bin
│ └── Dynamic
│ └── 23580670._dynamic_.7.dll
├── projection_mappng_01.v4p
├── shader_begin.v4p
├── shiftUV.v4p
├── shoot.wav
├── sky_star.jpg
├── sound_maker.v4p
├── sounds
├── 01ƒh.wav
├── 02ƒŒ.wav
├── 03ƒ~.wav
├── 05.wav
├── 06ƒ‰.wav
├── 08ƒhi‚j.wav
├── 09ƒŒi‚j.wav
├── 10ƒ~i‚j.wav
├── 12.wav
└── 13ƒ‰i‚j.wav
├── ssao_test.v4p
├── star.png
├── texture_source.v4p
├── videoIn.v4p
├── vl
├── VVVV.Tutorial.AsyncTest.vl
├── VVVV.Tutorial.ClassTest.vl
├── VVVV.Tutorial.CountModel.vl
├── VVVV.Tutorial.Misc.vl
├── VVVV.Tutorial.PanelSystem.vl
├── VVVV.Tutorial.Particle.vl
└── VVVV.Tutorial.Puzzle.vl
├── vl_async.v4p
├── vl_class.v4p
├── vl_panel_system.v4p
├── vl_process.v4p
├── vl_puzzle.v4p
├── vl_record.v4p
├── vl_region.v4p
├── vvvv2unity-1.v4p
├── vvvv2unity.v4p
├── vvvv2unity_scene_01.v4p
└── we_lovve_vvvv.v4p
/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # .v4p backup files
3 | *~.xml
4 | *.pdb
5 | *.dll
6 |
--------------------------------------------------------------------------------
/17366960395_ed2f6d85da_b.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/17366960395_ed2f6d85da_b.jpg
--------------------------------------------------------------------------------
/FindBody.v4p:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
--------------------------------------------------------------------------------
/Kansuji.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/Kansuji.zip
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | This is free and unencumbered software released into the public domain.
2 |
3 | Anyone is free to copy, modify, publish, use, compile, sell, or
4 | distribute this software, either in source code form or as a compiled
5 | binary, for any purpose, commercial or non-commercial, and by any
6 | means.
7 |
8 | In jurisdictions that recognize copyright laws, the author or authors
9 | of this software dedicate any and all copyright interest in the
10 | software to the public domain. We make this dedication for the benefit
11 | of the public at large and to the detriment of our heirs and
12 | successors. We intend this dedication to be an overt act of
13 | relinquishment in perpetuity of all present and future rights to this
14 | software under copyright law.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22 | OTHER DEALINGS IN THE SOFTWARE.
23 |
24 | For more information, please refer to
25 |
26 |
--------------------------------------------------------------------------------
/Matrix_02.v4p:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
--------------------------------------------------------------------------------
/ODE.v4p:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | VVVV Tutorial
2 | =============
3 |
4 | vvvv 講座
5 | (https://www.youtube.com/playlist?list=PLqjkdWFcBMk8gVdbGuSqwi4q1ihr7LcaW)
6 | のパッチをてきとーにアップしています。プラグインの関係などで動かないものも多いと思うので雰囲気をつかむ程度な感じでお願いします。
7 | タイトルとファイル名を関連付けるのは大変なので推測してください。
8 | パブリックドメインなので、自己責任で好きに改変や利用しください。
9 |
--------------------------------------------------------------------------------
/ShaderFilter.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/ShaderFilter.zip
--------------------------------------------------------------------------------
/ShaderFilter/CrossGrare.fx:
--------------------------------------------------------------------------------
1 | //@author: vvvv group
2 | //@help: this is a very basic template. use it to start writing your own effects. if you want effects with lighting start from one of the GouraudXXXX or PhongXXXX effects
3 | //@tags:
4 | //@credits:
5 |
6 | // --------------------------------------------------------------------------------------------------
7 | // PARAMETERS:
8 | // --------------------------------------------------------------------------------------------------
9 |
10 | //transforms
11 | float4x4 tW: WORLD; //the models world matrix
12 | float4x4 tV: VIEW; //view matrix as set via Renderer (EX9)
13 | float4x4 tP: PROJECTION;
14 | float4x4 tWVP: WORLDVIEWPROJECTION;
15 | float2 texelSize;
16 | float4 color: COLOR;
17 |
18 | //texture
19 | texture Tex ;
20 | sampler Samp = sampler_state //sampler for doing the texture-lookup
21 | {
22 | Texture = (Tex); //apply a texture to the sampler
23 | MipFilter = LINEAR; //sampler states
24 | MinFilter = LINEAR;
25 | MagFilter = LINEAR;
26 | };
27 |
28 | //texture transformation marked with semantic TEXTUREMATRIX to achieve symmetric transformations
29 | float4x4 tTex: TEXTUREMATRIX ;
30 |
31 | //the data structure: "vertexshader to pixelshader"
32 | //used as output data with the VS function
33 | //and as input data with the PS function
34 | struct vs2ps
35 | {
36 | float4 Pos : POSITION;
37 | float2 TexCd : TEXCOORD0;
38 | };
39 |
40 | // --------------------------------------------------------------------------------------------------
41 | // VERTEXSHADERS
42 | // --------------------------------------------------------------------------------------------------
43 | vs2ps VS(
44 | float4 PosO : POSITION,
45 | float4 TexCd : TEXCOORD0)
46 | {
47 | //declare output struct
48 | vs2ps Out;
49 |
50 | //transform position
51 | Out.Pos = mul(PosO, tWVP);
52 |
53 | //transform texturecoordinates
54 | Out.TexCd = mul(TexCd, tTex);
55 |
56 | return Out;
57 | }
58 |
59 | // --------------------------------------------------------------------------------------------------
60 | // PIXELSHADERS:
61 | // --------------------------------------------------------------------------------------------------
62 |
63 | float4 PS(vs2ps In): COLOR
64 | {
65 | float2 d[4] = { float2(1,1), float2(-1,1), float2(1,-1), float2(-1,-1) };
66 | float4 sum = 0;
67 | for (int i=0; i < 10; ++i)
68 | {
69 | for (int j=0; j < 4; ++j)
70 | {
71 | float2 adj = In.TexCd + texelSize*d[j]*i;
72 | sum += tex2D(Samp, adj) / (i+i+1);
73 | }
74 | }
75 | return sum * color;
76 | }
77 |
78 | // --------------------------------------------------------------------------------------------------
79 | // TECHNIQUES:
80 | // --------------------------------------------------------------------------------------------------
81 |
82 | technique TSimpleShader
83 | {
84 | pass P0
85 | {
86 | //Wrap0 = U; // useful when mesh is round like a sphere
87 | VertexShader = compile vs_3_0 VS();
88 | PixelShader = compile ps_3_0 PS();
89 | }
90 | }
91 |
92 | technique TFixedFunction
93 | {
94 | pass P0
95 | {
96 | //transforms
97 | WorldTransform[0] = (tW);
98 | ViewTransform = (tV);
99 | ProjectionTransform = (tP);
100 |
101 | //texturing
102 | Sampler[0] = (Samp);
103 | TextureTransform[0] = (tTex);
104 | TexCoordIndex[0] = 0;
105 | TextureTransformFlags[0] = COUNT2;
106 | //Wrap0 = U; // useful when mesh is round like a sphere
107 |
108 | Lighting = FALSE;
109 |
110 | //shaders
111 | VertexShader = NULL;
112 | PixelShader = NULL;
113 | }
114 | }
115 |
--------------------------------------------------------------------------------
/ShaderFilter/TestFilter.fx:
--------------------------------------------------------------------------------
1 | //@author: vvvv group
2 | //@help: this is a very basic template. use it to start writing your own effects. if you want effects with lighting start from one of the GouraudXXXX or PhongXXXX effects
3 | //@tags:
4 | //@credits:
5 |
6 | // --------------------------------------------------------------------------------------------------
7 | // PARAMETERS:
8 | // --------------------------------------------------------------------------------------------------
9 |
10 | //transforms
11 | float4x4 tW: WORLD; //the models world matrix
12 | float4x4 tV: VIEW; //view matrix as set via Renderer (EX9)
13 | float4x4 tP: PROJECTION;
14 | float4x4 tWVP: WORLDVIEWPROJECTION;
15 | float Threshold;
16 |
17 | //texture
18 | texture Tex ;
19 | sampler Samp = sampler_state //sampler for doing the texture-lookup
20 | {
21 | Texture = (Tex); //apply a texture to the sampler
22 | MipFilter = LINEAR; //sampler states
23 | MinFilter = LINEAR;
24 | MagFilter = LINEAR;
25 | };
26 |
27 | //texture transformation marked with semantic TEXTUREMATRIX to achieve symmetric transformations
28 | float4x4 tTex: TEXTUREMATRIX ;
29 |
30 | //the data structure: "vertexshader to pixelshader"
31 | //used as output data with the VS function
32 | //and as input data with the PS function
33 | struct vs2ps
34 | {
35 | float4 Pos : POSITION;
36 | float2 TexCd : TEXCOORD0;
37 | };
38 |
39 | // --------------------------------------------------------------------------------------------------
40 | // VERTEXSHADERS
41 | // --------------------------------------------------------------------------------------------------
42 | vs2ps VS(
43 | float4 PosO : POSITION,
44 | float4 TexCd : TEXCOORD0)
45 | {
46 | //declare output struct
47 | vs2ps Out;
48 |
49 | //transform position
50 | Out.Pos = mul(PosO, tWVP);
51 |
52 | //transform texturecoordinates
53 | Out.TexCd = mul(TexCd, tTex);
54 |
55 | return Out;
56 | }
57 |
58 | // --------------------------------------------------------------------------------------------------
59 | // PIXELSHADERS:
60 | // --------------------------------------------------------------------------------------------------
61 |
62 | float4 PS(vs2ps In): COLOR
63 | {
64 | float4 col = tex2D(Samp, In.TexCd);
65 | float p = col.a * (col.r + col.g + col.b)/3.0;
66 | if (p < Threshold)
67 | {
68 | col = 0;
69 | }
70 | else
71 | {
72 | col = 1;
73 | }
74 | return col;
75 | }
76 |
77 | // --------------------------------------------------------------------------------------------------
78 | // TECHNIQUES:
79 | // --------------------------------------------------------------------------------------------------
80 |
81 | technique TSimpleShader
82 | {
83 | pass P0
84 | {
85 | //Wrap0 = U; // useful when mesh is round like a sphere
86 | VertexShader = compile vs_1_1 VS();
87 | PixelShader = compile ps_2_0 PS();
88 | }
89 | }
90 |
91 | technique TFixedFunction
92 | {
93 | pass P0
94 | {
95 | //transforms
96 | WorldTransform[0] = (tW);
97 | ViewTransform = (tV);
98 | ProjectionTransform = (tP);
99 |
100 | //texturing
101 | Sampler[0] = (Samp);
102 | TextureTransform[0] = (tTex);
103 | TexCoordIndex[0] = 0;
104 | TextureTransformFlags[0] = COUNT2;
105 | //Wrap0 = U; // useful when mesh is round like a sphere
106 |
107 | Lighting = FALSE;
108 |
109 | //shaders
110 | VertexShader = NULL;
111 | PixelShader = NULL;
112 | }
113 | }
114 |
--------------------------------------------------------------------------------
/ShaderFilter/tokyo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/ShaderFilter/tokyo.jpg
--------------------------------------------------------------------------------
/VST.v4p:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/audioin.v4p:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
--------------------------------------------------------------------------------
/ball.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/ball.png
--------------------------------------------------------------------------------
/boids.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/boids.zip
--------------------------------------------------------------------------------
/boids/1AnimationFlockingBehavior.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/boids/1AnimationFlockingBehavior.dll
--------------------------------------------------------------------------------
/boids/PointSprites.fx:
--------------------------------------------------------------------------------
1 | ////////////////////////////////////////////////////////////////////////////////
2 | // Point sprite renders a screen aligned quad for every vertex streamed to
3 | // the shader, thus minimizing cpu cycles and drawing calls to the gpu.
4 | // This technique is mostly used for rendering particles. Sprite size (in pixels)
5 | // is calculated from Projection Matrix and ViewportHeight(optional).
6 | // The maximum size is usualy 256 px on newer gpus.
7 | // This shader is based on Template.fx, all the default comments are deleted
8 | // so you can easily find how to implement this technique. By Viktor Vicsek 2008
9 | ////////////////////////////////////////////////////////////////////////////////
10 |
11 | float4x4 tW: WORLD;
12 | float4x4 tV: VIEW;
13 | float4x4 tP: PROJECTION;
14 | float4x4 tWVP: WORLDVIEWPROJECTION;
15 | float4 color : COLOR;
16 |
17 | //texture
18 | texture Tex ;
19 | sampler Samp = sampler_state
20 | {
21 | Texture = (Tex);
22 | MipFilter = LINEAR;
23 | MinFilter = LINEAR;
24 | MagFilter = LINEAR;
25 | AddressU = Clamp;
26 | AddressV = Clamp;
27 | };
28 | //float4x4 tTex: TEXTUREMATRIX ;
29 |
30 | /////this will define the size of the quads in pixels if calcPerspective is false
31 | float Size ;
32 | /////connect this input to the BackBufferHeight output of the renderer
33 | float ViewportHeight;
34 | /////decide if you want perspective
35 | bool calcPerspective;
36 | //yet to be done: allow rotating the TexCoords coz the quads cant be rotated
37 | //float rotation;
38 |
39 | struct vs2ps
40 | {
41 | float4 Pos : POSITION;
42 | float2 TexCd : TEXCOORD0;
43 | float Size : PSIZE0; ////////////////// this allows usage of pointsize
44 | };
45 |
46 | // --------------------------------------------------------------------------------------------------
47 | // VERTEXSHADERS
48 | // --------------------------------------------------------------------------------------------------
49 | vs2ps VS(
50 | float4 PosO : POSITION,
51 | float4 TexCd : TEXCOORD0)
52 | {
53 |
54 | vs2ps Out = (vs2ps)0;
55 |
56 |
57 | Out.Pos = mul(PosO, tWVP);
58 |
59 | //transform texturecoordinates --- this should be put to pixelshader
60 | Out.TexCd = TexCd;
61 | if(calcPerspective){
62 | Out.Size=Size * tP / Out.Pos.w * ViewportHeight/2;
63 | }else{
64 | Out.Size=Size;
65 | }
66 | return Out;
67 | }
68 |
69 | // --------------------------------------------------------------------------------------------------
70 | // PIXELSHADERS:
71 | // --------------------------------------------------------------------------------------------------
72 |
73 | float4 PS(vs2ps In): COLOR
74 | {
75 | ///todo: fix texcoord rotation
76 | //float2 newTexCd=(-0.5,-0.5);// In.TexCd-0.5;////needed to rotate from center
77 | //newTexCd=mul(newTexCd,tTex); ////actual rotation
78 | //newTexCd*=sqrt(2); ////scale, so corners dont get lost
79 | //newTexCd+= 0.5; ////return to origin
80 | float4 col = color * tex2D(Samp, In.TexCd);
81 | return col;
82 | }
83 |
84 | // --------------------------------------------------------------------------------------------------
85 | // TECHNIQUES:
86 | // --------------------------------------------------------------------------------------------------
87 |
88 | technique TPointSprite
89 | {
90 | pass P0
91 | {
92 | /////the next 3 statements are important:
93 | FillMode = POINT;
94 | PointScaleEnable = true;
95 | PointSpriteEnable = true;
96 | //AlphaBlendEnable = true;
97 | VertexShader = compile vs_1_0 VS();
98 | PixelShader = compile ps_1_0 PS();
99 | }
100 | }
101 |
--------------------------------------------------------------------------------
/boids/star.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/boids/star.png
--------------------------------------------------------------------------------
/break.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/break.wav
--------------------------------------------------------------------------------
/channel_vol9/LSystem.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {6A0AFB1F-8219-4A08-85F7-B7F19B66AC16}
5 | Debug
6 | x86
7 | Library
8 | VVVV.Nodes
9 | LSystem
10 | v4.0
11 | bin\$(Platform)\$(Configuration)\
12 | True
13 | ..\..\..\Program Files (x86)\vvvv_45beta33.1_x86\lib\core\;..\..\..\Program Files (x86)\vvvv_45beta33.1_x86\lib\nodes\plugins\;..\..\..\Program Files (x86)\vvvv_45beta32.1_x86\lib\core\;..\..\..\Program Files (x86)\vvvv_45beta32.1_x86\lib\nodes\plugins\
14 |
15 |
16 | DEBUG;TRACE
17 | False
18 | True
19 | Full
20 | True
21 |
22 |
23 | TRACE
24 | True
25 | False
26 | None
27 | False
28 |
29 |
30 | AnyCPU
31 |
32 |
33 | x86
34 |
35 |
36 | x64
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/circle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/circle.png
--------------------------------------------------------------------------------
/dx11_gs_begin.v4p:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/effects/BoxSpin.fx:
--------------------------------------------------------------------------------
1 | //@author: vvvv group
2 | //@help: this is a very basic template. use it to start writing your own effects. if you want effects with lighting start from one of the GouraudXXXX or PhongXXXX effects
3 | //@tags:
4 | //@credits:
5 |
6 | // --------------------------------------------------------------------------------------------------
7 | // PARAMETERS:
8 | // --------------------------------------------------------------------------------------------------
9 |
10 | //transforms
11 | float4x4 tW: WORLD; //the models world matrix
12 | float4x4 tV: VIEW; //view matrix as set via Renderer (EX9)
13 | float4x4 tP: PROJECTION;
14 | float4x4 tWVP: WORLDVIEWPROJECTION;
15 | float factor;
16 |
17 | //texture
18 | texture Tex ;
19 | sampler Samp = sampler_state //sampler for doing the texture-lookup
20 | {
21 | Texture = (Tex); //apply a texture to the sampler
22 | MipFilter = LINEAR; //sampler states
23 | MinFilter = LINEAR;
24 | MagFilter = LINEAR;
25 | };
26 |
27 | //texture transformation marked with semantic TEXTUREMATRIX to achieve symmetric transformations
28 | float4x4 tTex: TEXTUREMATRIX ;
29 |
30 | //the data structure: "vertexshader to pixelshader"
31 | //used as output data with the VS function
32 | //and as input data with the PS function
33 | struct vs2ps
34 | {
35 | float4 Pos : POSITION;
36 | float2 TexCd : TEXCOORD0;
37 | };
38 |
39 | // --------------------------------------------------------------------------------------------------
40 | // VERTEXSHADERS
41 | // --------------------------------------------------------------------------------------------------
42 | vs2ps VS(
43 | float4 PosO : POSITION,
44 | float4 TexCd : TEXCOORD0)
45 | {
46 | //declare output struct
47 | vs2ps Out;
48 |
49 | float4 p = mul(PosO, tW);
50 | float dy = p.y + 0.5;
51 | float s,c;
52 | sincos(dy*factor, s, c);
53 | float4x4 mat = {
54 | c, 0, s, 0,
55 | 0, 1, 0, 0,
56 | -s, 0, c, 0,
57 | 0, 0, 0, 1
58 | };
59 |
60 | //transform position
61 | Out.Pos = mul(mul(mul(p, mat), tV), tP);
62 |
63 | //transform texturecoordinates
64 | Out.TexCd = float2(p.x+0.5, p.y+0.5);
65 |
66 | return Out;
67 | }
68 |
69 | // --------------------------------------------------------------------------------------------------
70 | // PIXELSHADERS:
71 | // --------------------------------------------------------------------------------------------------
72 |
73 | float4 PS(vs2ps In): COLOR
74 | {
75 | float4 col = float4(In.TexCd.x, In.TexCd.y, 0, 1);
76 | return col;
77 | }
78 |
79 | // --------------------------------------------------------------------------------------------------
80 | // TECHNIQUES:
81 | // --------------------------------------------------------------------------------------------------
82 |
83 | technique TSimpleShader
84 | {
85 | pass P0
86 | {
87 | //Wrap0 = U; // useful when mesh is round like a sphere
88 | VertexShader = compile vs_2_0 VS();
89 | PixelShader = compile ps_2_0 PS();
90 | }
91 | }
92 |
93 | technique TFixedFunction
94 | {
95 | pass P0
96 | {
97 | //transforms
98 | WorldTransform[0] = (tW);
99 | ViewTransform = (tV);
100 | ProjectionTransform = (tP);
101 |
102 | //texturing
103 | Sampler[0] = (Samp);
104 | TextureTransform[0] = (tTex);
105 | TexCoordIndex[0] = 0;
106 | TextureTransformFlags[0] = COUNT2;
107 | //Wrap0 = U; // useful when mesh is round like a sphere
108 |
109 | Lighting = FALSE;
110 |
111 | //shaders
112 | VertexShader = NULL;
113 | PixelShader = NULL;
114 | }
115 | }
116 |
--------------------------------------------------------------------------------
/effects/PixelTest.fx:
--------------------------------------------------------------------------------
1 | //@author: vvvv group
2 | //@help: this is a very basic template. use it to start writing your own effects. if you want effects with lighting start from one of the GouraudXXXX or PhongXXXX effects
3 | //@tags:
4 | //@credits:
5 |
6 | // --------------------------------------------------------------------------------------------------
7 | // PARAMETERS:
8 | // --------------------------------------------------------------------------------------------------
9 |
10 | //transforms
11 | float4x4 tW: WORLD; //the models world matrix
12 | float4x4 tV: VIEW; //view matrix as set via Renderer (EX9)
13 | float4x4 tP: PROJECTION;
14 | float4x4 tWVP: WORLDVIEWPROJECTION;
15 | float width;
16 |
17 | //texture
18 | texture Tex ;
19 | sampler Samp = sampler_state //sampler for doing the texture-lookup
20 | {
21 | Texture = (Tex); //apply a texture to the sampler
22 | MipFilter = LINEAR; //sampler states
23 | MinFilter = LINEAR;
24 | MagFilter = LINEAR;
25 | };
26 |
27 | //texture transformation marked with semantic TEXTUREMATRIX to achieve symmetric transformations
28 | float4x4 tTex: TEXTUREMATRIX ;
29 |
30 | //the data structure: "vertexshader to pixelshader"
31 | //used as output data with the VS function
32 | //and as input data with the PS function
33 | struct vs2ps
34 | {
35 | float4 Pos : POSITION;
36 | float2 TexCd : TEXCOORD0;
37 | };
38 |
39 | // --------------------------------------------------------------------------------------------------
40 | // VERTEXSHADERS
41 | // --------------------------------------------------------------------------------------------------
42 | vs2ps VS(
43 | float4 PosO : POSITION,
44 | float4 TexCd : TEXCOORD0)
45 | {
46 | //declare output struct
47 | vs2ps Out;
48 |
49 | //transform position
50 | Out.Pos = mul(PosO, tWVP);
51 |
52 | //transform texturecoordinates
53 | Out.TexCd = mul(TexCd, tTex);
54 |
55 | return Out;
56 | }
57 |
58 | // --------------------------------------------------------------------------------------------------
59 | // PIXELSHADERS:
60 | // --------------------------------------------------------------------------------------------------
61 |
62 | float expr(float x)
63 | {
64 | return (cos(x*20) + sin(x*10))/5;
65 | }
66 |
67 | float4 hit(float2 uv)
68 | {
69 | //float2 d = float2(expr(uv.x), uv.y)- float2(uv.x, uv.y);
70 | float dl = (expr(uv.x)-width);
71 | float dr = (expr(uv.x)+width);
72 | if (abs(dl) < uv.y && uv.y < abs(dr)) {
73 | return float4(1, (uv.y+0.5), 0, 1);
74 | }
75 | return float4(1,1,1,1);
76 | }
77 |
78 | float4 PS(vs2ps In): COLOR
79 | {
80 | float4 col = hit(In.TexCd - float2(0.5, 0.5));
81 | return col;
82 | }
83 |
84 | // --------------------------------------------------------------------------------------------------
85 | // TECHNIQUES:
86 | // --------------------------------------------------------------------------------------------------
87 |
88 | technique TSimpleShader
89 | {
90 | pass P0
91 | {
92 | //Wrap0 = U; // useful when mesh is round like a sphere
93 | VertexShader = compile vs_3_0 VS();
94 | PixelShader = compile ps_3_0 PS();
95 | }
96 | }
97 |
98 | technique TFixedFunction
99 | {
100 | pass P0
101 | {
102 | //transforms
103 | WorldTransform[0] = (tW);
104 | ViewTransform = (tV);
105 | ProjectionTransform = (tP);
106 |
107 | //texturing
108 | Sampler[0] = (Samp);
109 | TextureTransform[0] = (tTex);
110 | TexCoordIndex[0] = 0;
111 | TextureTransformFlags[0] = COUNT2;
112 | //Wrap0 = U; // useful when mesh is round like a sphere
113 |
114 | Lighting = FALSE;
115 |
116 | //shaders
117 | VertexShader = NULL;
118 | PixelShader = NULL;
119 | }
120 | }
121 |
--------------------------------------------------------------------------------
/effects/TestEffect01.fx:
--------------------------------------------------------------------------------
1 | //@author: vvvv group
2 | //@help: this is a very basic template. use it to start writing your own effects. if you want effects with lighting start from one of the GouraudXXXX or PhongXXXX effects
3 | //@tags:
4 | //@credits:
5 |
6 | // --------------------------------------------------------------------------------------------------
7 | // PARAMETERS:
8 | // --------------------------------------------------------------------------------------------------
9 |
10 | //transforms
11 | float4x4 tW: WORLD; //the models world matrix
12 | float4x4 tV: VIEW; //view matrix as set via Renderer (EX9)
13 | float4x4 tP: PROJECTION;
14 | float4x4 tWVP: WORLDVIEWPROJECTION;
15 | float4 MyColor: COLOR;
16 |
17 | //texture
18 | texture Tex ;
19 | sampler Samp = sampler_state //sampler for doing the texture-lookup
20 | {
21 | Texture = (Tex); //apply a texture to the sampler
22 | MipFilter = LINEAR; //sampler states
23 | MinFilter = LINEAR;
24 | MagFilter = LINEAR;
25 | };
26 |
27 | //texture transformation marked with semantic TEXTUREMATRIX to achieve symmetric transformations
28 | float4x4 tTex: TEXTUREMATRIX ;
29 |
30 | //the data structure: "vertexshader to pixelshader"
31 | //used as output data with the VS function
32 | //and as input data with the PS function
33 | struct vs2ps
34 | {
35 | float4 Pos : POSITION;
36 | float2 TexCd : TEXCOORD0;
37 | float3 Normal : TEXCOORD1;
38 | };
39 |
40 | // --------------------------------------------------------------------------------------------------
41 | // VERTEXSHADERS
42 | // --------------------------------------------------------------------------------------------------
43 | vs2ps VS(
44 | float4 PosO : POSITION,
45 | float4 TexCd : TEXCOORD0,
46 | float3 Normal : NORMAL)
47 | {
48 | //declare output struct
49 | vs2ps Out;
50 |
51 | //transform position
52 | Out.Pos = mul(PosO, tWVP);
53 |
54 | //transform texturecoordinates
55 | Out.TexCd = mul(TexCd, tTex);
56 |
57 | Out.Normal = Normal;
58 |
59 | return Out;
60 | }
61 |
62 | // --------------------------------------------------------------------------------------------------
63 | // PIXELSHADERS:
64 | // --------------------------------------------------------------------------------------------------
65 |
66 | float4 PS(vs2ps In): COLOR
67 | {
68 | //float4 col = float4(In.Normal, 1);//tex2D(Samp, In.TexCd);
69 | float4 col = MyColor;
70 | return col;
71 | }
72 |
73 | // --------------------------------------------------------------------------------------------------
74 | // TECHNIQUES:
75 | // --------------------------------------------------------------------------------------------------
76 |
77 | technique TSimpleShader
78 | {
79 | pass P0
80 | {
81 | //Wrap0 = U; // useful when mesh is round like a sphere
82 | VertexShader = compile vs_1_1 VS();
83 | PixelShader = compile ps_2_0 PS();
84 | }
85 | }
86 |
87 | technique TFixedFunction
88 | {
89 | pass P0
90 | {
91 | //transforms
92 | WorldTransform[0] = (tW);
93 | ViewTransform = (tV);
94 | ProjectionTransform = (tP);
95 |
96 | //texturing
97 | Sampler[0] = (Samp);
98 | TextureTransform[0] = (tTex);
99 | TexCoordIndex[0] = 0;
100 | TextureTransformFlags[0] = COUNT2;
101 | //Wrap0 = U; // useful when mesh is round like a sphere
102 |
103 | Lighting = FALSE;
104 |
105 | //shaders
106 | VertexShader = NULL;
107 | PixelShader = NULL;
108 | }
109 | }
110 |
--------------------------------------------------------------------------------
/effects/TestFilter.fx:
--------------------------------------------------------------------------------
1 | //@author: vvvv group
2 | //@help: this is a very basic template. use it to start writing your own effects. if you want effects with lighting start from one of the GouraudXXXX or PhongXXXX effects
3 | //@tags:
4 | //@credits:
5 |
6 | // --------------------------------------------------------------------------------------------------
7 | // PARAMETERS:
8 | // --------------------------------------------------------------------------------------------------
9 |
10 | //transforms
11 | float4x4 tW: WORLD; //the models world matrix
12 | float4x4 tV: VIEW; //view matrix as set via Renderer (EX9)
13 | float4x4 tP: PROJECTION;
14 | float4x4 tWVP: WORLDVIEWPROJECTION;
15 | float Threshold;
16 |
17 | //texture
18 | texture Tex ;
19 | sampler Samp = sampler_state //sampler for doing the texture-lookup
20 | {
21 | Texture = (Tex); //apply a texture to the sampler
22 | MipFilter = LINEAR; //sampler states
23 | MinFilter = LINEAR;
24 | MagFilter = LINEAR;
25 | };
26 |
27 | //texture transformation marked with semantic TEXTUREMATRIX to achieve symmetric transformations
28 | float4x4 tTex: TEXTUREMATRIX ;
29 |
30 | //the data structure: "vertexshader to pixelshader"
31 | //used as output data with the VS function
32 | //and as input data with the PS function
33 | struct vs2ps
34 | {
35 | float4 Pos : POSITION;
36 | float2 TexCd : TEXCOORD0;
37 | };
38 |
39 | // --------------------------------------------------------------------------------------------------
40 | // VERTEXSHADERS
41 | // --------------------------------------------------------------------------------------------------
42 | vs2ps VS(
43 | float4 PosO : POSITION,
44 | float4 TexCd : TEXCOORD0)
45 | {
46 | //declare output struct
47 | vs2ps Out;
48 |
49 | //transform position
50 | Out.Pos = mul(PosO, tWVP);
51 |
52 | //transform texturecoordinates
53 | Out.TexCd = mul(TexCd, tTex);
54 |
55 | return Out;
56 | }
57 |
58 | // --------------------------------------------------------------------------------------------------
59 | // PIXELSHADERS:
60 | // --------------------------------------------------------------------------------------------------
61 |
62 | float4 PS(vs2ps In): COLOR
63 | {
64 | float4 col = tex2D(Samp, In.TexCd);
65 | float p = col.a * (col.r + col.g + col.b)/3.0;
66 | if (p < Threshold)
67 | {
68 | col = 0;
69 | }
70 | else
71 | {
72 | col = 1;
73 | }
74 | return col;
75 | }
76 |
77 | // --------------------------------------------------------------------------------------------------
78 | // TECHNIQUES:
79 | // --------------------------------------------------------------------------------------------------
80 |
81 | technique TSimpleShader
82 | {
83 | pass P0
84 | {
85 | //Wrap0 = U; // useful when mesh is round like a sphere
86 | VertexShader = compile vs_1_1 VS();
87 | PixelShader = compile ps_2_0 PS();
88 | }
89 | }
90 |
91 | technique TFixedFunction
92 | {
93 | pass P0
94 | {
95 | //transforms
96 | WorldTransform[0] = (tW);
97 | ViewTransform = (tV);
98 | ProjectionTransform = (tP);
99 |
100 | //texturing
101 | Sampler[0] = (Samp);
102 | TextureTransform[0] = (tTex);
103 | TexCoordIndex[0] = 0;
104 | TextureTransformFlags[0] = COUNT2;
105 | //Wrap0 = U; // useful when mesh is round like a sphere
106 |
107 | Lighting = FALSE;
108 |
109 | //shaders
110 | VertexShader = NULL;
111 | PixelShader = NULL;
112 | }
113 | }
114 |
--------------------------------------------------------------------------------
/effects/VertexSpin.fx:
--------------------------------------------------------------------------------
1 | //@author: vvvv group
2 | //@help: this is a very basic template. use it to start writing your own effects. if you want effects with lighting start from one of the GouraudXXXX or PhongXXXX effects
3 | //@tags:
4 | //@credits:
5 |
6 | // --------------------------------------------------------------------------------------------------
7 | // PARAMETERS:
8 | // --------------------------------------------------------------------------------------------------
9 |
10 | //transforms
11 | float4x4 tW: WORLD; //the models world matrix
12 | float4x4 tV: VIEW; //view matrix as set via Renderer (EX9)
13 | float4x4 tP: PROJECTION;
14 | float4x4 tWVP: WORLDVIEWPROJECTION;
15 | float fact;
16 |
17 | //texture
18 | texture Tex ;
19 | sampler Samp = sampler_state //sampler for doing the texture-lookup
20 | {
21 | Texture = (Tex); //apply a texture to the sampler
22 | MipFilter = LINEAR; //sampler states
23 | MinFilter = LINEAR;
24 | MagFilter = LINEAR;
25 | };
26 |
27 | //texture transformation marked with semantic TEXTUREMATRIX to achieve symmetric transformations
28 | float4x4 tTex: TEXTUREMATRIX ;
29 |
30 | //the data structure: "vertexshader to pixelshader"
31 | //used as output data with the VS function
32 | //and as input data with the PS function
33 | struct vs2ps
34 | {
35 | float4 Pos : POSITION;
36 | float2 TexCd : TEXCOORD0;
37 | };
38 |
39 | // --------------------------------------------------------------------------------------------------
40 | // VERTEXSHADERS
41 | // --------------------------------------------------------------------------------------------------
42 | vs2ps VS(
43 | float4 PosO : POSITION,
44 | float4 TexCd : TEXCOORD0)
45 | {
46 | //declare output struct
47 | vs2ps Out;
48 |
49 | //transform position
50 | float4 p = mul(PosO, tW);
51 | float dy = p.y + 0.5;
52 | float cd, sd;
53 | sincos(dy*fact, cd, sd);
54 | float4x4 mat = {
55 | cd, 0, sd, 0,
56 | 0, 1, 0, 0,
57 | -sd, 0, cd, 0,
58 | 0, 0, 0, 1
59 | };
60 | Out.Pos = mul(mul(mul(p, mat), tV), tP);
61 |
62 | //transform texturecoordinates
63 | Out.TexCd = float2(p.x+0.5, p.y+0.5);
64 |
65 | return Out;
66 | }
67 |
68 | // --------------------------------------------------------------------------------------------------
69 | // PIXELSHADERS:
70 | // --------------------------------------------------------------------------------------------------
71 |
72 | float4 PS(vs2ps In): COLOR
73 | {
74 | float4 col = float4( In.TexCd.x, In.TexCd.y, 0, 1 );
75 | return col;
76 | }
77 |
78 | // --------------------------------------------------------------------------------------------------
79 | // TECHNIQUES:
80 | // --------------------------------------------------------------------------------------------------
81 |
82 | technique TSimpleShader
83 | {
84 | pass P0
85 | {
86 | //Wrap0 = U; // useful when mesh is round like a sphere
87 | VertexShader = compile vs_2_0 VS();
88 | PixelShader = compile ps_2_0 PS();
89 | }
90 | }
91 |
92 | technique TFixedFunction
93 | {
94 | pass P0
95 | {
96 | //transforms
97 | WorldTransform[0] = (tW);
98 | ViewTransform = (tV);
99 | ProjectionTransform = (tP);
100 |
101 | //texturing
102 | Sampler[0] = (Samp);
103 | TextureTransform[0] = (tTex);
104 | TexCoordIndex[0] = 0;
105 | TextureTransformFlags[0] = COUNT2;
106 | //Wrap0 = U; // useful when mesh is round like a sphere
107 |
108 | Lighting = FALSE;
109 |
110 | //shaders
111 | VertexShader = NULL;
112 | PixelShader = NULL;
113 | }
114 | }
115 |
--------------------------------------------------------------------------------
/effects/Wave.fx:
--------------------------------------------------------------------------------
1 | //@author: vvvv group
2 | //@help: this is a very basic template. use it to start writing your own effects. if you want effects with lighting start from one of the GouraudXXXX or PhongXXXX effects
3 | //@tags:
4 | //@credits:
5 |
6 | // --------------------------------------------------------------------------------------------------
7 | // PARAMETERS:
8 | // --------------------------------------------------------------------------------------------------
9 |
10 | //transforms
11 | float4x4 tW: WORLD; //the models world matrix
12 | float4x4 tV: VIEW; //view matrix as set via Renderer (EX9)
13 | float4x4 tP: PROJECTION;
14 | float4x4 tWVP: WORLDVIEWPROJECTION;
15 |
16 | //texture
17 | texture Tex ;
18 | sampler Samp = sampler_state //sampler for doing the texture-lookup
19 | {
20 | Texture = (Tex); //apply a texture to the sampler
21 | MipFilter = LINEAR; //sampler states
22 | MinFilter = LINEAR;
23 | MagFilter = LINEAR;
24 | };
25 | //texture
26 | texture NTex ;
27 | sampler NSamp = sampler_state //sampler for doing the texture-lookup
28 | {
29 | Texture = (NTex); //apply a texture to the sampler
30 | MipFilter = LINEAR; //sampler states
31 | MinFilter = LINEAR;
32 | MagFilter = LINEAR;
33 | };
34 |
35 | //texture transformation marked with semantic TEXTUREMATRIX to achieve symmetric transformations
36 | float4x4 tTex: TEXTUREMATRIX ;
37 |
38 | //the data structure: "vertexshader to pixelshader"
39 | //used as output data with the VS function
40 | //and as input data with the PS function
41 | struct vs2ps
42 | {
43 | float4 Pos : POSITION;
44 | float2 TexCd : TEXCOORD0;
45 | float4 Col : COLOR0;
46 | };
47 |
48 | // --------------------------------------------------------------------------------------------------
49 | // VERTEXSHADERS
50 | // --------------------------------------------------------------------------------------------------
51 | vs2ps VS(
52 | float4 PosO : POSITION,
53 | float4 TexCd : TEXCOORD0)
54 | {
55 | //declare output struct
56 | vs2ps Out;
57 |
58 | float z = tex2Dlod(Samp, float4(PosO.xy+0.5, 0, 0));
59 | float4 p = PosO + float4(0, 0, z*0.5, 0);
60 | Out.Pos = mul(p, tWVP);
61 |
62 | //transform texturecoordinates
63 | Out.TexCd = mul(TexCd, tTex);
64 | float4 n = normalize(tex2Dlod(NSamp, float4(PosO.xy+0.5, 0, 0)));
65 | Out.Col = dot(n, normalize(float4(10, 10, 1, 1)));
66 | Out.Col.w = 1;
67 |
68 | return Out;
69 | }
70 |
71 | // --------------------------------------------------------------------------------------------------
72 | // PIXELSHADERS:
73 | // --------------------------------------------------------------------------------------------------
74 |
75 | float4 PS(vs2ps In): COLOR
76 | {
77 | float4 col = In.Col;
78 | return col;
79 | }
80 |
81 | // --------------------------------------------------------------------------------------------------
82 | // TECHNIQUES:
83 | // --------------------------------------------------------------------------------------------------
84 |
85 | technique TSimpleShader
86 | {
87 | pass P0
88 | {
89 | //Wrap0 = U; // useful when mesh is round like a sphere
90 | VertexShader = compile vs_3_0 VS();
91 | PixelShader = compile ps_3_0 PS();
92 | }
93 | }
94 |
95 | technique TFixedFunction
96 | {
97 | pass P0
98 | {
99 | //transforms
100 | WorldTransform[0] = (tW);
101 | ViewTransform = (tV);
102 | ProjectionTransform = (tP);
103 |
104 | //texturing
105 | Sampler[0] = (Samp);
106 | Sampler[1] = (NSamp);
107 | TextureTransform[0] = (tTex);
108 | TexCoordIndex[0] = 0;
109 | TextureTransformFlags[0] = COUNT2;
110 | //Wrap0 = U; // useful when mesh is round like a sphere
111 |
112 | Lighting = FALSE;
113 |
114 | //shaders
115 | VertexShader = NULL;
116 | PixelShader = NULL;
117 | }
118 | }
119 |
--------------------------------------------------------------------------------
/effects/Wave2.fx:
--------------------------------------------------------------------------------
1 | //@author: vvvv group
2 | //@help: this is a very basic template. use it to start writing your own effects. if you want effects with lighting start from one of the GouraudXXXX or PhongXXXX effects
3 | //@tags:
4 | //@credits:
5 |
6 | // --------------------------------------------------------------------------------------------------
7 | // PARAMETERS:
8 | // --------------------------------------------------------------------------------------------------
9 |
10 | //transforms
11 | float4x4 tW: WORLD; //the models world matrix
12 | float4x4 tV: VIEW; //view matrix as set via Renderer (EX9)
13 | float4x4 tP: PROJECTION;
14 | float4x4 tWVP: WORLDVIEWPROJECTION;
15 |
16 | //texture
17 | texture Tex ;
18 | sampler Samp = sampler_state //sampler for doing the texture-lookup
19 | {
20 | Texture = (Tex); //apply a texture to the sampler
21 | MipFilter = LINEAR; //sampler states
22 | MinFilter = LINEAR;
23 | MagFilter = LINEAR;
24 | };
25 |
26 | //texture
27 | texture NTex ;
28 | sampler NSamp = sampler_state //sampler for doing the texture-lookup
29 | {
30 | Texture = (NTex); //apply a texture to the sampler
31 | MipFilter = LINEAR; //sampler states
32 | MinFilter = LINEAR;
33 | MagFilter = LINEAR;
34 | };
35 |
36 | //texture transformation marked with semantic TEXTUREMATRIX to achieve symmetric transformations
37 | float4x4 tTex: TEXTUREMATRIX ;
38 |
39 | //the data structure: "vertexshader to pixelshader"
40 | //used as output data with the VS function
41 | //and as input data with the PS function
42 | struct vs2ps
43 | {
44 | float4 Pos : POSITION;
45 | float2 TexCd : TEXCOORD0;
46 | float4 Col : COLOR0;
47 | };
48 |
49 | // --------------------------------------------------------------------------------------------------
50 | // VERTEXSHADERS
51 | // --------------------------------------------------------------------------------------------------
52 | vs2ps VS(
53 | float4 PosO : POSITION,
54 | float4 TexCd : TEXCOORD0)
55 | {
56 | //declare output struct
57 | vs2ps Out;
58 |
59 | //transform position
60 | float z = tex2Dlod(Samp, float4(PosO.xy+0.5, 0, 0));
61 | PosO.z += z*0.7
62 | ;
63 | Out.Pos = mul(PosO, tWVP);
64 |
65 | Out.TexCd = mul(TexCd, tTex);
66 |
67 | //transform texturecoordinates
68 | float n = normalize(tex2Dlod(NSamp, float4(PosO.xy+0.5, 0, 0)));
69 | float q = dot(n, normalize(float4(10, 10, 5, 1)));
70 | Out.Col = float4(q,q,q,1);
71 |
72 | return Out;
73 | }
74 |
75 | // --------------------------------------------------------------------------------------------------
76 | // PIXELSHADERS:
77 | // --------------------------------------------------------------------------------------------------
78 |
79 | float4 PS(vs2ps In): COLOR
80 | {
81 | float4 col = In.Col;
82 | return col;
83 | }
84 |
85 | // --------------------------------------------------------------------------------------------------
86 | // TECHNIQUES:
87 | // --------------------------------------------------------------------------------------------------
88 |
89 | technique TSimpleShader
90 | {
91 | pass P0
92 | {
93 | //Wrap0 = U; // useful when mesh is round like a sphere
94 | VertexShader = compile vs_3_0 VS();
95 | PixelShader = compile ps_2_0 PS();
96 | }o
97 | }
98 |
99 | technique TFixedFunction
100 | {
101 | pass P0
102 | {
103 | //transforms
104 | WorldTransform[0] = (tW);
105 | ViewTransform = (tV);
106 | ProjectionTransform = (tP);
107 |
108 | //texturing
109 | Sampler[0] = (Samp);
110 | TextureTransform[0] = (tTex);
111 | TexCoordIndex[0] = 0;
112 | TextureTransformFlags[0] = COUNT2;
113 | //Wrap0 = U; // useful when mesh is round like a sphere
114 |
115 | Lighting = FALSE;
116 |
117 | //shaders
118 | VertexShader = NULL;
119 | PixelShader = NULL;
120 | }
121 | }
122 |
--------------------------------------------------------------------------------
/effects/shift.fx:
--------------------------------------------------------------------------------
1 | //@author: vvvv group
2 | //@help: this is a very basic template. use it to start writing your own effects. if you want effects with lighting start from one of the GouraudXXXX or PhongXXXX effects
3 | //@tags:
4 | //@credits:
5 |
6 | // --------------------------------------------------------------------------------------------------
7 | // PARAMETERS:
8 | // --------------------------------------------------------------------------------------------------
9 |
10 | //transforms
11 | float4x4 tW: WORLD; //the models world matrix
12 | float4x4 tV: VIEW; //view matrix as set via Renderer (EX9)
13 | float4x4 tP: PROJECTION;
14 | float4x4 tWVP: WORLDVIEWPROJECTION;
15 |
16 | //texture
17 | texture Tex ;
18 | sampler Samp = sampler_state //sampler for doing the texture-lookup
19 | {
20 | Texture = (Tex); //apply a texture to the sampler
21 | MipFilter = LINEAR; //sampler states
22 | MinFilter = LINEAR;
23 | MagFilter = LINEAR;
24 | };
25 | texture Control ;
26 | sampler CSamp = sampler_state //sampler for doing the texture-lookup
27 | {
28 | Texture = (Control); //apply a texture to the sampler
29 | MipFilter = LINEAR; //sampler states
30 | MinFilter = LINEAR;
31 | MagFilter = LINEAR;
32 | };
33 |
34 | //texture transformation marked with semantic TEXTUREMATRIX to achieve symmetric transformations
35 | float4x4 tTex: TEXTUREMATRIX ;
36 |
37 | float power = 1;
38 |
39 | //the data structure: "vertexshader to pixelshader"
40 | //used as output data with the VS function
41 | //and as input data with the PS function
42 | struct vs2ps
43 | {
44 | float4 Pos : POSITION;
45 | float2 TexCd : TEXCOORD0;
46 | };
47 |
48 | // --------------------------------------------------------------------------------------------------
49 | // VERTEXSHADERS
50 | // --------------------------------------------------------------------------------------------------
51 | vs2ps VS(
52 | float4 PosO : POSITION,
53 | float4 TexCd : TEXCOORD0)
54 | {
55 | //declare output struct
56 | vs2ps Out;
57 |
58 | //transform position
59 | Out.Pos = mul(PosO, tWVP);
60 |
61 | //transform texturecoordinates
62 | Out.TexCd = mul(TexCd, tTex);
63 |
64 | return Out;
65 | }
66 |
67 | // --------------------------------------------------------------------------------------------------
68 | // PIXELSHADERS:
69 | // --------------------------------------------------------------------------------------------------
70 |
71 | float4 PS(vs2ps In): COLOR
72 | {
73 | float4 ct = tex2D(CSamp, In.TexCd);
74 | float2 uv = In.TexCd + (ct.rg-float2(0.5, 0.5)) * power;
75 | float4 col = tex2D(Samp, uv);
76 | return col;
77 | }
78 |
79 | // --------------------------------------------------------------------------------------------------
80 | // TECHNIQUES:
81 | // --------------------------------------------------------------------------------------------------
82 |
83 | technique TSimpleShader
84 | {
85 | pass P0
86 | {
87 | //Wrap0 = U; // useful when mesh is round like a sphere
88 | VertexShader = compile vs_2_0 VS();
89 | PixelShader = compile ps_2_0 PS();
90 | }
91 | }
92 |
93 | technique TFixedFunction
94 | {
95 | pass P0
96 | {
97 | //transforms
98 | WorldTransform[0] = (tW);
99 | ViewTransform = (tV);
100 | ProjectionTransform = (tP);
101 |
102 | //texturing
103 | Sampler[0] = (Samp);
104 | TextureTransform[0] = (tTex);
105 | TexCoordIndex[0] = 0;
106 | TextureTransformFlags[0] = COUNT2;
107 | //Wrap0 = U; // useful when mesh is round like a sphere
108 |
109 | Lighting = FALSE;
110 |
111 | //shaders
112 | VertexShader = NULL;
113 | PixelShader = NULL;
114 | }
115 | }
116 |
--------------------------------------------------------------------------------
/lunar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/lunar.png
--------------------------------------------------------------------------------
/midi_keyboard.v4p:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
--------------------------------------------------------------------------------
/move_window/plugins/WindowMoveWindow/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | #region Using directives
2 |
3 | using System;
4 | using System.Reflection;
5 | using System.Runtime.InteropServices;
6 |
7 | #endregion
8 |
9 | // General Information about an assembly is controlled through the following
10 | // set of attributes. Change these attribute values to modify the information
11 | // associated with an assembly.
12 | [assembly: AssemblyTitle("DemoPlugin")]
13 | [assembly: AssemblyDescription("")]
14 | [assembly: AssemblyConfiguration("")]
15 | [assembly: AssemblyCompany("")]
16 | [assembly: AssemblyProduct("DemoPlugin")]
17 | [assembly: AssemblyCopyright("Copyright 2010")]
18 | [assembly: AssemblyTrademark("")]
19 | [assembly: AssemblyCulture("")]
20 |
21 | // This sets the default COM visibility of types in the assembly to invisible.
22 | // If you need to expose a type to COM, use [ComVisible(true)] on that type.
23 | [assembly: ComVisible(false)]
24 |
25 | // The assembly version has following format :
26 | //
27 | // Major.Minor.Build.Revision
28 | //
29 | // You can specify all the values or you can use the default the Revision and
30 | // Build Numbers by using the '*' as shown below:
31 | [assembly: AssemblyVersion("1.0.*")]
32 |
--------------------------------------------------------------------------------
/move_window/plugins/WindowMoveWindow/WindowMoveWindow.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {6A0AFB1F-8219-4A08-85F7-B7F19B66AC16}
5 | Debug
6 | x86
7 | Library
8 | VVVV.Nodes
9 | WindowMoveWindow
10 | v4.0
11 | bin\$(Platform)\$(Configuration)\
12 | True
13 | ..\..\..\..\..\Program Files (x86)\vvvv_45beta33.1_x86\lib\core\;..\..\..\..\..\Program Files (x86)\vvvv_45beta33.1_x86\lib\nodes\plugins\
14 |
15 |
16 | DEBUG;TRACE
17 | False
18 | True
19 | Full
20 | True
21 |
22 |
23 | TRACE
24 | True
25 | False
26 | None
27 | False
28 |
29 |
30 | AnyCPU
31 |
32 |
33 | x86
34 |
35 |
36 | x64
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/move_window/plugins/WindowMoveWindow/WindowMoveWindowNode.cs:
--------------------------------------------------------------------------------
1 | #region usings
2 | using System;
3 | using System.ComponentModel.Composition;
4 | using System.Runtime.InteropServices;
5 |
6 | using VVVV.PluginInterfaces.V1;
7 | using VVVV.PluginInterfaces.V2;
8 | using VVVV.Utils.VColor;
9 | using VVVV.Utils.VMath;
10 |
11 | using VVVV.Core.Logging;
12 | #endregion usings
13 |
14 | namespace VVVV.Nodes
15 | {
16 | #region PluginInfo
17 | [PluginInfo(Name = "MoveWindow", Category = "Window", Help = "Basic template with one value in/out", Tags = "")]
18 | #endregion PluginInfo
19 |
20 | public class WindowMoveWindowNode : IPluginEvaluate
21 | {
22 | #region fields & pins
23 | [Input("Handle", DefaultValue = 0)]
24 | public ISpread FHandle;
25 | [Input("Location", DefaultValue = 0)]
26 | public ISpread FLocation;
27 | [Input("Size", DefaultValue = 0)]
28 | public ISpread FSize;
29 |
30 | [Output("Pos")]
31 | public ISpread FOut;
32 |
33 | [Import()]
34 | public ILogger FLogger;
35 | #endregion fields & pins
36 |
37 | [DllImport("User32.dll")]
38 | static extern int MoveWindow(
39 | IntPtr hWnd,
40 | int x,
41 | int y,
42 | int nWidth,
43 | int nHeight,
44 | int bRepaint
45 | );
46 |
47 |
48 | //called when data for any output pin is requested
49 | public void Evaluate(int SpreadMax)
50 | {
51 | int n = FHandle.SliceCount;
52 | FOut.SliceCount = n;
53 | for (int i=0; i < n; ++i)
54 | {
55 | IntPtr handle = (IntPtr)FHandle[i];
56 | Vector2D p = FLocation[i%FLocation.SliceCount];
57 | Vector2D s = FSize[i%FSize.SliceCount];
58 | MoveWindow(handle, (int)p.x, (int)p.y, (int)s.x, (int)s.y, 0);
59 |
60 | FOut[i] = p;
61 | }
62 | }
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/move_window/plugins/WindowMoveWindow/bin/Dynamic/-636783787._dynamic_.1.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/move_window/plugins/WindowMoveWindow/bin/Dynamic/-636783787._dynamic_.1.dll
--------------------------------------------------------------------------------
/move_window/plugins/WindowMoveWindow/bin/Dynamic/-636783787._dynamic_.2.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/move_window/plugins/WindowMoveWindow/bin/Dynamic/-636783787._dynamic_.2.dll
--------------------------------------------------------------------------------
/move_window/plugins/WindowMoveWindow/bin/Dynamic/-636783787._dynamic_.3.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/move_window/plugins/WindowMoveWindow/bin/Dynamic/-636783787._dynamic_.3.dll
--------------------------------------------------------------------------------
/move_window/plugins/WindowMoveWindow/bin/Dynamic/-636783787._dynamic_.4.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/move_window/plugins/WindowMoveWindow/bin/Dynamic/-636783787._dynamic_.4.dll
--------------------------------------------------------------------------------
/move_window/plugins/WindowMoveWindow/bin/Dynamic/1552615683._dynamic_.9.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/move_window/plugins/WindowMoveWindow/bin/Dynamic/1552615683._dynamic_.9.dll
--------------------------------------------------------------------------------
/plugins/1TobiiTobii/1TobiiTobii.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {6A0AFB1F-8219-4A08-85F7-B7F19B66AC16}
5 | Debug
6 | x86
7 | Library
8 | VVVV.Nodes
9 | 1TobiiTobii
10 | v4.0
11 | bin\$(Platform)\$(Configuration)\
12 | True
13 | ..\..\..\..\Program Files (x86)\vvvv_45beta33.1_x86\lib\core\;..\..\..\..\Program Files (x86)\vvvv_45beta33.1_x86\lib\nodes\plugins\
14 |
15 |
16 | DEBUG;TRACE
17 | False
18 | True
19 | Full
20 | True
21 |
22 |
23 | TRACE
24 | True
25 | False
26 | None
27 | False
28 |
29 |
30 | AnyCPU
31 |
32 |
33 | x86
34 |
35 |
36 | x64
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/plugins/1TobiiTobii/C1TobiiTobiiNode.cs:
--------------------------------------------------------------------------------
1 | #region usings
2 | using System;
3 | using System.ComponentModel.Composition;
4 |
5 | using VVVV.PluginInterfaces.V1;
6 | using VVVV.PluginInterfaces.V2;
7 | using VVVV.Utils.VColor;
8 | using VVVV.Utils.VMath;
9 |
10 | using VVVV.Core.Logging;
11 | #endregion usings
12 |
13 | namespace VVVV.Nodes
14 | {
15 | #region PluginInfo
16 | [PluginInfo(Name = "Tobii", Category = "Tobii", Version = "1", Help = "Basic template with one value in/out", Tags = "")]
17 | #endregion PluginInfo
18 | public class C1TobiiTobiiNode : IPluginEvaluate
19 | {
20 | #region fields & pins
21 | [Input("Input", DefaultValue = 1.0)]
22 | public ISpread FInput;
23 |
24 | [Output("Output")]
25 | public ISpread FOutput;
26 |
27 | [Import()]
28 | public ILogger FLogger;
29 | #endregion fields & pins
30 |
31 | //called when data for any output pin is requested
32 | public void Evaluate(int SpreadMax)
33 | {
34 | FOutput.SliceCount = SpreadMax;
35 |
36 | for (int i = 0; i < SpreadMax; i++)
37 | FOutput[i] = FInput[i] * 2;
38 |
39 | //FLogger.Log(LogType.Debug, "hi tty!");
40 | }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/plugins/1TobiiTobii/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | #region Using directives
2 |
3 | using System;
4 | using System.Reflection;
5 | using System.Runtime.InteropServices;
6 |
7 | #endregion
8 |
9 | // General Information about an assembly is controlled through the following
10 | // set of attributes. Change these attribute values to modify the information
11 | // associated with an assembly.
12 | [assembly: AssemblyTitle("DemoPlugin")]
13 | [assembly: AssemblyDescription("")]
14 | [assembly: AssemblyConfiguration("")]
15 | [assembly: AssemblyCompany("")]
16 | [assembly: AssemblyProduct("DemoPlugin")]
17 | [assembly: AssemblyCopyright("Copyright 2010")]
18 | [assembly: AssemblyTrademark("")]
19 | [assembly: AssemblyCulture("")]
20 |
21 | // This sets the default COM visibility of types in the assembly to invisible.
22 | // If you need to expose a type to COM, use [ComVisible(true)] on that type.
23 | [assembly: ComVisible(false)]
24 |
25 | // The assembly version has following format :
26 | //
27 | // Major.Minor.Build.Revision
28 | //
29 | // You can specify all the values or you can use the default the Revision and
30 | // Build Numbers by using the '*' as shown below:
31 | [assembly: AssemblyVersion("1.0.*")]
32 |
--------------------------------------------------------------------------------
/plugins/1TobiiTobii/bin/Dynamic/2142191625._dynamic_.1.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/1TobiiTobii/bin/Dynamic/2142191625._dynamic_.1.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/DevicesTobiiEyeX.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {6A0AFB1F-8219-4A08-85F7-B7F19B66AC16}
5 | Debug
6 | x86
7 | Library
8 | VVVV.Nodes
9 | DevicesTobiiEyeX
10 | v4.5
11 | bin\$(Platform)\$(Configuration)\
12 | True
13 | ..\..\..\..\Program Files (x86)\vvvv_45beta33.1_x86\lib\core\;..\..\..\..\Program Files (x86)\vvvv_45beta33.1_x86\lib\nodes\plugins\
14 |
15 |
16 |
17 | DEBUG;TRACE
18 | False
19 | True
20 | Full
21 | True
22 |
23 |
24 | TRACE
25 | True
26 | False
27 | None
28 | False
29 |
30 |
31 | AnyCPU
32 |
33 |
34 | x86
35 |
36 |
37 | x64
38 |
39 |
40 | false
41 |
42 |
43 | false
44 |
45 |
46 | false
47 |
48 |
49 | false
50 |
51 |
52 | false
53 |
54 |
55 | false
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 | False
65 | ..\..\..\sdk\TobiiEyeXSdk-DotNet-1.3.443\lib\x86\Tobii.EyeX.Client.Net20.dll
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 | {c9bbfbac-fd0f-46de-843f-f3620bf79dc2}
83 | EyeXFramework
84 |
85 |
86 |
87 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/DevicesTobiiEyeX.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 2012
4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DevicesTobiiEyeX", "DevicesTobiiEyeX.csproj", "{6A0AFB1F-8219-4A08-85F7-B7F19B66AC16}"
5 | EndProject
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EyeXFramework", "..\..\..\sdk\TobiiEyeXSdk-DotNet-1.3.443\source\EyeXFramework\EyeXFramework.csproj", "{C9BBFBAC-FD0F-46DE-843F-F3620BF79DC2}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Debug|x64 = Debug|x64
12 | Debug|x86 = Debug|x86
13 | Release|Any CPU = Release|Any CPU
14 | Release|x64 = Release|x64
15 | Release|x86 = Release|x86
16 | EndGlobalSection
17 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
18 | {6A0AFB1F-8219-4A08-85F7-B7F19B66AC16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
19 | {6A0AFB1F-8219-4A08-85F7-B7F19B66AC16}.Debug|Any CPU.Build.0 = Debug|Any CPU
20 | {6A0AFB1F-8219-4A08-85F7-B7F19B66AC16}.Debug|x64.ActiveCfg = Debug|x64
21 | {6A0AFB1F-8219-4A08-85F7-B7F19B66AC16}.Debug|x64.Build.0 = Debug|x64
22 | {6A0AFB1F-8219-4A08-85F7-B7F19B66AC16}.Debug|x86.ActiveCfg = Debug|x86
23 | {6A0AFB1F-8219-4A08-85F7-B7F19B66AC16}.Debug|x86.Build.0 = Debug|x86
24 | {6A0AFB1F-8219-4A08-85F7-B7F19B66AC16}.Release|Any CPU.ActiveCfg = Release|Any CPU
25 | {6A0AFB1F-8219-4A08-85F7-B7F19B66AC16}.Release|Any CPU.Build.0 = Release|Any CPU
26 | {6A0AFB1F-8219-4A08-85F7-B7F19B66AC16}.Release|x64.ActiveCfg = Release|x64
27 | {6A0AFB1F-8219-4A08-85F7-B7F19B66AC16}.Release|x64.Build.0 = Release|x64
28 | {6A0AFB1F-8219-4A08-85F7-B7F19B66AC16}.Release|x86.ActiveCfg = Release|x86
29 | {6A0AFB1F-8219-4A08-85F7-B7F19B66AC16}.Release|x86.Build.0 = Release|x86
30 | {C9BBFBAC-FD0F-46DE-843F-F3620BF79DC2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
31 | {C9BBFBAC-FD0F-46DE-843F-F3620BF79DC2}.Debug|Any CPU.Build.0 = Debug|Any CPU
32 | {C9BBFBAC-FD0F-46DE-843F-F3620BF79DC2}.Debug|x64.ActiveCfg = Debug|Any CPU
33 | {C9BBFBAC-FD0F-46DE-843F-F3620BF79DC2}.Debug|x86.ActiveCfg = Debug|x86
34 | {C9BBFBAC-FD0F-46DE-843F-F3620BF79DC2}.Debug|x86.Build.0 = Debug|x86
35 | {C9BBFBAC-FD0F-46DE-843F-F3620BF79DC2}.Release|Any CPU.ActiveCfg = Release|Any CPU
36 | {C9BBFBAC-FD0F-46DE-843F-F3620BF79DC2}.Release|Any CPU.Build.0 = Release|Any CPU
37 | {C9BBFBAC-FD0F-46DE-843F-F3620BF79DC2}.Release|x64.ActiveCfg = Release|Any CPU
38 | {C9BBFBAC-FD0F-46DE-843F-F3620BF79DC2}.Release|x86.ActiveCfg = Release|x86
39 | {C9BBFBAC-FD0F-46DE-843F-F3620BF79DC2}.Release|x86.Build.0 = Release|x86
40 | EndGlobalSection
41 | GlobalSection(SolutionProperties) = preSolution
42 | HideSolutionNode = FALSE
43 | EndGlobalSection
44 | EndGlobal
45 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/DevicesTobiiEyeX.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/DevicesTobiiEyeX.suo
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/DevicesTobiiEyeX.v11.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/DevicesTobiiEyeX.v11.suo
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/DevicesTobiiEyeXNode.cs:
--------------------------------------------------------------------------------
1 | #region usings
2 | using System;
3 | using System.ComponentModel.Composition;
4 |
5 | using VVVV.PluginInterfaces.V1;
6 | using VVVV.PluginInterfaces.V2;
7 | using VVVV.Utils.VColor;
8 | using VVVV.Utils.VMath;
9 |
10 | using VVVV.Core.Logging;
11 |
12 | using EyeXFramework;
13 | using Tobii.EyeX.Framework;
14 |
15 | #endregion usings
16 | namespace VVVV.Nodes
17 | {
18 | #region PluginInfo
19 | [PluginInfo(Name = "TobiiEyeX", Category = "Devices", Help = "Basic template with one value in/out", Tags = "")]
20 | #endregion PluginInfo
21 | public class DevicesTobiiEyeXNode : IPluginEvaluate
22 | {
23 | #region fields & pins
24 | [Input("Input", DefaultValue = 1.0)]
25 | public ISpread FInput;
26 |
27 | [Output("Output")]
28 | public ISpread FOutput;
29 |
30 | [Import()]
31 | public ILogger FLogger;
32 |
33 | bool setuped_ = false;
34 | EyeXHost host_;
35 | GazePointDataStream stream_;
36 |
37 | #endregion fields & pins
38 |
39 | double gazeX_, gazeY_;
40 |
41 | private void setup()
42 | {
43 | host_ = new EyeXHost();
44 | {
45 | stream_ = host_.CreateGazePointDataStream(GazePointDataMode.LightlyFiltered);
46 | {
47 | host_.Start();
48 |
49 | stream_.Next += (s, e) => {
50 | gazeX_ = e.X;
51 | gazeY_ = e.Y;
52 | };
53 | }
54 | }
55 | }
56 |
57 | //called when data for any output pin is requested
58 | public void Evaluate(int SpreadMax)
59 | {
60 | if (setuped_ == false)
61 | {
62 | setuped_ = true;
63 | setup();
64 | }
65 |
66 | FOutput.SliceCount = 2;
67 |
68 | FOutput[0] = gazeX_;
69 | FOutput[1] = gazeY_;
70 |
71 | //FLogger.Log(LogType.Debug, "hi tty!");
72 | }
73 | }
74 | }
75 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/DataStreamBase.cs:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------
2 | // Copyright 2014 Tobii Technology AB. All rights reserved.
3 | //-----------------------------------------------------------------------
4 |
5 | namespace EyeXFramework
6 | {
7 | using System;
8 | using System.Collections.Generic;
9 | using System.Diagnostics.CodeAnalysis;
10 | using Tobii.EyeX.Client;
11 | using Tobii.EyeX.Framework;
12 |
13 | ///
14 | /// Abstract base class for data stream observers.
15 | /// Observes a data stream and raises events when new data points become available.
16 | ///
17 | /// Data type of the events.
18 | [SuppressMessage("StyleCop.CSharp.OrderingRules", "SA1201:ElementsMustAppearInTheCorrectOrder", Justification = "Keep interface implementation together.")]
19 | [SuppressMessage("StyleCop.CSharp.OrderingRules", "SA1202:ElementsMustBeOrderedByAccess", Justification = "Keep interface implementation together.")]
20 | public abstract class DataStreamBase : IDisposable, IDataStreamObserver where T : EventArgs
21 | {
22 | private readonly string _id;
23 | private EventHandler _disposedEvent;
24 |
25 | ///
26 | /// Initializes a new instance of the class.
27 | ///
28 | protected DataStreamBase()
29 | {
30 | _id = InteractorIDGenerator.CreateUniqueID();
31 | }
32 |
33 | ///
34 | /// Event raised when a data point is available.
35 | ///
36 | public event EventHandler Next;
37 |
38 | ///
39 | /// Cleans up any resources being used.
40 | ///
41 | public void Dispose()
42 | {
43 | Dispose(true);
44 | GC.SuppressFinalize(this);
45 | }
46 |
47 | ///
48 | /// Cleans up any resources being used.
49 | ///
50 | /// Indicates whether managed resources should be disposed.
51 | protected virtual void Dispose(bool disposing)
52 | {
53 | if (disposing)
54 | {
55 | Next = null;
56 |
57 | var handler = _disposedEvent;
58 | if (handler != null)
59 | {
60 | handler(this, EventArgs.Empty);
61 | }
62 | }
63 | }
64 |
65 | ///
66 | /// Assigns the behavior corresponding to the data stream type to an interactor.
67 | ///
68 | /// The global interactor to add the data stream behavior to.
69 | protected abstract void AssignBehavior(Interactor interactor);
70 |
71 | ///
72 | /// Extracts data points from an event from the EyeX Engine.
73 | ///
74 | /// The instances containing the event data.
75 | /// The collection of data points.
76 | protected abstract IEnumerable ExtractDataPoints(IEnumerable behaviors);
77 |
78 | #region Explicit implementation of the IDataStreamObserver interface
79 |
80 | ///
81 | /// Explicit implementation of .
82 | ///
83 | event EventHandler IDataStreamObserver.Disposed
84 | {
85 | add { _disposedEvent += value; }
86 | remove { _disposedEvent -= value; }
87 | }
88 |
89 | ///
90 | /// Gets the .
91 | ///
92 | string IDataStreamObserver.Id
93 | {
94 | get { return _id; }
95 | }
96 |
97 | ///
98 | /// Explicit implementation of .
99 | ///
100 | /// Snapshot to add the interactor to.
101 | void IDataStreamObserver.CreateInteractor(Snapshot snapshot)
102 | {
103 | using (var interactor = snapshot.CreateInteractor(_id, Literals.RootId, Literals.GlobalInteractorWindowId))
104 | {
105 | var bounds = interactor.CreateBounds(BoundsType.None);
106 | bounds.Dispose();
107 |
108 | AssignBehavior(interactor);
109 | }
110 | }
111 |
112 | ///
113 | /// Explicit implementation of .
114 | ///
115 | /// Object associated with the interactor.
116 | /// Event to be handled.
117 | [SuppressMessage("Microsoft.Naming", "CA1707:IdentifiersShouldNotContainUnderscores", Justification = "Event is a reserved word.")]
118 | void IDataStreamObserver.HandleEvent(InteractionEvent event_)
119 | {
120 | var handler = Next;
121 | if (handler != null)
122 | {
123 | var eventBehaviors = event_.Behaviors;
124 |
125 | foreach (var eventArgs in ExtractDataPoints(eventBehaviors))
126 | {
127 | handler(this, eventArgs);
128 | }
129 |
130 | foreach (var eventBehavior in eventBehaviors)
131 | {
132 | eventBehavior.Dispose();
133 | }
134 | }
135 | }
136 |
137 | #endregion
138 | }
139 | }
140 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/EngineStateAccessor.cs:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------
2 | // Copyright 2014 Tobii Technology AB. All rights reserved.
3 | //-----------------------------------------------------------------------
4 |
5 | using Tobii.EyeX.Framework;
6 |
7 | namespace EyeXFramework
8 | {
9 | using System;
10 | using Tobii.EyeX.Client;
11 |
12 | ///
13 | /// Accesses and monitors engine states.
14 | /// Used by the EyeXHost.
15 | ///
16 | /// Data type of the engine state.
17 | internal class EngineStateAccessor
18 | {
19 | private readonly string _statePath;
20 | private readonly AsyncDataHandler _handler;
21 | private EngineStateValue _currentValue = EngineStateValue.Invalid;
22 |
23 | ///
24 | /// Initializes a new instance of the class.
25 | ///
26 | /// The state path.
27 | public EngineStateAccessor(string statePath)
28 | {
29 | _statePath = statePath;
30 | _handler = OnStateChanged;
31 | }
32 |
33 | ///
34 | /// Event raised when the associated engine state value has changed.
35 | ///
36 | public event EventHandler> Changed;
37 |
38 | ///
39 | /// Gets the current value of the engine state.
40 | ///
41 | /// The state value.
42 | public EngineStateValue GetCurrentValue()
43 | {
44 | return _currentValue;
45 | }
46 |
47 | ///
48 | /// Method to be invoked when the interaction context has been created.
49 | ///
50 | /// The interaction context.
51 | public void OnContextCreated(Context context)
52 | {
53 | context.RegisterStateChangedHandler(_statePath, _handler);
54 | }
55 |
56 | ///
57 | /// Method to be invoked when a connection to the EyeX Engine has been established.
58 | ///
59 | /// The interaction context.
60 | public void OnConnected(Context context)
61 | {
62 | context.GetStateAsync(_statePath, _handler);
63 | }
64 |
65 | ///
66 | /// Method to be invoked when the connection to the EyeX Engine has been lost.
67 | ///
68 | public void OnDisconnected()
69 | {
70 | SetCurrentValue(EngineStateValue.Invalid);
71 | }
72 |
73 | private void OnStateChanged(AsyncData data)
74 | {
75 | using (data)
76 | {
77 | ResultCode resultCode;
78 | if (!data.TryGetResultCode(out resultCode) || resultCode != ResultCode.Ok)
79 | {
80 | return;
81 | }
82 |
83 | using (var stateBag = data.GetDataAs())
84 | {
85 | T value;
86 | if (stateBag.TryGetStateValue(out value, _statePath))
87 | {
88 | SetCurrentValue(new EngineStateValue(value));
89 | }
90 | }
91 | }
92 | }
93 |
94 | private void SetCurrentValue(EngineStateValue value)
95 | {
96 | _currentValue = value;
97 |
98 | var handler = Changed;
99 | if (handler != null)
100 | {
101 | handler(this, value);
102 | }
103 | }
104 | }
105 | }
106 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/EngineStateValue.cs:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------
2 | // Copyright 2014 Tobii Technology AB. All rights reserved.
3 | //-----------------------------------------------------------------------
4 |
5 | namespace EyeXFramework
6 | {
7 | using System;
8 | using System.Diagnostics.CodeAnalysis;
9 | using System.Globalization;
10 | using Tobii.EyeX.Client;
11 |
12 | ///
13 | /// Holds an engine state value and a flag indicating the validity of the value.
14 | ///
15 | /// Data type of the engine state.
16 | [SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification = "Type is used both as a property value and event data.")]
17 | public sealed class EngineStateValue : EventArgs
18 | {
19 | ///
20 | /// Initializes a new instance of the class.
21 | ///
22 | /// The state handler.
23 | public EngineStateValue(T value)
24 | {
25 | Value = value;
26 | IsValid = true;
27 | }
28 |
29 | private EngineStateValue()
30 | {
31 | // Will result in a value where IsValid is false
32 | }
33 |
34 | ///
35 | /// Gets a value representing an invalid state value.
36 | ///
37 | [SuppressMessage("Microsoft.Design", "CA1000:DoNotDeclareStaticMembersOnGenericTypes", Justification = "Mainly for internal use.")]
38 | public static EngineStateValue Invalid
39 | {
40 | get
41 | {
42 | return new EngineStateValue();
43 | }
44 | }
45 |
46 | ///
47 | /// Gets the state value.
48 | ///
49 | public T Value { get; private set; }
50 |
51 | ///
52 | /// Gets a value indicating whether the state value is valid.
53 | /// The state will always be unknown when disconnected from the EyeX Engine.
54 | ///
55 | public bool IsValid { get; private set; }
56 |
57 | ///
58 | /// Returns a string that represents the current object.
59 | ///
60 | /// A string that represents the current object.
61 | public override string ToString()
62 | {
63 | if (IsValid)
64 | {
65 | if (typeof(T) == typeof(Size2))
66 | {
67 | var value = (Size2)((object)Value);
68 | return string.Format(CultureInfo.InvariantCulture, "{0:0.0} x {1:0.0}", value.Width, value.Height);
69 | }
70 |
71 | if (typeof(T) == typeof(Rect))
72 | {
73 | var value = (Rect)((object)Value);
74 | return string.Format(CultureInfo.InvariantCulture, "({0}, {1}), {2} x {3}", value.X, value.Y, value.Width, value.Height);
75 | }
76 |
77 | return Value.ToString();
78 | }
79 | else
80 | {
81 | return "INVALID";
82 | }
83 | }
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/EyeXFramework.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {C9BBFBAC-FD0F-46DE-843F-F3620BF79DC2}
8 | Library
9 | Properties
10 | EyeXFramework
11 | EyeXFramework
12 | v4.5
13 | 512
14 |
15 |
16 |
17 | true
18 | full
19 | false
20 | bin\Debug\
21 | TRACE;DEBUG;CODE_ANALYSIS
22 | prompt
23 | 4
24 | false
25 |
26 |
27 | pdbonly
28 | true
29 | bin\Release\
30 | TRACE
31 | prompt
32 | 4
33 | false
34 |
35 |
36 | true
37 | bin\x86\Debug\
38 | TRACE;DEBUG;CODE_ANALYSIS
39 | full
40 | x86
41 | prompt
42 | MinimumRecommendedRules.ruleset
43 |
44 |
45 | bin\x86\Release\
46 | TRACE
47 | true
48 | pdbonly
49 | x86
50 | prompt
51 | MinimumRecommendedRules.ruleset
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 | ..\..\lib\x86\Tobii.EyeX.Client.Net20.dll
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 | True
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
105 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/EyeXHost.Tools.cs:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------
2 | // Copyright 2014 Tobii Technology AB. All rights reserved.
3 | //-----------------------------------------------------------------------
4 |
5 | using System;
6 |
7 | namespace EyeXFramework
8 | {
9 | using Tobii.EyeX.Framework;
10 |
11 | public partial class EyeXHost
12 | {
13 | ///
14 | /// Starts the recalibration tool.
15 | ///
16 | public void LaunchRecalibration()
17 | {
18 | EnsureStarted();
19 | _context.LaunchConfigurationTool(ConfigurationTool.Recalibrate, data => { });
20 | }
21 |
22 | ///
23 | /// Starts the guest calibration tool.
24 | ///
25 | public void LaunchGuestCalibration()
26 | {
27 | EnsureStarted();
28 | _context.LaunchConfigurationTool(ConfigurationTool.GuestCalibration, data => { });
29 | }
30 |
31 | ///
32 | /// Starts the calibration testing tool.
33 | ///
34 | public void LaunchCalibrationTesting()
35 | {
36 | EnsureStarted();
37 | _context.LaunchConfigurationTool(ConfigurationTool.TestEyeTracking, data => { });
38 | }
39 |
40 | ///
41 | /// Starts the display setup tool.
42 | ///
43 | public void LaunchDisplaySetup()
44 | {
45 | EnsureStarted();
46 | _context.LaunchConfigurationTool(ConfigurationTool.SetupDisplay, data => { });
47 | }
48 |
49 | ///
50 | /// Starts the profile creation tool.
51 | ///
52 | public void LaunchProfileCreation()
53 | {
54 | EnsureStarted();
55 | _context.LaunchConfigurationTool(ConfigurationTool.CreateNewProfile, data => { });
56 | }
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/FixationDataStream.cs:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------
2 | // Copyright 2014 Tobii Technology AB. All rights reserved.
3 | //-----------------------------------------------------------------------
4 |
5 | namespace EyeXFramework
6 | {
7 | using System;
8 | using System.Collections.Generic;
9 | using System.Diagnostics.CodeAnalysis;
10 | using System.Linq;
11 | using Tobii.EyeX.Client;
12 | using Tobii.EyeX.Framework;
13 |
14 | ///
15 | /// Provides a stream of fixation data.
16 | /// See .
17 | ///
18 | [SuppressMessage("Microsoft.Naming", "CA1711:IdentifiersShouldNotHaveIncorrectSuffix", Justification = "Suffix is DataStream, not just Stream. Low risk for confusion.")]
19 | public sealed class FixationDataStream : DataStreamBase
20 | {
21 | ///
22 | /// Initializes a new instance of the class.
23 | ///
24 | /// Specifies the kind of fixation detection to be used.
25 | public FixationDataStream(FixationDataMode mode)
26 | {
27 | Mode = mode;
28 | }
29 |
30 | ///
31 | /// Gets the kind of fixation detection used.
32 | ///
33 | public FixationDataMode Mode { get; private set; }
34 |
35 | ///
36 | /// Assigns the behavior corresponding to the data stream type to an interactor.
37 | ///
38 | /// The global interactor to add the data stream behavior to.
39 | protected override void AssignBehavior(Interactor interactor)
40 | {
41 | var parameters = new FixationDataParams { FixationDataMode = Mode };
42 | interactor.CreateFixationDataBehavior(ref parameters);
43 | }
44 |
45 | ///
46 | /// Extracts data points from an event from the EyeX Engine.
47 | ///
48 | /// The instances containing the event data.
49 | /// The collection of data points.
50 | protected override IEnumerable ExtractDataPoints(IEnumerable behaviors)
51 | {
52 | foreach (var behavior in behaviors
53 | .Where(behavior => behavior.BehaviorType == BehaviorType.FixationData))
54 | {
55 | FixationDataEventParams parameters;
56 | if (behavior.TryGetFixationDataEventParams(out parameters) &&
57 | parameters.FixationDataMode == Mode)
58 | {
59 | yield return new FixationEventArgs(parameters.EventType, parameters.X, parameters.Y, parameters.Timestamp);
60 | }
61 | }
62 | }
63 | }
64 |
65 | ///
66 | /// Provides event data for the fixation data stream.
67 | ///
68 | [SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1402:FileMayOnlyContainASingleClass", Justification = "Belongs here.")]
69 | public sealed class FixationEventArgs : EventArgs
70 | {
71 | ///
72 | /// Initializes a new instance of the class.
73 | ///
74 | /// Specifies the kind of fixation event that occurred.
75 | /// X coordinate of the gaze point in physical pixels.
76 | /// Y coordinate of the gaze point in physical pixels.
77 | /// Timestamp in milliseconds.
78 | public FixationEventArgs(FixationDataEventType eventType, double x, double y, double timestamp)
79 | {
80 | EventType = eventType;
81 | X = x;
82 | Y = y;
83 | Timestamp = timestamp;
84 | }
85 |
86 | ///
87 | /// Gets the kind of fixation event that occurred.
88 | /// The sequence is: Begin, [Data, ...], End.
89 | ///
90 | public FixationDataEventType EventType { get; private set; }
91 |
92 | ///
93 | /// Gets the X coordinate of the gaze point in physical pixels.
94 | ///
95 | public double X { get; private set; }
96 |
97 | ///
98 | /// Gets the Y coordinate of the gaze point in physical pixels.
99 | ///
100 | public double Y { get; private set; }
101 |
102 | ///
103 | /// Gets the timestamp in milliseconds.
104 | ///
105 | public double Timestamp { get; private set; }
106 | }
107 | }
108 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/Forms/DpiAwarenessUtilities.cs:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------
2 | // Copyright 2014 Tobii Technology AB. All rights reserved.
3 | //-----------------------------------------------------------------------
4 |
5 | namespace EyeXFramework.Forms
6 | {
7 | using System;
8 | using System.Runtime.InteropServices;
9 |
10 | ///
11 | /// Provides utility functions for DPI awareness.
12 | ///
13 | public static class DpiAwarenessUtilities
14 | {
15 | ///
16 | /// Marks the running process as being DPI aware.
17 | ///
18 | public static void SetProcessDpiAware()
19 | {
20 | if (Environment.OSVersion.Platform == PlatformID.Win32NT &&
21 | Environment.OSVersion.Version.Major >= 6) // meaning Vista or later
22 | {
23 | // Disable automatic DPI scaling.
24 | // DPI scaling breaks the mapping between client coordinates and screen coordinates.
25 | NativeMethods.SetProcessDPIAware();
26 | }
27 | }
28 |
29 | private static class NativeMethods
30 | {
31 | [DllImport("user32")]
32 | [return: MarshalAs(UnmanagedType.Bool)]
33 | public static extern bool SetProcessDPIAware();
34 | }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/Forms/FormsCrawler.cs:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------
2 | // Copyright 2014 Tobii Technology AB. All rights reserved.
3 | //-----------------------------------------------------------------------
4 |
5 | namespace EyeXFramework.Forms
6 | {
7 | using System;
8 | using System.Collections.Generic;
9 | using System.Drawing;
10 | using System.Linq;
11 | using System.Windows.Forms;
12 | using Tobii.EyeX.Framework;
13 |
14 | ///
15 | /// Helper class for traversing Windows Forms control trees.
16 | ///
17 | public static class FormsCrawler
18 | {
19 | ///
20 | /// Updates the ParentId, Z, and WindowId properties of all interactors.
21 | ///
22 | /// Behavior maps providing the interactors.
23 | public static void UpdateInteractorProperties(IEnumerable behaviorMaps)
24 | {
25 | foreach (var behaviorsByForm in behaviorMaps
26 | .ToLookup(map => GetForm(map)))
27 | {
28 | var form = behaviorsByForm.Key;
29 | if (form == null)
30 | {
31 | continue;
32 | }
33 |
34 | var windowId = form.Handle.ToString();
35 |
36 | try
37 | {
38 | var interactorDictionary = behaviorsByForm
39 | .SelectMany(map => map.Interactors)
40 | .ToDictionary(x => x.Control);
41 |
42 | int z = 0;
43 | UpdateInteractorProperties(behaviorsByForm.Key, Literals.RootId, ref z, windowId, interactorDictionary);
44 | }
45 | catch (ArgumentException) // thrown by the ToDictionary operation
46 | {
47 | throw new InvalidOperationException("A control is referenced by more than one interactor.");
48 | }
49 | }
50 | }
51 |
52 | ///
53 | /// Gets the set of interactors within a given query rectangle.
54 | ///
55 | /// Behavior maps providing the interactors.
56 | /// Query rectangle in screen coordinates.
57 | /// Window ID's from the query.
58 | /// The interactors.
59 | public static IEnumerable GetInteractors(IEnumerable behaviorMaps, Rectangle queryRect, IEnumerable queryWindowIds)
60 | {
61 | var windowIdArray = queryWindowIds.ToArray(); // avoid multiple traversals of the enumeration
62 |
63 | foreach (var behaviorsByForm in behaviorMaps
64 | .ToLookup(map => GetForm(map)))
65 | {
66 | var form = behaviorsByForm.Key;
67 | if (form == null)
68 | {
69 | continue;
70 | }
71 |
72 | var windowId = form.Handle.ToString();
73 | if (!windowIdArray.Contains(windowId))
74 | {
75 | continue;
76 | }
77 |
78 | // Find all interactors intersecting the query rectangle.
79 | // Since controls cannot extend outside the bounds of their parent controls/forms
80 | // in Windows Forms, we know that this operation will find all parent interactors
81 | // as well.
82 | foreach (var interactor in behaviorsByForm
83 | .SelectMany(map => map.GetIntersectingInteractors(queryRect)))
84 | {
85 | yield return interactor;
86 | }
87 | }
88 | }
89 |
90 | private static Form GetForm(BehaviorMap behaviorMap)
91 | {
92 | return behaviorMap.Interactors
93 | .Select(interactor => interactor.Control.FindForm())
94 | .Distinct()
95 | .SingleOrDefault();
96 | }
97 |
98 | private static void UpdateInteractorProperties(Control control, string parentId, ref int z, string windowId, IDictionary interactors)
99 | {
100 | FormsInteractor interactor;
101 | if (interactors.TryGetValue(control, out interactor))
102 | {
103 | interactor.ParentId = parentId;
104 | interactor.Z = z++;
105 | interactor.WindowId = windowId;
106 |
107 | foreach (var childControl in control.Controls
108 | .Cast()
109 | .Reverse()) // reverse, because the Controls collection is ordered front-to-back, whereas z order goes back-to-front.
110 | {
111 | int childZ = 0;
112 | UpdateInteractorProperties(childControl, interactor.Id, ref childZ, windowId, interactors);
113 | }
114 | }
115 | else
116 | {
117 | foreach (var childControl in control.Controls
118 | .Cast()
119 | .Reverse())
120 | {
121 | UpdateInteractorProperties(childControl, parentId, ref z, windowId, interactors);
122 | }
123 | }
124 | }
125 | }
126 | }
127 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/Forms/IFormsEyeXHost.cs:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------
2 | // Copyright 2014 Tobii Technology AB. All rights reserved.
3 | //-----------------------------------------------------------------------
4 |
5 | namespace EyeXFramework.Forms
6 | {
7 | ///
8 | /// Interface used for mocking the EyeXHost.
9 | ///
10 | public interface IFormsEyeXHost
11 | {
12 | ///
13 | /// Connects a behavior map so that it may receive queries and events from the EyeX Engine.
14 | ///
15 | /// Map to be connected.
16 | void Connect(BehaviorMap behaviorMap);
17 |
18 | ///
19 | /// Trigger an activation ("gaze click").
20 | /// Use this method if you want to bind the click command to a key other than the one used
21 | /// by the EyeX Engine -- or to something other than a key press event.
22 | ///
23 | void TriggerActivation();
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/GazeAwareBehavior.cs:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------
2 | // Copyright 2014 Tobii Technology AB. All rights reserved.
3 | //-----------------------------------------------------------------------
4 |
5 | namespace EyeXFramework
6 | {
7 | using System;
8 | using System.Collections.Generic;
9 | using System.Diagnostics.CodeAnalysis;
10 | using System.Linq;
11 | using Tobii.EyeX.Client;
12 | using Tobii.EyeX.Framework;
13 |
14 | ///
15 | /// Maps the Gaze-aware behavior to an interactor.
16 | /// Exposes EyeX behavior parameters and events as .NET properties and events.
17 | ///
18 | public class GazeAwareBehavior : IEyeXBehavior
19 | {
20 | ///
21 | /// Initializes a new instance of the class.
22 | ///
23 | public GazeAwareBehavior()
24 | {
25 | }
26 |
27 | ///
28 | /// Initializes a new instance of the class.
29 | ///
30 | /// The event handler for the event.
31 | public GazeAwareBehavior(EventHandler eventHandler)
32 | {
33 | GazeAware += eventHandler;
34 | }
35 |
36 | ///
37 | /// The event raised when the gaze moves in or out if the interactor.
38 | ///
39 | public event EventHandler GazeAware;
40 |
41 | ///
42 | /// Gets the gaze-aware behavior type.
43 | ///
44 | public BehaviorType BehaviorType
45 | {
46 | get { return BehaviorType.GazeAware; }
47 | }
48 |
49 | ///
50 | /// Gets or sets the delay in milliseconds from when the user looks at the interactor to the event is raised.
51 | ///
52 | public int DelayMilliseconds { get; set; }
53 |
54 | ///
55 | /// Assigns the gaze-aware behavior to an interactor.
56 | ///
57 | /// Interactor to assign the gaze-aware interactor to.
58 | public void AssignBehavior(Interactor interactor)
59 | {
60 | using (var behavior = interactor.CreateBehavior(BehaviorType.GazeAware))
61 | {
62 | if (DelayMilliseconds > 0)
63 | {
64 | var parameters = new GazeAwareParams { GazeAwareMode = GazeAwareMode.Delayed, DelayTime = DelayMilliseconds };
65 | behavior.SetGazeAwareParams(ref parameters);
66 | }
67 | }
68 | }
69 |
70 | ///
71 | /// Handles the gaze-aware event.
72 | ///
73 | /// Object associated with the interactor.
74 | /// The instances containing the event data.
75 | public void HandleEvent(object sender, IEnumerable behaviors)
76 | {
77 | foreach (var behavior in behaviors
78 | .Where(b => b.BehaviorType == BehaviorType.GazeAware))
79 | {
80 | GazeAwareEventParams parameters;
81 | if (behavior.TryGetGazeAwareEventParams(out parameters))
82 | {
83 | var handler = GazeAware;
84 | if (handler != null)
85 | {
86 | handler(sender, new GazeAwareEventArgs(parameters.HasGaze != EyeXBoolean.False));
87 | }
88 | }
89 | }
90 | }
91 | }
92 |
93 | ///
94 | /// Event arguments for the gaze-aware behavior.
95 | ///
96 | [SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1402:FileMayOnlyContainASingleClass", Justification = "Belongs here.")]
97 | public sealed class GazeAwareEventArgs : EventArgs
98 | {
99 | ///
100 | /// Initializes a new instance of the class.
101 | ///
102 | /// True if the gaze point falls within the bounds of the interactor.
103 | public GazeAwareEventArgs(bool hasGaze)
104 | {
105 | HasGaze = hasGaze;
106 | }
107 |
108 | ///
109 | /// Gets a value indicating whether the gaze point falls within the bounds of the interactor.
110 | ///
111 | public bool HasGaze { get; private set; }
112 | }
113 | }
114 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/GazePointDataStream.cs:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------
2 | // Copyright 2014 Tobii Technology AB. All rights reserved.
3 | //-----------------------------------------------------------------------
4 |
5 | namespace EyeXFramework
6 | {
7 | using System;
8 | using System.Collections.Generic;
9 | using System.Diagnostics.CodeAnalysis;
10 | using System.Linq;
11 | using Tobii.EyeX.Client;
12 | using Tobii.EyeX.Framework;
13 |
14 | ///
15 | /// Provides a stream of gaze point data.
16 | /// See .
17 | ///
18 | [SuppressMessage("Microsoft.Naming", "CA1711:IdentifiersShouldNotHaveIncorrectSuffix", Justification = "Suffix is DataStream, not just Stream. Low risk for confusion.")]
19 | public sealed class GazePointDataStream : DataStreamBase
20 | {
21 | ///
22 | /// Initializes a new instance of the class.
23 | ///
24 | /// Specifies the kind of processing applied to the eye-gaze data.
25 | public GazePointDataStream(GazePointDataMode mode)
26 | {
27 | Mode = mode;
28 | }
29 |
30 | ///
31 | /// Gets the kind of processing applied to the eye-gaze data.
32 | ///
33 | public GazePointDataMode Mode { get; private set; }
34 |
35 | ///
36 | /// Assigns the behavior corresponding to the data stream type to an interactor.
37 | ///
38 | /// The global interactor to add the data stream behavior to.
39 | protected override void AssignBehavior(Interactor interactor)
40 | {
41 | var parameters = new GazePointDataParams() { GazePointDataMode = Mode };
42 | interactor.CreateGazePointDataBehavior(ref parameters);
43 | }
44 |
45 | ///
46 | /// Extracts data points from an event from the EyeX Engine.
47 | ///
48 | /// The instances containing the event data.
49 | /// The collection of data points.
50 | protected override IEnumerable ExtractDataPoints(IEnumerable behaviors)
51 | {
52 | foreach (var behavior in behaviors
53 | .Where(behavior => behavior.BehaviorType == BehaviorType.GazePointData))
54 | {
55 | GazePointDataEventParams parameters;
56 | if (behavior.TryGetGazePointDataEventParams(out parameters) &&
57 | parameters.GazePointDataMode == Mode)
58 | {
59 | yield return new GazePointEventArgs(parameters.X, parameters.Y, parameters.Timestamp);
60 | }
61 | }
62 | }
63 | }
64 |
65 | ///
66 | /// Provides event data for the gaze point data stream.
67 | ///
68 | [SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1402:FileMayOnlyContainASingleClass", Justification = "Belongs here.")]
69 | public sealed class GazePointEventArgs : EventArgs
70 | {
71 | ///
72 | /// Initializes a new instance of the class.
73 | ///
74 | /// X coordinate in physical pixels.
75 | /// Y coordinate in physical pixels.
76 | /// The point in time when the data point was captured. Milliseconds.
77 | public GazePointEventArgs(double x, double y, double timestamp)
78 | {
79 | X = x;
80 | Y = y;
81 | Timestamp = timestamp;
82 | }
83 |
84 | ///
85 | /// Gets the X coordinate in physical pixels.
86 | ///
87 | public double X { get; private set; }
88 |
89 | ///
90 | /// Gets the Y coordinate in physical pixels.
91 | ///
92 | public double Y { get; private set; }
93 |
94 | ///
95 | /// Gets the point in time when the data point was captured. Milliseconds.
96 | ///
97 | public double Timestamp { get; private set; }
98 | }
99 | }
100 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/IDataStreamObserver.cs:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------
2 | // Copyright 2014 Tobii Technology AB. All rights reserved.
3 | //-----------------------------------------------------------------------
4 |
5 | namespace EyeXFramework
6 | {
7 | using System;
8 | using Tobii.EyeX.Client;
9 |
10 | ///
11 | /// Interface for a data stream observer.
12 | /// This is an internal interface used by the EyeXHost.
13 | ///
14 | internal interface IDataStreamObserver
15 | {
16 | ///
17 | /// Event raised when the observer is disposed.
18 | ///
19 | event EventHandler Disposed;
20 |
21 | ///
22 | /// Gets the unique ID of the observer.
23 | ///
24 | string Id { get; }
25 |
26 | ///
27 | /// Creates an interactor for the data stream.
28 | ///
29 | /// Snapshot to add the interactor to.
30 | void CreateInteractor(Snapshot snapshot);
31 |
32 | ///
33 | /// Handles an event from the EyeX Engine.
34 | ///
35 | /// Event to be handled.
36 | void HandleEvent(InteractionEvent event_);
37 | }
38 | }
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/IEyeXBehavior.cs:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------
2 | // Copyright 2014 Tobii Technology AB. All rights reserved.
3 | //-----------------------------------------------------------------------
4 |
5 | namespace EyeXFramework
6 | {
7 | using System.Collections.Generic;
8 | using Tobii.EyeX.Client;
9 | using Tobii.EyeX.Framework;
10 |
11 | ///
12 | /// Interface of an EyeX behavior adapter, capable of assigning a certain type
13 | /// of behavior to an interactor, and of interpreting the corresponding events.
14 | ///
15 | /// Note: this package includes adapters for the most common behaviors, so there is
16 | /// usually no need to write your own.
17 | ///
18 | ///
19 | public interface IEyeXBehavior
20 | {
21 | ///
22 | /// Gets the type of EyeX behavior.
23 | ///
24 | BehaviorType BehaviorType { get; }
25 |
26 | ///
27 | /// Assigns the behavior to an Interactor.
28 | /// This method is invoked when a snapshot is being prepared for the EyeX Engine.
29 | ///
30 | /// Interactor to be modified.
31 | void AssignBehavior(Interactor interactor);
32 |
33 | ///
34 | /// Handles an event from the EyeX Engine and calls the registered event handlers/callbacks.
35 | ///
36 | /// Object associated with the interactor.
37 | /// The instances containing the event data.
38 | void HandleEvent(object sender, IEnumerable behaviors);
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/InteractorIDGenerator.cs:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------
2 | // Copyright 2014 Tobii Technology AB. All rights reserved.
3 | //-----------------------------------------------------------------------
4 |
5 | namespace EyeXFramework
6 | {
7 | using System.Globalization;
8 |
9 | ///
10 | /// Generates unique IDs for interactors.
11 | ///
12 | internal static class InteractorIDGenerator
13 | {
14 | private static readonly object Lock = new object();
15 | private static int _nextId;
16 |
17 | ///
18 | /// Returns a unique ID.
19 | ///
20 | /// A unique ID.
21 | public static string CreateUniqueID()
22 | {
23 | lock (Lock)
24 | {
25 | int id = _nextId;
26 | _nextId++;
27 | return string.Format(CultureInfo.InvariantCulture, "I{0:00}", id);
28 | }
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------
2 | // Copyright 2014 Tobii Technology AB. All rights reserved.
3 | //-----------------------------------------------------------------------
4 |
5 | using System;
6 | using System.Reflection;
7 | using System.Runtime.CompilerServices;
8 | using System.Runtime.InteropServices;
9 |
10 | // General Information about an assembly is controlled through the following
11 | // set of attributes. Change these attribute values to modify the information
12 | // associated with an assembly.
13 | [assembly: AssemblyTitle("EyeXFramework")]
14 | [assembly: AssemblyDescription("")]
15 | [assembly: AssemblyConfiguration("")]
16 | [assembly: AssemblyCompany("Tobii Technology AB")]
17 | [assembly: AssemblyProduct("Tobii EyeX SDK for .NET")]
18 | [assembly: AssemblyCopyright("Copyright © 2014 Tobii Technology AB")]
19 | [assembly: AssemblyTrademark("")]
20 | [assembly: AssemblyCulture("")]
21 |
22 | // Setting ComVisible to false makes the types in this assembly not visible
23 | // to COM components. If you need to access a type in this assembly from
24 | // COM, set the ComVisible attribute to true on that type.
25 | [assembly: ComVisible(false)]
26 |
27 | // The following GUID is for the ID of the typelib if this project is exposed to COM
28 | [assembly: Guid("95ec5f5c-5473-4303-b45f-46636043b4c2")]
29 |
30 | // Version information for an assembly consists of the following four values:
31 | //
32 | // Major Version
33 | // Minor Version
34 | // Build Number
35 | // Revision
36 | //
37 | // You can specify all the values or you can default the Build and Revision Numbers
38 | // by using the '*' as shown below:
39 | // [assembly: AssemblyVersion("1.0.*")]
40 | [assembly: AssemblyVersion("1.0.0.0")]
41 | [assembly: AssemblyFileVersion("1.0.0.0")]
42 |
43 | [assembly: CLSCompliant(true)]
44 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/Settings.StyleCop:
--------------------------------------------------------------------------------
1 |
2 |
3 | ..\Settings.StyleCop
4 | Linked
5 |
6 |
7 |
8 |
9 | True
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/Wpf/Behavior.cs:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------
2 | // Copyright 2014 Tobii Technology AB. All rights reserved.
3 | //-----------------------------------------------------------------------
4 |
5 | namespace EyeXFramework.Wpf
6 | {
7 | using System.Diagnostics.CodeAnalysis;
8 | using System.Windows;
9 | using Tobii.EyeX.Framework;
10 |
11 | ///
12 | /// Class that contains all the EyeX Behavior related attached
13 | /// properties and events.
14 | ///
15 | /// The class implementation is split into one file per EyeX
16 | /// Behavior, with the Behavior.cs file containing generic
17 | /// implementation.
18 | ///
19 | ///
20 | /// File naming convention: Behavior.Xyz.cs contains all
21 | /// implementation related explicitly to the EyeX Xyz behavior.
22 | ///
23 | ///
24 | public static partial class Behavior
25 | {
26 | ///
27 | /// Indicates whether the FrameworkElement represents an EyeX
28 | /// interactor or not. That is, if it has any EyeX Behaviors
29 | /// set on it.
30 | ///
31 | /// The
32 | ///
33 | /// A value indicating whether the FrameworkElement represents
34 | /// an EyeX interactor.
35 | ///
36 | [SuppressMessage("StyleCop.CSharp.OrderingRules", "SA1201:ElementsMustAppearInTheCorrectOrder", Justification = "Reviewed.")]
37 | public static bool IsInteractor(this FrameworkElement element)
38 | {
39 | var wpfInteractor = element.GetWpfInteractor();
40 | return (null != wpfInteractor) && wpfInteractor.IsInteractor;
41 | }
42 |
43 | #region WpfInteractor property
44 |
45 | ///
46 | /// Holds the WpfInteractor object associated with a FrameworkElement.
47 | ///
48 | /// The WpfInteractor class stores information about EyeX behaviors
49 | /// set on the element, and other information needed to create an EyeX
50 | /// interactor based on the element, and also delegates handling of
51 | /// events from the EyeX Engine to the attached EyeX behaviors.
52 | ///
53 | ///
54 | public static readonly DependencyProperty WpfInteractorProperty = DependencyProperty.RegisterAttached(
55 | "WpfInteractor",
56 | typeof(WpfInteractor),
57 | typeof(Behavior),
58 | new FrameworkPropertyMetadata(null));
59 |
60 | ///
61 | /// Sets the WpfInteractor property for a given FrameworkElement.
62 | ///
63 | /// The to set the property for.
64 | /// The value of the property.
65 | [SuppressMessage("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters", Justification = "FrameworkElement required.")]
66 | public static void SetWpfInteractor(this FrameworkElement element, WpfInteractor value)
67 | {
68 | element.SetValue(WpfInteractorProperty, value);
69 | }
70 |
71 | ///
72 | /// Gets the WpfInteractor of the FrameworkElement.
73 | ///
74 | /// This method returns null for a FrameworkElement with no set EyeX
75 | /// Behaviors. Code that need a reference to the WpfInteractor, to be
76 | /// able to add an EyeX Behavior to it, should use the
77 | /// GetWpfInteractorOrDefault method instead.
78 | ///
79 | ///
80 | /// The to get the interactor from.
81 | /// The attached, or null.
82 | [SuppressMessage("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters", Justification = "FrameworkElement required.")]
83 | public static WpfInteractor GetWpfInteractor(this FrameworkElement element)
84 | {
85 | return (WpfInteractor)element.GetValue(WpfInteractorProperty);
86 | }
87 |
88 | ///
89 | /// Gets the WpfInteractor for the FrameworkElement, or if the
90 | /// WpfInteractor is null, creates, sets and returns an empty
91 | /// WpfInteractor.
92 | ///
93 | /// This method should be used for code that need a reference to the
94 | /// WpfInteractor to add an EyeX Behavior to it.
95 | ///
96 | ///
97 | /// The to get the object from.
98 | /// The WpfInteractor for the FrameworkElement, or a default instance.
99 | [SuppressMessage("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters", Justification = "FrameworkElement required.")]
100 | public static WpfInteractor GetWpfInteractorOrDefault(this FrameworkElement element)
101 | {
102 | var wpfInteractor = element.GetWpfInteractor();
103 | if (null == wpfInteractor)
104 | {
105 | wpfInteractor = WpfInteractor.CreateEmpty();
106 | element.SetWpfInteractor(wpfInteractor);
107 | }
108 |
109 | return wpfInteractor;
110 | }
111 |
112 | #endregion
113 |
114 | #region Utility methods for adding and removing behaviors to/from a WpfInteractor
115 |
116 | private static void AddBehavior(FrameworkElement element, IEyeXBehavior behavior)
117 | {
118 | var wpfInteractor = element.GetWpfInteractorOrDefault();
119 | wpfInteractor.AddBehavior(element, behavior);
120 | }
121 |
122 | private static void RemoveBehavior(FrameworkElement element, BehaviorType behaviorType)
123 | {
124 | var wpfInteractor = element.GetWpfInteractorOrDefault();
125 | wpfInteractor.RemoveBehavior(behaviorType);
126 | }
127 |
128 | #endregion
129 | }
130 | }
131 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/Wpf/WpfCrawler.cs:
--------------------------------------------------------------------------------
1 | //-----------------------------------------------------------------------
2 | // Copyright 2014 Tobii Technology AB. All rights reserved.
3 | //-----------------------------------------------------------------------
4 |
5 | namespace EyeXFramework.Wpf
6 | {
7 | using System.Collections.Generic;
8 | using System.Diagnostics.CodeAnalysis;
9 | using System.Windows;
10 | using System.Windows.Media;
11 |
12 | ///
13 | /// Helper class for traversing and hit testing visual trees in Windows
14 | /// Presentation Foundation (WPF).
15 | ///
16 | public static class WpfCrawler
17 | {
18 | ///
19 | /// Gets the set of interactors within a given query rectangle.
20 | ///
21 | /// In interactor is defined as a FrameworkElement with an Behavior attached property set on it.
22 | ///
23 | ///
24 | /// A top level window
25 | /// Query rectangle in screen coordinates
26 | /// The set of interactors.
27 | public static IEnumerable GetInteractors(Visual window, Rect queryRectangle)
28 | {
29 | var intersectingInteractors = new List();
30 | var hitTestRectangle = new RectangleGeometry(GetBoundsInLocalCoordinates(window, queryRectangle));
31 |
32 | VisualTreeHelper.HitTest(
33 | window,
34 | potentialHitTestTarget =>
35 | {
36 | var frameworkElement = potentialHitTestTarget as FrameworkElement;
37 | if (frameworkElement == null)
38 | {
39 | return HitTestFilterBehavior.ContinueSkipSelfAndChildren;
40 | }
41 |
42 | if (frameworkElement.Visibility != Visibility.Visible)
43 | {
44 | return HitTestFilterBehavior.ContinueSkipSelfAndChildren;
45 | }
46 |
47 | if (!frameworkElement.IsHitTestVisible)
48 | {
49 | return HitTestFilterBehavior.ContinueSkipSelf;
50 | }
51 |
52 | if (frameworkElement.IsInteractor())
53 | {
54 | intersectingInteractors.Add(frameworkElement.GetWpfInteractor());
55 | }
56 |
57 | return HitTestFilterBehavior.Continue;
58 | },
59 | result => HitTestResultBehavior.Continue,
60 | new GeometryHitTestParameters(hitTestRectangle));
61 |
62 | return intersectingInteractors;
63 | }
64 |
65 | ///
66 | /// Updates the ParentId and Z properties of all interactors in the visual tree rooted
67 | /// at the given topElement.
68 | ///
69 | /// The root element of the currently traversed visual tree.
70 | /// Id of the interactor parent.
71 | [SuppressMessage("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters", Justification = "GetWpfInteractor requires FrameworkElement.")]
72 | public static void UpdateInteractorProperties(FrameworkElement topElement, string topId)
73 | {
74 | int nextChildZ = 0;
75 | foreach (var childElement in GetChildInteractorElements(topElement))
76 | {
77 | var wpfInteractor = childElement.GetWpfInteractor();
78 | wpfInteractor.ParentId = topId;
79 | wpfInteractor.Z = nextChildZ;
80 | nextChildZ++;
81 |
82 | UpdateInteractorProperties(childElement, wpfInteractor.Id);
83 | }
84 | }
85 |
86 | ///
87 | /// Returns all children of the given framework element that are also interactors.
88 | ///
89 | /// The framework element to get children of.
90 | /// The child elements.
91 | private static IEnumerable GetChildInteractorElements(DependencyObject parent)
92 | {
93 | for (int i = 0; i < VisualTreeHelper.GetChildrenCount(parent); i++)
94 | {
95 | var child = VisualTreeHelper.GetChild(parent, i);
96 | var childAsFrameworkElement = child as FrameworkElement;
97 |
98 | if (null != childAsFrameworkElement && childAsFrameworkElement.IsInteractor())
99 | {
100 | yield return childAsFrameworkElement;
101 | }
102 | else
103 | {
104 | foreach (var grandchild in GetChildInteractorElements(child))
105 | {
106 | yield return grandchild;
107 | }
108 | }
109 | }
110 | }
111 |
112 | private static Rect GetBoundsInLocalCoordinates(Visual visual, Rect boundsInScreenCoordinates)
113 | {
114 | var localBoundsUpperLeft = visual.PointFromScreen(new Point(boundsInScreenCoordinates.X, boundsInScreenCoordinates.Y));
115 | var localBoundsLowerRight = visual.PointFromScreen(new Point(
116 | boundsInScreenCoordinates.X + boundsInScreenCoordinates.Width,
117 | boundsInScreenCoordinates.Y + boundsInScreenCoordinates.Height));
118 | return new Rect(localBoundsUpperLeft, localBoundsLowerRight);
119 | }
120 | }
121 | }
122 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/bin/x86/Debug/EyeXFramework.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/EyeXFramework/bin/x86/Debug/EyeXFramework.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/bin/x86/Debug/EyeXFramework.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/EyeXFramework/bin/x86/Debug/EyeXFramework.pdb
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/bin/x86/Debug/Tobii.EyeX.Client.Net20.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/EyeXFramework/bin/x86/Debug/Tobii.EyeX.Client.Net20.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/EyeXFramework/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/obj/x86/Debug/EyeXFramework.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | D:\work\sdk\TobiiEyeXSdk-DotNet-1.3.443\source\EyeXFramework\bin\x86\Debug\EyeXFramework.dll
2 | D:\work\sdk\TobiiEyeXSdk-DotNet-1.3.443\source\EyeXFramework\bin\x86\Debug\EyeXFramework.pdb
3 | D:\work\sdk\TobiiEyeXSdk-DotNet-1.3.443\source\EyeXFramework\bin\x86\Debug\Tobii.EyeX.Client.Net20.dll
4 | D:\work\sdk\TobiiEyeXSdk-DotNet-1.3.443\source\EyeXFramework\bin\x86\Debug\Tobii.EyeX.Client.Net20.xml
5 | D:\work\sdk\TobiiEyeXSdk-DotNet-1.3.443\source\EyeXFramework\obj\x86\Debug\EyeXFramework.csprojResolveAssemblyReference.cache
6 | D:\work\sdk\TobiiEyeXSdk-DotNet-1.3.443\source\EyeXFramework\obj\x86\Debug\EyeXFramework.dll
7 | D:\work\sdk\TobiiEyeXSdk-DotNet-1.3.443\source\EyeXFramework\obj\x86\Debug\EyeXFramework.pdb
8 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/obj/x86/Debug/EyeXFramework.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/EyeXFramework/obj/x86/Debug/EyeXFramework.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/obj/x86/Debug/EyeXFramework.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/EyeXFramework/obj/x86/Debug/EyeXFramework.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/obj/x86/Debug/EyeXFramework.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/EyeXFramework/obj/x86/Debug/EyeXFramework.pdb
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/obj/x86/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/EyeXFramework/obj/x86/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/obj/x86/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/EyeXFramework/obj/x86/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/EyeXFramework/obj/x86/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/EyeXFramework/obj/x86/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | #region Using directives
2 |
3 | using System;
4 | using System.Reflection;
5 | using System.Runtime.InteropServices;
6 |
7 | #endregion
8 |
9 | // General Information about an assembly is controlled through the following
10 | // set of attributes. Change these attribute values to modify the information
11 | // associated with an assembly.
12 | [assembly: AssemblyTitle("DemoPlugin")]
13 | [assembly: AssemblyDescription("")]
14 | [assembly: AssemblyConfiguration("")]
15 | [assembly: AssemblyCompany("")]
16 | [assembly: AssemblyProduct("DemoPlugin")]
17 | [assembly: AssemblyCopyright("Copyright 2010")]
18 | [assembly: AssemblyTrademark("")]
19 | [assembly: AssemblyCulture("")]
20 |
21 | // This sets the default COM visibility of types in the assembly to invisible.
22 | // If you need to expose a type to COM, use [ComVisible(true)] on that type.
23 | [assembly: ComVisible(false)]
24 |
25 | // The assembly version has following format :
26 | //
27 | // Major.Minor.Build.Revision
28 | //
29 | // You can specify all the values or you can use the default the Revision and
30 | // Build Numbers by using the '*' as shown below:
31 | [assembly: AssemblyVersion("1.0.*")]
32 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/Tobii.EyeX.Client.Net20.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/Tobii.EyeX.Client.Net20.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/Tobii.EyeX.Client.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/Tobii.EyeX.Client.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/CommandLine.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/CommandLine.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/DevicesTobiiEyeX.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/DevicesTobiiEyeX.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/DevicesTobiiEyeX.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/DevicesTobiiEyeX.pdb
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/EyeXFramework.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/EyeXFramework.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/EyeXFramework.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/EyeXFramework.pdb
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/ICSharpCode.NRefactory.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/ICSharpCode.NRefactory.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/ICSharpCode.SharpDevelop.Dom.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/ICSharpCode.SharpDevelop.Dom.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/Microsoft.Practices.ServiceLocation.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/Microsoft.Practices.ServiceLocation.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/Microsoft.Practices.Unity.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/Microsoft.Practices.Unity.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/Mono.Cecil.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/Mono.Cecil.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/SlimDX.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/SlimDX.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/System.ComponentModel.Composition.Codeplex.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/System.ComponentModel.Composition.Codeplex.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/System.Reactive.Core.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/System.Reactive.Core.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/System.Reactive.Interfaces.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/System.Reactive.Interfaces.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/System.Reactive.Linq.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/System.Reactive.Linq.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/System.Reflection.Context.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/System.Reflection.Context.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/Tobii.EyeX.Client.Net20.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/Tobii.EyeX.Client.Net20.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/Tobii.EyeX.Client.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/Tobii.EyeX.Client.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/VVVV.Core.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/VVVV.Core.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/VVVV.PluginInterfaces.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/VVVV.PluginInterfaces.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/VVVV.Utils.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/VVVV.Utils.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/VVVV.Utils3rdParty.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/VVVV.Utils3rdParty.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/VVVV.UtilsIL.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/VVVV.UtilsIL.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/VVVV.UtilsIL.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | VVVV.UtilsIL
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/log4net.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/AnyCPU/Debug/log4net.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/Dynamic/1278305982._dynamic_.21.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/Dynamic/1278305982._dynamic_.21.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/Dynamic/1508555595._dynamic_.1.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/Dynamic/1508555595._dynamic_.1.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/Dynamic/EyeXFramework.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/Dynamic/EyeXFramework.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/Dynamic/Tobii.EyeX.Client.Net20.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/Dynamic/Tobii.EyeX.Client.Net20.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/bin/Dynamic/Tobii.EyeX.Client.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/bin/Dynamic/Tobii.EyeX.Client.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/obj/Debug/DevicesTobiiEyeX.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\DevicesTobiiEyeX.dll
2 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\DevicesTobiiEyeX.pdb
3 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\SlimDX.dll
4 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\System.ComponentModel.Composition.Codeplex.dll
5 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\VVVV.Core.dll
6 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\VVVV.PluginInterfaces.dll
7 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\VVVV.Utils.dll
8 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\VVVV.Utils3rdParty.dll
9 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\System.Reflection.Context.dll
10 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\Microsoft.Practices.Unity.dll
11 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\ICSharpCode.SharpDevelop.Dom.dll
12 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\ICSharpCode.NRefactory.dll
13 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\CommandLine.dll
14 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\System.Reactive.Linq.dll
15 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\System.Reactive.Interfaces.dll
16 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\System.Reactive.Core.dll
17 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\VVVV.UtilsIL.dll
18 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\Microsoft.Practices.ServiceLocation.dll
19 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\Mono.Cecil.dll
20 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\log4net.dll
21 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\SlimDX.xml
22 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\System.ComponentModel.Composition.Codeplex.xml
23 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\VVVV.PluginInterfaces.xml
24 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\VVVV.Utils.xml
25 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\VVVV.Utils3rdParty.xml
26 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\Microsoft.Practices.Unity.xml
27 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\CommandLine.xml
28 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\System.Reactive.Linq.xml
29 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\System.Reactive.Interfaces.xml
30 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\System.Reactive.Core.xml
31 | D:\work\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\VVVV.UtilsIL.xml
32 | D:\work\plugins\DevicesTobiiEyeX\obj\Debug\DevicesTobiiEyeX.csprojResolveAssemblyReference.cache
33 | D:\work\plugins\DevicesTobiiEyeX\obj\Debug\DevicesTobiiEyeX.dll
34 | D:\work\plugins\DevicesTobiiEyeX\obj\Debug\DevicesTobiiEyeX.pdb
35 | D:\work\vvvv\plugins\DevicesTobiiEyeX\obj\Debug\DevicesTobiiEyeX.csprojResolveAssemblyReference.cache
36 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\DevicesTobiiEyeX.dll
37 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\DevicesTobiiEyeX.pdb
38 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\EyeXFramework.dll
39 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\SlimDX.dll
40 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\System.ComponentModel.Composition.Codeplex.dll
41 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\Tobii.EyeX.Client.Net20.dll
42 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\VVVV.Core.dll
43 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\VVVV.PluginInterfaces.dll
44 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\VVVV.Utils.dll
45 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\VVVV.Utils3rdParty.dll
46 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\System.Reflection.Context.dll
47 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\Microsoft.Practices.Unity.dll
48 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\ICSharpCode.SharpDevelop.Dom.dll
49 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\ICSharpCode.NRefactory.dll
50 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\CommandLine.dll
51 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\System.Reactive.Linq.dll
52 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\System.Reactive.Interfaces.dll
53 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\System.Reactive.Core.dll
54 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\VVVV.UtilsIL.dll
55 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\Microsoft.Practices.ServiceLocation.dll
56 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\Mono.Cecil.dll
57 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\log4net.dll
58 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\EyeXFramework.pdb
59 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\SlimDX.xml
60 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\System.ComponentModel.Composition.Codeplex.xml
61 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\VVVV.PluginInterfaces.xml
62 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\VVVV.Utils.xml
63 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\VVVV.Utils3rdParty.xml
64 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\Microsoft.Practices.Unity.xml
65 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\CommandLine.xml
66 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\System.Reactive.Linq.xml
67 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\System.Reactive.Interfaces.xml
68 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\System.Reactive.Core.xml
69 | D:\work\vvvv\plugins\DevicesTobiiEyeX\bin\AnyCPU\Debug\VVVV.UtilsIL.xml
70 | D:\work\vvvv\plugins\DevicesTobiiEyeX\obj\Debug\DevicesTobiiEyeX.dll
71 | D:\work\vvvv\plugins\DevicesTobiiEyeX\obj\Debug\DevicesTobiiEyeX.pdb
72 |
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/obj/Debug/DevicesTobiiEyeX.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/obj/Debug/DevicesTobiiEyeX.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/obj/Debug/DevicesTobiiEyeX.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/obj/Debug/DevicesTobiiEyeX.dll
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/obj/Debug/DevicesTobiiEyeX.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/obj/Debug/DevicesTobiiEyeX.pdb
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/plugins/DevicesTobiiEyeX/obj/x86/Debug/build.force:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/DevicesTobiiEyeX/obj/x86/Debug/build.force
--------------------------------------------------------------------------------
/plugins/NetworkSendTexture/NetworkSendTexture.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {6A0AFB1F-8219-4A08-85F7-B7F19B66AC16}
5 | Debug
6 | x86
7 | Library
8 | VVVV.Nodes
9 | NetworkSendTexture
10 | v4.0
11 | bin\$(Platform)\$(Configuration)\
12 | True
13 | ..\..\..\..\Program Files (x86)\vvvv_45beta33.1_x86\lib\core\;..\..\..\..\Program Files (x86)\vvvv_45beta33.1_x86\lib\nodes\plugins\
14 |
15 |
16 | DEBUG;TRACE
17 | False
18 | True
19 | Full
20 | True
21 |
22 |
23 | TRACE
24 | True
25 | False
26 | None
27 | False
28 |
29 |
30 | AnyCPU
31 |
32 |
33 | x86
34 |
35 |
36 | x64
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/plugins/NetworkSendTexture/NetworkSendTextureNode.cs:
--------------------------------------------------------------------------------
1 | #region usings
2 | using System;
3 | using System.IO;
4 | using System.ComponentModel.Composition;
5 |
6 | using VVVV.PluginInterfaces.V1;
7 | using VVVV.PluginInterfaces.V2;
8 | using VVVV.Utils.VColor;
9 | using VVVV.Utils.VMath;
10 |
11 | using VVVV.Core.Logging;
12 | #endregion usings
13 |
14 | namespace VVVV.Nodes
15 | {
16 | #region PluginInfo
17 | [PluginInfo(Name = "SendTexture", Category = "Network", Help = "Basic raw template which copies up to count bytes from the input to the output", Tags = "")]
18 | #endregion PluginInfo
19 | public class NetworkSendTextureNode : IPluginEvaluate, IPartImportsSatisfiedNotification
20 | {
21 | #region fields & pins
22 | [Input("Input")]
23 | public ISpread FStreamIn;
24 |
25 | [Input("Count", MinValue = 0)]
26 | public ISpread FCountIn;
27 |
28 | [Output("Output")]
29 | public ISpread FStreamOut;
30 |
31 | //when dealing with byte streams (what we call Raw in the GUI) it's always
32 | //good to have a byte buffer around. we'll use it when copying the data.
33 | readonly byte[] FBuffer = new byte[1024];
34 | #endregion fields & pins
35 |
36 | //called when all inputs and outputs defined above are assigned from the host
37 | public void OnImportsSatisfied()
38 | {
39 | //start with an empty stream output
40 | FStreamOut.SliceCount = 0;
41 | }
42 |
43 | //called when data for any output pin is requested
44 | public void Evaluate(int spreadMax)
45 | {
46 | //ResizeAndDispose will adjust the spread length and thereby call
47 | //the given constructor function for new slices and Dispose on old
48 | //slices.
49 | FStreamOut.ResizeAndDispose(spreadMax, () => new MemoryStream());
50 | for (int i = 0; i < spreadMax; i++) {
51 | //get the input stream
52 | var inputStream = FStreamIn[i];
53 | //get the output stream (this works because of ResizeAndDispose above)
54 | var outputStream = FStreamOut[i];
55 | //get the number of bytes we should copy (avoid negative values)
56 | var count = Math.Max(FCountIn[i], 0);
57 | //see how many bytes should be copied from the input stream
58 | var numBytesToCopy = Math.Min(inputStream.Length, count);
59 |
60 | //reset the positions of the streams
61 | inputStream.Position = 0;
62 | outputStream.Position = 0;
63 |
64 | //set the length of the output stream
65 | outputStream.SetLength(numBytesToCopy);
66 |
67 | //finally copy the data
68 | while (numBytesToCopy > 0) {
69 | //make sure we don't read more than we need or more than
70 | //our byte buffer can hold
71 | var chunkSize = (int)Math.Min(numBytesToCopy, FBuffer.Length);
72 | //the stream's read method returns how many bytes have actually
73 | //been read into the buffer
74 | var numBytesRead = inputStream.Read(FBuffer, 0, chunkSize);
75 | //in case nothing has been read we need to leave the loop
76 | //as we requested more than there was available
77 | if (numBytesRead == 0)
78 | break;
79 | //write the number of bytes read to the output stream
80 | outputStream.Write(FBuffer, 0, numBytesRead);
81 | //decrease the total amount of bytes we still need to read
82 | numBytesToCopy -= numBytesRead;
83 | }
84 | }
85 | //this will force the changed flag of the output pin to be set
86 | FStreamOut.Flush(true);
87 | }
88 | }
89 | }
90 |
--------------------------------------------------------------------------------
/plugins/NetworkSendTexture/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | #region Using directives
2 |
3 | using System;
4 | using System.Reflection;
5 | using System.Runtime.InteropServices;
6 |
7 | #endregion
8 |
9 | // General Information about an assembly is controlled through the following
10 | // set of attributes. Change these attribute values to modify the information
11 | // associated with an assembly.
12 | [assembly: AssemblyTitle("DemoPlugin")]
13 | [assembly: AssemblyDescription("")]
14 | [assembly: AssemblyConfiguration("")]
15 | [assembly: AssemblyCompany("")]
16 | [assembly: AssemblyProduct("DemoPlugin")]
17 | [assembly: AssemblyCopyright("Copyright 2010")]
18 | [assembly: AssemblyTrademark("")]
19 | [assembly: AssemblyCulture("")]
20 |
21 | // This sets the default COM visibility of types in the assembly to invisible.
22 | // If you need to expose a type to COM, use [ComVisible(true)] on that type.
23 | [assembly: ComVisible(false)]
24 |
25 | // The assembly version has following format :
26 | //
27 | // Major.Minor.Build.Revision
28 | //
29 | // You can specify all the values or you can use the default the Revision and
30 | // Build Numbers by using the '*' as shown below:
31 | [assembly: AssemblyVersion("1.0.*")]
32 |
--------------------------------------------------------------------------------
/plugins/NetworkSendTexture/bin/Dynamic/1302268752._dynamic_.1.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/NetworkSendTexture/bin/Dynamic/1302268752._dynamic_.1.dll
--------------------------------------------------------------------------------
/plugins/RawSendTexture/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | #region Using directives
2 |
3 | using System;
4 | using System.Reflection;
5 | using System.Runtime.InteropServices;
6 |
7 | #endregion
8 |
9 | // General Information about an assembly is controlled through the following
10 | // set of attributes. Change these attribute values to modify the information
11 | // associated with an assembly.
12 | [assembly: AssemblyTitle("DemoPlugin")]
13 | [assembly: AssemblyDescription("")]
14 | [assembly: AssemblyConfiguration("")]
15 | [assembly: AssemblyCompany("")]
16 | [assembly: AssemblyProduct("DemoPlugin")]
17 | [assembly: AssemblyCopyright("Copyright 2010")]
18 | [assembly: AssemblyTrademark("")]
19 | [assembly: AssemblyCulture("")]
20 |
21 | // This sets the default COM visibility of types in the assembly to invisible.
22 | // If you need to expose a type to COM, use [ComVisible(true)] on that type.
23 | [assembly: ComVisible(false)]
24 |
25 | // The assembly version has following format :
26 | //
27 | // Major.Minor.Build.Revision
28 | //
29 | // You can specify all the values or you can use the default the Revision and
30 | // Build Numbers by using the '*' as shown below:
31 | [assembly: AssemblyVersion("1.0.*")]
32 |
--------------------------------------------------------------------------------
/plugins/RawSendTexture/RawSendTexture.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {6A0AFB1F-8219-4A08-85F7-B7F19B66AC16}
5 | Debug
6 | x86
7 | Library
8 | VVVV.Nodes
9 | RawSendTexture
10 | v4.0
11 | bin\$(Platform)\$(Configuration)\
12 | True
13 | ..\..\..\..\Program Files (x86)\vvvv_45beta33.1_x86\lib\core\;..\..\..\..\Program Files (x86)\vvvv_45beta33.1_x86\lib\nodes\plugins\
14 |
15 |
16 | DEBUG;TRACE
17 | False
18 | True
19 | Full
20 | True
21 |
22 |
23 | TRACE
24 | True
25 | False
26 | None
27 | False
28 |
29 |
30 | AnyCPU
31 |
32 |
33 | x86
34 |
35 |
36 | x64
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/plugins/RawSendTexture/RawSendTextureNode.cs:
--------------------------------------------------------------------------------
1 | #region usings
2 | using System;
3 | using System.IO;
4 | using System.ComponentModel.Composition;
5 | using System.Net;
6 | using System.Net.Sockets;
7 | using System.Text;
8 | using System.Threading;
9 |
10 | using VVVV.PluginInterfaces.V1;
11 | using VVVV.PluginInterfaces.V2;
12 | using VVVV.Utils.VColor;
13 | using VVVV.Utils.VMath;
14 |
15 | using VVVV.Core.Logging;
16 | #endregion usings
17 |
18 | namespace VVVV.Nodes
19 | {
20 | #region PluginInfo
21 | [PluginInfo(Name = "SendTexture", Category = "Raw", Help = "Basic raw template which copies up to count bytes from the input to the output", Tags = "")]
22 | #endregion PluginInfo
23 | public class RawSendTextureNode : IPluginEvaluate, IStartable
24 | {
25 | #region fields & pins
26 | [Input("Input")]
27 | public ISpread FStreamIn;
28 |
29 | [Output("Output")]
30 | public ISpread running;
31 |
32 | [Import()]
33 | public ILogger FLogger;
34 |
35 | byte[] FBuffer = new byte[1024*1024];
36 |
37 | int size = 0;
38 | bool sending = false;
39 | Socket s;
40 | Thread trd = null;
41 |
42 | #endregion fields & pins
43 |
44 | private void recvTask()
45 | {
46 | while(true){
47 | if(sending && s != null){
48 | s.Send(FBuffer, 0, size, SocketFlags.None);
49 | sending = false;
50 | FLogger.Log(LogType.Debug, size+"da:");
51 | }
52 | Thread.Sleep(5);
53 | }
54 | }
55 |
56 | //called when all inputs and outputs defined above are assigned from the host
57 | public void Start()
58 | {
59 | if (s==null)
60 | {
61 | TcpClient tcpClient = new TcpClient();
62 | tcpClient.Connect("localhost", 4444);
63 | s = tcpClient.Client;
64 | }
65 | if (trd != null) trd.Abort();
66 | trd = new Thread(new ThreadStart(recvTask));
67 | trd.IsBackground = true;
68 | trd.Start();
69 | FLogger.Log(LogType.Debug,"Start");
70 | }
71 |
72 | public void Shutdown()
73 | {
74 | trd.Abort();
75 | s.Close();
76 | }
77 |
78 | //called when data for any output pin is requested
79 | public void Evaluate(int spreadMax)
80 | {
81 | if (sending) return;
82 | if (s == null) {
83 | Start();
84 | return;
85 | }
86 | for (int i = 0; i < spreadMax; i++) {
87 | var inputStream = FStreamIn[i];
88 | size = (int)inputStream.Length;
89 | inputStream.Read(FBuffer, 0, size);
90 | sending = true;
91 | }
92 | }
93 | }
94 | }
95 |
--------------------------------------------------------------------------------
/plugins/RawSendTexture/bin/Dynamic/-1277556148._dynamic_.19.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/RawSendTexture/bin/Dynamic/-1277556148._dynamic_.19.dll
--------------------------------------------------------------------------------
/plugins/StringFFDamageMove/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | #region Using directives
2 |
3 | using System;
4 | using System.Reflection;
5 | using System.Runtime.InteropServices;
6 |
7 | #endregion
8 |
9 | // General Information about an assembly is controlled through the following
10 | // set of attributes. Change these attribute values to modify the information
11 | // associated with an assembly.
12 | [assembly: AssemblyTitle("DemoPlugin")]
13 | [assembly: AssemblyDescription("")]
14 | [assembly: AssemblyConfiguration("")]
15 | [assembly: AssemblyCompany("")]
16 | [assembly: AssemblyProduct("DemoPlugin")]
17 | [assembly: AssemblyCopyright("Copyright 2010")]
18 | [assembly: AssemblyTrademark("")]
19 | [assembly: AssemblyCulture("")]
20 |
21 | // This sets the default COM visibility of types in the assembly to invisible.
22 | // If you need to expose a type to COM, use [ComVisible(true)] on that type.
23 | [assembly: ComVisible(false)]
24 |
25 | // The assembly version has following format :
26 | //
27 | // Major.Minor.Build.Revision
28 | //
29 | // You can specify all the values or you can use the default the Revision and
30 | // Build Numbers by using the '*' as shown below:
31 | [assembly: AssemblyVersion("1.0.*")]
32 |
--------------------------------------------------------------------------------
/plugins/StringFFDamageMove/StringFFDamageMove.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {6A0AFB1F-8219-4A08-85F7-B7F19B66AC16}
5 | Debug
6 | x86
7 | Library
8 | VVVV.Nodes
9 | StringFFDamageMove
10 | v4.0
11 | bin\$(Platform)\$(Configuration)\
12 | True
13 | ..\..\..\..\Program Files (x86)\vvvv_45beta33.1_x86\lib\core\;..\..\..\..\Program Files (x86)\vvvv_45beta33.1_x86\lib\nodes\plugins\
14 |
15 |
16 | DEBUG;TRACE
17 | False
18 | True
19 | Full
20 | True
21 |
22 |
23 | TRACE
24 | True
25 | False
26 | None
27 | False
28 |
29 |
30 | AnyCPU
31 |
32 |
33 | x86
34 |
35 |
36 | x64
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/plugins/StringFFDamageMove/StringFFDamageMoveNode.cs:
--------------------------------------------------------------------------------
1 | #region usings
2 | using System;
3 | using System.ComponentModel.Composition;
4 |
5 | using VVVV.PluginInterfaces.V1;
6 | using VVVV.PluginInterfaces.V2;
7 | using VVVV.Utils.VColor;
8 | using VVVV.Utils.VMath;
9 |
10 | using VVVV.Core.Logging;
11 | #endregion usings
12 |
13 | namespace VVVV.Nodes
14 | {
15 | #region PluginInfo
16 | [PluginInfo(Name = "FFDamageMove", Category = "String", Help = "Basic template with one value in/out", Tags = "")]
17 | #endregion PluginInfo
18 | public class StringFFDamageMoveNode : IPluginEvaluate
19 | {
20 | #region fields & pins
21 | [Input("Text", DefaultString = "text")]
22 | public ISpread FInputText;
23 | [Input("PosXY", DefaultValue = 0)]
24 | public ISpread FInputPosXY;
25 | [Input("Time", DefaultValue = 0)]
26 | public ISpread FInputTime;
27 | [Input("Width", DefaultValue = 1.0)]
28 | public ISpread FInputWidth;
29 |
30 | [Output("Char")]
31 | public ISpread FOutputChar;
32 | [Output("PosXY")]
33 | public ISpread FOutputXY;
34 | [Output("LocalTime")]
35 | public ISpread FOutputLocalTime;
36 |
37 | [Import()]
38 | public ILogger FLogger;
39 | #endregion fields & pins
40 |
41 | //called when data for any output pin is requested
42 | public void Evaluate(int SpreadMax)
43 | {
44 | FOutputChar.SliceCount = 0;
45 | FOutputXY.SliceCount = 0;
46 | FOutputLocalTime.SliceCount = 0;
47 |
48 | SpreadMax = Math.Max(Math.Max(FInputText.SliceCount, FInputTime.SliceCount), FInputWidth.SliceCount);
49 |
50 | for (int i=0; i < SpreadMax; ++i)
51 | {
52 | String text = FInputText[i%FInputText.SliceCount];
53 | double time = FInputTime[i%FInputTime.SliceCount];
54 | double width = FInputWidth[i%FInputWidth.SliceCount];
55 | double x = FInputPosXY[(i*2+0)%FInputPosXY.SliceCount];
56 | double y = FInputPosXY[(i*2+1)%FInputPosXY.SliceCount];
57 | f(text, time, width, x, y);
58 | }
59 |
60 | //FLogger.Log(LogType.Debug, "hi tty!");
61 | }
62 |
63 | private void f(String s, double t, double width, double x, double y)
64 | {
65 | for (int i=0; i < s.Length; ++i)
66 | {
67 | double tt = (t + (s.Length-i-1)*0.1)*2;
68 | double lt = ((tt > 1) ? 1 : tt);
69 | double dy = Math.Sin(lt * Math.PI)/5;
70 | FOutputChar.Add(s[i].ToString());
71 | FOutputLocalTime.Add(t);
72 | FOutputXY.Add(x + width*i); //x
73 | FOutputXY.Add(y + dy); //y
74 | }
75 | }
76 | }
77 | }
78 |
--------------------------------------------------------------------------------
/plugins/StringFFDamageMove/bin/Dynamic/348075696._dynamic_.51.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/StringFFDamageMove/bin/Dynamic/348075696._dynamic_.51.dll
--------------------------------------------------------------------------------
/plugins/ValueCS_Test/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | #region Using directives
2 |
3 | using System;
4 | using System.Reflection;
5 | using System.Runtime.InteropServices;
6 |
7 | #endregion
8 |
9 | // General Information about an assembly is controlled through the following
10 | // set of attributes. Change these attribute values to modify the information
11 | // associated with an assembly.
12 | [assembly: AssemblyTitle("DemoPlugin")]
13 | [assembly: AssemblyDescription("")]
14 | [assembly: AssemblyConfiguration("")]
15 | [assembly: AssemblyCompany("")]
16 | [assembly: AssemblyProduct("DemoPlugin")]
17 | [assembly: AssemblyCopyright("Copyright 2010")]
18 | [assembly: AssemblyTrademark("")]
19 | [assembly: AssemblyCulture("")]
20 |
21 | // This sets the default COM visibility of types in the assembly to invisible.
22 | // If you need to expose a type to COM, use [ComVisible(true)] on that type.
23 | [assembly: ComVisible(false)]
24 |
25 | // The assembly version has following format :
26 | //
27 | // Major.Minor.Build.Revision
28 | //
29 | // You can specify all the values or you can use the default the Revision and
30 | // Build Numbers by using the '*' as shown below:
31 | [assembly: AssemblyVersion("1.0.*")]
32 |
--------------------------------------------------------------------------------
/plugins/ValueCS_Test/ValueCS_Test.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {6A0AFB1F-8219-4A08-85F7-B7F19B66AC16}
5 | Debug
6 | x86
7 | Library
8 | VVVV.Nodes
9 | ValueCS_Test
10 | v4.0
11 | bin\$(Platform)\$(Configuration)\
12 | True
13 | ..\..\..\..\Program Files (x86)\vvvv_45beta33.1_x86\lib\core\;..\..\..\..\Program Files (x86)\vvvv_45beta33.1_x86\lib\nodes\plugins\
14 |
15 |
16 | DEBUG;TRACE
17 | False
18 | True
19 | Full
20 | True
21 |
22 |
23 | TRACE
24 | True
25 | False
26 | None
27 | False
28 |
29 |
30 | AnyCPU
31 |
32 |
33 | x86
34 |
35 |
36 | x64
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/plugins/ValueCS_Test/ValueCS_TestNode.cs:
--------------------------------------------------------------------------------
1 | #region usings
2 | using System;
3 | using System.ComponentModel.Composition;
4 | using System.Collections.Generic;
5 |
6 | using VVVV.PluginInterfaces.V1;
7 | using VVVV.PluginInterfaces.V2;
8 | using VVVV.Utils.VColor;
9 | using VVVV.Utils.VMath;
10 |
11 | using VVVV.Core.Logging;
12 | #endregion usings
13 |
14 | namespace VVVV.Nodes
15 | {
16 | #region PluginInfo
17 | [PluginInfo(Name = "CS_Test", Category = "Value", Help = "Basic template with one value in/out", Tags = "")]
18 | #endregion PluginInfo
19 | public class ValueCS_TestNode : IPluginEvaluate
20 | {
21 | #region fields & pins
22 | [Input("MouseXY", DefaultValue = 1.0)]
23 | public ISpread FMouseXY;
24 | [Input("Click", DefaultValue = 0)]
25 | public ISpread FClick;
26 | [Input("QuadLocation", DefaultValue = 1.0)]
27 | public ISpread FLocation;
28 | [Input("QuadSize", DefaultValue = 1.0)]
29 | public ISpread FSize;
30 | [Input("Init", DefaultValue = 0)]
31 | public ISpread FInit;
32 |
33 | [Output("On")]
34 | public ISpread FOn;
35 |
36 | [Import()]
37 | public ILogger FLogger;
38 |
39 | List state;
40 |
41 | #endregion fields & pins
42 |
43 | bool isOn(Vector2D mouse, Vector2D location, Vector2D size)
44 | {
45 | bool isOnX = (location.x - size.x/2 < mouse.x && mouse.x < location.x + size.x/2);
46 | bool isOnY = (location.y - size.y/2 < mouse.y && mouse.y < location.y + size.y/2);
47 | return (isOnX && isOnY);
48 | }
49 |
50 | //called when data for any output pin is requested
51 | public void Evaluate(int SpreadMax)
52 | {
53 | int n = FLocation.SliceCount;
54 | if (state == null || n != state.Count || FInit[0]) {
55 | state = new List();
56 | for (int i=0; i < n; ++i) state.Add(0);
57 | }
58 |
59 | FOn.SliceCount = n;
60 | for (int i=0; i < n; ++i)
61 | {
62 | if (isOn(FMouseXY[0], FLocation[i], FSize[i]))
63 | {
64 | if (FClick[0])
65 | {
66 | ++state[i];
67 | if (state[i] >= 3) state[i] = 0;
68 | }
69 | }
70 |
71 | FOn[i] = state[i];
72 | }
73 | }
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/plugins/ValueCS_Test/bin/Dynamic/-1925375871._dynamic_.9.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/ValueCS_Test/bin/Dynamic/-1925375871._dynamic_.9.dll
--------------------------------------------------------------------------------
/plugins/ValueSortPoint2/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | #region Using directives
2 |
3 | using System;
4 | using System.Reflection;
5 | using System.Runtime.InteropServices;
6 |
7 | #endregion
8 |
9 | // General Information about an assembly is controlled through the following
10 | // set of attributes. Change these attribute values to modify the information
11 | // associated with an assembly.
12 | [assembly: AssemblyTitle("DemoPlugin")]
13 | [assembly: AssemblyDescription("")]
14 | [assembly: AssemblyConfiguration("")]
15 | [assembly: AssemblyCompany("")]
16 | [assembly: AssemblyProduct("DemoPlugin")]
17 | [assembly: AssemblyCopyright("Copyright 2010")]
18 | [assembly: AssemblyTrademark("")]
19 | [assembly: AssemblyCulture("")]
20 |
21 | // This sets the default COM visibility of types in the assembly to invisible.
22 | // If you need to expose a type to COM, use [ComVisible(true)] on that type.
23 | [assembly: ComVisible(false)]
24 |
25 | // The assembly version has following format :
26 | //
27 | // Major.Minor.Build.Revision
28 | //
29 | // You can specify all the values or you can use the default the Revision and
30 | // Build Numbers by using the '*' as shown below:
31 | [assembly: AssemblyVersion("1.0.*")]
32 |
--------------------------------------------------------------------------------
/plugins/ValueSortPoint2/ValueSortPoint2.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {6A0AFB1F-8219-4A08-85F7-B7F19B66AC16}
5 | Debug
6 | x86
7 | Library
8 | VVVV.Nodes
9 | ValueSortPoint2
10 | v4.0
11 | bin\$(Platform)\$(Configuration)\
12 | True
13 | ..\..\..\..\Program Files (x86)\vvvv_45beta33.1_x86\lib\core\;..\..\..\..\Program Files (x86)\vvvv_45beta33.1_x86\lib\nodes\plugins\
14 |
15 |
16 | DEBUG;TRACE
17 | False
18 | True
19 | Full
20 | True
21 |
22 |
23 | TRACE
24 | True
25 | False
26 | None
27 | False
28 |
29 |
30 | AnyCPU
31 |
32 |
33 | x86
34 |
35 |
36 | x64
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/plugins/ValueSortPoint2/ValueSortPoint2Node.cs:
--------------------------------------------------------------------------------
1 | #region usings
2 | using System;
3 | using System.ComponentModel.Composition;
4 |
5 | using VVVV.PluginInterfaces.V1;
6 | using VVVV.PluginInterfaces.V2;
7 | using VVVV.Utils.VColor;
8 | using VVVV.Utils.VMath;
9 |
10 | using VVVV.Core.Logging;
11 | #endregion usings
12 |
13 | namespace VVVV.Nodes
14 | {
15 | #region PluginInfo
16 | [PluginInfo(Name = "SortPoint2", Category = "Value", Help = "Basic template with one value in/out", Tags = "")]
17 | #endregion PluginInfo
18 | public class ValueSortPoint2Node : IPluginEvaluate
19 | {
20 | #region fields & pins
21 | [Input("Input", DefaultValue = 1.0)]
22 | public ISpread FInput;
23 | [Input("Dist1", DefaultValue = 1.0)]
24 | public ISpread FDist1;
25 | [Input("Dist2", DefaultValue = 1.0)]
26 | public ISpread FDist2;
27 | [Input("Dist3", DefaultValue = 1.0)]
28 | public ISpread FDist3;
29 |
30 | [Output("Output")]
31 | public ISpread FOutput;
32 |
33 | [Import()]
34 | public ILogger FLogger;
35 | #endregion fields & pins
36 |
37 | void swap(ref int a, ref int b)
38 | {
39 | int t = a;
40 | a = b;
41 | b = t;
42 | }
43 |
44 | //called when data for any output pin is requested
45 | public void Evaluate(int SpreadMax)
46 | {
47 | int ct = FInput.SliceCount/3;
48 | FOutput.SliceCount = ct*4;
49 |
50 | int [] table = new int[]{0,1,0,2,1,2};
51 | int p = 0;
52 | for (int i = 0; i < ct; i++)
53 | {
54 | int [] idx = new int[]{ 0, 1, 2 };
55 | if (FDist1[i] > FDist2[i]) swap(ref idx[0], ref idx[1]);
56 | if (FDist1[i] > FDist3[i]) swap(ref idx[0], ref idx[2]);
57 | if (FDist2[i] > FDist3[i]) swap(ref idx[1], ref idx[2]);
58 |
59 | FOutput[p++] = FInput[i*3+table[idx[0]*2+0]];
60 | FOutput[p++] = FInput[i*3+table[idx[0]*2+1]];
61 | FOutput[p++] = FInput[i*3+table[idx[1]*2+0]];
62 | FOutput[p++] = FInput[i*3+table[idx[1]*2+1]];
63 | }
64 | //FLogger.Log(LogType.Debug, "hi tty!");
65 | }
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/plugins/ValueSortPoint2/bin/Dynamic/23580670._dynamic_.7.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/plugins/ValueSortPoint2/bin/Dynamic/23580670._dynamic_.7.dll
--------------------------------------------------------------------------------
/shoot.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/shoot.wav
--------------------------------------------------------------------------------
/sky_star.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/sky_star.jpg
--------------------------------------------------------------------------------
/sounds/01ƒh.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/sounds/01ƒh.wav
--------------------------------------------------------------------------------
/sounds/02ƒŒ.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/sounds/02ƒŒ.wav
--------------------------------------------------------------------------------
/sounds/03ƒ~.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/sounds/03ƒ~.wav
--------------------------------------------------------------------------------
/sounds/05.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/sounds/05.wav
--------------------------------------------------------------------------------
/sounds/06ƒ‰.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/sounds/06ƒ‰.wav
--------------------------------------------------------------------------------
/sounds/08ƒhi‚j.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/sounds/08ƒhi‚j.wav
--------------------------------------------------------------------------------
/sounds/09ƒŒi‚j.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/sounds/09ƒŒi‚j.wav
--------------------------------------------------------------------------------
/sounds/10ƒ~i‚j.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/sounds/10ƒ~i‚j.wav
--------------------------------------------------------------------------------
/sounds/12.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/sounds/12.wav
--------------------------------------------------------------------------------
/sounds/13ƒ‰i‚j.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/sounds/13ƒ‰i‚j.wav
--------------------------------------------------------------------------------
/ssao_test.v4p:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/star.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yhyjp/vvvv_tutorial/efaec92dfdde4be81f103cc5faf9775c2417d585/star.png
--------------------------------------------------------------------------------
/vl_async.v4p:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/vl_class.v4p:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/vl_region.v4p:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------