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

io boxes saving

question open misc legacy

karistouf 29/06/09 - 06:02

hi all ...
i m on a project where i m editing a lot of io-box. putting coordonates at real precise places.
spreading isnt enough, so this a manual coordonates to enter...
my question is: are patch io boxes safes ?
or do i need an xml saving/loading on open ?
if yes, does anyone has any working patch showing how to do this very safely ?
cheers ;-)

14 replies 0 new
This is a legacy thread which was closed after one year of inactivity. Information provided in this thread may not be valid for the latest version of vvvv. If you have questions on this topic, you might consider opening a new thread.

link | oschatz (vvvvgroup) 29/06/2009 - 18:12

no, IOBoxes are basically the way to go.

for more comfort during editing, use OOCalc or Excel to enter the numbers and export to a CSV file to import the data in your patch. XML is typically too complex for simple things like tabular data.

or use a text editor to type directly in the v4p file (which is pure XML)

link | karistouf 29/06/2009 - 19:25

thanks oschatz ;-)

link | kalle 29/06/2009 - 21:26

hhhhm,
don't now if i got you right.
storing data into inlets of a patch IMHO is reliable and mostly the easiest way (no hassle with files and paths).

1

putting coordonates at real precise places.
i know what it means:
manually editing complex curves ,coordinate sets, mappings in laaaarge IOBoxes with 100s of slices on a construction site for hours

usually i store the results of each of those into

  • a single subpatch containing only this large IObox (and a second one as outlet of course..)
  • with a clear,unique name
  • and immediately store them a 2nd time as a backup.

this always gave me a good feeling and i never had problems.

2

did you have a look at the P (VVVV) module set (on kalle.Modules.VVVV)? ?

those make use of the SliceOffset-pin of an IObox.
as an example:

  • an IOBox (Value) set to Slider containing a spread of 100 Values displays only 1 slice at a time. now think of slices being PRESETS. set offset to 44 and a getslice (index:44) below and you get an idea.

i often use those for editing in live situations and found them reliable and useful. this is a basic set, some more advanced variances are in work.

3

another example of storing data in a node's inlet you can find in my
Sequencer (Animation Advanced)

this module uses setpatch to write it's recorded data of each instance into it's own inlet inside the parentpatch?. afterwards it hides this inlet so deeply that even the inspektor doesn't see it anymore...
once more data is stored into inlets.

see the helpfile containing three sequencers with different animations.
don't have longtime-experiences but i expect this being reliable.

can be downloaded as a part of my very first personal addonpack_vvvv40beta21_kalle_modules_A-C.zip

link | karistouf 30/06/2009 - 21:56

merci Kalle. this is extremely a good answer, and will help a lot.
point 1 and 2 sounds very good.
point 3 sounds bad (hiddens values form inspektor ???? aie aie aie)

i was asking myself if by a Bang i could store in a separate patch (created on bang) the io array edited ?
actually i m doing my editing, and then saving this patch under the name i want, and then destroying all the editing gui stuff to let only io coordonnates. ( i m dragging and sizing objects à precises places, with mouse)
the copy paste doesnt do it, values ares resetted to zero...

link | kalle 30/06/2009 - 22:54

ah, i got it.

so you don't use an IOBox to edit your values...

destroying all the editing gui stuff to let only io coordonnates. ( i m dragging and sizing objects à precises places, with mouse)
the copy paste doesnt do it, values ares resetted to zero...

one way would be to copy that IOBox within the patch, link it once, disconnect it again, THEN cut & paste into another subpatch.

the data has to be written into any input pins to let them be saved with the patch. copying a connected IOBox will result in default values on Input Pin?s.

i was asking myself if by a Bang i could store in a separate patch (created on bang) the io array edited ?

this is exactly what the Sequencer (Animation Advanced) does:
it tricks it's ParentPatch? to write data into the "memory" input pin of the module's node.
hiding that pin even for the Inspektor (setting pinvisibility to -2) isn't evil at all: it avoids accidental modification of data in almost any case.
your data is stored in the parentpatch, not in the module!!!

link | karistouf 01/07/2009 - 10:53

thanks kalle !
i didn t tryied a re-link and then ctrl-x...
got it.... so like this it can work

here is my editing matrix. maybe you could have a look on it... i know this will sounds to u very simple....

about pins: i prefer for the moment to work on basic tools and not add too much complexity and subtility in that project. this is my first project with vvvv so i m learning also deeply the approach...

one day you said to me DONT SET TO COLL/ROWS AN IOBOX, AND LET IT BY INPUT

i really needs to have a clear eye on this:

i m using IO box in coll rows, to see all my values inside of it from my patch. using it as an array.
so there is time i m editing io box manuallay, and other using some gui tools.

like this making a ctrl-1 i m sure to save somewhere my patch AND my values, in case of.

maybe a master's explanaition about iobox may be very valuable for me ;-)

