» Ivan's project template
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

Ivan's project template

demo multitouch interface GUI demo automata application design tool
Credits: current: bo27,ivan.rastr former: unc,vnm

about

What is template?

The template is a solid structure of patches and common modules, used for any project. It helps to keep patches readable, editable, clean and flexible. Also it saves a lot of time during the developing and when apply any future changes.
Any professional studio has it's own template - all the templates are similar in general concept and differ in details. We use this template for last 5 years.

If you are going to be a vvvv patcher in professional studio - it's a good idea for you to learn to keep your patches structured and readable. This will give you a proper example.
If you are going to be a vvvv patcher in Ivan Raster software lab - you must learn the template.

More details about the template

The contribution includes

  • Patches structure and common cases examples with a lot of comments
  • Real-time web interface settings configurator - Allow you to edit settings for your project in Chrome broswer.
  • Keyboard - a module for multitouch ready, multi-language and multi layout on-screen keyboard.
  • Scrolling Gallery - a module for scroll a huge amount of hi-res images (preload custom count).
  • Scrolling List - a module for scroll a data of any kind with custom columns and rows count.
  • Scrolling Texture - a shader for pixel perfect scroll of texture.
  • Touch & Swipe Button - a plugins for easy create buttons for multitouch inputs.
  • Text (DX11.Layer IR Advanced)- a module to easy deal with dx11 Text advanced nodes.
  • few simple&handy shaders, plugins and modules

Installation

To use the template, vvvv must be equiped with addonpack and DX11 Pack.

  1. Unpack the archive to your hard drive
  2. Copy the vvvv into \APP\_VVVV\ folder, e.g. \APP\_VVVV\vvvv_50beta36_x64\
  3. Change START paths in the .bat files according to the actual vvvv version (by default it is vvvv_50beta36_x64)
  4. Use developer.bat to run the project with patch and comments or RUN.bat to run the project in shutup mode (this also will kill the Windows explorer).

List of shortcuts:

  • F8 - toggle fullscreen
  • F9 - Open settings server (Chrome-based)
  • F10 - toggle debug info
  • F12 - reset to idle from any state
  • ESC (Hold) - kill the app

Mouse input is on by default, to use with touch screen, first open config.ini and find

"Mouse": [
          1.0
        ],

and change to

"Mouse": [
          0.0
        ],

The contribution is free for use, but comes with no support.
Please contact us for commercial support.
Our rates starts from only 20$/hour to 100$/day.

download

IvanTemplate.zip
24.06.18 [14:43 UTC] by bo27 | 248 downloads
Template with comments and few examples

Noir 24/06/2018 - 17:07

Well done!
Thanks for sharing

parabola 25/06/2018 - 14:59

Thanks mate!
Will try it

u7angel 26/06/2018 - 13:00

nice template, i can see some similarities to our template structure. definitely inspiring.
any reason why you still use the old automata ?

colorsound 26/06/2018 - 15:05

good work ¡¡ thanks.

sebescudie 28/06/2018 - 09:36

this is madness, thanks for sharing!

bo27 28/06/2018 - 09:49

@u7angel Hi! Thanks for appreciation! I think every professional user / company has similar template and all together we have a chance to create "The Template"

You made the great tool - it already has tools like GetState and ResetToState which were in our todo list for too long, but when I started with the new Automata I found two things:
1/ I'm too conservative about ctrl-z/ctrl-c/ctrl-v
2/ We actually use a different method of logic parsing into vvvv, so the new version isn't save much time for us. I'll try to explain:

We use a keyword to describe a state. Let's say "Game" is a key word. Next we create many substates like "Game-Idle", "Game-Pause", "Reset-Game" etc.
Please have a look at the pic I made for the example:

Next we use  Sift (String) with Comparison set to "ContainsAny" so all of the states will give us the single "State-Game" with single transition.
Next we use =(String) or  Sift (String) with Comparison set to "MatchesAny" to define exact substates like "Game-Pause", "Reset-Game" etc.

Note to Reset-Game and Set-Game with 0 time transition. For vvvv they work like 1 frame bangs, but they are very different of TogEdge and different of another in-out/change bangs, because they are solid defined states. So we can get as many bangs as needed, while staying in the same state "Game" with no extra AND OR NOT patching.

With this method we can make changes much easier and faster. Thing like

"You made the great job, but could you please add pop-up here and there? And could you please go from this section directly to that section whitout the menu we have in all other sections? And you must coomplete it by tomorrow, please!"

now comes much-much easier and not a problem for us and a client anymore.

u7angel 28/06/2018 - 10:39

@bo27 , so if i understand you right, you want some state grouping, something like nested statemachines in states or even simpler: regions. to sort of group states and tell wether the active state belongs to a certain group of states, right ?

if so, yes this is on my list, we need that too. just working out what would be the most intuitive way of defining this. in the end, you would'nt need all this sift stuff.

bo27 28/06/2018 - 10:53

@u7angel yes, you're right! great minds think alike!

In our todo list is something similar to GetState plugin from your Automata, but with access to nested states and probably with auto S node generator (same as we done with configurator from the Template).
But we don't even start it yet.

metrowave 28/06/2018 - 11:40

Thanks for this!

isdzaurov 31/07/2018 - 20:19

Вот это отличный материал. Спасибо Андрей!

anonymous user login

Shoutbox

~15h ago

joreg: @microdee: yep i think the site takes user submissions..

~20h ago

microdee: @joreg: it's missing FlareTic... ;)

~21h ago

joreg: @motzi yeah, welcome to my life..

~21h ago

motzi: @joreg: i'm tempted to look into PraxisLIVE :)

~22h ago

joreg: @u7: no worries, we'll still be here when you everyone comes back...

~22h ago

u7angel: @joreg, are u trying to get rid of the community ? :)

~1d ago

joreg: bored of #vvvv? try some alternatives: https://alternativeto.net/software/vvvv/

~3d ago

tonfilm: @beyon you can also use F# together with #vl, see: #fsharp #dotnet #visualprogramming https://github.com/vvvv/VL.DemoLib/tree/master/src/VL.FSharpDemoLib

~3d ago

beyon: tonfilm: Ok,currently using F# though but maybe I should look into sharpdx vs xenko math

~4d ago

tonfilm: @beyon #vl also fills these gaps with huge range of collision detection math from #sharpdx which is basically the same as #xenko's