why is coll so awful??!

CowboyTakeTwo's icon

i have been building a complicated patch that needs to keep track of all kinds of variables that are added and created by the user dynamically. seems like [coll] is my best option right? i need coll's symbol lookup function.

so now i have built this "wrapper" patch with ins/outs to access and handle the coll data, and of course it contains the coll. i have lots of instances of this patch within my main patch (99 right now and counting), all getting and setting values from this same coll at different times.

the data is all screwy. it's never retained properly. just changing the argument of any wrapper patch changes the coll data back to some previous version. i can't figure it out. whether i use .txts or save the data with the patcher. anybody had similar problems?

btw, i got into max for audio reasons, but now i try to use it for any programming application i can. these things like the always clumsy [coll], just keep Max from blooming into the broader world. for something as fundamental as your database to be SOO sub-par...

sorry to complain, but i guess that's how version changes happen.

CowboyTakeTwo's icon

oh, forgot to mention the only solution i can come up with:

the wrapper function will send to a single instance of the coll somewhere in the main patch, which then updates some [values] with it's output. then the wrapper sends these same values out.

Macciza's icon

if what you want is a database- how about using the inbuilt sql?

Charles Baker's icon

I wuz gonna say, SQLLite is available in max...write up your table defs, your
CRUD sql, and you're home free, :)

Timothy Place's icon

If you'd like to try the Max 6 Public Beta, you may find the dict objects to be really helpful.

Cheers

Chris Muir's icon

coll has been like this forever. it's a PITA, for sure. I've been complaining about it forever, but I could never get anyone at cycling 74 to take this problem seriously. I'm resigned to the fact that it will never change. I came up with an abstraction called roll (for referring coll) which I use to get around this problem.

roll can be found on this page: http://www.xfade.com/max/examples/

Timothy Place's icon

The coll object is incredibly difficult to change because we need to maintain backward compatibility with 20 years of legacy patchers. The future is dict.

David Butler's icon

Interestingly, the @embed attribute for coll now works when typed into the object box in Max 6, which it never did in Max 5.

Jonatan Krogh's icon

Is coll still broken, and abandoned? If so, at least a notice in the documentation would be good. I've spent hours trying to figure out what I'm doing wrong just to find out that this basic object simply doesn't work, and Im guessing many other people end up doing the same.

Roman Thilenius's icon

what doesnt work for you?

yaniki's icon

@JONATAN It is difficult to answer such a vague question. I use [coll] quite often in my patches. It seems to me that the object is working very well.