» introducing Scripter
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

introducing Scripter

as the Scripter contribution title describes - for your ultimative hacking comfort in vvvv...


two reasons this might be interesting for you:

  1. you are new to this textual c# stuff but are eager to get into it
  2. you hack around vvvv a lot, know c# and want to get things done quickly

1) for the curious

let's say your new year's resolution was to start to extend your vvvv skills with coding power (since you noticed that doing more advanced stuff mostly requires some kind of textual addition to patching).

dynamic plugins are a powerful feature and probably the way to go. you clone the template and start changing the code and don't worry about nugets, referencing assemblies, compiling as you would have to in any other IDE.

however, the slight hassle starts once you decide you want more pins. maybe even a bin sized one. at this point you have to wrap your head around the overall spreadcount, how to write the loop around the thing you want to do, when to access which slice or which bin, etc...

this is where scripter might ease away the learning pain since it takes care of your Spreads and does the structural In-Out part (creating pins and reading or assigning values). it attempts to keep you focused on the functionality only.

now it is a little bit more true, that you can google some code snippets and just paste them in vvvv to see what it does:

copy pasting super formula

copy pasted superformula frompaulbourke.net


2) for the hacker

aside from the structural stuff mentioned already mentioned above you can really hack here. meaning not giving thoughts about proper filenaming (when versioning stuff). simply test some code snippets without files cluttering your harddrive as dynamic plugins have. scripter stores the code in a config pin. no more portability issues.

the first public static method is parsed for IO. you can of course have as many methods you like. think recursion...

and the config pin solution brings another advantage: scripter works per instance

multi instance binsize whatever

multi instance binsize stuff accessing loop index


about the guts

scripter inserts the string you provide into a template c# file and compiles it in memory. it reflects the first public static void method and creates the pins for each parameter.
each frame the plugin loops over the maximum spreadcount, passes the values to the method and writes the out parameters to the out pins.


futures

since the feedback i got so far was always the question about missing code-completion...

  • either modify the internal vvvv codeeditor to be usable with this concept (and benefit from all the features it has already). might take some time

or

  • or go on the hard way with the current texteditor (avalonedit) and (re)implement everything from scratch. will take even more time

other ideas would be:

  • multiple methods: think different methods per slice, or selection via enum
  • give access to usings and references
  • a version without or just a flag to not use the automatic spreadmaxloop, but still with automatic pin creation
  • ...

anyways

feedback and discussion welcome
and have fun with the little new years present

woei, Sunday, Jan 10th 2016 Digg | Tweet | Delicious 6 comments  
flux 11/01/2016 - 04:46

This is ziemlich cool ;)

tonfilm 11/01/2016 - 17:14

@codecompletion

you could also look for a simple one, like emacs or vim that is not syntax aware at all but just suggest all words it knows with a start sequence of letters in a certain scope. that is already much better than having to type every bit...

milo 11/01/2016 - 17:53

top!

jens.a.e 11/01/2016 - 19:55

nice feature indeed! :)

dimzinas 21/01/2016 - 08:58

This is really nice! Welldone

nzo.nzo 21/01/2016 - 12:34

Really a very good New Year resolution. It was implemented quickly and efficiently. (Not like the promises like, tomorrow I stop drinking, this year I will do sports.) Thank you for your work.
I love your tool is really the way to move towards it coding programming.

This year, I'm going to start programming, I promise.

  • 1

anonymous user login

Shoutbox

~3d ago

joreg: Workshop on 09 05: Deepdive into the Stride 3D Engine. Signup here: https://thenodeinstitute.org/courses/ss24-vvvv-advanced-3d-rendering-in-vvvv-with-stride/

~3d ago

tekcor: Dear vvvv community, I am leaving my personal fundraiser here because I know many of you personally, sending love https://t.ly/iV9l_

~4d ago

joreg: Rewatch the 24th vvvvorldwide meetup here: https://www.youtube.com/live/gNszIiRAjDo?si=0RXF0pW73EUaRqGk

~4d ago

joreg: LINK - the vvvv summer camp 2024 is announced: https://visualprogramming.net/blog/2024/link-the-vvvv-summer-camp-24/

~6d ago

joreg: Tonight, May 3, vvvv meetup in Berlin or via stream: https://visualprogramming.net/blog/2024/24.-vvvv-worldwide-meetup/

~9d ago

joreg: Workshop on 02 05: Intro to the Stride 3D Engine. Signup here: https://thenodeinstitute.org/courses/ss24-vvvv-intro-to-the-stride-3d-engine-in-vvvv/

~10d ago

joreg: The new vvvv Show-Off-Reel is out: https://vimeo.com/930568091

~16d ago

joreg: The summer season of vvvv workshops at The NODE Institute is out: https://thenodeinstitute.org/ss24-vvvv-intermediates/