Hello all,
I've just been given a project where I have to display iterative
zeros (and after the other, every second) on a screen unless
something happens, in which case I need to display a 1 and stop. I
can display text using Gem's [text3d] object, but although the
example patch displays one bit of text at a time, it seems the object
won't append text.
Am I wrong? Can anyone think of another, easy way to iterate and
append text on a Gem screen, or otherwise?
David
Hello,
In fact I don't really get what you are expecting from [text3d], maybe something like [makefilename %d] before sending the value to the gem text box...? I just wanted to add a parenthesis:
during some tests with the GEM's [text] objects, I've observed that performances are increased when using a different [text] object for each character than sending a long string of character to one any of the three GEM's [text] object.
Patco.
David Plans Casal main@davidcasal.com a écrit : Hello all,
I've just been given a project where I have to display iterative
zeros (and after the other, every second) on a screen unless
something happens, in which case I need to display a 1 and stop. I
can display text using Gem's [text3d] object, but although the
example patch displays one bit of text at a time, it seems the object
won't append text.
Am I wrong? Can anyone think of another, easy way to iterate and
append text on a Gem screen, or otherwise?
Découvrez un nouveau moyen de poser toutes vos questions quelque soit le sujet ! Yahoo! Questions/Réponses pour partager vos connaissances, vos opinions et vos expériences. Cliquez ici.
Have you tried using the list object? See my examples patch - I modified some of the guts from examples found in the help for "list".
~David
On 8/6/06, David Plans Casal main@davidcasal.com wrote:
Hello all,
I've just been given a project where I have to display iterative zeros (and after the other, every second) on a screen unless something happens, in which case I need to display a 1 and stop. I can display text using Gem's [text3d] object, but although the example patch displays one bit of text at a time, it seems the object won't append text.
Am I wrong? Can anyone think of another, easy way to iterate and append text on a Gem screen, or otherwise?
David
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Yes, I wrote a very nice abstraction for that... Can't find it right now....
You can do it using the list object and the l2s object. You can also change the value of a message and bang it, but lists are cleaner.
aalex
On 8/6/06, David Plans Casal main@davidcasal.com wrote:
Hi David,
On 6 Aug 2006, at 18:06, David Powers wrote:
Have you tried using the list object? See my examples patch - I modified some of the guts from examples found in the help for "list".
Thanks for that! No I hadn't tried [list]. Looks good, will explore.
Cheers,
David
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On 7 Aug 2006, at 07:01, Alexandre Quessy wrote:
Yes, I wrote a very nice abstraction for that... Can't find it
right now....
Damn. I would have loved to see it...I'm trying to see if I could use
PD instead of max/msp/jitter for this installation, but I'm
struggling to get Gem to do this...
d
You can do it using the list object and the l2s object. You can also change the value of a message and bang it, but lists are cleaner.
Ok thanks, will look at that.
d
On 8/7/06, David Plans Casal main@davidcasal.com wrote:
On 7 Aug 2006, at 07:01, Alexandre Quessy wrote:
Yes, I wrote a very nice abstraction for that... Can't find it right now....
Damn. I would have loved to see it...I'm trying to see if I could use PD instead of max/msp/jitter for this installation, but I'm struggling to get Gem to do this...
I am not sure of what you actually want to achieve, but this patch might help you. Note that this causes lots of memory leak as it generates many different symbols. Therefore it cannot be used in a permanent installation.... Unless you restart PD once in a while.
Cheers !
Remember its probably not a good idea to work with 1000s of symbols in a patch, due to that ol lookup table stuff, better to use meta-messages (or lists) to feed text to [text3d].
.b.
Alexandre Quessy wrote:
Yes, I wrote a very nice abstraction for that... Can't find it right now....
You can do it using the list object and the l2s object. You can also change the value of a message and bang it, but lists are cleaner.
aalex
On 8/6/06, David Plans Casal main@davidcasal.com wrote:
Hi David,
On 6 Aug 2006, at 18:06, David Powers wrote:
Have you tried using the list object? See my examples patch - I modified some of the guts from examples found in the help for "list".
Thanks for that! No I hadn't tried [list]. Looks good, will explore.
Cheers,
David
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On 8/7/06, B. Bogart ben@ekran.org wrote:
Remember its probably not a good idea to work with 1000s of symbols in a patch, due to that ol lookup table stuff, better to use meta-messages (or lists) to feed text to [text3d].
Can text3d concatenate list that we send it ?
Alexandre Quessy wrote:
Yes, I wrote a very nice abstraction for that... Can't find it right now....
You can do it using the list object and the l2s object. You can also change the value of a message and bang it, but lists are cleaner.
aalex
On 8/6/06, David Plans Casal main@davidcasal.com wrote:
Hi David,
On 6 Aug 2006, at 18:06, David Powers wrote:
Have you tried using the list object? See my examples patch - I modified some of the guts from examples found in the help for "list".
Thanks for that! No I hadn't tried [list]. Looks good, will explore.
Cheers,
David
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On 8/7/06, Alexandre Quessy listes@sourcelibre.com wrote:
On 8/7/06, B. Bogart ben@ekran.org wrote:
Remember its probably not a good idea to work with 1000s of symbols in a patch, due to that ol lookup table stuff, better to use meta-messages (or lists) to feed text to [text3d].
Can text3d concatenate list that we send it ?
text3d displays whatever text you send to it. Nothing more, nothing less.
On 8/7/06, chris clepper cgclepper@gmail.com wrote:
On 8/7/06, Alexandre Quessy listes@sourcelibre.com wrote:
On 8/7/06, B. Bogart ben@ekran.org wrote:
Remember its probably not a good idea to work with 1000s of symbols in a patch, due to that ol lookup table stuff, better to use meta-messages (or lists) to feed text to [text3d].
Can text3d concatenate list that we send it ?
text3d displays whatever text you send to it. Nothing more, nothing less.
Right. So, if we want to write iterate text, we will need to do something that will cause a memory leak...
Feature request : No memory leak with symbols !! ;-)
hey all,
correct me if I'm wrong, but as long as there is no "symbol" in front of the atoms that get funneled into text3d, there is no memleak or filling up the symbol table, since we're not using symbols at all, just lists of atoms...
Now that I think about it it may be hard to generate these non-symbols without converting them to symbols at ay point...
Maybe a string type should be higher on the PD list than a video/image type?
.b.
Alexandre Quessy wrote:
On 8/7/06, chris clepper cgclepper@gmail.com wrote:
On 8/7/06, Alexandre Quessy listes@sourcelibre.com wrote:
On 8/7/06, B. Bogart ben@ekran.org wrote:
Remember its probably not a good idea to work with 1000s of
symbols in a
patch, due to that ol lookup table stuff, better to use meta-messages (or lists) to feed text to [text3d].
Can text3d concatenate list that we send it ?
text3d displays whatever text you send to it. Nothing more, nothing less.
Right. So, if we want to write iterate text, we will need to do something that will cause a memory leak...
Feature request : No memory leak with symbols !! ;-)
On Mon, 7 Aug 2006, B. Bogart wrote:
Maybe a string type should be higher on the PD list than a video/image type?
In order to not confuse the user with the differences between strings and symbols, I would say a garbage collector for symbols would be a good idea.
We would have to adapt externals that use symbols in that case, but for the user it would be transparent, which means no memory leak anymore.
I have been working a bit on a system like this, but nothing to show around yet. And chances that it gets accepted by Miller are slim I fear :(
Günter
.b.
Alexandre Quessy wrote:
On 8/7/06, chris clepper cgclepper@gmail.com wrote:
On 8/7/06, Alexandre Quessy listes@sourcelibre.com wrote:
On 8/7/06, B. Bogart ben@ekran.org wrote:
Remember its probably not a good idea to work with 1000s of
symbols in a
patch, due to that ol lookup table stuff, better to use meta-messages (or lists) to feed text to [text3d].
Can text3d concatenate list that we send it ?
text3d displays whatever text you send to it. Nothing more, nothing less.
Right. So, if we want to write iterate text, we will need to do something that will cause a memory leak...
Feature request : No memory leak with symbols !! ;-)
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On Tue, 8 Aug 2006, geiger wrote:
In order to not confuse the user with the differences between strings and symbols, I would say a garbage collector for symbols would be a good idea. We would have to adapt externals that use symbols in that case, but for the user it would be transparent, which means no memory leak anymore. I have been working a bit on a system like this, but nothing to show around yet.
I'm interested to hear details about it.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
On Tue, 8 Aug 2006, geiger wrote:
In order to not confuse the user with the differences between strings and symbols, I would say a garbage collector for symbols would be a good idea. We would have to adapt externals that use symbols in that case, but for the user it would be transparent, which means no memory leak anymore. I have been working a bit on a system like this, but nothing to show around yet.
I'm interested to hear details about it.
The approach I am using is pretty simple. Just add a reference counter to the symbols that helps us figure out which ones we can delete. Garbage is collected by triggering a message in one go.
The hairy part is that I either have to add a reference counter to the symbols or duplicate the symbol table in order to store reference counters.
Its just conceptually, if it works, it means that we do not need strings, as strings and symbols are the same.
Günter
B. Bogart wrote:
hey all,
correct me if I'm wrong, but as long as there is no "symbol" in front of the atoms that get funneled into text3d, there is no memleak or filling up the symbol table, since we're not using symbols at all, just lists of atoms...
unfortunately i feel like having to correct you, since you are wrong.
the memleak occurs with symbol-atoms, not just with symbol-messages. a symbol-message is a message with the id (always a symbol-atom) "symbol" and the first argument being another symbol-atom of your choice.
Now that I think about it it may be hard to generate these non-symbols without converting them to symbols at ay point...
Maybe a string type should be higher on the PD list than a video/image type?
agreed, who volunteers? :-(
moocow has implemented a "numeric list-based string representation": the string is represented as a list of (decimal) ascii-values; the list's id is "string"; e.g. [string 102 111 111 32 98 97 114( is a representation of the string "foo bar"
Gem's [text]-objects understand and display these messages.
that's how i would do the "iterative text" with Gem.
fgma.dsr IOhannes
Hallo, IOhannes m zmoelnig hat gesagt: // IOhannes m zmoelnig wrote:
moocow has implemented a "numeric list-based string representation": the string is represented as a list of (decimal) ascii-values; the list's id is "string"; e.g. [string 102 111 111 32 98 97 114( is a representation of the string "foo bar"
Gem's [text]-objects understand and display these messages.
That's nice. I remember vaguely having heard about this in the past, but it really should be mentioned in the help-file. ;)
Frank Barknecht _ ______footils.org_ __goto10.org__
Hello,
just adding [key] | [string $1( | [text3d]
in help file would save a lot of time of understanding indeed
patco
Frank Barknecht fbar@footils.org a écrit : Hallo, IOhannes m zmoelnig hat gesagt: // IOhannes m zmoelnig wrote:
moocow has implemented a "numeric list-based string representation": the string is represented as a list of (decimal) ascii-values; the list's id is "string"; e.g. [string 102 111 111 32 98 97 114( is a representation of the string "foo bar"
Gem's [text]-objects understand and display these messages.
That's nice. I remember vaguely having heard about this in the past, but it really should be mentioned in the help-file. ;)
Découvrez un nouveau moyen de poser toutes vos questions quelque soit le sujet ! Yahoo! Questions/Réponses pour partager vos connaissances, vos opinions et vos expériences. Cliquez ici.
A little example patch for feeding the GEM text3d with typing on the keyboard, see now how the cpu don't like an high amount of characters, the string of characters MUST be separated into several text3d object to not eat the cpu.
Patco
Découvrez un nouveau moyen de poser toutes vos questions quelque soit le sujet ! Yahoo! Questions/Réponses pour partager vos connaissances, vos opinions et vos expériences. Cliquez ici.
Hi, A little example patch for feeding the GEM text3d with typing on the keyboard, see now how the cpu don't like an high amount of characters, the string of characters MUST be separated into several text3d object to not eat the cpu.
Patco
Découvrez un nouveau moyen de poser toutes vos questions quelque soit le sujet ! Yahoo! Questions/Réponses pour partager vos connaissances, vos opinions et vos expériences. Cliquez ici.
#N canvas 463 -1 552 302 12; #X obj 397 37 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577 0; #N canvas 0 0 454 304 gemwin 0; #X obj 132 136 gemwin; #X obj 67 89 outlet; #X obj 67 10 inlet; #X obj 67 41 route create; #X msg 67 70 set destroy; #X msg 142 68 set create; #X msg 198 112 destroy; #X msg 132 112 create , 1; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 3 0 7 0; #X connect 3 1 5 0; #X connect 3 1 6 0; #X connect 4 0 1 0; #X connect 5 0 1 0; #X connect 6 0 0 0; #X connect 7 0 0 0; #X restore 402 76 pd gemwin; #X msg 402 57 create; #X text 398 36 Create window:; #X obj 26 55 cnv 15 160 120 empty empty empty 20 12 0 14 -241291 -66577 0; #X obj 187 13 cnv 15 170 270 empty empty empty 20 12 0 14 -228992 -66577 0; #X obj 190 60 cnv 15 150 220 empty empty empty 20 12 0 14 -24198 -66577 0; #X obj 201 16 gemhead; #X floatatom 238 235 5 0 100 1 size - -; #X msg 211 100 font $1; #X obj 211 81 openpanel; #X obj 211 64 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X msg 219 126 text hello world!; #X msg 223 145 1 2 3 4; #X msg 218 192 justify left base; #X floatatom 305 20 5 0 0 0 - - -; #X floatatom 264 15 4 0 0 0 - - -; #X obj 201 37 rotateXYZ; #X obj 201 256 text3d; #X obj 31 63 key; #X obj 31 86 list prepend; #X obj 134 84 t l; #X obj 32 108 list prepend string; #X obj 32 130 list trim; #X obj 123 66 bng 15 250 50 0 empty empty clear 0 -6 0 8 -262144 -1 -1; #X connect 1 0 2 0; #X connect 2 0 1 0; #X connect 7 0 17 0; #X connect 8 0 18 1; #X connect 9 0 18 0; #X connect 10 0 9 0; #X connect 11 0 10 0; #X connect 12 0 18 0; #X connect 13 0 18 0; #X connect 14 0 18 0; #X connect 15 0 17 3; #X connect 16 0 17 1; #X connect 17 0 18 0; #X connect 19 0 20 0; #X connect 20 0 21 0; #X connect 20 0 22 0; #X connect 21 0 20 1; #X connect 22 0 23 0; #X connect 23 0 18 0; #X connect 24 0 20 1;
patco wrote:
Hi, A little example patch for feeding the GEM text3d with typing on the keyboard, see now how the cpu don't like an high amount of characters, the string of characters MUST be separated into several text3d object to not eat the cpu.
i am interested in this, since i never experienced such behaviour. additionally i cannot reproduce it with your test path: a string of 1 character makes pd eat 2% on my machine; a string of 100 characters makes pd eat 2% on my machine.
mfg.aDR ioHANNES
Indeed, such behavior doesn't happen on my linux box, where the GEM is installed with the debian-multimedia package (damned I have to compile GEM because this package is really obsolete). I've always encountered this behavior with gem dll's since the 0.90 version.
patco
IOhannes m zmoelnig zmoelnig@iem.at a écrit : patco wrote:
Hi, A little example patch for feeding the GEM text3d with typing on the keyboard, see now how the cpu don't like an high amount of characters, the string of characters MUST be separated into several text3d object to not eat the cpu.
i am interested in this, since i never experienced such behaviour. additionally i cannot reproduce it with your test path: a string of 1 character makes pd eat 2% on my machine; a string of 100 characters makes pd eat 2% on my machine.
mfg.aDR ioHANNES
Découvrez un nouveau moyen de poser toutes vos questions quelque soit le sujet ! Yahoo! Questions/Réponses pour partager vos connaissances, vos opinions et vos expériences. Cliquez ici.
This functionality is missing in GEM .90 on Pd-0.39.2-extended-test4 for OSX. What's the deal?
~Kyle
On 8/8/06, patco megalegoland@yahoo.fr wrote:
Hello,
just adding [key] | [string $1( | [text3d]
in help file would save a lot of time of understanding indeed
patco
Frank Barknecht fbar@footils.org a écrit :
Hallo, IOhannes m zmoelnig hat gesagt: // IOhannes m zmoelnig wrote:
moocow has implemented a "numeric list-based string representation": the string is represented as a list of (decimal) ascii-values; the list's id is "string"; e.g. [string 102 111 111 32 98 97 114( is a representation of the string "foo bar"
Gem's [text]-objects understand and display these messages.
That's nice. I remember vaguely having heard about this in the past, but it really should be mentioned in the help-file. ;)
Découvrez un nouveau moyen de poser toutes vos questions quelque soit le sujet ! Yahoo! Questions/Réponses pour partager vos connaissances, vos opinions et vos expériences. Cliquez ici.
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Kyle Klipowicz wrote:
This functionality is missing in GEM .90 on Pd-0.39.2-extended-test4 for OSX. What's the deal?
either pay my 1200,-US$ (or 1000,- EUR; whatever you prefer) or compile Gem yourself from sources. that's the deal.
or search the archives on where you can find a more recent compilation of Gem.
mfga.dsr IOhannes
On Mon, 7 Aug 2006, B. Bogart wrote:
correct me if I'm wrong, but as long as there is no "symbol" in front of the atoms that get funneled into text3d, there is no memleak or filling up the symbol table, since we're not using symbols at all, just lists of atoms...
the leak is with all symbols, including all symbol atoms, including those found in lists and t_atoms and various objects as well as all selectors.
when you have a list message, you have a t_atom[]; each t_atom[] thing is made of some number of t_atom things, and each t_atom contains a t_word which can be a t_symbol* which in turn refers to a t_symbol, which is something allocated by gensym() and never deallocated.
Maybe a string type should be higher on the PD list than a video/image type?
Whose todo-list? Not Miller's.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
Can you explain how/why this memory leak exists?
Also, why do you need symbols to solve this particular problem? Originally this person just wanted to display ones and zeros. [text3d] seems to take a list of floats just fine. See my attached patch.
Finally, Alexandre's version of the patch mysteriously crashes PD entirely for me (on WinXP). Not sure why...
~David
On 8/7/06, Alexandre Quessy listes@sourcelibre.com wrote:
On 8/7/06, chris clepper cgclepper@gmail.com wrote:
On 8/7/06, Alexandre Quessy listes@sourcelibre.com wrote:
On 8/7/06, B. Bogart ben@ekran.org wrote:
Remember its probably not a good idea to work with 1000s of symbols
in a
patch, due to that ol lookup table stuff, better to use
meta-messages
(or lists) to feed text to [text3d].
Can text3d concatenate list that we send it ?
text3d displays whatever text you send to it. Nothing more, nothing
less.
Right. So, if we want to write iterate text, we will need to do something that will cause a memory leak...
Feature request : No memory leak with symbols !! ;-)
-- Alexandre Quessy http://alexandre.quessy.net
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On 8/8/06, David Powers cyborgk@gmail.com wrote:
Can you explain how/why this memory leak exists?
Hahem, When a symbol is sent for the first time, pd allocates memory for it (in the symbols table). This memory is never freed until you stop pd. I think this is used to speedup the process of sending several times the same symbol. You know : no need to use different strings, just use the same ! But it is a problem when you start creating many different symbols. You might overload your memory. Therefore, yes, I would say it would be more important to add a string type then a video type in pd.
So my feature request is actually : a string type.
Nope...
whats wrong with [list append] -> [list trim] or something like that?
.b.
Alexandre Quessy wrote:
On 8/7/06, B. Bogart ben@ekran.org wrote:
Remember its probably not a good idea to work with 1000s of symbols in a patch, due to that ol lookup table stuff, better to use meta-messages (or lists) to feed text to [text3d].
Can text3d concatenate list that we send it ?
Alexandre Quessy wrote:
Yes, I wrote a very nice abstraction for that... Can't find it right now....
You can do it using the list object and the l2s object. You can also change the value of a message and bang it, but lists are cleaner.
aalex
On 8/6/06, David Plans Casal main@davidcasal.com wrote:
Hi David,
On 6 Aug 2006, at 18:06, David Powers wrote:
Have you tried using the list object? See my examples patch - I modified some of the guts from examples found in the help for
"list".
Thanks for that! No I hadn't tried [list]. Looks good, will explore.
Cheers,
David
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list