Re: [PD] New sssad.pd now in SVN repository - please test! [was: sssad slowness]

2008-08-04 Thread Frank Barknecht
Hallo,
Luke Iannini hat gesagt: // Luke Iannini wrote:

 Is there any reason specifically to only accept numbers?  

Actually no. ;)

I replaced [f $2] with [list append $2] in my copy as well now and
committed the new patches to the SVN with an extended help-file. Note
to all SSSAD-users: The new version (revision 10231 on SF-SVN) now
requires pd 0.40 and up. 

This seems to be a major release and people can call it SSSAD 2.0, if
they like. I don't plan any new features for now (unless Pd suddenly
gets a closebang).

I'm looking forward to patches built surrounding sssad.pd, which as
you know deliberatly leaves out the actual state saving. It shouldn't
be too hard for example to write a commun.pd wrapper now so that
Memento-patches can be converted to sssad without too much trouble or
to decorate sssad.pd with OSC-like pattern matching.

Ciao
-- 
 Frank Barknecht _ __footils.org__

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] New sssad.pd now in SVN repository - please test! [was: sssad slowness]

2008-08-01 Thread Luke Iannini
On Tue, Jul 29, 2008 at 6:02 AM, Frank Barknecht [EMAIL PROTECTED] wrote:
 Hallo,
 Frank Barknecht hat gesagt: // Frank Barknecht wrote:
 In the near future there will be some more SSSAD_ADMIN messages I'd
 like to support: setlocal and savelocal to save to receivers
 called $2-SSSAD_ADMIN where $2 will usually be the parent's $0, to
 allow saving of all/some [sssad]s with canvas-local scope.

 Okay, the future is here: I took a different approach after looking
 though my old notes to make it possible to use [sssad] for
 local parameter saving and loading

 Attached [sssad-l] is compatible to normal [sssad] (but requires at a
 Pd with $1-$2 expansion). What's new: It also accepts a second
 argument which should be a number (designed for $0). If this number is
 0 or missing, everything is as before.

Is there any reason specifically to only accept numbers?  I attached a
version modified to take any argument as the local identifier; this is
useful for a number of reasons (remote communication with sssad-l
instances, and sharing a unique identifier with part of an OSC
address...).

 If $2 is different from 0, the global senders and receivers SSSAD and
 SSSAD_ADMIN are *deactivated* completely and replaced by $2-SSSAD and
 $2-SSSAD_ADMIN.

 sssad-l-test.pd includes some tests for this and also an example, how
 this change can be used for local parameter handling. Comments
 welcome.
This looks amazing.  The simplicity versus Memento is a wonder : ).  I
have already whipped up OSC enabled versions and will be converting
Memento-p (nee Semento/Polaroid) and Controctopus to embrace the
future.  I think it also gives me an idea for how to do fully
hierarchical state-saving...

Thanks Frank!
Best
Luke


 Ciao
 --
  Frank Barknecht _ __footils.org__

 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management - 
 http://lists.puredata.info/listinfo/pd-list




sssad-l.pd
Description: Binary data
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] New sssad.pd now in SVN repository - please test! [was: sssad slowness]

2008-07-29 Thread Enrique Erne

Hi
Frank Barknecht wrote:

Enrique Erne hat gesagt: // Enrique Erne wrote:

now the point why i write this email:
it would be nice to have a little note in sssad-help that says 
initializing is strongly recommended or similar.


Hm, probably [sssad] should get a [route bang] after the [route save]
as well to prohibit saving parameters that haven't been initialized -
similar to the protection of the outlet. I attached a version which
has this with a little demo patch.


That looks great. Still, personally I will initialize all keys, this 
guarantees to always have complete presets.


[loadbang]
 |
