Re: [PD] Pd preferences dialog progress
Looks very nice. Can you show also the other sections of the dialog? One minimal detail: "Use single device" instead of "devices" A bigger detail: does it make sense (for logical and practical reasons) to add a menu to select which channels go into which inputs/outpus, like on max/msp? Hi List, I've made some progress on the centralized preferences dialog window. Screenshot attached show the appearance under X11. Progress: * dropdown menus modeled after gtk for GNU/Linux (ttk::combobox) * native dropdown menus for Windows (ttk::combobox) * native-ish dropdown menus for OSX (ttk::menubutton) * multi-device button doesn't disappear when clicked (see attached audiodialog3.png) * audio api/settings/devices all in a single window * devices aligned in grid * removed cruft: unnecessary colons, device checkbuttons, label repetition * multi-device button disabled when there aren't multiple ins/outs * single "connect" button to clarify when Pd is supposed to open audio * can specify "None" as device (same as unchecking the device in the old audio dialog) * replaced "Apply" and "Ok" buttons with "Connect", which is more explicit. Also, it makes a nice flow from top to bottom: choose an api, the common audio settings, the specific devices (and device specific attributes: "channels"), and finally click "Connect". Connect also saves the audio settings-- I think that's generally what the user wants to do, and there can be a more general feature to make "profiles" if the user has a more complex/dynamic setup. I can also make it possible to specify no api (or a dummy one) if that's desirable. Screenshots currently lack a "Close" button which will be common to all preference frames. (I.e., at the bottom of the dialog below the notebook widget.) For my own sanity the API dropdown list currently shows Pd's api number as well as the API name. -Jonathan ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] multiblob tracking in Gem while objects keep their IDs
Am 27.05.2013 um 20:09 schrieb Antoine Villeret : > hi all, > > thanks Max for sharing your (very good) work ! thanks, but the kudos should go to Jakob for that. > I have a strange behavior here, some cross appear in the middle of nowhere... > but the blobs are keeping their ID well That should not be. Can't test it at the moment because Gem is stuck with the beachball (OS X) when i try to access the webcam now. Very strange I didn't update or anything.. Even reboot didn't help (?!) If that stays like that I'll start another thread about it. > did you tried pix_opencv_blobtrack ? Not yet. I'd like to extend the "Bewegungsmelder" patches with OpenCV examples, but at the moment i feel it is still not fail proof. I'd like to see pd-opencv as a package in debian/ubuntu/mint and also inside Pd-extended. At the moment those patches aim for being very distributable and only depend on Pd + gem. > it's a work in progress and I know the parameters are quiet opaque > but I didn't find any documentation about the blobtracker modules in OpenCV... > nevertheless, it works quite good > I attached a pix_opencv_blobtrack based patch > it doesn't work exactly the same as yours but it keeps the IDs I'll give it a try some time when i am at a Ubuntu machine. thanks! > the main thing is to make the foreground detection module to not update to > quickly to keep static blob ID ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] first exercise with data structures
On May 27, 2013 6:44 PM, "Jonathan Wilkes" wrote: > > > > > From: Ivica Ico Bukvic > To: Jonathan Wilkes > Cc: "pd-list@iem.at" > Sent: Monday, May 27, 2013 3:32 PM > > Subject: Re: [PD] first exercise with data structures > > >I've been experimenting with the patch provided in the bug report that has nested structs and no matter what I delete/change, I've not yet managed to crash pd-l2ork. If you find a way to do this, an example patch will be most appreciated. > > Do you have scalars existing while you delete/change structs and drawing instructions? AFAICT yes. They appear and disappear as I edit struct properties/objects. > > -Jonathan ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] first exercise with data structures
From: Ivica Ico Bukvic To: Jonathan Wilkes Cc: "pd-list@iem.at" Sent: Monday, May 27, 2013 3:32 PM Subject: Re: [PD] first exercise with data structures >I've been experimenting with the patch provided in the bug report that has >nested structs and no matter what I delete/change, I've not yet managed to >crash pd-l2ork. If you find a way to do this, an example patch will be most >appreciated. Do you have scalars existing while you delete/change structs and drawing instructions? -Jonathan ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] first exercise with data structures
On 05/26/2013 10:14 PM, Ivica Ico Bukvic wrote: * cannot easily set hotspot for mouse manipulation * hotspot bug http://sourceforge.net/tracker/index.php?func=detail&aid=2457992&group_id=55736&atid=478070 Confirmed in pd-l2ork. Will look into this next... This has been fixed in the latest pd-l2ork git as well as nested arrays now have properly aligned selection hotspot/selection box (latter may require further testing for regressions). For more info on the bugfix (it's a bit messy as I had to spend some time learning how this part of the code works) see: https://github.com/pd-l2ork/pd/commit/f0916f85a11894a43067d5b07ae5f8eea2b2c1b9 Regarding sluggish scalars/structs, pd-l2ork already accelerates their displacement when editing and moving entire scalars around. I am still working on figuring out how to deal with struct selection and displacement at runtime. * flickering animation with arrays and/or lots of scalars on screen This is most likely due to scalars currently redrawing themselves every time you move something which becomes increasingly obvious when you have lots of stuff on screen. * crashes with nested arrays when changing struct args I've been experimenting with the patch provided in the bug report that has nested structs and no matter what I delete/change, I've not yet managed to crash pd-l2ork. If you find a way to do this, an example patch will be most appreciated. Cheers! P.S. Next pd-l2ork release is imminent with some really cool new features, like intelligent multi-connect and more accelerated operations (pddplink), as well as the usual bagful of bugfixes. -- Ivica Ico Bukvic, D.M.A Composition, Music Technology Director, DISIS Interactive Sound & Intermedia Studio Director, L2Ork Linux Laptop Orchestra Head, ICAT IMPACT Studio Virginia Tech Department of Music Blacksburg, VA 24061-0240 (540) 231-6139 (540) 231-5034 (fax) disis.music.vt.edu l2ork.music.vt.edu ico.bukvic.net ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] PdParty alpha now playing RjDj scenes
Yes, I will do the TesFlight thing once it's ready. Hopefully soon, depending on my schedule. On May 25, 2013, at 9:43 PM, Epic Jefferson wrote: > cool! i have an rjdj scene i'd like too try out, are you doing the beta > testing thing with test flight? i've got a 1st gen ipad. > > > On Fri, May 24, 2013 at 3:13 PM, Dan Wilcox wrote: > Howdy all, > > A quick status update on PdParty (https://github.com/danomatika/PdParty). > > RjDj scenes are now working. I've had fun today trying them all out again, > especially Amenshake, NobleChoir, Eargasm & Where. Will look into > implementing the [rj_image] object next. They work great on my iPad2. > > Just need to finish this and DroidParty gui abstraction support for the Beta. > > > Dan Wilcox > @danomatika > danomatika.com > robotcowboy.com > > > > > > > ___ > Pd-list@iem.at mailing list > UNSUBSCRIBE and account-management -> > http://lists.puredata.info/listinfo/pd-list > > > > > -- > www.epicjefferson.com > www.avmachinists.org Puerto Rico based Art Collective/ Non-Profit Org Dan Wilcox @danomatika danomatika.com robotcowboy.com ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] multiblob tracking in Gem while objects keep their IDs
Le 27/05/2013 04:10, Max a écrit : > Am 27.05.2013 um 02:57 schrieb Jack : > >> Le 27/05/2013 02:32, Max a écrit : >>> Am 27.05.2013 um 02:24 schrieb Jack : >>> Le 27/05/2013 01:26, Max a écrit : > Am 27.05.2013 um 01:00 schrieb Jack : >> Le 26/05/2013 20:56, Max a écrit : >>> hi list, a student of mine, Jakob Gomoll, did solve how to track >>> multiple blobs while every blob keeps its ID. >>> Here is where i scratch my head: It works fine until you render the >>> output of the multiblob tracker to a rectangle. >>> I'd like to understand why this is. >>> >>> Is it a bug or a feature? >>> connect the tracker to the pix_texture (where the red line is) and it >>> will mess up the result: >>> >> Hello Max, >> This could be interesting for you : >> http://www.mail-archive.com/pd-list@iem.at/msg42343.html > Thanks Jack, > I know – I have posted on this thread too. We solved this problem > differently. Because our application was microscopy and we had specimen > who were stopping their movement for a while before moving on, the > continuity approach wasn't working. Since we based the blob detection on > frame differences [pix_movement] rather than background subtraction from > a reference frame [pix_background] blobs who were resting for a few > frames simply disappeared and got a new ID assigned. > Our approach is to set a time-out after we declare a blob dead. If it > starts moving in the same region (size is settable too) again before the > time-out, we pick up the old ID. So rather than using movement vectors as > reference we used proximity. All data is stored in tables. > > The patch works beautifully without any externals. Have you tried? > > So this problem is already solved - my question was rather a Gem thing: > why does is stop working when I want to render the image behind it? Do > you know this? > > Max > Sorry, i didn't see your patch in your previous post. If I try to open it, i get : arraysize blob_ids ... couldn't create What is [arraysize] ? >>> oh, darn - seems it isn't completely vanilla then. it is an external by >>> Juha Vehviläinen >>> http://puredata.info/downloads/arraysize >> Ah ok, maybe with [expr size("table_name")]. >> About the problem : you need to render the [rectangle] before "draw_blobs". >> See the patch attached… > thank you jack (but still scratching my head why exactly that is, will > revisit tomorrow). > updated here: https://github.com/mxa/Bewegungsmelder > Hello Max, In your patch, you need to put the crosses "on" the rectangle showing movement. These crosses and rectangle are in the same plan. Therefore, you need to render, first, the rectangle and after the crosses. Inside the subpatch "draw_blob", you have a [gemhead 90], which one is banged each time it has a cross to render. But, this [gemhead 90] is rendered many times (or not) during your main [gemhead] (in the main windows). If you open the subpatch "draw_blob", you can see that i add a [loadbang] and a [0 ( to stop the render of [gemhead 90] each frame, because the render is forced (many times or not) by a bang from the main [gemhead] and because you needn't to render this [gemhead 90] during the 'normal' render cycle. You can easily replace [gemhead 90] with [gemhead 10] and get exactly the same result. If you want, it should be possible to replace this [gemhead 90] with a [gemlist]. Hope the explanations are clear. I give here a small example to understand. ++ Jack small_exemple.pd Description: application/puredata ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] [Solved] Store some lists with undo function? / MPC Drum Sequencer
I've made a demo patch that will store some arbitrary lists (although I've only tested it with note-on note-off pairs) with the ability to undo the last list entered. I went back to vanilla [textfile] as [coll] and [msgfile] didn't really provide an advantage (that I could patch! Not saying much). The patch works as a kind of MIDI loop recorder using the Z key as a kind of drum pad to play a kick drum. The C key performs an undo on the last note recorded and the X key performs a kind of MPC style note erase function (erase notes at the current time). Thanks to Joe White for the idea of using an index to keep track of the number of lists being held. Would love to hear of any improvements if anyone has the time to look!? The main mechanism of the patch is rather ugly. It relies on constantly flushing the entire textfile contents and searching for a match each time. Thanks in advance, John.#N canvas 212 115 875 505 10; #X obj 482 387 noteout; #X obj 70 21 key; #X obj 220 21 keyup; #X msg 70 94 36 127; #X msg 170 94 36 0; #X msg 484 181 0; #X msg 484 161 stop; #X text 500 142 play; #X obj 484 143 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X floatatom 467 280 5 0 0 0 - - -; #X text 511 181 rewind; #X obj 452 213 metro 1; #X obj 563 431 s_drumelectro; #X obj 574 371 stripnote; #X obj 452 255 mod 2500; #X msg 563 402 bd 500; #X obj 192 260 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X obj 452 234 f; #X obj 486 234 + 1; #X msg 192 280 record \$1; #N canvas 210 102 926 626 store-lists-with-undo 0; #X obj 25 8 inlet; #X text 71 9 lists in; #X obj 187 8 inlet; #X obj 25 119 list prepend; #X obj 25 274 value \$0-amount-of-lists; #X obj 25 330 list append; #X obj 25 172 spigot; #X obj 258 514 list split 1; #X obj 356 544 route; #X obj 356 576 outlet; #X obj 152 394 r \$0-clear-lists; #X obj 64 509 s \$0-lists-out; #X obj 134 347 r \$0-bang-lists; #X obj 624 434 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 585 451 spigot; #X obj 475 412 r \$0-lists-out; #X obj 585 473 t f; #X obj 649 426 s \$0-bang-lists; #X obj 564 381 t b b b b; #X obj 566 526 value \$0-amount-of-lists; #X obj 564 342 loadbang; #X floatatom 292 291 5 0 0 0 - - -; #X obj 514 359 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 25 221 t b a b; #X obj 246 245 + 1; #X obj 71 245 value \$0-amount-of-lists; #X obj 566 501 f -1; #X text 646 357 Get amount of lists on load; #X text 233 8 times in & other messages; #X obj 121 144 > 0; #X msg 152 415 clear; #X msg 113 368 dump; #X text 355 514 trim off list index; #X text 445 43 else times in; #X obj 180 446 r \$0-lists-in; #X obj 405 102 s \$0-times-in; #X obj 345 72 t b f f f; #X msg 32 412 print; #X obj 187 41 route record erase-last erase-time; #N canvas 0 0 661 430 erase-last-function-guts 0; #X obj 208 15 inlet; #X obj 208 129 t b b b b b b b; #X obj 77 181 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 38 198 spigot; #X text 351 196 clear buffer; #X obj 281 266 s \$0-clear-lists; #X obj 214 366 value \$0-amount-of-lists; #X obj 390 366 - 2; #X obj 38 145 r \$0-lists-out; #X obj 44 302 <=; #X obj 21 223 t a f b; #X obj 67 247 value \$0-amount-of-lists; #X obj 67 269 - 2; #X text 98 268 <-this will need \; a creation argument; #X obj 21 328 spigot; #X obj 295 241 s \$0-bang-lists; #X obj 208 47 t b b; #X obj 240 67 value \$0-amount-of-lists; #X obj 240 87 >= 0; #X obj 208 108 spigot; #X text 424 366 <-this will need \; a creation argument; #X msg 304 196 clear; #X obj 251 301 jf/data/textfiler; #X msg 247 279 dump; #X obj 251 323 s \$0-lists-in; #X text 454 87 erase-last function \; \; Erases the list entered \; most recently.; #X connect 0 0 16 0; #X connect 1 0 2 0; #X connect 1 1 6 0; #X connect 1 2 23 0; #X connect 1 3 5 0; #X connect 1 4 15 0; #X connect 1 5 21 0; #X connect 1 6 2 0; #X connect 2 0 3 1; #X connect 3 0 10 0; #X connect 6 0 7 0; #X connect 7 0 6 0; #X connect 8 0 3 0; #X connect 9 0 14 1; #X connect 10 0 14 0; #X connect 10 1 9 0; #X connect 10 2 11 0; #X connect 11 0 12 0; #X connect 12 0 9 1; #X connect 14 0 22 1; #X connect 16 0 19 0; #X connect 16 1 17 0; #X connect 17 0 18 0; #X connect 18 0 19 1; #X connect 19 0 1 0; #X connect 21 0 22 0; #X connect 22 0 24 0; #X connect 23 0 22 0; #X restore 420 206 pd erase-last-function-guts; #N canvas 591 54 616 672 erase-time-function-guts 0; #X obj 77 281 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 38 298 spigot; #X text 421 293 clear buffer; #X obj 351 363 s \$0-clear-lists; #X obj 80 598 value \$0-amount-of-lists; #X obj 38 245 r \$0-lists-out; #X obj 365 338 s \$0-bang-lists; #X obj 240 132 value \$0-amount-of-lists; #X obj 240 152 >= 0; #X obj 208 173 spigot; #X msg 374 293 clear; #X obj 321 498 jf/data/textfiler; #X msg 311 374 dump; #X obj 321 520 s \$0-lists-in; #X text 56 53 Erase function; #X obj 243 30 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 380 9 r \$0-times-in; #X obj 208 73 spig