» 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
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 Texture - a shader for pixel perfect scroll of texture.
  • Scrolling Text-Tag - a module for scroll of mixed text&textures input.
  • Scrolling Gallery - a module for scroll a huge amount of hi-res images (preload custom count).
  • Scrolling TableY - a module for Y scroll a data of any kind with custom columns and rows count.
  • Scrolling X - a module for X scroll a data of any kind
  • 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.
  • Import data from CMS examples
  • 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": [
          true
        ],

and change to

"Mouse": [
          false
        ],

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_v02.zip
14.03.19 [13:52 UTC] by bo27 | 785 downloads
Same template with bug fixes and improvements
Show 1 older revisions

Older Revisions

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

Noir 24/06/2018 - 18:07

Well done!
Thanks for sharing

parabola 25/06/2018 - 15:59

Thanks mate!
Will try it

u7angel 26/06/2018 - 14: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 - 16:05

good work ¡¡ thanks.

sebescudie 28/06/2018 - 10:36

this is madness, thanks for sharing!

bo27 28/06/2018 - 10: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 - 11: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 - 11: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 - 12:40

Thanks for this!

isdzaurov 31/07/2018 - 21:19

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

anonymous user login

Shoutbox

~2d ago

joreg: vvvvTv S0204 is out: Custom Widgets with Dear ImGui: https://youtube.com/live/nrXfpn5V9h0

~2d ago

joreg: New user registration is currently disabled as we're moving to a new login provider: https://visualprogramming.net/blog/2024/reclaiming-vvvv.org/

~10d ago

joreg: vvvvTv S02E03 is out: Logging: https://youtube.com/live/OpUrJjTXBxM

~12d ago

~13d ago

joreg: Follow TobyK on his Advent of Code: https://www.twitch.tv/tobyklight

~17d ago

joreg: vvvvTv S02E02 is out: Saving & Loading UI State: https://www.youtube.com/live/GJQGVxA1pIQ

~17d ago

joreg: We now have a presence on LinkedIn: https://www.linkedin.com/company/vvvv-group

~24d ago

joreg: vvvvTv S02E01 is out: Buttons & Sliders with Dear ImGui: https://www.youtube.com/live/PuuTilbqd9w

~1mth ago

joreg: vvvvTv S02E00 is out: Sensors & Servos with Arduino: https://visualprogramming.net/blog/2024/vvvvtv-is-back-with-season-2/

~1mth ago