[PD] Drawing a sine function dynamically in Gem
I think I've tested all methods described by Cyrille for a project (https://gitorious.org/pd-gem-ui/pd-gem-ui). The last one with [GEMglVertex2f] and iteration in a table seems to be the most efficient. So I made an oscilloscope in Gem according to what Cyrille and Nicolas said in attachments, it could help too. Best Jerome #N canvas 520 81 570 658 10; #N canvas 0 22 389 370 CPU 0; #X floatatom 170 259 0 0 0 0 - - -; #X obj 170 171 cputime; #X obj 170 31 loadbang; #X obj 170 115 metro 1000; #X msg 170 59 1; #X floatatom 170 87 0 0 0 0 - - -; #X obj 170 143 t b b; #X obj 170 231 * 0.1; #X obj 170 200 int; #X text 215 87 -- on/off; #X text 130 310 CPU load in percent; #X obj 170 283 outlet; #X connect 0 0 11 0; #X connect 1 0 8 0; #X connect 2 0 4 0; #X connect 3 0 6 0; #X connect 4 0 5 0; #X connect 5 0 3 0; #X connect 6 0 1 0; #X connect 6 1 1 1; #X connect 7 0 0 0; #X connect 8 0 7 0; #X restore 33 267 pd CPU; #X floatatom 33 289 5 0 0 1 % - -; #X text 298 121 Test signal; #X text 31 123 Gem on/off; #X text 31 345 ---; #X text 29 248 ---; #X text 31 241 CPU; #N canvas 716 109 450 300 GEM 0; #X msg 135 183 create \, 1; #X msg 154 210 destroy; #X obj 135 156 sel 1 0; #X obj 135 68 gemkeyboard; #X obj 135 121 tgl 15 0 empty empty empty 17 7 0 10 -257985 -1 -1 1 1; #X obj 135 94 sel 9; #X obj 220 78 key; #X obj 220 114 sel 27; #X obj 262 199 loadbang; #X msg 262 224 reset; #X obj 135 246 gemwin; #X obj 356 121 inlet; #X text 352 104 frame rate; #X msg 356 146 frame \$1; #X connect 0 0 10 0; #X connect 1 0 10 0; #X connect 2 0 0 0; #X connect 2 1 1 0; #X connect 3 0 5 0; #X connect 4 0 2 0; #X connect 5 0 4 0; #X connect 6 0 7 0; #X connect 7 0 4 0; #X connect 8 0 9 0; #X connect 9 0 10 0; #X connect 11 0 13 0; #X connect 13 0 10 0; #X coords 0 -1 1 1 60 40 1 100 100; #X restore 32 191 pd GEM; #X floatatom 32 170 5 0 0 2 frame_rate - -; #X text 129 123 Coordinate axis; #X text 29 130 ---; #X text 130 130 ---; #N canvas 531 201 450 300 AXIS 0; #X obj 108 115 gemhead; #X obj 119 176 rectangle 6 0.01; #X obj 108 197 rectangle 0.01 6; #X obj 108 135 color 1 0 0; #X connect 0 0 3 0; #X connect 3 0 2 0; #X connect 3 0 1 0; #X restore 132 146 pd AXIS; #X text 30 85 (http://codelab.fr/2593); #X obj 303 268 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -257985 -1 -1 8509 1; #X text 318 273 - test; #X text 320 363 (0.0 - 1.0); #X obj 303 202 / 100; #X obj 303 244 line; #X obj 303 163 metro 200; #X obj 303 145 tgl 15 0 empty empty empty 17 7 0 10 -257985 -1 -1 1 1; #X msg 303 223 \$1 200; #X obj 303 182 random 100; #X obj 382 206 random 2; #X text 298 130 ---; #X obj 325 144 init 1; #X obj 382 186 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 29 35 cnv 20 350 20 empty \$0-cnv-title gem_oscillo-help.pd 10 10 0 14 -1 -262144 0; #X text 33 336 gem_oscillo; #X text 30 60 Adapted from [poligone2D] ArNO Courcelle \, [gem_oscillo~] Nicolas Montgermont and [mapping/last_n]; #X msg 39 365 size 200; #X msg 49 388 dimen -2 0 2 1; #X obj 245 474 metro 30; #X obj 245 453 loadbang; #X obj 288 501 f; #X text 242 433 Sampling; #X msg 68 464 color 1 0 1; #X msg 75 487 alpha 0.4; #X msg 57 411 x 2 \, y 1 \, w 4 \, h 4; #X msg 81 535 on \$1; #X obj 81 516 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X msg 81 558 render 50; #X obj 39 595 gem_oscillo; #X msg 64 441 line 10; #X text 391 33 abel.jer...@free.fr \; GNU/GPLv3 \; 2012 \; http://jeromeabel.net ; #X connect 0 0 1 0; #X connect 8 0 7 0; #X connect 14 0 34 1; #X connect 17 0 21 0; #X connect 18 0 14 0; #X connect 19 0 22 0; #X connect 20 0 19 0; #X connect 21 0 18 0; #X connect 22 0 17 0; #X connect 23 0 21 0; #X connect 25 0 20 0; #X connect 26 0 23 0; #X connect 30 0 42 0; #X connect 31 0 42 0; #X connect 32 0 34 0; #X connect 33 0 32 0; #X connect 34 0 42 1; #X connect 36 0 42 0; #X connect 37 0 42 0; #X connect 38 0 42 0; #X connect 39 0 42 0; #X connect 40 0 39 0; #X connect 41 0 42 0; #X connect 43 0 42 0; #N canvas 341 79 907 643 10; #X floatatom 136 61 5 0 0 0 Width #0widthIn #0width; #X floatatom 136 77 5 0 0 0 Height #0heightIn #0height; #X floatatom 171 61 5 0 0 1 X #0xIn #0x; #X floatatom 171 77 5 0 0 1 Y #0yIn #0y; #X obj 576 58 loadbang; #X obj 413 84 inlet; #X obj 572 256 s \$0xIn; #X obj 601 236 s \$0yIn; #X obj 516 298 s \$0widthIn; #X obj 544 276 s \$0heightIn; #X obj 421 383 r \$0input; #X obj 413 107 route float; #X obj 413 223 s \$0input; #X obj 82 312 translateXYZ; #X obj 105 285 r \$0x; #X obj 141 264 r \$0y; #X floatatom 136 45 5 0 0 0 Line #0lineIn #0line; #X floatatom 171 45 5 0 0 1 Size #0sizeIn #0size; #X obj 657 136 s \$0lineIn; #X obj 44 19 cnv 14 173 14 empty empty Gui 2 8 0 12 -228856 -99865 0; #X obj 50 99 cnv 14 173 14 empty empty Processing 2 8 0 12 -228856 -99865 0; #X obj 415 26 cnv 14 173 14 empty empty Communication 2 8 0 12 -228856 -99865 0; #X text 413 39 Data and
Re: [PD] Drawing a sine function dynamically in Gem
hello, the vertextbuffer method should be way faster than anything else. cheers c Le 29/04/2013 15:53, Abel Jérôme a écrit : I think I've tested all methods described by Cyrille for a project (https://gitorious.org/pd-gem-ui/pd-gem-ui). The last one with [GEMglVertex2f] and iteration in a table seems to be the most efficient. So I made an oscilloscope in Gem according to what Cyrille and Nicolas said in attachments, it could help too. Best Jerome ___ 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
Re: [PD] Drawing a sine function dynamically in Gem
On Mit, 2013-04-03 at 11:59 +0200, Cyrille Henry wrote: hello, you have lot's of solution to draw a sinus curve in Gem. [...] you can also do like in openGL : using GEMglBegin, GEMglVextex (many of them thanks to an iterative loop), and GEMglEnd I'm interested in understanding that approach. So far I was able to draw a simple line: [gemhead] | [GEMglBegin GL_LINES] | [GEMglVertex2d -2 -2] | [GEMglVertex2d 2 2] | [GEMglEnd] But how are you creating an iterative loop out of this? I tried after GEMglBegin: [t a b a] || \ |[20( \ || \ |[until]\ || \ |[gemlist ] || - put the two [GEMglVertex2d] here. | [GEMglEnd] However, this causes an error on every frame: GL: invalid operation What is the correct way to do this? Roman Le 02/04/2013 23:18, Alexandros Drymonitis a écrit : I want to build this visual http://processing.org/learning/trig/ in Pd, but I want the sine curve to be drawn dynamically with every circle spin. It seems quite hard though. I don't know which object would be best. I tried either [curve] but the parameters are way too many and I'm not sure if precision is really possible. Then I tried [square 0.008] in combination with [repeat] but also doesn't work. Anyone knows how to do this? ___ 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 ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Drawing a sine function dynamically in Gem
hello, you just have to put the gemhead in the gemlist befor the glBegin. see attachement. cheers c Le 10/04/2013 22:11, Roman Haefeli a écrit : On Mit, 2013-04-03 at 11:59 +0200, Cyrille Henry wrote: hello, you have lot's of solution to draw a sinus curve in Gem. [...] you can also do like in openGL : using GEMglBegin, GEMglVextex (many of them thanks to an iterative loop), and GEMglEnd I'm interested in understanding that approach. So far I was able to draw a simple line: [gemhead] | [GEMglBegin GL_LINES] | [GEMglVertex2d -2 -2] | [GEMglVertex2d 2 2] | [GEMglEnd] But how are you creating an iterative loop out of this? I tried after GEMglBegin: [t a b a] || \ |[20( \ || \ |[until]\ || \ |[gemlist ] || - put the two [GEMglVertex2d] here. | [GEMglEnd] However, this causes an error on every frame: GL: invalid operation What is the correct way to do this? Roman Le 02/04/2013 23:18, Alexandros Drymonitis a écrit : I want to build this visual http://processing.org/learning/trig/ in Pd, but I want the sine curve to be drawn dynamically with every circle spin. It seems quite hard though. I don't know which object would be best. I tried either [curve] but the parameters are way too many and I'm not sure if precision is really possible. Then I tried [square 0.008] in combination with [repeat] but also doesn't work. Anyone knows how to do this? ___ 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 ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list gl_lines.pd Description: application/puredata ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Drawing a sine function dynamically in Gem
On Mit, 2013-04-10 at 22:28 +0200, Cyrille Henry wrote: hello, you just have to put the gemhead in the gemlist befor the glBegin. see attachement. Got it. Thanks. Roman Le 10/04/2013 22:11, Roman Haefeli a écrit : On Mit, 2013-04-03 at 11:59 +0200, Cyrille Henry wrote: hello, you have lot's of solution to draw a sinus curve in Gem. [...] you can also do like in openGL : using GEMglBegin, GEMglVextex (many of them thanks to an iterative loop), and GEMglEnd I'm interested in understanding that approach. So far I was able to draw a simple line: [gemhead] | [GEMglBegin GL_LINES] | [GEMglVertex2d -2 -2] | [GEMglVertex2d 2 2] | [GEMglEnd] But how are you creating an iterative loop out of this? I tried after GEMglBegin: [t a b a] || \ |[20( \ || \ |[until]\ || \ |[gemlist ] || - put the two [GEMglVertex2d] here. | [GEMglEnd] However, this causes an error on every frame: GL: invalid operation What is the correct way to do this? Roman Le 02/04/2013 23:18, Alexandros Drymonitis a écrit : I want to build this visual http://processing.org/learning/trig/ in Pd, but I want the sine curve to be drawn dynamically with every circle spin. It seems quite hard though. I don't know which object would be best. I tried either [curve] but the parameters are way too many and I'm not sure if precision is really possible. Then I tried [square 0.008] in combination with [repeat] but also doesn't work. Anyone knows how to do this? ___ 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 ___ 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 ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Drawing a sine function dynamically in Gem
You may want to investigate latest version of pd-l2ork that also includes ability to assign different font sizes to drawnumber and drawsymbol (optional last argument, can be assigned to a variable but currently only supports pd-defined font sizes). It also separates the two into two distinct externals so that when you do the help on drawsymbol you don't end-up with drawnumber help file. I don't have a help file amended yet. It would be great if this ended up in the core documentation project. -Original Message- From: pd-list-boun...@iem.at [mailto:pd-list-boun...@iem.at] On Behalf Of Jonathan Wilkes Sent: Thursday, April 04, 2013 5:36 PM To: Orm Finnendahl; pd-list@iem.at Subject: Re: [PD] Drawing a sine function dynamically in Gem Btw-- I just uploaded a patch that adds [drawoval], [filledoval], [drawrectangle], and [filledrectangle] to data structure drawing instructions. This way you can just specify a pair of bounding box coords and let tk draw the circle, rather than simulating one with a polygon with lots of sides. :) -Jonathan - Original Message - From: Orm Finnendahl o.finnend...@inm.mh-freiburg.de To: pd-list@iem.at Cc: Sent: Wednesday, April 3, 2013 12:01 PM Subject: Re: [PD] Drawing a sine function dynamically in Gem Hi Alexandros, attached is an example to do this with vanilla pd using datastructs instead of GEM. You'll have to save both files (sine-wave-sub.pd and sine-wave.pd) under these names in the same folder and open up sine-wave.pd. The animation should start right away... Is that what you were looking for? -- Orm ___ 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 ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Drawing a sine function dynamically in Gem
- Original Message - From: Ivica Ico Bukvic i...@vt.edu To: 'Jonathan Wilkes' jancs...@yahoo.com Cc: pd-list@iem.at Sent: Saturday, April 6, 2013 9:56 PM Subject: RE: [PD] Drawing a sine function dynamically in Gem You may want to investigate latest version of pd-l2ork that also includes ability to assign different font sizes to drawnumber and drawsymbol (optional last argument, can be assigned to a variable but currently only supports pd-defined font sizes). It also separates the two into two distinct externals so that when you do the help on drawsymbol you don't end-up with drawnumber help file. I don't have a help file amended yet. It would be great if this ended up in the core documentation project. Sounds good. Another one I'm working on: 1) Did the user click a graph? 2) If so, is there either a) a single garray or b) a single data structure array with a single float y field in its template that is contained within the graph's gl_list? 3) If so, does the horizontal position of the mouse-click lie within the horizontal bounds of an element of the garray or ds array we found in the gl_list? 4) If so, set the y value of the array element to the y position of the mouse click. This should allow jump on click for Put menu arrays-- something mentioned in another thread recently, as well as easy jump on click data structure multisliders. Also-- I don't think it'd be too hard to add [drawimage ./foo.gif]. It's a little trickier because you have to remember to remove the tk photo when the object is destroyed to prevent memory leaks. Also, it'd be nice to have an -s flag so you can load a sequence of images with something like [drawimage -s blah ./foo%d.gif]. The idea is that this object would tell the gui to load foo01.gif foo02.gif etc. into memory and display whichever image for which %d matches the value of foo. Then you could easily animate sprites on a canvas! The nice thing is that pd would just be passing an itemconfigure message with an image name to the gui, so it should be way more efficient than sending array data or deleting/creating polygon coords. -Jonathan -Original Message- From: pd-list-boun...@iem.at [mailto:pd-list-boun...@iem.at] On Behalf Of Jonathan Wilkes Sent: Thursday, April 04, 2013 5:36 PM To: Orm Finnendahl; pd-list@iem.at Subject: Re: [PD] Drawing a sine function dynamically in Gem Btw-- I just uploaded a patch that adds [drawoval], [filledoval], [drawrectangle], and [filledrectangle] to data structure drawing instructions. This way you can just specify a pair of bounding box coords and let tk draw the circle, rather than simulating one with a polygon with lots of sides. :) -Jonathan - Original Message - From: Orm Finnendahl o.finnend...@inm.mh-freiburg.de To: pd-list@iem.at Cc: Sent: Wednesday, April 3, 2013 12:01 PM Subject: Re: [PD] Drawing a sine function dynamically in Gem Hi Alexandros, attached is an example to do this with vanilla pd using datastructs instead of GEM. You'll have to save both files (sine-wave-sub.pd and sine-wave.pd) under these names in the same folder and open up sine-wave.pd. The animation should start right away... Is that what you were looking for? -- Orm ___ 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 ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Drawing a sine function dynamically in Gem
Thanks everybody for your help. I finally made a patch using Gem, exactly the way I wanted it. What I was missing was Patrice's implementation for the sine curve. I've attached my final patch. Cheers On Fri, Apr 5, 2013 at 12:36 AM, Jonathan Wilkes jancs...@yahoo.com wrote: Btw-- I just uploaded a patch that adds [drawoval], [filledoval], [drawrectangle], and [filledrectangle] to data structure drawing instructions. This way you can just specify a pair of bounding box coords and let tk draw the circle, rather than simulating one with a polygon with lots of sides. :) -Jonathan - Original Message - From: Orm Finnendahl o.finnend...@inm.mh-freiburg.de To: pd-list@iem.at Cc: Sent: Wednesday, April 3, 2013 12:01 PM Subject: Re: [PD] Drawing a sine function dynamically in Gem Hi Alexandros, attached is an example to do this with vanilla pd using datastructs instead of GEM. You'll have to save both files (sine-wave-sub.pd and sine-wave.pd) under these names in the same folder and open up sine-wave.pd. The animation should start right away... Is that what you were looking for? -- Orm ___ 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 sine_representation.pd Description: Binary data ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Drawing a sine function dynamically in Gem
Btw-- I just uploaded a patch that adds [drawoval], [filledoval], [drawrectangle], and [filledrectangle] to data structure drawing instructions. This way you can just specify a pair of bounding box coords and let tk draw the circle, rather than simulating one with a polygon with lots of sides. :) -Jonathan - Original Message - From: Orm Finnendahl o.finnend...@inm.mh-freiburg.de To: pd-list@iem.at Cc: Sent: Wednesday, April 3, 2013 12:01 PM Subject: Re: [PD] Drawing a sine function dynamically in Gem Hi Alexandros, attached is an example to do this with vanilla pd using datastructs instead of GEM. You'll have to save both files (sine-wave-sub.pd and sine-wave.pd) under these names in the same folder and open up sine-wave.pd. The animation should start right away... Is that what you were looking for? -- Orm ___ 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
Re: [PD] Drawing a sine function dynamically in Gem
hello, you have lot's of solution to draw a sinus curve in Gem. the easiest would be to use scopeXYZ, but you'll have to do the sin in audio signal. the most efficient is to use gemvertexbuffer to draw a line between points specified in table. the fastest to code is to use repeat/separator/curve 2 in order to draw many lines you can also do like in openGL : using GEMglBegin, GEMglVextex (many of them thanks to an iterative loop), and GEMglEnd you can also do that in shader, but that would be to much complexity for this. and you can certainly find other way to do that, but i think i cover the most used. cheers c Le 02/04/2013 23:18, Alexandros Drymonitis a écrit : I want to build this visual http://processing.org/learning/trig/ in Pd, but I want the sine curve to be drawn dynamically with every circle spin. It seems quite hard though. I don't know which object would be best. I tried either [curve] but the parameters are way too many and I'm not sure if precision is really possible. Then I tried [square 0.008] in combination with [repeat] but also doesn't work. Anyone knows how to do this? ___ 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
Re: [PD] Drawing a sine function dynamically in Gem
I made a similar PD patch a while back that has the same instructional purpose as that processing sketch. However, I used data structure graphics and vanilla objects so it's not going to translate directly into GEM if that's the route you want to go. If it's helpful to you, enjoy. -Stephen On Wed, Apr 3, 2013 at 4:59 AM, Cyrille Henry c...@chnry.net wrote: hello, you have lot's of solution to draw a sinus curve in Gem. the easiest would be to use scopeXYZ, but you'll have to do the sin in audio signal. the most efficient is to use gemvertexbuffer to draw a line between points specified in table. the fastest to code is to use repeat/separator/curve 2 in order to draw many lines you can also do like in openGL : using GEMglBegin, GEMglVextex (many of them thanks to an iterative loop), and GEMglEnd you can also do that in shader, but that would be to much complexity for this. and you can certainly find other way to do that, but i think i cover the most used. cheers c Le 02/04/2013 23:18, Alexandros Drymonitis a écrit : I want to build this visual http://processing.org/**learning/trig/http://processing.org/learning/trig/in Pd, but I want the sine curve to be drawn dynamically with every circle spin. It seems quite hard though. I don't know which object would be best. I tried either [curve] but the parameters are way too many and I'm not sure if precision is really possible. Then I tried [square 0.008] in combination with [repeat] but also doesn't work. Anyone knows how to do this? __**_ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/** listinfo/pd-list http://lists.puredata.info/listinfo/pd-list __**_ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/** listinfo/pd-list http://lists.puredata.info/listinfo/pd-list unitcircle_sin.pd Description: Binary data ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Drawing a sine function dynamically in Gem
Hi Stephen, your patch is nice, and I didn't think of data structures for some reason. But I'll also give a try to Cyrille's suggestion. What I'd like is to have the evolution of the sine without anything appended to it, like the values in the array that haven't been set yet, you know what I mean? Thanks for sharing. On Wed, Apr 3, 2013 at 3:25 PM, Stephen Lucas s9lu...@gmail.com wrote: I made a similar PD patch a while back that has the same instructional purpose as that processing sketch. However, I used data structure graphics and vanilla objects so it's not going to translate directly into GEM if that's the route you want to go. If it's helpful to you, enjoy. -Stephen On Wed, Apr 3, 2013 at 4:59 AM, Cyrille Henry c...@chnry.net wrote: hello, you have lot's of solution to draw a sinus curve in Gem. the easiest would be to use scopeXYZ, but you'll have to do the sin in audio signal. the most efficient is to use gemvertexbuffer to draw a line between points specified in table. the fastest to code is to use repeat/separator/curve 2 in order to draw many lines you can also do like in openGL : using GEMglBegin, GEMglVextex (many of them thanks to an iterative loop), and GEMglEnd you can also do that in shader, but that would be to much complexity for this. and you can certainly find other way to do that, but i think i cover the most used. cheers c Le 02/04/2013 23:18, Alexandros Drymonitis a écrit : I want to build this visual http://processing.org/**learning/trig/http://processing.org/learning/trig/in Pd, but I want the sine curve to be drawn dynamically with every circle spin. It seems quite hard though. I don't know which object would be best. I tried either [curve] but the parameters are way too many and I'm not sure if precision is really possible. Then I tried [square 0.008] in combination with [repeat] but also doesn't work. Anyone knows how to do this? __**_ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/** listinfo/pd-list http://lists.puredata.info/listinfo/pd-list __**_ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/** listinfo/pd-list http://lists.puredata.info/listinfo/pd-list ___ 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
Re: [PD] Drawing a sine function dynamically in Gem
It's a bit strange but Pd can't create [GEMglVertex] or [gemvertexbuffer]. In the browser I found [gemframebuffer] but not the vertex one. [GEMglBegin] and [GEMglEnd] are being created, no prob. I'm using the latest Pd... On Wed, Apr 3, 2013 at 12:59 PM, Cyrille Henry c...@chnry.net wrote: hello, you have lot's of solution to draw a sinus curve in Gem. the easiest would be to use scopeXYZ, but you'll have to do the sin in audio signal. the most efficient is to use gemvertexbuffer to draw a line between points specified in table. the fastest to code is to use repeat/separator/curve 2 in order to draw many lines you can also do like in openGL : using GEMglBegin, GEMglVextex (many of them thanks to an iterative loop), and GEMglEnd you can also do that in shader, but that would be to much complexity for this. and you can certainly find other way to do that, but i think i cover the most used. cheers c Le 02/04/2013 23:18, Alexandros Drymonitis a écrit : I want to build this visual http://processing.org/**learning/trig/http://processing.org/learning/trig/in Pd, but I want the sine curve to be drawn dynamically with every circle spin. It seems quite hard though. I don't know which object would be best. I tried either [curve] but the parameters are way too many and I'm not sure if precision is really possible. Then I tried [square 0.008] in combination with [repeat] but also doesn't work. Anyone knows how to do this? __**_ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/** listinfo/pd-list http://lists.puredata.info/listinfo/pd-list __**_ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/** listinfo/pd-list http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Drawing a sine function dynamically in Gem
Le 03/04/2013 16:30, Alexandros Drymonitis a écrit : It's a bit strange but Pd can't create [GEMglVertex] or [gemvertexbuffer]. In the browser I found [gemframebuffer] but not the vertex one. [GEMglBegin] and [GEMglEnd] are being created, no prob. I'm using the latest Pd... lattest pd will not help. you need Gem for all of this. since GEMglBegin works, you certainly have one version of Gem. since gemvertexbuffer did not create, your version of Gem too old. according to gem website, the last release is 93.3, from 11/11/2011. that's the explanation. cheers c On Wed, Apr 3, 2013 at 12:59 PM, Cyrille Henry c...@chnry.net mailto:c...@chnry.net wrote: hello, you have lot's of solution to draw a sinus curve in Gem. the easiest would be to use scopeXYZ, but you'll have to do the sin in audio signal. the most efficient is to use gemvertexbuffer to draw a line between points specified in table. the fastest to code is to use repeat/separator/curve 2 in order to draw many lines you can also do like in openGL : using GEMglBegin, GEMglVextex (many of them thanks to an iterative loop), and GEMglEnd you can also do that in shader, but that would be to much complexity for this. and you can certainly find other way to do that, but i think i cover the most used. cheers c Le 02/04/2013 23:18, Alexandros Drymonitis a écrit : I want to build this visual http://processing.org/__learning/trig/ http://processing.org/learning/trig/ in Pd, but I want the sine curve to be drawn dynamically with every circle spin. It seems quite hard though. I don't know which object would be best. I tried either [curve] but the parameters are way too many and I'm not sure if precision is really possible. Then I tried [square 0.008] in combination with [repeat] but also doesn't work. Anyone knows how to do this? _ Pd-list@iem.at mailto:Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/__listinfo/pd-list http://lists.puredata.info/listinfo/pd-list _ Pd-list@iem.at mailto:Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/__listinfo/pd-list http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Drawing a sine function dynamically in Gem
Sorry, meant Pd-extended... On Wed, Apr 3, 2013 at 5:51 PM, Cyrille Henry c...@chnry.net wrote: Le 03/04/2013 16:30, Alexandros Drymonitis a écrit : It's a bit strange but Pd can't create [GEMglVertex] or [gemvertexbuffer]. In the browser I found [gemframebuffer] but not the vertex one. [GEMglBegin] and [GEMglEnd] are being created, no prob. I'm using the latest Pd... lattest pd will not help. you need Gem for all of this. since GEMglBegin works, you certainly have one version of Gem. since gemvertexbuffer did not create, your version of Gem too old. according to gem website, the last release is 93.3, from 11/11/2011. that's the explanation. cheers c On Wed, Apr 3, 2013 at 12:59 PM, Cyrille Henry c...@chnry.net mailto: c...@chnry.net wrote: hello, you have lot's of solution to draw a sinus curve in Gem. the easiest would be to use scopeXYZ, but you'll have to do the sin in audio signal. the most efficient is to use gemvertexbuffer to draw a line between points specified in table. the fastest to code is to use repeat/separator/curve 2 in order to draw many lines you can also do like in openGL : using GEMglBegin, GEMglVextex (many of them thanks to an iterative loop), and GEMglEnd you can also do that in shader, but that would be to much complexity for this. and you can certainly find other way to do that, but i think i cover the most used. cheers c Le 02/04/2013 23:18, Alexandros Drymonitis a écrit : I want to build this visual http://processing.org/__** learning/trig/ http://processing.org/__learning/trig/ http://processing.org/**learning/trig/http://processing.org/learning/trig/ in Pd, but I want the sine curve to be drawn dynamically with every circle spin. It seems quite hard though. I don't know which object would be best. I tried either [curve] but the parameters are way too many and I'm not sure if precision is really possible. Then I tried [square 0.008] in combination with [repeat] but also doesn't work. Anyone knows how to do this? __**___ Pd-list@iem.at mailto:Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/__**listinfo/pd-listhttp://lists.puredata.info/__listinfo/pd-list http://lists.puredata.info/**listinfo/pd-listhttp://lists.puredata.info/listinfo/pd-list __**___ Pd-list@iem.at mailto:Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/__** listinfo/pd-list http://lists.puredata.info/__listinfo/pd-list http://lists.puredata.info/**listinfo/pd-listhttp://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Drawing a sine function dynamically in Gem
Le 03/04/2013 17:02, Alexandros Drymonitis a écrit : Sorry, meant Pd-extended... On Wed, Apr 3, 2013 at 5:51 PM, Cyrille Henry c...@chnry.net mailto:c...@chnry.net wrote: Le 03/04/2013 16:30, Alexandros Drymonitis a écrit : It's a bit strange but Pd can't create [GEMglVertex] or [gemvertexbuffer]. In the browser I found [gemframebuffer] but not the vertex one. [GEMglBegin] and [GEMglEnd] are being created, no prob. I'm using the latest Pd... lattest pd will not help. you need Gem for all of this. since GEMglBegin works, you certainly have one version of Gem. since gemvertexbuffer did not create, your version of Gem too old. according to gem website, the last release is 93.3, from 11/11/2011. that's the explanation. cheers c On Wed, Apr 3, 2013 at 12:59 PM, Cyrille Henry c...@chnry.net mailto:c...@chnry.net mailto:c...@chnry.net mailto:c...@chnry.net wrote: hello, you have lot's of solution to draw a sinus curve in Gem. the easiest would be to use scopeXYZ, but you'll have to do the sin in audio signal. the most efficient is to use gemvertexbuffer to draw a line between points specified in table. the fastest to code is to use repeat/separator/curve 2 in order to draw many lines you can also do like in openGL : using GEMglBegin, GEMglVextex (many of them thanks to an iterative loop), and GEMglEnd you can also do that in shader, but that would be to much complexity for this. and you can certainly find other way to do that, but i think i cover the most used. cheers c Le 02/04/2013 23:18, Alexandros Drymonitis a écrit : I want to build this visual http://processing.org/__learning/trig/ http://processing.org/learning/trig/ in Pd, but I want the sine curve to be drawn dynamically with every circle spin. It seems quite hard though. I don't know which object would be best. I tried either [curve] but the parameters are way too many and I'm not sure if precision is really possible. Then I tried [square 0.008] in combination with [repeat] but also doesn't work. Anyone knows how to do this? _ Pd-list@iem.at mailto:Pd-list@iem.at mailto:Pd-list@iem.at mailto:Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/__listinfo/pd-list http://lists.puredata.info/listinfo/pd-list _ Pd-list@iem.at mailto:Pd-list@iem.at mailto:Pd-list@iem.at mailto:Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/__listinfo/pd-list http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list Hello Alexandros, Do you have the current Pd-extended (which is 0.43.4) ? You should have a recent Gem whit it. For glVertex, you have to write [GEMglVertex3f] to use float. ++ Jack ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Drawing a sine function dynamically in Gem
Hi Alexandros, attached is an example to do this with vanilla pd using datastructs instead of GEM. You'll have to save both files (sine-wave-sub.pd and sine-wave.pd) under these names in the same folder and open up sine-wave.pd. The animation should start right away... Is that what you were looking for? -- Orm sine-wave-sub.pd Description: application/puredata sine-wave.pd Description: application/puredata ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Drawing a sine function dynamically in Gem
Hi Orm, yes this is exactly what I wanted to do. Thanks! On Wed, Apr 3, 2013 at 7:01 PM, Orm Finnendahl o.finnend...@inm.mh-freiburg.de wrote: Hi Alexandros, attached is an example to do this with vanilla pd using datastructs instead of GEM. You'll have to save both files (sine-wave-sub.pd and sine-wave.pd) under these names in the same folder and open up sine-wave.pd. The animation should start right away... Is that what you were looking for? -- Orm ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Drawing a sine function dynamically in Gem
Hello, I made an abstraction that draws in opengl directly from tables. just draw your sin in the y tables, and the x position in your x table. see help patch, Best, n Le 03/04/13 18:04, Jack a écrit : Le 03/04/2013 17:02, Alexandros Drymonitis a écrit : Sorry, meant Pd-extended... On Wed, Apr 3, 2013 at 5:51 PM, Cyrille Henry c...@chnry.net mailto:c...@chnry.net wrote: Le 03/04/2013 16:30, Alexandros Drymonitis a écrit : It's a bit strange but Pd can't create [GEMglVertex] or [gemvertexbuffer]. In the browser I found [gemframebuffer] but not the vertex one. [GEMglBegin] and [GEMglEnd] are being created, no prob. I'm using the latest Pd... lattest pd will not help. you need Gem for all of this. since GEMglBegin works, you certainly have one version of Gem. since gemvertexbuffer did not create, your version of Gem too old. according to gem website, the last release is 93.3, from 11/11/2011. that's the explanation. cheers c On Wed, Apr 3, 2013 at 12:59 PM, Cyrille Henry c...@chnry.net mailto:c...@chnry.net mailto:c...@chnry.net mailto:c...@chnry.net wrote: hello, you have lot's of solution to draw a sinus curve in Gem. the easiest would be to use scopeXYZ, but you'll have to do the sin in audio signal. the most efficient is to use gemvertexbuffer to draw a line between points specified in table. the fastest to code is to use repeat/separator/curve 2 in order to draw many lines you can also do like in openGL : using GEMglBegin, GEMglVextex (many of them thanks to an iterative loop), and GEMglEnd you can also do that in shader, but that would be to much complexity for this. and you can certainly find other way to do that, but i think i cover the most used. cheers c Le 02/04/2013 23:18, Alexandros Drymonitis a écrit : I want to build this visual http://processing.org/__learning/trig/ http://processing.org/learning/trig/ in Pd, but I want the sine curve to be drawn dynamically with every circle spin. It seems quite hard though. I don't know which object would be best. I tried either [curve] but the parameters are way too many and I'm not sure if precision is really possible. Then I tried [square 0.008] in combination with [repeat] but also doesn't work. Anyone knows how to do this? _ Pd-list@iem.at mailto:Pd-list@iem.at mailto:Pd-list@iem.at mailto:Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/__listinfo/pd-list http://lists.puredata.info/listinfo/pd-list _ Pd-list@iem.at mailto:Pd-list@iem.at mailto:Pd-list@iem.at mailto:Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/__listinfo/pd-list http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -http://lists.puredata.info/listinfo/pd-list Hello Alexandros, Do you have the current Pd-extended (which is 0.43.4) ? You should have a recent Gem whit it. For glVertex, you have to write [GEMglVertex3f] to use float. ++ Jack ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list -- http://www.nimon.org curveGL-help.pd Description: application/extension-pd curveGL.pd Description: application/extension-pd ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Drawing a sine function dynamically in Gem
Hello, attached patch is inspired from code found in link you provide: for (int i = 0; i width; i++){ px2 = width/8 + cos(radians(angle2))*(radius); py2 = 75 + sin(radians(angle2))*(radius); point(width/8+radius+i, py2); angle2 -= frequency2; } using Gem and recursion Colet Patrice De: Alexandros Drymonitis adr...@gmail.com I want to build this visual http://processing.org/learning/trig/ in Pd, but I want the sine curve to be drawn dynamically with every circle spin. It seems quite hard though. I don't know which object would be best. I tried either [curve] but the parameters are way too many and I'm not sure if precision is really possible. Then I tried [square 0.008] in combination with [repeat] but also doesn't work. Anyone knows how to do this? #N canvas 941 420 553 607 10; #X obj 52 143 gemhead; #X obj 48 98 gemwin; #X obj 53 321 separator; #X obj 53 302 repeat 100; #X floatatom 561 137 5 0 0 0 - - -; #X obj 560 158 / 100; #X msg 78 70 destroy; #X msg 48 47 create \, 1; #X obj 53 340 t a b; #X obj 80 359 f; #X obj 107 440 sin; #X obj 53 505 translateXYZ 0 0 0; #X obj 104 359 - 1; #X obj 107 420 * 6.28319; #X obj 80 398 t a a; #X obj 80 419 * 4; #X obj 80 378 / 360; #X obj 212 75 line; #X obj 212 14 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 80 482 * 1; #X obj 111 482 * 1; #X obj 53 182 t a a; #X obj 80 201 separator; #X obj 80 256 curve 2; #X msg 143 225 \$1 0 0; #X obj 143 206 * 4; #X obj 176 453 r radius; #X obj 143 187 r radius; #X obj 307 65 s radius; #X floatatom 425 16 5 0 0 0 - - -; #X obj 425 39 s lenght; #X obj 110 281 r lenght; #X obj 52 163 translateXYZ -4 0 0; #X obj 212 97 s lenght; #X text 234 10 ; #X obj 307 26 nbx 4 14 0.1 200 0 1 empty empty empty 0 -8 0 10 -262144 -1 -1 198 256; #X obj 129 359 mod 360; #X obj 307 45 / 100; #X msg 212 55 0 \, 360 1; #X obj 53 529 square 0.02; #X connect 0 0 32 0; #X connect 2 0 8 0; #X connect 3 0 2 0; #X connect 4 0 5 0; #X connect 6 0 1 0; #X connect 7 0 1 0; #X connect 8 0 11 0; #X connect 8 1 9 0; #X connect 9 0 12 0; #X connect 9 0 16 0; #X connect 10 0 20 0; #X connect 11 0 39 0; #X connect 12 0 36 0; #X connect 13 0 10 0; #X connect 14 0 15 0; #X connect 14 1 13 0; #X connect 15 0 19 0; #X connect 16 0 14 0; #X connect 17 0 33 0; #X connect 18 0 38 0; #X connect 18 0 7 0; #X connect 19 0 11 1; #X connect 20 0 11 2; #X connect 21 0 3 0; #X connect 21 1 22 0; #X connect 22 0 23 0; #X connect 24 0 23 2; #X connect 25 0 24 0; #X connect 26 0 20 1; #X connect 26 0 19 1; #X connect 27 0 25 0; #X connect 29 0 30 0; #X connect 31 0 3 1; #X connect 31 0 36 1; #X connect 32 0 21 0; #X connect 35 0 37 0; #X connect 36 0 9 1; #X connect 37 0 28 0; #X connect 38 0 17 0; ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] Drawing a sine function dynamically in Gem
I want to build this visual http://processing.org/learning/trig/ in Pd, but I want the sine curve to be drawn dynamically with every circle spin. It seems quite hard though. I don't know which object would be best. I tried either [curve] but the parameters are way too many and I'm not sure if precision is really possible. Then I tried [square 0.008] in combination with [repeat] but also doesn't work. Anyone knows how to do this? ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list