hello I am trying to make a memory from scratch
I am encountering two problems that maybe someone in the list could resolve.
First, my memory object only allows list of numbers, because I am triggering [list] and the cold inlet only allows list of numbers I just don't undrstand why.
Second, I would like to find a way to ignore redondant entries of memory index.
memory.pd
#N canvas 0 0 578 582 10; #X obj 9 12 inlet; #X msg 129 299 , 1 cat , 2 cat dog , 3 test , 4 5 6 7; #X msg 214 211 addcomma; #X obj 129 140 pp add2; #X msg 183 211 set; #X obj 181 139 spigot 1; #X msg 214 110 0; #X obj 130 108 t b a b b b; #X msg 245 111 1; #X obj 245 88 r $1-init; #X obj 201 427 ==; #X obj 158 447 spigot; #X obj 158 468 outlet; #X obj 292 216 inlet; #X obj 129 324 list split 1; #X obj 314 47 route clear; #X obj 339 171 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 284 252 t b b b a; #X obj 200 396 f; #X obj 154 422 list; #X connect 0 0 7 0; #X connect 0 0 15 0; #X connect 1 0 14 0; #X connect 2 0 1 0; #X connect 3 0 1 0; #X connect 4 0 1 0; #X connect 5 0 4 0; #X connect 6 0 5 1; #X connect 7 1 3 0; #X connect 7 2 6 0; #X connect 7 3 5 0; #X connect 7 4 2 0; #X connect 8 0 5 1; #X connect 9 0 8 0; #X connect 10 0 11 1; #X connect 11 0 12 0; #X connect 13 0 17 0; #X connect 14 0 18 1; #X connect 14 1 19 1; #X connect 15 0 16 0; #X connect 16 0 4 0; #X connect 17 0 19 0; #X connect 17 1 18 0; #X connect 17 2 1 0; #X connect 17 3 10 1; #X connect 18 0 10 0; #X connect 19 0 11 0;
memory-test.pd
#N canvas 0 0 454 304 10; #X obj 215 189 memory; #X msg 149 63 1 cat; #X msg 189 62 2 cat dog; #X msg 126 37 3 test; #X msg 105 14 4 5 6 7; #X msg 390 105 1; #X msg 400 130 2; #X floatatom 404 62 5 0 0 0 - - -; #X msg 266 57 clear; #X obj 221 231 print mem; #X msg 389 168 3; #X msg 391 209 4; #X connect 0 0 9 0; #X connect 1 0 0 0; #X connect 2 0 0 0; #X connect 3 0 0 0; #X connect 4 0 0 0; #X connect 5 0 0 1; #X connect 6 0 0 1; #X connect 7 0 0 1; #X connect 8 0 0 0; #X connect 10 0 0 1; #X connect 11 0 0 1;
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son interface révolutionnaire.
there are a variety of ways to make storage in pd. Frank's Memento system is the most used it seems, but i dont' remember if it uses all internal objects. if you use a more generic storage like [textfile] you will get a lot more flexibility.
duplicates can be blocked by doing a kinda of current vs. last test before commiting it to storage.
as a funny, i wrote 717903 * 4 ish values to the memory.pd patch. it worked, and didn't use much memory, and very little cpu (unless you open the abstraction, then it pegs out for a while :)
the message box gui representation gets a little wierd w/ that many values...
On Tue, 2006-05-09 at 22:39 +0200, patco wrote:
hello I am trying to make a memory from scratch
I am encountering two problems that maybe someone in the list could resolve.
First, my memory object only allows list of numbers, because I am triggering [list] and the cold inlet only allows list of numbers I just don't undrstand why.
Second, I would like to find a way to ignore redondant entries of memory index.
memory.pd
#N canvas 0 0 578 582 10; #X obj 9 12 inlet; #X msg 129 299 , 1 cat , 2 cat dog , 3 test , 4 5 6 7; #X msg 214 211 addcomma; #X obj 129 140 pp add2; #X msg 183 211 set; #X obj 181 139 spigot 1; #X msg 214 110 0; #X obj 130 108 t b a b b b; #X msg 245 111 1; #X obj 245 88 r $1-init; #X obj 201 427 ==; #X obj 158 447 spigot; #X obj 158 468 outlet; #X obj 292 216 inlet; #X obj 129 324 list split 1; #X obj 314 47 route clear; #X obj 339 171 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 284 252 t b b b a; #X obj 200 396 f; #X obj 154 422 list; #X connect 0 0 7 0; #X connect 0 0 15 0; #X connect 1 0 14 0; #X connect 2 0 1 0; #X connect 3 0 1 0; #X connect 4 0 1 0; #X connect 5 0 4 0; #X connect 6 0 5 1; #X connect 7 1 3 0; #X connect 7 2 6 0; #X connect 7 3 5 0; #X connect 7 4 2 0; #X connect 8 0 5 1; #X connect 9 0 8 0; #X connect 10 0 11 1; #X connect 11 0 12 0; #X connect 13 0 17 0; #X connect 14 0 18 1; #X connect 14 1 19 1; #X connect 15 0 16 0; #X connect 16 0 4 0; #X connect 17 0 19 0; #X connect 17 1 18 0; #X connect 17 2 1 0; #X connect 17 3 10 1; #X connect 18 0 10 0; #X connect 19 0 11 0;
memory-test.pd
#N canvas 0 0 454 304 10; #X obj 215 189 memory; #X msg 149 63 1 cat; #X msg 189 62 2 cat dog; #X msg 126 37 3 test; #X msg 105 14 4 5 6 7; #X msg 390 105 1; #X msg 400 130 2; #X floatatom 404 62 5 0 0 0 - - -; #X msg 266 57 clear; #X obj 221 231 print mem; #X msg 389 168 3; #X msg 391 209 4; #X connect 0 0 9 0; #X connect 1 0 0 0; #X connect 2 0 0 0; #X connect 3 0 0 0; #X connect 4 0 0 0; #X connect 5 0 0 1; #X connect 6 0 0 1; #X connect 7 0 0 1; #X connect 8 0 0 0; #X connect 10 0 0 1; #X connect 11 0 0 1;
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son interface révolutionnaire. _______________________________________________ PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
This memory will be used in patches without any external library or external file.
memento uses pool, and textfile or msgfile needs an external textfile. there is also coll, but i guess you know.
textfile, msgfile, coll, and pool, uses anyway an external file for storing data, that might be sometimes annoying, I don't understand why none of these objects could store data into a patch, is it unuseful? I just don't think so, on the contrary, that feature would avoid one more dependence in patches.
This reduces a lot the variety of ways of storage, counting the fact that list of values are memorized (so arrays won't be usefull as well).
This memory abstraction won't need to be opened, it will need to work only, but that's good if it can handle such amount of data without eating computer's memory and CPU. thanks for this comment.
for the moment we have a memory that stores lists of numbers but doesn't allow index repetitions (or it will bug) without using any external anything.
The purpose of this patch will come with another one, later...
shift8 shift8@digitrash.com a écrit : there are a variety of ways to make storage in pd. Frank's Memento system is the most used it seems, but i dont' remember if it uses all internal objects. if you use a more generic storage like [textfile] you will get a lot more flexibility.
duplicates can be blocked by doing a kinda of current vs. last test before commiting it to storage.
as a funny, i wrote 717903 * 4 ish values to the memory.pd patch. it worked, and didn't use much memory, and very little cpu (unless you open the abstraction, then it pegs out for a while :)
the message box gui representation gets a little wierd w/ that many values...
On Tue, 2006-05-09 at 22:39 +0200, patco wrote:
hello I am trying to make a memory from scratch
I am encountering two problems that maybe someone in the list could resolve.
First, my memory object only allows list of numbers, because I am triggering [list] and the cold inlet only allows list of numbers I just don't undrstand why.
Second, I would like to find a way to ignore redondant entries of memory index.
memory.pd
#N canvas 0 0 578 582 10; #X obj 9 12 inlet; #X msg 129 299 , 1 cat , 2 cat dog , 3 test , 4 5 6 7; #X msg 214 211 addcomma; #X obj 129 140 pp add2; #X msg 183 211 set; #X obj 181 139 spigot 1; #X msg 214 110 0; #X obj 130 108 t b a b b b; #X msg 245 111 1; #X obj 245 88 r $1-init; #X obj 201 427 ==; #X obj 158 447 spigot; #X obj 158 468 outlet; #X obj 292 216 inlet; #X obj 129 324 list split 1; #X obj 314 47 route clear; #X obj 339 171 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 284 252 t b b b a; #X obj 200 396 f; #X obj 154 422 list; #X connect 0 0 7 0; #X connect 0 0 15 0; #X connect 1 0 14 0; #X connect 2 0 1 0; #X connect 3 0 1 0; #X connect 4 0 1 0; #X connect 5 0 4 0; #X connect 6 0 5 1; #X connect 7 1 3 0; #X connect 7 2 6 0; #X connect 7 3 5 0; #X connect 7 4 2 0; #X connect 8 0 5 1; #X connect 9 0 8 0; #X connect 10 0 11 1; #X connect 11 0 12 0; #X connect 13 0 17 0; #X connect 14 0 18 1; #X connect 14 1 19 1; #X connect 15 0 16 0; #X connect 16 0 4 0; #X connect 17 0 19 0; #X connect 17 1 18 0; #X connect 17 2 1 0; #X connect 17 3 10 1; #X connect 18 0 10 0; #X connect 19 0 11 0;
memory-test.pd
#N canvas 0 0 454 304 10; #X obj 215 189 memory; #X msg 149 63 1 cat; #X msg 189 62 2 cat dog; #X msg 126 37 3 test; #X msg 105 14 4 5 6 7; #X msg 390 105 1; #X msg 400 130 2; #X floatatom 404 62 5 0 0 0 - - -; #X msg 266 57 clear; #X obj 221 231 print mem; #X msg 389 168 3; #X msg 391 209 4; #X connect 0 0 9 0; #X connect 1 0 0 0; #X connect 2 0 0 0; #X connect 3 0 0 0; #X connect 4 0 0 0; #X connect 5 0 0 1; #X connect 6 0 0 1; #X connect 7 0 0 1; #X connect 8 0 0 0; #X connect 10 0 0 1; #X connect 11 0 0 1;
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son interface révolutionnaire. _______________________________________________ PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
I've just fixet the prblem with list box and replaced [pp] (from iemlibs) with [list prepend], now i think that this memory only work with objects from scratch. I still need to fix the index redondance problem, for a larger use.
memory.pd
#N canvas 0 0 594 598 10; #X obj 9 12 inlet; #X msg 129 299; #X msg 214 211 addcomma; #X msg 183 211 set; #X obj 181 139 spigot 1; #X msg 214 110 0; #X obj 130 108 t b a b b b; #X msg 245 111 1; #X obj 245 88 r $1-init; #X obj 226 385 ==; #X obj 132 429 spigot; #X obj 132 450 outlet; #X obj 292 216 inlet; #X obj 129 324 list split 1; #X obj 314 47 route clear; #X obj 339 171 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 86 178 list prepend add2; #X obj 129 404 list append; #X obj 72 238 list trim; #X obj 284 252 t b b a; #X obj 129 346 t b a; #X connect 0 0 6 0; #X connect 0 0 14 0; #X connect 1 0 13 0; #X connect 2 0 1 0; #X connect 3 0 1 0; #X connect 4 0 3 0; #X connect 5 0 4 1; #X connect 6 1 16 0; #X connect 6 2 5 0; #X connect 6 3 4 0; #X connect 6 4 2 0; #X connect 7 0 4 1; #X connect 8 0 7 0; #X connect 9 0 10 1; #X connect 10 0 11 0; #X connect 12 0 19 0; #X connect 13 0 20 0; #X connect 13 1 17 1; #X connect 14 0 15 0; #X connect 15 0 3 0; #X connect 16 0 18 0; #X connect 17 0 10 0; #X connect 18 0 1 0; #X connect 19 0 1 0; #X connect 19 2 9 1; #X connect 20 0 17 0; #X connect 20 1 9 0;
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son interface révolutionnaire.
On Tue, May 09, 2006 at 02:21:15PM -0700, shift8 wrote:
there are a variety of ways to make storage in pd. Frank's Memento system is the most used it seems, but i dont' remember if it uses all internal objects. if you use a more generic storage like [textfile] you will get a lot more flexibility.
I am a huge fan of Frank's sssad system, which uses the list internal, and textfile. If like me you are a 0.39-2 fanboy, then check it out; his system requires only internal objects.
It's supposed to be in SF CVS here (but isn't, for the boring old reason): http://cvs.sourceforge.net/viewcvs.py/pure-data/abstractions/footils/
It was posted to the announce list by Frank: http://lists.puredata.info/pipermail/pd-announce/2006-02/000874.html http://lists.puredata.info/pipermail/pd-announce/attachments/20060218/6c4fb4b5/sssad-0.1.tgz
I am mirroring a copy which integrates with my own system of abstractions - the only thing changed is an abstraction called sssad/panel: http://mccormick.cx/viewcvs/s-abstractions/sssad.tar.gz?view=tar
Have a good time.
Best,
Chris.
chris@mccormick.cx http://mccormick.cx
hello, ssad is neat but if I close the patch without saving the values into a file, my values are lost, aren't they?
a memory that needs a file, is like a musician that isn't able to play without score sheets, that not very rock'n'roll, scores are usefull for learning music or for playing a Boulez weird composition, or for playing a big symphony, but for simple melodies using scores in live performance can be annoying, I know it from experience. Using a text file for memorizing a few parameters can be annoying as well.
Chris McCormick chris@mccormick.cx a écrit : On Tue, May 09, 2006 at 02:21:15PM -0700, shift8 wrote:
there are a variety of ways to make storage in pd. Frank's Memento system is the most used it seems, but i dont' remember if it uses all internal objects. if you use a more generic storage like [textfile] you will get a lot more flexibility.
I am a huge fan of Frank's sssad system, which uses the list internal, and textfile. If like me you are a 0.39-2 fanboy, then check it out; his system requires only internal objects.
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son interface révolutionnaire.