Re: [PD] Pd preferences dialog progress

2013-05-27 Thread João Pais

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

2013-05-27 Thread Max
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

2013-05-27 Thread Ivica Bukvic
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

2013-05-27 Thread Jonathan Wilkes





 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

2013-05-27 Thread Ivica Ico Bukvic

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

2013-05-27 Thread Dan Wilcox
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

2013-05-27 Thread Jack
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

2013-05-27 Thread JF
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