link | kalle 01/07/2009 - 14:18

one day you said to me DONT SET TO COLL/ROWS AN IOBOX, AND LET IT BY INPUT

what i meant was:
in case use an IOBox as an Input for a module.

because it forces the spreadcount....

link | karistouf 01/07/2009 - 22:30

ok; got it .... thanks a lot for this elegant demonstration !

link | guest 08/12/2009 - 19:35

To Kalle,

Hello, I wanted to try out Sequencer (Animation Advanced) so I downloaded addonpack_vvvv40beta21_kalle_modules_A-C.zip

When I open the helpfile to try out the module, it plays the recorded values, but when I hold down 4,5 or 6 to record something new, I move the mouse for a while, and when I release the button, the number of frames jumps to 0, and nothing seems to be recorded.

Have you got any idea why this happens?

Thanks

link | kalle 10/12/2009 - 00:33

hi gueft ;)

i also saw your PM but i was traveling quite a lot the last days...


to make sure that i work on the same version i downloaded those modules from the same source.

you say that the Frame Count-pin is immediately reset to zero when the Record-button (4,5,or 6) is released.

sadly the phenomenon does not happen here on my läptöp, so i only can start guessing.

so i had a closer look at that patch.
the interesting thing is that within the module i needed to make some "workaround" as a bugfix because i noticed:

TogEdge (Animation): the DownEdge Pin bangs on creation, no matter about the setting of the "BangOnCreate"

but for another reason i had to check exactly this behavior today and now, really crazy, it seems quite viceversa ?!? please see the related forum thread

maybe that there is some inconsistency regarding the hardware,
few years ago we said "Intel inside - can't divide" and also today you can notice different behaviour on different machines especially about rounding results.

but that would be quite strange...


the bugfix also makes use of OnOpen (VVVV), which also does not that reliable work as i want it.

i only was told that the evaluation of the first frame during startup of vvvv is quite difficult, almost close to rocketscience.

do you have another computer to crosscheck this?

link | ft 10/12/2009 - 22:35

Thanks for the response,

I checked the module on a different mahine (Intel Macbook Pro instead of Compaq with dualcore AMD Turion64) and it seems to have the same problem.

Also, the framecount value shows the previous value as long as I press the record button and only updates itself (to 0 in my case) when the rec button is released.
Since the module doesn't work as I expected, I don't know if this is the way it should work, of it this value should increment while recording?

I am not doing anything wrong am I, I mean, pressing record and moving the mouse should generate a new recording, right?

link | kalle 10/12/2009 - 23:49

yes, as long as you press the record button, it should record.

could you please

  • start that helppatch
  • make one of the 3 modules visible (ALT+1)
  • record something in to this module and compare with the screenshot below?

as long as you are recording data appears in the upper IOBox.
on end of recording this should appear suddenly in the lower IOBox.

i'm really curious what it is.
dumb question: you are on beta21?

link | ft 11/12/2009 - 20:38

beta21, yes

I found the problem, and now it works.

I connected the output of the 'just recorded' node, to the input of the AsString node that provides the 3d value of the cons node at the bottom.

Now that I look at it again, I could have taken the ring buffer output, but that doesn't really matter... Anyway that link wasn't there. (but it seems strange when I look at your screenshot, unless I can't see the link from the ring buffer to that node, but it seems to me I should. I think I can only see the link coming from the S+H and the one coming from TogEdge)

I don't see how recording could work without this connection !

Are you sure you donwloaded the zip file with the link from this thread? And that one works for you?

In attachment you can find the version with my changes that seems to make things work for me...

link | kalle 12/12/2009 - 16:12

aaah, thx for your detailed report!

i got it!

below the ringbuffer is an "AvoidNIL" module.
within the Sequencermodule this is referenced to a wrong location.

for this reason the link could not be created because the AvoidNIL doesn't exist in the specified location.

but i recommend you to create an AvoidNil there and insert it inbetween ringbuffer and asstring.

so i have to update that addon-kit soon.

thx!
kalle

anonymous user login

Shoutbox

~17min ago

Urbankind: circuitb:Wrongcop is epic! :)

~57min ago

joreg: @tobi: use GetSlice() as the patch i referred you to is demonstrating. or start a forum thread with your patch.

~1h ago

TobiTobsen123: hmm yes i can see the values...but how to handle them as seperate values? I need to forward them via TCP/IP...

~3h ago

joreg: @tobi: OSCDecoder helppatch has a section: OSC_Advanced (bottomright) that demoes decoding of multiple messages

~3h ago

TobiTobsen123: I'm using an OSCDecoder, it receives two arguments...works but how can I seperate the arguments into two seperate values

~6h ago

u7angel: @mediadog, make it a forum question.

~6h ago

u7angel: @mediadog, tty renderer ?

~8h ago

microdee: however non-conductive objects are invisible for this so the pencil and the sticks in the video are still a mysteries