[;
SSSAD vol 20, freq 42, other 1.2345(




An other minor issue:

In my post before I wrote to do [SSSAD_ADMIN set( on load, but on a 
second thought this is not good practice. It would force all SSSAD to 
output their value, even other already existing patches.


Basically i would like it if there was a possibility to let some SSSAD 
instances in a new patch output the value. Attached SSSAD has a possible 
solution.




case 1) ___

 [sssad vol]
  |
[*~ 0.5]

Here SSSAD would not be initialized.




case 2) ___

[loadbang]
 |
[;
SSSAD vol 0.5(

 [sssad vol]
  |
[*~ 0.5]

Here all is good except i don't want to write the value twice.




case 3) ___

[loadbang]
 |
[;
SSSAD vol 0.5(

 [sssad vol]
/
[*~]

*~ is missing the init value. It would work with [SSSAD_ADMIN set( but 
then all SSSAD's will output their value. That seems wrong.





case 4) ___

[loadbang]
 |
[;
SSSAD vol 0.5, vol bang(

 [sssad vol]
/
[*~]


How about something like that? [SSSAD vol bang( could be used to specify 
one key to output it's value. One more [route bang] would be required.


One could argue [SSSAD vol bang( should delete the value, but i can't 
think of a use of having a key without value.



In attached SSSAD i have 2 minor changes.

A [route bang] to
- output a specific key
(i like that change a lot and see no problem)

$1 in [route save $1] to
- save a specific key
(this is not a clean solution and doesn't work when with [sssad save] 
instance, but it would allow to collect specific data)


wow pretty long email for such a minor thing.
thanks for having a look at it :)

eni
#N canvas 282 224 783 400 10;
#X floatatom 130 69 5 0 0 0 - - -;
#X floatatom 138 102 5 0 0 0 - - -;
#X obj 594 192 list prepend add;
#X obj 594 218 list trim;
#X obj 438 267 s SSSAD_ADMIN;
#X obj 594 124 r SSSAD_ADMIN;
#X obj 594 168 route persist;
#X obj 594 146 list trim;
#X msg 438 201 save;
#X msg 452 240 set;
#X obj 438 63 bng 24 250 50 0 empty empty save_all 0 -6 0 8 -262144
-1 -1;
#X msg 594 258 other-patch 8 \; freq 12 \; vol 11 \;;
#X obj 438 134 t b b;
#X msg 470 167 set;
#X obj 57 66 sssad vol;
#X obj 56 157 loadbang;
#X floatatom 192 289 5 0 0 0 - - -;
#X msg 57 180 \; SSSAD vol 11 \, vol bang \; SSSAD freq 12 \, freq
bang;
#X obj 290 59 bng 24 250 50 0 empty empty save_this_patch 0 -6 0 8
-262144 -1 -1;
#X obj 285 104 t b b;
#X msg 319 128 set;
#X obj 58 101 sssad freq;
#X obj 72 288 sssad other-patch;
#X msg 281 156 \; SSSAD_ADMIN vol \, freq;
#X connect 0 0 14 1;
#X connect 1 0 21 1;
#X connect 2 0 3 0;
#X connect 3 0 11 0;
#X connect 5 0 7 0;
#X connect 6 0 2 0;
#X connect 7 0 6 0;
#X connect 8 0 4 0;
#X connect 9 0 4 0;
#X connect 10 0 12 0;
#X connect 12 0 8 0;
#X connect 12 1 13 0;
#X connect 13 0 11 0;
#X connect 14 0 0 0;
#X connect 15 0 17 0;
#X connect 16 0 22 1;
#X connect 18 0 19 0;
#X connect 19 0 23 0;
#X connect 19 1 20 0;
#X connect 20 0 11 0;
#X connect 21 0 1 0;
#X connect 22 0 16 0;
#N canvas 58 42 1019 539 10;
#X obj 123 24 inlet;
#X obj 197 130 r SSSAD;
#X obj 197 87 s SSSAD;
#X obj 197 53 list prepend \$1;
#X obj 197 158 list trim;
#X obj 197 23 inlet;
#X obj 16 258 r SSSAD_ADMIN;
#X obj 16 306 b;
#X obj 16 284 route set;
#X obj 123 51 b;
#X obj 197 221 route \$1;
#X obj 574 442 s SSSAD_ADMIN;
#X obj 507 156 r SSSAD_ADMIN;
#X obj 507 304 b;
#X obj 507 248 spigot;
#X obj 633 70 loadbang;
#X obj 633 248 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 633 93 value \$1.SSSAD.req;
#X obj 633 192 select 0;
#X obj 665 139 + 1;
#X obj 665 162 value \$1.SSSAD.req;
#X obj 633 118 t a a;
#X obj 633 214 f 1;
#X obj 190 420 outlet;
#X obj 123 394 route bang;
#X text 207 393 filter out empty lists;
#X obj 574 412 list prepend persist \$1;
#X obj 123 365 list append;
#X text 195 108 on SSSAD we eavesdrop the communication;
#X text 656 247 - only the first instance responds to save;
#X text 129 498 2007/2008 fbar;
#X text 780 93 Enhancement by Enrique Erne;
#X obj 507 363 list append;
#X obj 507 386 route bang;
#X text 591 385 filter out empty lists here \, too.;
#X obj 196 249 route bang;
#X obj 507 275 route save \$1;
#X text 266 240 to output a specific key;
#X text 539 297 dol1 to save a specific key;
#X connect 0 0 9 0;
#X connect 1 0 4 0;
#X connect 3 0 2 0;

Re: [PD] New sssad.pd now in SVN repository - please test! [was: sssad slowness]

2008-07-29 Thread Frank Barknecht
Hallo Enrique,
Enrique Erne hat gesagt: // Enrique Erne wrote:

 That looks great. 

hehe, I already committed it. ;)

 Still, personally I will initialize all keys, this 
 guarantees to always have complete presets.
 
 [loadbang]
  |
 [;
 SSSAD vol 20, freq 42, other 1.2345(

Yes, that's probably good practice.

 Basically i would like it if there was a possibility to let some SSSAD 
 instances in a new patch output the value. Attached SSSAD has a possible 
 solution.
... 
 case 4) ___
 
 [loadbang]
  |
 [;
 SSSAD vol 0.5, vol bang(
 
  [sssad vol]
 /
 [*~]
 
 
 How about something like that? [SSSAD vol bang( could be used to specify 
 one key to output it's value. One more [route bang] would be required.
 
 One could argue [SSSAD vol bang( should delete the value, but i can't 
 think of a use of having a key without value.

Hm, maybe it could be nice to at least have the possibility to reset a
key, and the SSSAD-receiver kind of represents the right, cold
inlet. I tend to think of [sssad] like a variant of [list] and
[value].

OTOH the syntax SSSAD vol 0.5, vol bang looks nice.

Attached is a different approach for comparison: Here I introduced two
new messages for SSSAD_ADMIN: setonly KEY and saveonly KEY. It may
be cleaner to reuse the original messages and check if the user
supplied a specific key: set KEY to only set this key, but I didn't
manage to patch this (in a clean and simple way) that quick.

In the near future there will be some more SSSAD_ADMIN messages I'd
like to support: setlocal and savelocal to save to receivers
called $2-SSSAD_ADMIN where $2 will usually be the parent's $0, to
allow saving of all/some [sssad]s with canvas-local scope.

Ciao
-- 
 Frank Barknecht _ __footils.org__


sssad.pd
Description: application/puredata


sssad-initandsave.pd
Description: application/puredata
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] New sssad.pd now in SVN repository - please test! [was: sssad slowness]

2008-07-29 Thread Frank Barknecht
Hallo,
Frank Barknecht hat gesagt: // Frank Barknecht wrote:
 In the near future there will be some more SSSAD_ADMIN messages I'd
 like to support: setlocal and savelocal to save to receivers
 called $2-SSSAD_ADMIN where $2 will usually be the parent's $0, to
 allow saving of all/some [sssad]s with canvas-local scope.

Okay, the future is here: I took a different approach after looking
though my old notes to make it possible to use [sssad] for
local parameter saving and loading

Attached [sssad-l] is compatible to normal [sssad] (but requires at a
Pd with $1-$2 expansion). What's new: It also accepts a second
argument which should be a number (designed for $0). If this number is
0 or missing, everything is as before.

If $2 is different from 0, the global senders and receivers SSSAD and
SSSAD_ADMIN are *deactivated* completely and replaced by $2-SSSAD and
$2-SSSAD_ADMIN. 

sssad-l-test.pd includes some tests for this and also an example, how
this change can be used for local parameter handling. Comments
welcome.

Ciao
-- 
 Frank Barknecht _ __footils.org__


sssad-l-test.pd
Description: application/puredata


sssad-l.pd
Description: application/puredata
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


[PD] New sssad.pd now in SVN repository - please test! [was: sssad slowness]

2008-07-28 Thread Frank Barknecht
Hallo,
Frank Barknecht hat gesagt: // Frank Barknecht wrote:

 Thanks a lot. This looks good in my quick test and also more simple
 and elegant than the dynamic patching (which I wasn't too happy with
 anyway). I'll do some more tests after work, but it seems now all is
 as with singleton and if it indeed is, I'd like to include your
 change.

Okay, I commited this now with a bit of cosmetics and to include the
fix reported by hard off regarding empty lists. New version also is
attached for your convenience. Anyone using sssad.pd: Please test!

Ciao
-- 
 Frank Barknecht _ __footils.org__


sssad.pd
Description: application/puredata
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] New sssad.pd now in SVN repository - please test! [was: sssad slowness]

2008-07-28 Thread Si Mills
HI Frank,

So in a nutshell,  what is different about this? I got a bit lost  
following this thread :)

best wishes

ps. Hans - will this be included in the release of 0.40.3?


On 27 Jul 2008, at 11:54, Frank Barknecht wrote:

 Hallo,
 Frank Barknecht hat gesagt: // Frank Barknecht wrote:

 Thanks a lot. This looks good in my quick test and also more simple
 and elegant than the dynamic patching (which I wasn't too happy with
 anyway). I'll do some more tests after work, but it seems now all is
 as with singleton and if it indeed is, I'd like to include your
 change.

 Okay, I commited this now with a bit of cosmetics and to include the
 fix reported by hard off regarding empty lists. New version also is
 attached for your convenience. Anyone using sssad.pd: Please test!

 Ciao
 -- 
 Frank Barknecht _  
 __footils.org__
 sssad.pd___
 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] New sssad.pd now in SVN repository - please test! [was: sssad slowness]

2008-07-28 Thread Frank Barknecht
Hallo,
Si Mills hat gesagt: // Si Mills wrote:

 So in a nutshell,  what is different about this? I got a bit lost  
 following this thread :)

It should behave just as before except for one thing: Sending a set
to SSSAD_ADMIN or sending a bang into the first inlet of a [sssad]
object will never output a single bang on the [sssad]'s outlet. So
uninitialized [sssad] objects where just an empty list is stored will
stay silent until they receive some valid data.

The other change is an internal cleanup: The new sssad is completely
self-contained in sssad.pd. The helper abstractions in the
_sssad-subdirectory aren't used anymore and can be deleted (they
will be deleted from the SVN later as well.)

I don't think, the new sssad will be included in pd-extended 0.40, as
that is about to be released (or maybe released already?) and the new
sssad.pd isn't tested that much yet. 

AFAIK the old sssad was deleted from the current version of
pd-extended anyway, because the libdir-loader cannot load it.
Personally I think, removing sssad.pd is not a good workaround, but at
least it may make more people download and test the current
SVN-version. ;-)

Ciao
-- 
 Frank Barknecht _ __footils.org__

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] New sssad.pd now in SVN repository - please test! [was: sssad slowness]

2008-07-28 Thread Enrique Erne
Frank Barknecht wrote:
 It should behave just as before except for one thing: Sending a set
 to SSSAD_ADMIN or sending a bang into the first inlet of a [sssad]
 object will never output a single bang on the [sssad]'s outlet. So
 uninitialized [sssad] objects where just an empty list is stored will
 stay silent until they receive some valid data.

just a small remark about uninitialized [sssad] instances:

scenario:

1)
[sssad vol]
[sssad freq]

2)
change freq and save a preset XYZ
SSSAD_ADMIN: list persist freq 21
SSSAD_ADMIN: list persist vol
(note vol has no value!)

3)
a week later in a live session.. the vol now has been changed and 
doesn't have its default value. let's say it's 0.

4)
now load preset XYZ
loading meaning something like the following:
|;/
|SSSAD vol, freq 64;  |
|SSSAD_ADMIN set  \

5)
now vol will output nothing and [sssad vol] will be empty. but the 
object that gets the value from vol remains on 0, which was the last 
value set. the problem is that the preset doesn't sound the same as one 
week before.

thus)
i think sssad behaves correct. i think this problem is the usage of 
uninitialized [sssad] objects. IMO a patch developer should care to 
always store key _with_ values. therefore i suggest to always initialize 
all sssad keys in your abstraction or patch.
maybe like that:

[loadbang]
  |
|;   /
|SSSAD vol 73, freq 64;  |
|SSSAD_ADMIN set \

a different approach could be an empty symbol, but i don't like that. 
also one could check all values when loading a preset and checking for 
empty values but that's really ugly too.

now the point why i write this email:
it would be nice to have a little note in sssad-help that says 
initializing is strongly recommended or similar.

what do you think?

eni

frank: it's very nice that you mention me thanks, but i am also fine 
without, it was more a rearrangement of existing code. if you have a 
changelog it'd be happy there. otherwise you can remove it whenever you 
want.

thanks












___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list