plugin
Credits: m-box, elliot woods, woei, tonfilm
Persistent data handling with GUI.
Supports type boolean, int, float/double and string.
Heavily based on VVVV.Nodes.TableBuffer by elliotwoods
Mixed type support and GUI convenience sponsored by m-box.
v1.2:
(bang type was preventing alteration in subsequent frames)
v1.1:
Source Code:
https://github.com/woeishi/VVVV.DataTable
Older Revisions
anonymous user login
~4d ago
~10d ago
~10d ago
~11d ago
~24d ago
~1mth ago
~1mth ago
~1mth ago
~1mth ago
~2mth ago
sweet.
next time i will just upload any random code to encourage you to deliver the goodies ;)
you have to thank m-box, the development was mainly sponsored by them.
thank you m-box
looks awesome, thanks :)
Hi,
Thanks for this, very practicle !
Is there any chance to get a layer out pin for TableView, to integrate it in a GUI renderer with other controls around ?
Mehdi
while it's pretty straight forward to output the tableview as texture, weaving in the mouse-in-renderer interaction is a pretty extensive task
great!
can you think about substituting . to , ? so inserting 234.6 will add the same value as 234,6
ok thanks,
Well, interaction would of course be great.
But I understand it's a heavy task...
I found somehow my way using SetRenderer to show/hide the table.
Thank you !
@sebl: jap. just hope that inserting 1.000(,00) won't become 1,00
maybe just switch the locale to something matching v4?
ah, for sure, there's always some exceptional case... i think, the system should ideally be smart and, if there's a , and a . in the string, it takes only the , as a comma.
how do you mean "switching locale"? change windows language stuff?
na, you can set the cultureinfo on how number representation is dealt with (within the plugin only). the cleanest way to handle this would probably be setting it globally to how v4 deals with it. that might potentially break old saved files though
for background infos see i18n
@woei I had a go at making a getTable by name rather than index, but can't get it to work in a dynamic plugin (are you missing a directive or an assembly reference) I've added a reference to the complied table dll and Im using like a type not a namespace. Dont know how to fix either of these!
Seems like it should be easy?
Any chance of a hand?
Ok scratch that its easy enough to do with sifts and selects.
My next question is how to set multiple lines in 1 table, if you have 1 table spreading the index works, but with multiple tables they get set amongst the tables, adding an offset doesn't seem to work, for example 2 tables, index all evens both tables have rows added.
oi cat
should do the trick though
it's just spreads so you can set multiple rows of different tables.
e.g. you have two tables on the input of SetRow, it's the standard patching way you would have to handle vectors. first index coresponds to the first table, second to the second table, third index to first table... by just using the set pin for the slices you need, you can avoid changing all tables at once.
note that the dynamic nodes do not support multiple table as input. (since i cannot safely assume that those tables share the same column names & types
Still have issues with using too...
On the spread thing, I'm trying to set multiple rows of 1 slice of a table
https://www.dropbox.com/s/odwyrnwf76rke19/TableTest.zip?dl=0
I've added a patch to demo what I'm trying to do...
works for me
for each table on the input a bin of values, the index and the set boolean are used.
check?
Ah ok, that slice counting seems slightly un-intuitive, as I would have expected to have to set an index for it to do its magic on it, but now I know, all good, Thanks Woei
as for your class(es) were not inside a namespace, I think I'll just leave that there before starting lesson 1 of c# again...
then you would have two indices. one for the row you wanted to set, and another one for the table. not sure, if that isn't even more confusing.
So... I'm getTabling to get presets from an array of table, their in different tables as they can all have different and changing numbers of rows. However, it takes quite a bit of cpu every time I get a table, and it looks like 2 frames of slow rather than just 1, is there anyway of optimizing this, is a spread of tables not the best way?
I was previously using xml and txt files, and they are far faster to load than reading from the table, which I presumed would be read from memory?
Managed to finally get a fork and got it to compile, can't figure out how to do it dynamic, maybe I'll get you at node... ;)
Ok the slow down is the TableView node, even it it is not visible it seems to mess with the frame rate.
hum,
cpu might be busy because i haven't cleaned/optimized event raising on table/datachange. it shouldn't be any frame late though... have to dive into that.
a spread of tables should be okey, as long as you don't have to load each from file. once loaded they are kept in memory by the central table node.
let's sit down at node!
would be very useful. thank you!
perhaps, Is there a way to get table data from reading xls, csv, xml files?
it is already saving and reading xml files.
copy pasting xls should also work (depending on the separator)
Nice!
Some great new additions in here.
I'm making this version the default for my own projects.
a few issues:
hej elliot,
welcome back
column names cannot have spaces, since their name will be used directly as xml node identifier. can handle that case more gracefully though
I see, interesting.
I've changed my projects to use no spaces, but i think it'd be nice to have that support, and still comma separated lists would be more sensible (but now changing that would break old patches)
repaint issue: indeed. seems even more noticeable now on win10 and highdpi. guess it would require quite a rework of event messaging...
checkbox out of bounds: definitely high dpi issue, just noticed myself here
OK
colors: see github
cheers!
what **were** you thinking?? ;)
GetColumn (Dynamic): the issue with that node would be, that it could change output pin (type) every time you change the index... therefore not implemented
Why would that be a problem?
GetRows: you mean something like GetTable (Dynamic) a pin per column outputting all available cells?
yes exactly. would be nice!