Re: [PD] recursive controls problem

2014-05-09 Thread Frank Barknecht
Hi,

you could use a set $1-message to only set the slider's display value without
letting it propagate the new value to its outlet. 

Ciao
-- 
Frank


On Fri, May 09, 2014 at 01:24:34AM -0400, plutek infinity wrote:
 greetings!
 
 i'm sure this is a simple problem, but i can't seem to come up with
 the solution...
 
 i'm trying to control one numerical value in a few ways:
 
 1. have a bang to set an initial value
 2. have a slider for mouse control
 3. use keyboard keys to increment and decrement
 
 the attached patch all works, except i ALSO want the slider position
 to pick up the current value, as changed by any of the other
 methods.
 
 the problem is, of course, that if i connect the expr result back up
 to the slider input, i get a loop with stack overflow errors.
 
 i'd be most grateful for any pointers you can offer... thanks much!
 
 cheers!
 .pltk.
 

 #N canvas 0 29 958 1049 10;
 #X obj 54 95 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
 -1;
 #X msg 55 117 0.9;
 #X obj 251 122 key;
 #X obj 251 144 select 113;
 #X obj 125 330 expr $f1+$f2;
 #X msg 251 167 0.05;
 #X floatatom 125 352 5 0 0 0 - - -, f 5;
 #X obj 89 69 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
 -1 -1 1000 1;
 #X obj 211 183 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
 -1 -1;
 #X obj 150 297 float;
 #X obj 369 116 key;
 #X obj 333 178 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
 -1 -1;
 #X obj 369 138 select 97;
 #X msg 369 161 -0.05;
 #X msg 184 134 0;
 #X connect 0 0 1 0;
 #X connect 0 0 14 0;
 #X connect 1 0 9 0;
 #X connect 2 0 3 0;
 #X connect 3 0 5 0;
 #X connect 4 0 6 0;
 #X connect 4 0 9 1;
 #X connect 5 0 4 1;
 #X connect 5 0 8 0;
 #X connect 7 0 9 0;
 #X connect 7 0 14 0;
 #X connect 8 0 9 0;
 #X connect 9 0 4 0;
 #X connect 10 0 12 0;
 #X connect 11 0 9 0;
 #X connect 12 0 13 0;
 #X connect 13 0 11 0;
 #X connect 13 0 4 1;
 #X connect 14 0 4 1;

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


-- 
 Frank Barknecht _ __footils.org__

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


Re: [PD] declare and abstraction

2013-10-08 Thread Frank Barknecht
Hi Cyrille,

I struggled with that for a long time myself. Unless something changed in
0.44/0.45 the only really reliable solution I found was to *only* use [declare]
in a *toplevel* file, and never in any abstraction.  So for your layout I would
only put a [declare] into patch.pd like: 

In patch.pd: 
   [declare -path . 
   -path dir1 -path dir2 
   -path dir1/abstraction1 -path dir2/abstraction2]

Note that the first path that I always set is to the current directory (.) -
it's useful to have as well.

Ciao
-- 
Frank


On Tue, Oct 08, 2013 at 02:50:24PM +0200, Cyrille Henry wrote:
 Hello,
 
 I'm trying to setup a project organised in folder like this :
 
 projet/
   dir1/
   abstraction1/
   foo
   patch1.pd
 
   dir2/
   abstraction2
   bar
   patch2.pd
   patch.pd
 
 in patch1.pd, i've got a declare -path abstraction1 so that i can use the foo 
 abstraction
 same in patch2 : declare -path abstraction2 to use the bar abstraction
 patch1 and patch2 are autonomous.
 
 now, in patch.pd, I want to use patch1 and patch2.
 when using declare -path dir1, I can use patch1, but the declare  in patch1 
 is relative to the projet directory, not to the dir1, so foo is not found.
 
 when using dir2/patch2, it's the same problem.
 
 i would like that patch1 and patch2 deal with the declaration of path for 
 abstraction there are using. And i would like to be able to use patch1 and 
 patch2 in patch, without having to add declaration.
 i know that there is a warning in declare help not to do that.
 
 so, what is the vanilla way to organised project like that?
 
 for now, the solution i found is to organised things like this :
 
 projet/
   dir1/
   abstraction1/
   foo
   patch1.pd
 
   dir2/
   abstraction2
   bar
   patch2.pd
   all/
   patch.pd
 
 and using declare -path ../patch1/abstraction1 in patch1.
 but i don't really like that.
 
 
 thanks
 cheers
 Cyrille
 
 
 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management - 
 http://lists.puredata.info/listinfo/pd-list

-- 
 Frank Barknecht _ __footils.org__

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


Re: [PD] Sum of delays...

2013-09-24 Thread Frank Barknecht
Hi Mario,

On Mon, Sep 23, 2013 at 08:44:15PM -0300, Mario Mey wrote:
 Your router.pd is the one I was looking for for the router
 connection. Because I had done a dozens-of-wires connection... a
 mess. I use that technics, now, it is beautifull. Thank you.

Great to hear! 

 Is it better to have controls outside the audio-working abstracts
 and subpatches? I mean, having abstracts and subpatches without GOP
 and having all the buttons connected with send and receive from
 properties? I hate this method... but, if it is better...

GUI objects that don't receive any input through their inlets,
their receives or by mouse don't use any CPU ressources.
So feel free to keep them wherever you want. 

But when you control the patch via tablet, make sure you completly
bypass the GUI objects for maximum performance.

Ciao
-- 
Frank

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


Re: [PD] Sum of delays...

2013-09-23 Thread Frank Barknecht
On Sun, Sep 22, 2013 at 12:09:53AM +0100, Ed Kelly wrote:
 
 
 if you can I would prefer to patch with direct connections as it may make
 things clearer. Attach is a little sketch (router.pd) which uses no
 signal-sends and -receives at all, so you can be sure to have no delays
 introduced. Still you can route all over - but of course feedback paths are 
 not
 possible.
 
 
 Oh yes they are.
 
 If you send the audio you want to feed back into a [delwrite~ feedbuf
 10] object, and then take the audio back into the feedback loop using
 a [delread~ feedbuf 0] object, you can bypass the problem with
 feedback loops (stack overflow) and can create audio feedback
 networks.

Yeah, but actually the goal here was to avoid introducing any delays and
that's only possible if you avoid feedback as well.


Ciao
-- 
Frank

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


Re: [PD] Sum of delays...

2013-09-20 Thread Frank Barknecht
Hi Mario,

if you can I would prefer to patch with direct connections as it may make
things clearer. Attach is a little sketch (router.pd) which uses no
signal-sends and -receives at all, so you can be sure to have no delays
introduced. Still you can route all over - but of course feedback paths are not
possible.

Ciao
-- 
Frank

On Fri, Sep 20, 2013 at 09:04:03AM -0300, Mario Mey wrote:
 Thanks Frank, I understand the way Pd uses the sort. But I have to
 tell you that my patch has a Sound Router, as the attached file
 shows. With that router, I have different possibilities (The FX
 consoles are abstracts, also the Sample Banks):
 
 *Mic -- FX console A - FX console B - Output
 Sample Banks /
 
 Mic --- FX console A - FX console B - Output
  Sample Banks /
 
 Sample Banks --- FX console A - FX console B - Output
Mic /
 
 Mic - FX console A -- Output
 Sample Banks - FX console B /
 
 Sample Banks - FX console A -- Output
   Mic - FX console B /**
 ***
 And, with RESAMPLE FUNCTION (only one example):
 
 *Mic -- FX console A - FX console B - Output**
 **Sample Banks /   \ Sample **Banks (resample)
 *
 The Sound Router is a subpatch in the main patch.
 
 How about using s~ in the Sound Router (subpatch) and r~ in the main
 patch and, then, cord-connecting to the abstracts? (Instead of using
 r~ inside the abstract).
 
 The default use of this patch (when I use the mic to talk to the
 people) is the first example (although the FX consoles are off).
 Maybe, if I need to sort only in one way, I should sort following
 these example.
 
 Thanks again.
 
 
 PD: I have to say that I'm having a good latency using this patch,
 but maybe it could be better, only sorting in the right way. In
 other words, I'm not desperate to improve this.
 
 
 
 
 
 
 
 El 19/09/13 16:35, Frank Barknecht escribió:
 Hi,
 
 On Thu, Sep 19, 2013 at 02:20:28PM -0300, Mario Mey wrote:
 I think most of s/r and throw/catch are between abstracts. If I want
 to sort that objects (as Theory of Operation says: creating receive~
 after send~)... I don't know how to do it.
 To trick Pd into sorting signal objects, that are not directly connected with
 some patchcords (like sends), you must put them into subpatches or 
 abstractions
 and then connect these.
 
 For example this here will be unsorted:
 
 
   [sig~ 1]
   [sig~ 2]
   [sig~ 3]
 
 But this will be sorted:
 
   [sig~ 1]
   |
   [sig~ 2]
   |
   [sig~ 3]
 
 and this will also be sorted:
   [pd sig~1-inside]
   |
   [pd sig~2-inside]
   |
   [pd sig~3-inside]
 
 where each subpatch has something like this inside:
 
   [inlet~] [outlet~] [sig~ 1]
 
 The 3 objects inside the subpatch don't need do be connected at all, only the
 subpatches have to be connected to force an order.
 
 In the end, you have now tricked Pd to execute signals in the order 1, 2 and 
 3,
 although they aren't connected to anything. The order, in which these objects
 have been created doesn't matter and you should never rely on creation order
 anyway.
 
 Instead of subpatches you can use abstraction, but you have to connect these
 just as you have connected the subpatches.
 
 Ciao
 


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


-- 
 Frank Barknecht _ __footils.org__


router.pd
Description: application/puredata


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


Re: [PD] Sum of delays...

2013-09-19 Thread Frank Barknecht
On Thu, Sep 19, 2013 at 01:52:37PM -0300, Mario Mey wrote:
 I was guessing... if I made a sum of delays using so many send~ /
 receive~ and throw~ / catch~...
 
 For a full use of my patch (mic input - FX-A - FX-B - output), I
 have this structure (inside subpatches and abstracts):
...  
 Does every send~ / receive~ and throw~ / catch~ adds a 1 block delay?

No, not at all. They only need to add a block of delay, if you use a feedback
path, which you are not as far as I see. However you have to force the order of
execution of your non-local signal connections with s~/r~ and throw~/catch~ to 
avoid 
delays that Pd might introduce when doing its own ordering.

Do this by adding some subpatches as described in the help file:
3.audio.examples/G05.execution.order.pd or use direct connections where
possible.

 I'm using 48000, so, do I have 1.333ms * 10 = 13ms of delay because
 of using that objects?

Block delays with non-local connections will only happen if you don't do order
forcing. But if you are careful, you will have zero delay. 

Ciao
-- 
 Frank Barknecht _ __footils.org__

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


Re: [PD] Sum of delays...

2013-09-19 Thread Frank Barknecht
Hi,

On Thu, Sep 19, 2013 at 02:20:28PM -0300, Mario Mey wrote:
 I think most of s/r and throw/catch are between abstracts. If I want
 to sort that objects (as Theory of Operation says: creating receive~
 after send~)... I don't know how to do it.

To trick Pd into sorting signal objects, that are not directly connected with
some patchcords (like sends), you must put them into subpatches or abstractions
and then connect these. 

For example this here will be unsorted: 


 [sig~ 1] 
 
 [sig~ 2] 
 
 [sig~ 3]

But this will be sorted: 

 [sig~ 1] 
 |
 [sig~ 2] 
 |
 [sig~ 3]

and this will also be sorted:
 
 [pd sig~1-inside] 
 |
 [pd sig~2-inside] 
 |
 [pd sig~3-inside]

where each subpatch has something like this inside: 

 [inlet~] [outlet~] [sig~ 1]

The 3 objects inside the subpatch don't need do be connected at all, only the
subpatches have to be connected to force an order.

In the end, you have now tricked Pd to execute signals in the order 1, 2 and 3,
although they aren't connected to anything. The order, in which these objects
have been created doesn't matter and you should never rely on creation order
anyway.

Instead of subpatches you can use abstraction, but you have to connect these
just as you have connected the subpatches.

Ciao
-- 
 Frank Barknecht _ __footils.org__

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


Re: [PD] u_samplekit2 text file formatting

2013-09-15 Thread Frank Barknecht
Hi,

great to hear that you've solved it. Maybe you can add [declare -path .] to you 
toplevel
main Pd file to add its directory to the search path. Then you can use it as a 
main point 
of reference for relative path names.

Ciao
-- 
Frank

On Sat, Sep 14, 2013 at 03:26:37PM -0700, Joe Newlin wrote:
 Okay, so I solved the issue myself by using the absolute directory path in
 the open message, and it was an issue with [textfile] within [u_dumpfile]
 not receiving the correct path in the open message.
 
 On Sat, Sep 14, 2013 at 2:54 PM, Joe Newlin jtnew...@gmail.com wrote:
 
  Hello,
 
  I'm trying to use the u_samplekit2 abstraction from rjlib, and having
  trouble getting it to work.
 
  The help file says that the directory containing the samples must also
  contain a text file named index.txt that maps filenames to numbers. But
  it does not say how exactly one is supposed to enter that information in
  the text file. I tried writing a couple of lines to test it (g1 and g2
  are sample filenames):
 
  g1 0
  g2 1
 
  ...and I get these errors:
 
  /samples/index.txt: can't open
  /samples/index.txt: read failed
 
 
  The samples directory is located in the same directory as the patch.
 
  Can someone teach me how to use this?
 
  Thanks,
 
  Joe
 
  --
  www.joenewlin.net
  www.twitter.com/joe_newlin
 
 
 
 
 -- 
 www.joenewlin.net
 www.twitter.com/joe_newlin

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


-- 
 Frank Barknecht _ __footils.org__

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


Re: [PD] Scaling values in pd

2013-09-02 Thread Frank Barknecht
On Mon, Sep 02, 2013 at 06:17:37PM +0200, hghoyer wrote:
 in Max/MSP there is an object for simple scaling.
 
 If you create in MAX these object with this arguments:
 
 [scale 0 127 0 500] incomming messages from 0 to 127 are automatically
 scaled from 0 to 500...
 
 Is in PD a similar easyly way to scale values?

You can use an abstraction like m_scale.pd from the ri-library (attached) for 
this.

Or just divide by 127 and multiply with 500. :) 

Ciao
-- 
 Frank Barknecht _ __footils.org__


m_scale.pd
Description: application/puredata


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


Re: [PD] Reading txt file inside folder

2013-08-30 Thread Frank Barknecht
On Wed, Aug 28, 2013 at 07:31:54PM -0700, Ronni Montoya wrote:
 hi,[read ../data/colors.txt ( doesnt work here on macosx.
 
 I ve tried in the following way and it worked.
 
 [ read data/colors.txt (
 
 
 I was wondering if the way im doing this will allow the patch to work
 only on macosx?
 
 If yes, is there is a way of solving this?

Pd's way of referencing files with relative paths can be a bit peculiar, 
because depending
on where your patches and abstractions are and what is the Pd search path you 
have configured, 
Pd might use different places to start its file search.

Unless you can use absolute paths, in my experience a good way to help Pd
looking for files is to use a [declare]-object in your toplevel patch to add
the directory, where the toplevel patch file is to the search path. 

So in your toplevel file, lets assume it's called main.pd, use declare like 
this: 

 [declare -path .]

The final dot (.) is the current directory, where main.pd is, which would be 
workdir in a 
tree like this:


- workdir/
  - main.pd- add [declare -path .] here and use as main patch
  - other.pd
  - mylib/
 filereader.pd
  - data1/
- colors.txt
- data2/
  - colors.txt

After that can use all these to open files:

 [read data1/colors.txt (
 [read ../data2/colors.txt (

and it should even work, if yout have a [mylib/filereader] abstraction in
main.pd, that has your [textfile] inside.

All this is not dependent on the operating system, so it will work on OS-X,
Linux, iOS, Android, etc.

Ciao
-- 
 Frank Barknecht _ __footils.org__

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


Re: [PD] CPU usage of GUI objects in subpatches

2013-07-15 Thread Frank Barknecht
Hi,

I didn't test current Pd versions nor your fork, but up to 0.43 GUI
objects in subpatches or abstractions were a substantial and significant
CPU load when they are activated, even when invisible. So this is slow: 

 [r data]
 |
 [hsl ...]
 |
 [s data-out]

But this is fast:

 [r data]
 |
 | [hsl ...]
 |/
 [s data-out]

Maybe this has changed now with the latest versions, so I would
recommend to benchmark it again.

Ciao
-- 
Frank

On Sun, Jul 14, 2013 at 12:16:24PM -0400, Ivica Ico Bukvic wrote:
 AFAIK none--if it is not visible, its gui calls are ignored.


 From: pd-list-boun...@iem.at [mailto:pd-list-boun...@iem.at] On Behalf Of i
 go bananas
 Sent: Sunday, July 14, 2013 4:01 AM
 To: PD List
 Subject: [PD] CPU usage of GUI objects in subpatches
 
  
 
 I'm assuming of course that no GUI objects in subpatches is optimal. but
 what sort of effect do sliders. toggles, bangs, etc have on CPU usage when
 hidden in unopened subpatches?
 
  
 
  
 

 ___
 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] l2ork: SSSAD loads but doesn't save presets

2013-06-24 Thread Frank Barknecht
Hi,

On Sun, Jun 23, 2013 at 09:42:54PM +0200, András Murányi wrote:
 I've been having a problem with SSSAD for a few weeks: it's able to load
 presets, but when it comes to saving, an empty state is written (i mean, it
 does write but it overwrites the previous content of the preset with
 nothingness). The example patches don't work either.
 There are no errors in the console and I have also overwritten the whole
 SSSAD folder with a newly downloaded one, still no joy.
 Tested in vanilla and it works.

sssad.pd itself doesn't write anything to disk, so there must be
something else that's doing the writing. What sssad does is sending messages to
receivers called SSSAD_ADMIN and SSSAD or to semi-global receivers called
$2-SSSAD_ADMIN and $2-SSSAD for [sssad] objects with a second argument
different from 0. 

You can try to read and [print] these receivers to debug if no data is received.

Ciao
-- 
 Frank Barknecht _ __footils.org__

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


Re: [PD] vanilla replacement for polygate~ ?

2013-03-26 Thread Frank Barknecht
On Sun, Mar 24, 2013 at 10:22:43PM +0100, Lorenzo Sutton wrote:
 On 22/03/13 22:35, Jonathan Wilkes wrote:
 
 From: Patrick Pagano bigsw...@ufl.edu
 To: pd-list@iem.at
 Sent: Friday, March 22, 2013 3:57 PM
 Subject: [PD] vanilla replacement for polygate~ ?
 
 
 Hello
 
 I was wondering if anyone had an idea for a Vanilla replacement for
  polygate~, which is listed as a switch between multiple signal
  inputs. I would like to make a patch for IPAD/MOBmuPLat that has
  this in the patch but i am wondering what a good vanilla substitute
  might be for it?
 
 
 You can't.  Or-- you can, but it will be a cheap imitation that either
 a) always has some maximum number of inlets, or b) uses nonlocal
 receive names to make up for the fact that you cannot dynamically
 instantiate inlets inside an abstraction because the [loadbang]
 
 It would be relatively easy instead if one could dynamically set the
 name for [send~] (like for [receive~]) in vanilla.

You can set the name for [throw~], though. But for a [polygate~] variant one 
would use
the settable [r~] anyway, I suppose. The idea would be: 


 [soundgen~ 1]
 |
 [s~ s-1]

 [soundgen~ 2]
 |
 [s~ s-2]


 [set s-1(
 |  [set s-2(
 | /
 |/
 [r~ s-1]
 |
 [dac~]


But it's still no polygate~: You get nocrossfades and of course no [inlet~]s.

I'd just just patch a [dekagate~] abstraction with 10 fixed inputs and proper
fading for Pd vanilla. It's useful to have anyway and you only do it once.

Ciao
-- 
 Frank Barknecht _ __footils.org__

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


Re: [PD] Expression challenge 2013

2013-03-19 Thread Frank Barknecht
Hi,

On Tue, Mar 19, 2013 at 02:55:24PM +, Pagano, Patrick wrote:
 Can you explain to me what this awesome-ness you have created does?
 I am assuming it's a expr~ converter, but what is the proper way to deploy 
 this?

That would be cool, but Roman just used a subpatch and patched the inside 
manually. 

Ciao
-- 
 Frank Barknecht _ __footils.org__

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


Re: [PD] list vs. symbol array [was: Re: Licensing issues]

2012-11-08 Thread Frank Barknecht
Hi,

On Wed, Nov 07, 2012 at 05:45:49PM -0800, Jonathan Wilkes wrote:
 [symbolarray] does indeed take about half as much cpu as using the message
 box.  It also takes exactly the same cpu as [makefilename %d-tab] which is
 much simpler and doesn't require an abstraction.  But maybe you needed those
 specific names for the tables for some reason...

The m_symbolarray-abstraction is a convenience wrapper around 
 
 [element symarray symbols]
 |
 [get sym name]

which includes some logic to manage the array's content. [makefilename %d-tab]
btw. cannot manage anything.

So [makefilename %d-tab] is doing something different. You should not use
m_symbolarray to replace it. Only use a symbolic array, where you need it.

Ciao
-- 
 Frank Barknecht _ __footils.org__

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


Re: [PD] IBM PureData

2012-11-08 Thread Frank Barknecht
Hi,

I actually had considered naming the Blocked Signal Processing (BSP) idiom
which I presented at LAC 2010 Interrupted Block Mathematics at first. I 
didn't.

Ciao
-- 
Frank

On Thu, Nov 08, 2012 at 10:58:26PM +0900, i go bananas wrote:
 illogical bandwidth modulation?
 
 intermittent bass magnet?
 
 inlet bypass mechanism?
 
 isolating beat masher?
 
 industrial bitcrush monster?
 
 indie band mutilator?

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


-- 
 Frank Barknecht _ __footils.org__

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


[PD] list vs. symbol array [was: Re: Licensing issues]

2012-11-06 Thread Frank Barknecht
On Mon, Nov 05, 2012 at 11:38:00AM -0800, Jonathan Wilkes wrote:
 - Original Message -
  From: Frank Barknecht f...@footils.org
  
  On Mon, Nov 05, 2012 at 08:26:17AM -0800, Jonathan Wilkes wrote:
   How many table names total were there in the patch that was overloading
   the device?
  
  I don't remember anymore, that was in 2009, when the abstraction was first
  posted here on pd-list. 
  
  But if you don't believe me, just do some benchmarks on your own and compare
  array access with list filtering.
 
 It makes no difference if the number of table names is around 100.  At 1000 
 your
 method is certainly faster-- I've just never had a patch with 1000 tables.

I'm pretty sure, the patch at that time didn't either. The main problem then
was the high frequency with which lookups had to happen. As a special election
day service I have written a benchmark showing this situation. On my machine
the symbolarray uses about 16 percent CPU at the metro period of 0.01 ms
while list lookup uses 24. Now 0.01 ms may sound like a tempo you won't
encounter in real music, but that's wrong: In chords you play many notes at the
same time, the period then is a very fast 0 ms. This can generate CPU usage
spikes on slow devices if the lookup is too slow - at least that's my
explanation for why the symbolarray was able to fix the patch.

Ciao
-- 
 Frank Barknecht _ __footils.org__


m_symbolarray-help.pd
Description: application/puredata


m_symbolarray.pd
Description: application/puredata


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


Re: [PD] Licensing issues (was rjdj is gone, robotcowboy is coming ...)

2012-11-05 Thread Frank Barknecht
Hi,

On Sun, Nov 04, 2012 at 05:48:23PM -0800, Jonathan Wilkes wrote:
 [list of the table names(
 |
 |    [r midi_note_number]
 |   /
 |  [set $1(
 | /
 [ (
 |
 
 If the essence of seeing the light regarding Pd Vanilla is that it's more
 efficient to use what's already there to read/write/share patches, I don't
 see why you'd prefer the abstraction to such a straightforward idiom to
 solve your task.

For m_symbolarray the main reason was speed and as a side-effect allowing
holes in the array. Accessing an array (even one in a data structure) is a
lot faster than sending around a long list every time a lookup is needed.
m_symbolarray made a patch run nicely on an iPhone that was totally
overloading the device before. 

Of course often you just can get away with the usual approach that you outlined
above, and please do so, if you don't run into problems.

But if a) the number of names (i.e. the list length) gets large or b) you have
to activate this idiom many, many times, you can hit a wall. And it's quite
easy to make a) and b) with sample players if you play polyphonic music with
many instruments in it. Here m_symbolarray is one way out.

Ciao
-- 
 Frank Barknecht _ __footils.org__

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


Re: [PD] Licensing issues (was rjdj is gone, robotcowboy is coming ...)

2012-11-05 Thread Frank Barknecht
Hi,

On Mon, Nov 05, 2012 at 08:26:17AM -0800, Jonathan Wilkes wrote:
 How many table names total were there in the patch that was overloading
 the device?

I don't remember anymore, that was in 2009, when the abstraction was first
posted here on pd-list. 

But if you don't believe me, just do some benchmarks on your own and compare
array access with list filtering.

Ciao
-- 
 Frank Barknecht _ __footils.org__

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


Re: [PD] Licensing issues (was rjdj is gone, robotcowboy is coming ...)

2012-11-04 Thread Frank Barknecht
Hi,

On Sat, Nov 03, 2012 at 07:48:45PM -0700, Jonathan Wilkes wrote:
 That's a bit like having an abstraction to make an array of Pet Rocks.
 What do you use it for?

Everywhere you need to translate an index number into an arbitrary symbol. For
example to translate midi note numbers to table-names in a generic sample
player. 

Ciao
-- 
 Frank Barknecht _ __footils.org__

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


Re: [PD] Open midi files in PD Vanilla?

2012-08-13 Thread Frank Barknecht
On Mon, Aug 13, 2012 at 11:37:17AM -0700, Miller Puckette wrote:
 The seq object is part of Krzysztof Czaja's cyclone library which I
 found rather easy to compile last time I tried (on a linux system; not
 sure what will happen in IOS).  I don't think there are any third-party
 library dependencies but I could easily be wrong about that since linux
 provides so much stuff and it's easy to use things without knowing you're
 using them.
 
 Another pretty good way would be to use some midi file to text converter
 to pre-convert all the MIDI files you want to use; then use qlist in
 Pd vanilla to sequence them.  

[seq] can save a midi file in a text format that with some massaging can
be made to play directly in a qlist. The rj library contains an
abstraction c_seqplay that does the necessary conversions on the fly.
rj is availabe at https://github.com/rjdj/rjlib
(c_seqplay is pure vanilla)

Ciao
-- 
Frank


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


Re: [PD] list-abs

2012-07-13 Thread Frank Barknecht
On Wed, Jul 11, 2012 at 06:18:46PM +0200, João Pais wrote:
 I think this abstraction doesn't load, because it has a conflict with the 
 folder(library) name. writing [list-abs/list-abs] works out well.
 does this happen with other libraries, also with externals or just with  
 abstractions? never noticed.

As far as I remember it is related to some kind of bug in Pd-extended or the
[import] external or the libdir format or so, which fail when a libdir contains
an abstraction that has the same name as the libdir. For the same reason the
sssad abstraction was banned from Pd-extended in the past. Maybe that has
changed now.

Personally I believe, a library format where you cannot use the same name for
an object as the library's name is a flawed format. Anyway as the [list]-abs
collection is a collection of abstractions, there is no need to use -lib to
load it, use -path instead.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] running Pd with a timer for an installation?

2012-07-09 Thread Frank Barknecht
Hi,

On Mon, Jul 09, 2012 at 08:44:11PM +1000, Richie Cyngler wrote:
 However if I want to kill Pd first is [realtime] the best object to use for
 a scheduled event (in this case quitting Pd) like this?

No, [realtime] is just a stopwatch for elapsed time, similar to [timer]. It's 
not a clock. 

If you want to quit Pd at a certain time, [date] from the zexy library is fine,
or you can use your operating system's scheduling mechanisms to start a little
script to quit Pd gracefully via pdsend and a [netreceive] in your patch.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] [TogEdge] - anything else ?

2012-06-21 Thread Frank Barknecht
Hi,
On Wed, Jun 20, 2012 at 05:29:49PM +0200, tim vets wrote:
 don't know if it matters if the tgl isn't visible,
 but i guess you could also use:
 [i ]X[== 0]

That would be *much* faster than using the [tgl]. You can squeeze a
little bit more performance out of it if you use [f ] instead of [i ].

Ciao
-- 
Frank

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


Re: [PD] [pd] tables as patch storage

2012-06-17 Thread Frank Barknecht
On Thu, Jun 14, 2012 at 11:29:10PM -0400, Billy Stiltner wrote:
 so there are 3 builti ways to do some sort of patch storage - msgbox,
 table, and txtfile.

4) data structures i.e. the [struct] object and relatives.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] list.element in mtl?

2012-05-26 Thread Frank Barknecht
On Wed, May 23, 2012 at 02:34:13PM -0400, Dafydd Hughes wrote:
 Hi folks
 
 I may be wrong here: is mtl meant to replace pdmtl?
 
 If that's the case, am I crazy or is list.element missing? Is there a good
 replacement for it?

The list.element.pd I have here is just an atom-thin wrapper around [packel
$1], so you could use that instead.  If you want to avoid externals, you could
build something with two [list split] objects or message boxes with set,
adddollar. For negative indices, just substract the index from [list length]

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] list.element in mtl?

2012-05-26 Thread Frank Barknecht
On Sat, May 26, 2012 at 09:45:38AM +0200, Frank Barknecht wrote:
 On Wed, May 23, 2012 at 02:34:13PM -0400, Dafydd Hughes wrote:
  Hi folks
  
  I may be wrong here: is mtl meant to replace pdmtl?
  
  If that's the case, am I crazy or is list.element missing? Is there a good
  replacement for it?
 
 The list.element.pd I have here is just an atom-thin wrapper around [packel
 $1], so you could use that instead.  If you want to avoid externals, you could
 build something with two [list split] objects or message boxes with set,
 adddollar. For negative indices, just substract the index from [list length]

Forgot to mention: [list-idx] from list-abs is similar. It has zero-based
indexing, so it's one off compared to list.element and doesn't spit out the
full list on n=0.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


[PD] Current PMPD binaries for Win and Mac?

2012-05-17 Thread Frank Barknecht
Hello,

I am looking for compiled binaries of the latest pmpd for Windows and Mac. I'm
interested in the 2011f versions with single-object simulations: [pmpd],
[pmpd2d] and [pmp3d] like in [msd], not the old pmpd which is included
in Pd-extended 0.43 beta and earlier.

Anyone has these and could make them available? 

Thanks a lot.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] Current PMPD binaries for Win and Mac?

2012-05-17 Thread Frank Barknecht
On Thu, May 17, 2012 at 11:36:46AM +0200, Nicolas Montgermont wrote:
 Here are the mac bins from august 2011

Wonderful, thanks a lot! 

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] variable receive objects?

2012-05-12 Thread Frank Barknecht
Hi Jörn,

On Sat, May 12, 2012 at 01:20:45PM +0200, Jörn Nettingsmeier wrote:
 is there a way to generate a variable receive object similar to a send  
 via message box, whose source is defined at load time?

Attached is a common idiom that can be used in this kind of situation. It
basically works by using one single global send/receive name for everything,
thereby reducing the risk of nameclashes. You could pass $0 as argument to both
abstraction to make it a bit local or better yet: Use [inlet]s to make it as
local as it gets in Pd. Inlets rock!

Then each message you pass along gets prefixed by a certain tag (a number id
in the example) in the sender and routed accordingly at the receive side. 
This basically moves the actual receive name into the message you send.

The example requires Pd 0.43 with settable [route] objects, but it's possible
to clone a settable route with [select], check out the sroute.pd example in the
[list]-abs collection.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__


rs-set.pd
Description: application/puredata


r-set.pd
Description: application/puredata


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


Re: [PD] state of memento.

2012-04-17 Thread Frank Barknecht
Hi,

On Tue, Apr 17, 2012 at 01:08:50PM +, David Schaffer wrote:
 I would like to know if the memento state saving system is still supported in
 pd-extended under windows XP. I was using 0.42.5 and had to downgrade to
 0.40.3 to be able to recall my presets. In other, more recent versions, the
 recall process would crash pd instantly. It is frustrating to have to use old
 versions of pd when so many great people work hard on new releases.

While I don't know about the state of Pd-extended, crashes when using Memento
almost always are related to one of the few externals used, namely [pool] and
sometimes [prepend]. I think I have replaced all occurences of [prepend] in all
Memento/RRADical patches with an abstraction prepent.pd (sic!), so this should
not crash anymore, but check on your system to make sure. 

Which leaves [pool] as a common reason for crashes. I don't know why it
crashes. In my experience, people have been able to solve it with a
recompilation of pool and flext for their Pd version. I guess it should be
possible to compile for the latest Pd/Pd-X, too, but it's probably something
you have to do on your own.

I would suggest to base future preset handling on the [sssad] abstraction. It's
also usually not shipped by the Pd-extended maintainer (maybe it is in the
latest version, I didn't check), but because it's a single Pd vanilla
abstraction, it is very easy to use just everywhere.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] hslider/vslider - mismatch of input and output

2012-04-02 Thread Frank Barknecht
On Sun, Apr 01, 2012 at 08:14:43AM -0300, Iain Mott wrote:
 Hi, I've noticed something strange with hslider and vslider. I you give
 them a large range, the inputs and outputs aren't always equal or at
 least they are out by a factor greater than 1. For example with the
 range 0 - 55000, if you connect a number object to hslider's input and
 enter 6034, the output reads 6032.68. 
 
 Couldn't find this reported elsewhere - though perhaps i didn't search
 hard enough. This result is on linux.

I reported this a loong time ago, in 2006:
http://sourceforge.net/tracker/?func=detailaid=1556206group_id=55736atid=478070

It happens, if the slider's range is not divisible by its pixel size. A 100px 
slider
0...100 is fine, a 100px slider 0 ... 127 is not.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] list-abs and externals [was: Re: [pd] tables as patch storage]

2012-03-30 Thread Frank Barknecht
Hi,

On Tue, Mar 27, 2012 at 12:11:10PM -0700, Jonathan Wilkes wrote:
 But I find it interesting that you only imagine the guts of list-abs getting 
 replaced 
 with externals in order to improve the performance, and not with new core 
 objects. 

Oh, but I can imagine it and it has already happened: list-len.pd was counting
the output of [list-drip] before [list length] was introduced, which is now the
sole object inside of list-len.pd

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] rtc lib help patch revisions

2012-03-30 Thread Frank Barknecht
On Wed, Mar 28, 2012 at 02:46:12PM -0700, Jonathan Wilkes wrote:
 Thanks.  On that page it says:
 Thanks to Frank Barknecht and others, RTC-lib is available for Pd (Pure
 Data). Download from khz96.org. Frank?  Should I sent the revisions to you to
 commit?

Yeah, I ported RTC to Pd. You can send me the revised help-patches with 
meta-inside and
I'll commit it.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] [pd] tables as patch storage

2012-03-27 Thread Frank Barknecht
On Mon, Mar 26, 2012 at 12:20:51PM +0200, Charles Goyard wrote:
 Hi,
 
 Billy Stiltner wrote:
  why havent i seen more usage of tables as patch storage?
 
 Maybe because you can only store numbers, not strings.
 
 A textfile seems more versatile.

Or a message box. Miller's help-files are crammed full with message boxes used
as patch storage. Patch-level storga it nice for toplevel patches, but often
not really useful in abstractions, when each abstraction instance needs a
different state, although they all share the same patch file.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] [pd] tables as patch storage

2012-03-27 Thread Frank Barknecht
On Tue, Mar 27, 2012 at 08:04:37AM -0700, Jonathan Wilkes wrote:
  From: Mathieu Bouchard ma...@artengine.ca
  (Of course, there are externals, but they're not the kind of thing used by 
  the kind of people who come up with list-abs.)
 
 I don't know what that means.  What does that mean?

Matju is teasing me as maintainer of list-abs as a vanilla-based library,
deliberatly jumping to the wrong conclusion I would despise externals.
But I ignored the remark. Or actually now I didn't. 

Ciao
-- 
Frank

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


[PD] list-abs and externals [was: Re: [pd] tables as patch storage]

2012-03-27 Thread Frank Barknecht
On Tue, Mar 27, 2012 at 11:21:15AM -0400, Mathieu Bouchard wrote:
 list-abs was designed to only use pd's builtins, no externs, which
 makes it more like academic exercises of proving that anything can
 be done with a Turing tape machine, rather than being designed in a
 pragmatic way. 

Actually I consider list-abs to be very pragmatic *because* it only uses
builtins. This makes it highly portable and trivial to use
everywhere, even without installing it globally.

If you treat list-abs as an interface or API, it also is very easy to 
optimize the objects by using externals inside of the
list-abs-abstractions without having to change the surrounding patches.

I already sketched this approach four years ago:
http://lists.puredata.info/pipermail/pd-list/2008-12/066571.html

Ciao
-- 
Frank

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


Re: [PD] [pd] tables as patch storage

2012-03-27 Thread Frank Barknecht
On Tue, Mar 27, 2012 at 11:38:13AM -0400, Mathieu Bouchard wrote:
 Le 2012-03-27 à 17:37:00, Frank Barknecht a écrit :
 
 On Tue, Mar 27, 2012 at 08:04:37AM -0700, Jonathan Wilkes wrote:
 From: Mathieu Bouchard ma...@artengine.ca
 (Of course, there are externals, but they're not the kind of thing used by
 the kind of people who come up with list-abs.)
 
 I don't know what that means.  What does that mean?
 
 Matju is teasing me as maintainer of list-abs as a vanilla-based library,
 deliberatly jumping to the wrong conclusion I would despise externals.
 But I ignored the remark. Or actually now I didn't.
 
 Well, by calling it « teasing » you're avoiding the point of my
 remark, which is essentially ignoring it. I think that you're
 deliberately jumping to the wrong conclusions about my mail, too.

I have 6 minutes left on my battery and won't leave the warm garden sun to 
jump to other conclusions. 

Ciao
-- 
Frank

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


Re: [PD] [PD-announce] Pduino 0.5 maintenance release

2012-03-19 Thread Frank Barknecht
On Mon, Mar 19, 2012 at 06:53:11AM -0400, José Luis Santorcuato Tapia wrote:
 Hi, is a great new, but also is a sadness that do not continue with the
 project, I must say was one of the most relevant contributions to media art
 and physical computing.

I've been using Roman and Olsen's version for a while now. It's much improved
and easier to get running on Pd installations including vanilla-based ones
because it avoids relying on the Pd-extended path layout where unneccessary.
Hans forgot to mention where to get it:
https://github.com/reduzent/pduino

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] Re : Re : store and manipulate multiple lists

2012-03-18 Thread Frank Barknecht
Hi Benoît,

On Sat, Mar 17, 2012 at 01:26:35PM -0700, Benoît Fortier wrote:
 I'm still not familiar with data structure and pointers in pd, but I think
 I'll use your suggestion as a starting point. Thanks!

Learning data structures is a bit confusing at first, but many typical 
operations
repeat again and again in almost the same way. It's like the [f ]x[+ 1] 
counter: At first it's 
hard to understand, but later you'll just do it without thinking.

Attached is a working sort patch.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__


sort-by-first-element-help.pd
Description: application/puredata


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


Re: [PD] Re : store and manipulate multiple lists

2012-03-17 Thread Frank Barknecht
Hi,

On Thu, Mar 15, 2012 at 11:39:51AM +, Andy Farnell wrote:
 Yes of course. Once you can sort items of any type you can sort 
 aggregate items, structs, sublists  or whatever on one of their
 elements. Its a little messy in Pd. The best way might be to
 use pointers and try to do the classic Kernighan and Richie
 head swap thing but I have no idea how to exchange pointers in
 Pd.

Sorting lists of numbers by their first element is pretty easy to do
with Pd's data structures/pointers. I don't have Pd at hand now to patch
an example (maybe Monday), but basically you first define a data
structure with one float x field and one with an array of these
float-items in addition to its own float x. 

 [pd $0-f]: 
structure with one float item:
[struct $0-f float x]

 [pd $0-record]:
   structure with an x-float for sorting and the array data to hold
   all the list items:
   [struct $0-record float x array data $0-f]

Then you create the structured data from the lists and write them to a
subpatch as usual with data structures. The first element in an incoming
lists doubles as x position, the array holds the rest of the list.

   [r one-list]
   |
   [t a a a]
   ||  |
   ||  [list split 1]
   ||  |  ... traverse subpatch blabla
   ||  [append $0-record x]
   ||  |
   ||  [s $0-current-pointer]
   ||
   |[list length]  [r $0-current-pointer]
   ||  |
   |[setsize $0-record data]
   |
   [list-enumerate] - list-drip with index numbers, i.e. list a b - 0 a, 1 
b
   |
   [swap][r $0-current-pointer]
   |   \ |
   [element $0-record data]
   |  \
   [set $0-f x]

Then sorting is just a message sort to the subpatch receiver,
afterwards dump the lists again using basically the opposite from above.
You're only interested in the data array now.

Ciao
-- 
Frank

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


Re: [PD] vline~ precision, or sequentially segmented playback of a buffer

2012-03-14 Thread Frank Barknecht
Hi,

On Tue, Mar 13, 2012 at 08:01:21PM +0100, João Pais wrote:
 The offset of [tabread4~] was there to avoid any reading errors when the  
 index points get too high (the whole sample is almost 7m long). So 
 there's not option for this, but to use only the right entry?

I believe it should be possible to correct the timing issues of the offset 
inlet 
with some additional calculations involving [timer] and [bang~] that take 
into account that this inlet is only updated at block boundaries. It's probably 
a bit
tricky to get right, but I suppose it could work.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] mrpeach routeOSC behaves differently then its previous release?

2012-03-13 Thread Frank Barknecht
Hi,

On Mon, Mar 12, 2012 at 06:36:25PM -0400, Hans-Christoph Steiner wrote:
 On 03/12/2012 06:06 PM, yvan volochine wrote:
  On 03/12/2012 02:54 PM, Hans-Christoph Steiner wrote:
  IMHO, [routeOSC] should accept these two as the same thing:
 
  [/bla/1/blabli 0.437(
  [list /bla/1/blabli 0.437(
 
  It'll make life easier for a lot of people, and I can't see any
  disadvantage in that setup.
 
  well, in pd in general, [list foo bar( is not exactly the same as [foo
  bar(, unless I'm missing something (if so, please, feel free to
  enlighten me ;)).
 
  why not change also the behavior of [route] (and tons of other
  objects) to make life easier for a lot of people ??
 
  I don't really see the point.. [routeOSC] expects an OSC path, [list
  /foo/bar 666( is obviously not one.
 
  my 20 COP anyway.
 
 I personally think it would be great to get rid of the separation
 between lists and non-list messages (i.e. lists of atoms that start with
 a symbol other than list).  But that's a big project that will break
 backwards compatibility.
 
 Changing specific objects to ignore the difference can be done now
 without compatibility concerns.

I don't believe that getting rid of the separation in general is a good goal.

But I do agree, that ignoring the difference in some objectclasses can be
a useful time saver without introducing nasty side-effects.

Some examples: 

In the rj library most objects use the last inlet solely for control messages,
i.e. special meta-messages to set the object's state. This inlet starts with a
[list trim] as its first operation effectively making list-messages with the
parameter name as first element the same as meta-messages where the parameter
name is the selector. list frequency 440 is treated the same as frequency
440. The only disadvantage here is, that the object's inlet can not react in a
special way to real list-messages. So what? I designed the objects so I could
make sure none of them wants to do that, of if they want to, they can be
designed to use a different, often more memorizable selector like notelist 60
62 64. (This is different from the general case in Pd where many objects
actually *do* special things with list-messages, most notably all message 
boxes).

The whole [list] object family except [list trim] (and the [list]-abs
collection as well) internally convert everything the other way around, into
list-messages and they output list-messages. This makes manipulating lists
much less error-prone.

[routeOSC] obviously has worked fine in the past with the same approach, so I
don't think, it's of much use to force users to insert their own [list trim]
suddenly. It's not like in [route] where [route list] is indeed needed
sometimes (or was needed before [list trim] appeared). One could just as well
define [routeOSC] as an objectclass that routes pure OSC-messages as well as
OSC-messages that are embedded in a list-message. Control messages like
verbosity 1 could still be used and the check, if a path is a proper OSC-path
would just be applied to the first element of a list-message if necessary.

So I'm not convinced. :)

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] vline~ precision, or sequentially segmented playback of a buffer

2012-03-13 Thread Frank Barknecht
On Mon, Mar 12, 2012 at 11:32:44AM -0400, William Brent wrote:
 I'm also wondering about the timing of tabread4~'s offset inlet being
 updated.  I get fewer clicks by tossing most of the patch into a
 subpatch with [block~ 1].  I haven't checked really carefully, but
 that does seem to make it so that clicks only occur where there are
 gaps in the log.txt file.

This also is the reason for the 181 msec clicks I get. Replacing the whole
[list-sub] construction with a simple [$1, $2 $3( between [textfile] and
[vline~] gives a nice and clean sound, except at the turnaround points where
clicks are expected anyway. 

The offset-index of [tabread4~] is a message inlet that is not timing accurate,
[tabread4~] will use the value from here at a different time than [vline~] uses
its own copy of the value, leading to clicks.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] mrpeach routeOSC behaves differently then its previous release?

2012-03-13 Thread Frank Barknecht
Hi,

On Tue, Mar 13, 2012 at 10:02:01AM +0100, Roman Haefeli wrote:
 You're not convinced of what now? 

Sorry for the unclarity: I'm not convinced of the recent change in [routeOSC],
I think, it would work fine accepting list-messages as well as proper
OSC-meta-messages. 

 The proposal is actually what you describe above. Currently it _does_ make a
 separation between 'list' selector and 'OSC path' selector (it disregards
 messages with 'list' selector). Did you mean to say: 'Yeah, I'm convinced of
 the proposal to change [routeOSC]s behaviour to make it also messages with
 the 'list' selector'?

Yes.

 Hans proposed to generally get rid of the separation between 'list'
 selector and 'any' selector messages in all parts of Pd. 

That's what I'm not convinced of: When designing a new language, one may
consider a different approach. But I don't see a need to change this system in
Pd now, it works fine in general.

 undecided whether this is a good idea, but if it would be done, I'd
 consider it a bad approach to do it in every (external and internal)
 class separately. Rather should Pd's message system be changed.

Well, the whole list-/any-/float-/...-messages *are* Pd's message system. It's
a very flexible system, that allows differentiating between all kinds of
messages. In the end it's up to the author of a patch/external/abstraction to
decide which distinctions should be used. Not everything that is allowed has to
be done all the time. 

In the [list]-objects (minus trim) the distinction between list-messages and
meta-messages is not necessary, because lists are all these objects deal
with. So it makes sense that these objects treat meta-messages like
list-messages. 

That's very different from for example [pipe s s 1000] which will delay a [list
x y( or a [symbol S( for one second, but can still be flushed with a flush
meta-message. 

 In this particular case, [routeOSC]'s behaviour is consistent with its
 brothers and sisters, since [unpackOSC] also outputs only messages with
 an OSC path as selector. 

So what? [routeOSC] will continue to work fine with what it gets from
[unpackOSC], but additionally users constructing their own OSC-messages with
[list]-operations could skip the final [list trim].

 Also for the documentation it's much more concise to state 'the selector of
 the incoming message is considered the OSC path' than 'the selector of the
 incoming messages is considered the OSC path, unless the selector is list
 where the first element of the message is considered the OSC path'.

The first element in the incoming message is considered the OSC path. :) No
mentioning of selectors, list-message, meta-messages needed to document it
here, unless one is a language lawyer.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] mrpeach routeOSC behaves differently then its previous release?

2012-03-13 Thread Frank Barknecht
Hi Roman,

On Tue, Mar 13, 2012 at 12:19:59PM +0100, Roman Haefeli wrote:
 Though I lack to see the necessity to change [routeOSC]'s current
 behaviour, I agree that it most likely wouldn't cause any harm.

As I understand it, this topic only came up because apparently the behaviour
has been changed in the newest release to not allow list-messages containing
OSC-messages as first item anymore, breaking some old patches without any urgent
necessity.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] tunetof scl2pd.py

2012-03-12 Thread Frank Barknecht
Hi,

On Sun, Mar 11, 2012 at 07:11:27AM -0400, Billy Stiltner wrote:
 No errors with sending the command to shell.
 
 I did get some errors though with a few runs of it in a terminal here is an
 example.
 
 ValueError: could not convert string to float:
 bj@bj-HP-Pavilion-dv5-
 Notebook-PC:~/Desktop/tunetof$ python scl2pd.py stiltnerphihr16.scl
 Traceback (most recent call last):
   File scl2pd.py, line 69, in module
 tab = convert_scala(file)
   File scl2pd.py, line 58, in convert_scala
 tab.append(ratio2float(l))
   File scl2pd.py, line 21, in ratio2float
 return float(r[0]) / float(r[1])
 ValueError: could not convert string to float:

This looks as if there's something strange in stiltnerphihr16.scl, where
stiltnerphihr16.scl probably contains a ratio. Make sure, the ratios don't have
any spaces, i.e. 2/3 is fine, 3 / 4 is not.

 also in tunetof.pd there was an error with nonoctave tunings
 here is a correction 

I think, you this is based on an outdated version of tunetof, the latest one
(though already 3 years old) doesn't have expr in it anymore. You can get it
here:
http://pure-data.svn.sourceforge.net/viewvc/pure-data/trunk/abstractions/footils/tunetof/

I don't remember anymore if the latest version deals correctly with non-octave
tunings, it may not. What exactly did you change here?

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] vline~ precision, or sequentially segmented playback of a buffer

2012-03-12 Thread Frank Barknecht
Hi William,


On Mon, Mar 12, 2012 at 11:32:44AM -0400, William Brent wrote:
 Another thing is that, even though vline~ can start ramping between
 block boundaries, there's still a lower limit involved.  You can see
 in the attached patch that you can't get a period less than about 88
 samples (or 44 samples for each half of the triangle wave).  

This actually is a limitation of [metro] which has a lower boundary of 1
millisecond. If you replace it with a metro-clone based on a feedback'd [delay]
you can get lower periods.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] tunetof scl2pd.py

2012-03-09 Thread Frank Barknecht
On Thu, Mar 08, 2012 at 01:10:34AM -0500, Billy Stiltner wrote:
  what is the best way to run scl2pd.py from within pd? i forgot where shell
 is located.  i want an open file dialog then pass the file name to
 scl2pd.py. i probably ought to just rewrite in a languagei understand
 like java and have the ratios sent to a table through udp that way I can
 have a cool scala browser that displays info about the scale before
 selecting it to be used since there are over 4000 of them

You could use the [shell] external to quickly run the script, or rewrite it 
to be a Lua external, which shouldn't be hard. 

But scl2pd.py is intended to be run from the command line. With it, you can
convert all the scales that are part of the Scala software with a single
command:

 scl2pd.py *.scl

After that, you get one file ending in .scl.tab for every scale and don't 
need to run
scl2pd.py again.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] [PD-announce] pdlua and tclpd: now embedded in Pd-extended 0.43

2012-02-27 Thread Frank Barknecht
On Mon, Feb 27, 2012 at 12:54:23PM +0100, João Pais wrote:
 I'm thinking about using lua to build an interpreter for my Click Tracker 
 (http://code.google.com/p/clicktracker/), so it's great that this is  
 working. Can you recomend any good lua tutorial? 

Take the blue PIL! http://www.lua.org/pil/

For starters the online 1st edition is fine, but I still recommend to buy the
second edition: The PIL is one of the best books on programming in general in
my opinion, and you will probably learn a lot that you can use in other
languages as well.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] sigmund list sort

2012-02-26 Thread Frank Barknecht
On Sat, Feb 25, 2012 at 02:45:38PM -0500, Mathieu Bouchard wrote:
 Le 2012-02-25 à 09:34:00, Frank Barknecht a écrit :

 Yes, exactly. I often use data structures, well, as data structures and 
 almost never use them for scores in a UPIC sense.

 What's UPIC ?

I was referring to the UPIC composition tool by Iannis Xenakis (Unité
Polyagogique Informatique du CEMAMu), that was one of the inspirations for the
graphical score capabilities in data structures.

See http://en.wikipedia.org/wiki/UPIC

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] Resonant filter using cpole~ czero~

2012-02-25 Thread Frank Barknecht
On Fri, Feb 24, 2012 at 12:46:13PM -0500, Mathieu Bouchard wrote:
 Le 2012-02-24 à 09:07:00, Frank Barknecht a écrit :

 I made it half signal-rate: The object accepts signal parameters, but 
 these are just linearly interpolated internally, i.e. they don't move  
 correctly on a circle.

 If you interpolate, it means that you are doing something at non-signal  
 rate. What is it that makes you having to interpolate a signal parameter  
 that is already at the same rate as the main input ?

Ah, sorry - I was completely wrong in my explanation. Now I checked:
[e_beequad] linearily interpolates between parameter settings that are set at
*message* rate. The original [biquad~] simply jumps to new settings. 

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] sigmund list sort

2012-02-25 Thread Frank Barknecht
On Fri, Feb 24, 2012 at 10:40:52AM -0800, Jonathan Wilkes wrote:
 - Original Message -
  From: Mathieu Bouchard ma...@artengine.ca
  To: Miller Puckette m...@ucsd.edu
  Cc: pd-list@iem.at
  Sent: Friday, February 24, 2012 1:16 PM
  Subject: Re: [PD] sigmund list sort
  
  Le 2012-02-24 à 09:51:00, Miller Puckette a écrit :
  
  It's odd, but it never occurred to me that one should be able to 
  specify
  which field(s) to sort on -- it's x, then y.  I should fix this...
  
  Nearly all the music I ever composed used a vertical time axis. Lots of 
  people 
  are in this situation, though perhaps not many are also into Pd DS.
 
 Data structures can be used for more than drawing a score with a vertical 
 time 
 axis.  In Frank's case there aren't even any drawing instructions-- the only 
 reason 
 he's using x is because that's the field the canvas sort method uses.

Yes, exactly. I often use data structures,  well, as data structures and
almost never use them for scores in a UPIC sense. 

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] sigmund list sort

2012-02-25 Thread Frank Barknecht
Hi,

On Fri, Feb 24, 2012 at 01:26:54PM -0500, Mathieu Bouchard wrote:
 I have Pd-extended 42.5 that contains Michał Seta's sort, which used to 
 be cubic (O(n³)) and with even lower sorting limits, until I made you 
 replace the O(n²) [list-drip] that used O(n) stack, by one that runs in 
 O(n) and uses O(log n) stack.

 I don't know any more recent version of list-abs.

To me the home of [list]-abs is the CVS repository, but I'm a bad boy who 
practically never does proper releases. 

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] sigmund list sort

2012-02-25 Thread Frank Barknecht
On Sat, Feb 25, 2012 at 09:38:20AM +0100, Frank Barknecht wrote:
 Hi,
 
 On Fri, Feb 24, 2012 at 01:26:54PM -0500, Mathieu Bouchard wrote:
  I have Pd-extended 42.5 that contains Michał Seta's sort, which used to 
  be cubic (O(n³)) and with even lower sorting limits, until I made you 
  replace the O(n²) [list-drip] that used O(n) stack, by one that runs in 
  O(n) and uses O(log n) stack.
 
  I don't know any more recent version of list-abs.
 
 To me the home of [list]-abs is the CVS repository, 

Oops, SVN of course. At Sourceforge.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] sigmund list sort

2012-02-24 Thread Frank Barknecht
On Sat, Feb 18, 2012 at 01:14:22PM -0500, Mathieu Bouchard wrote:
 Le 2012-02-18 à 09:58:00, Miller Puckette a écrit :

 I believe there's no good way to do this in pd vanilla.  THere should 
 be a 'list sort' but I haven't figured out what would be the best 
 design. (and there's probably already a list sort in Pd extended :)

 the [list-sort] abstraction uses a high-constant O(n²) algorithm that  
 breaks once you try to sort more than 125 values. 

Actually [list-sort] since quite some time uses the sort method borrowed from
Pd's data-structures for sorting. The problem here is not so much the sorting
algorithm, which is very fast and can sort way more than 125 items.

However copying the list to a data structure and back - this currently indeed
has a problem with stack-overflows, as I'm now aware. Have to think about a
fix ...

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] Resonant filter using cpole~ czero~

2012-02-24 Thread Frank Barknecht
On Sun, Feb 19, 2012 at 11:33:28AM -0500, Mathieu Bouchard wrote:
 Le 2012-02-03 à 09:46:00, Frank Barknecht a écrit :

 Most filters in the rj library (https://github.com/rjdj/rjlib) use a  
 similar approach. They even include a biquad-clone written with  
 elementary filters.

 Why would you clone biquad using elementary filters ? Is it just to show  
 that it's possible, or is it to make it fully signal-rate ?

I made it half signal-rate: The object accepts signal parameters, but these
are just linearly interpolated internally, i.e. they don't move correctly on a
circle.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] [PD-announce] Japanese Pure Data book is out now.

2012-02-24 Thread Frank Barknecht
Hi,

wonderful! I really like the cover, too. 

I just found that BNN International also has an Englisch announcement here:
http://bnn-international.blogspot.com/2012/02/this-is-basic-how-to-book-about-pure.html

All the best,
-- 
Frank

On Mon, Feb 20, 2012 at 05:38:00PM +0900, Seiichiro MATSUMURA wrote:
 Dear list,
 
 The world first Japanese Pure Data book for sound programming will be
 published from BNN(Bug News Network) Inc. on 23rd Feb. 2012 in Japan.
 The title is Pd Recipe Book -Sound Programming with Pure Data. This
 book is written for the programming newbies with the step by step type
 tutorials.
 If you know anybody who can read Japanese and hope to jump into the Pd
 world, please recommend this book.
 
 Web site (Japanese)
 Pd Recipe Book -Sound Programming with Pure Data
 http://www.bnn.co.jp/books/title_index/web/pd_recipe_book_pure_data.html#more
 
 I hope this become the starting point to spread Pd in Japan.
 
 best wishes,
 
 Sei Matsumura
 
 --
 __/__/__/__/__/__/__/__/__/__/__/__/__/__/__/__/__/
 Seiichiro Matsumura, Ph.D.
 
 Tokyo University of Technology
 School of Design
 Associate Professor
 
 http://low-tech-ism.com/
 __/__/__/__/__/__/__/__/__/__/__/__/__/__/__/__/__/
 
 ___
 Pd-announce mailing list
 pd-annou...@iem.at
 http://lists.puredata.info/listinfo/pd-announce
 

-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] sigmund list sort

2012-02-24 Thread Frank Barknecht
Hi,

attached is an approach using data structures to do the sorting of peaks.
Somehow I forgot how to set the sort field in a data structure and cannot find
it in the docs. Wasn't there some way to specify a different field than x for
sorting? (Maybe it was simply sort fielname which I didn't try in my quick 
patch.)

Ciao
-- 
Frank

On Sat, Feb 18, 2012 at 09:58:50AM -0800, Miller Puckette wrote:
 I believe there's no good way to do this in pd vanilla.  THere should be
 a 'list sort' but I haven't figured out what would be the best design.
 (and there's probably already a list sort in Pd extended :)
 
 cheers
 Miller
 On Sat, Feb 18, 2012 at 04:19:58PM +0100, labyrinthuscochlearis wrote:
  hi all,
  
  what would be a good way to transform sigmund~'s peaks output so that I
  get a list with peak amplitudes but in the ascending order of the
  corresponding frequencies?
  
  thanks,
  christian
  
  
  ___
  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

-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__


peak-sort.pd
Description: application/puredata


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


Re: [PD] two arguments for udpsend OSC message?

2012-02-13 Thread Frank Barknecht
On Mon, Feb 13, 2012 at 04:03:20PM +0100, Christoph Kuhr wrote:
 Hi list,

 i want to pass a second argument to the message:  send /foo/bar $1 $2

 but pd complains: error: $2: argument nuber out of range

 how can i achieve this?

The error you got means that you passed a message that was to short to the
message box - it only had one item. So to fix it send a list with two items. :) 

Also make sure that you're sending a real list-message, see 
http://en.flossmanuals.net/pure-data/ch038_lists/

If in doubt, add a [list] object in front of your message box to convert to a
list-message.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] sdtout converts symbol with space to list

2012-02-07 Thread Frank Barknecht
On Tue, Feb 07, 2012 at 11:24:13AM -0500, Mathieu Bouchard wrote:
 Le 2012-02-07 à 17:08:00, Cyrille Henry a écrit :

 pd did not have any escape character to deal with space.
 this is a generic problem more than a bug.

 The parser knows how to parse backslash space to mean a space within a  
 symbol, but the printer doesn't handle it.

[stdout] does handle spaces in symbols, but not in combination with the [t a]
in front of it, only when it receives the spaced-out symbol directly. I guess
there is something shady with [stdout]'s anything-method going on.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] Equal-power crossfade?

2012-02-06 Thread Frank Barknecht
Hi,

On Mon, Feb 06, 2012 at 02:22:34PM +0100, Pierre Massat wrote:
 I need a simple equal-power crossfade between two signals. I asked the same
 question a few years ago, but i just can't remember how to do it...

This is used in rj's e_pan.pd:

left = cos(p) * signal
right = sin(p) * signal

where p is in radians from 0 to PI/2 (i.e. multiply your 0...1 panning by 
1.5708...)

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] Analog square wave?

2012-02-06 Thread Frank Barknecht
On Mon, Feb 06, 2012 at 09:43:29AM -0500, chris clepper wrote:
 In an analog synth the square wave has some distortion to it: the rise is
 not instantaneous and there is some overshoot of the peak too.  Over the
 years this was minimized by using high slew rate amp circuits and the like
 so an old Moog pulse wave is less ideal in shape than a new one.
 
 For a digital square wave you would want to use band limiting to avoid
 alias artifacts which are quite severe for a square or sawtooth wave.  As
 the frequency goes higher both of those waves will begin to look more like
 sine waves as the partials are filtered out.  Pretty much every commercial
 digital synth and plugin uses anti-aliased waveforms.

However when using this as a LOW frequency oscillator, I would 
simply ignore the literature on bandlimiting and go with a pure digital
aliased wave full force! :)

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] Equal-power crossfade?

2012-02-06 Thread Frank Barknecht
On Mon, Feb 06, 2012 at 02:42:01PM +0100, Frank Barknecht wrote:
 Hi,
 
 On Mon, Feb 06, 2012 at 02:22:34PM +0100, Pierre Massat wrote:
  I need a simple equal-power crossfade between two signals. I asked the same
  question a few years ago, but i just can't remember how to do it...
 
 This is used in rj's e_pan.pd:
 
 left = cos(p) * signal
 right = sin(p) * signal
 
 where p is in radians from 0 to PI/2 (i.e. multiply your 0...1 panning by 
 1.5708...)

Oh, well, actually you were looking for crossfade, not panning. It's basically
the same idea, though. In the rj library you could use [c_cpxfade]. The
helpfile for this compares it with the linear [c_xfade] which has the hole in
the middle.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] Equal-power crossfade?

2012-02-06 Thread Frank Barknecht
On Mon, Feb 06, 2012 at 09:29:33AM -0500, Jaime Oliver wrote:
 Here's an argument for plain linear crossfade.
 I get power boosts with cosine crossfades...

Your example is a bit broken (there is no panning going on at all), but I get
the same result with a the fixed version or with [e_pan] in
the rj library when adding left and right signal together and taking the RMS.

The boost in the center is to be expected: In the center with CP-panning,
left and right channels both are multiplied by about 0.707 instead of 0.5 with
a linear pan, so adding them together will make the center louder.
Perception-wise this results in the signal appearing nearer to you than with
linear panning, which is the reason this is used: With CP-panning the signal 
will
appear to move around you in a constant circle whereas with linear panning it 
will 
move farther away from you as it gets to the center, it will move as if on an 
oval.

Avoiding this kind of movement is the motivation for CP-panning.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] Equal-power crossfade?

2012-02-06 Thread Frank Barknecht
On Mon, Feb 06, 2012 at 10:15:51AM -0800, Jaime Oliver wrote:
  Your example is a bit broken (there is no panning going on at all),
 
 you're right. ... coffee excuse ...
 here is a fixed version in case someone is interested.
 
 the subject of the e-mail however, does not ask to pan, but to
 crossfade without loosing or adding power.

Yeah, I confused that right from the start ... missing-coffee-excuse ...

 What the example shows is a linear crossfade where the RMS remains
 constant during the crossfade.

This has its roots indeed in the use of fading identical signal(s). If you use
different input sounds, the CP-fade gives nicer results. Attached is an example
that uses the linear/cp crossfades from the rj-library as subpatches and fades
two different signals and then the same signal twice.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__


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


Re: [PD] Resonant filter using cpole~ czero~

2012-02-03 Thread Frank Barknecht
On Thu, Feb 02, 2012 at 03:32:00AM +, Ed Kelly wrote:
 Here is my first attempt at making a resonant lowpass filter using cpole~ and
 czero~ objects. It's the first version I've made which actually sounds
 halfway towards what I want to achieve, which is a decent diode-ladder or
 transistor-ladder filter emulation. I want to make this using only vanilla
 objects, particularly rpole~, cpole~ etc. so that they can be ultra-portable
 and signal-controlled. Also,
 http://www.timstinchcombe.co.uk/index.php?pge=poles#diode
 
 
 Does anyone else have any ideas, or patches we can share?

Most filters in the rj library (https://github.com/rjdj/rjlib) use a similar
approach. They even include a biquad-clone written with elementary filters. Some
are modelled after the classic reson-filters used since CSound times.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] precision of vline~ and/or pd messaging

2012-01-26 Thread Frank Barknecht
Hi,

On Wed, Jan 25, 2012 at 10:38:06AM +0100, João Pais wrote:
 and here a link to a thread with iohannes and lyon:
 http://markmail.org/message/7usetdchjlqyk3eu#query:+page:1+mid:7usetdchjlqyk3eu+state:results

 Actually it's Frank and Eric. :) The thread still sums up what's  important
 here: It's not necessary to use Eric's objects in Pd. They may be useful in
 Max/MSP and they provide some nice functionality besides accuracy, but  the
 accuracy you get with vline~ and Pd's clock objects (metro, delay, etc.)
 already is subsample-exact, so it's fine for many cases and as good as  what
 you get with [samm~] and relatives. Just use [metro].

 oops.

 so, your wording in the final sentence should be something like so it's  
 fine for many cases and MORE PRECISE as what you
 get with [samm~] and relatives. Just use [metro]?

I don't think, it's more precise, I think, Eric's objects are just an
alternative approach to get the same precision as you get with vline~. IIRC
Eric wasn't aware of vline~ when he wrote his objects.

 just to ask beforehand: between the bang starting the event and vline~  
 there are a couple of patches: getting the counter nr, segment 
 references, quantisation etc, all in message level (with vanilla and 
 extra objects). But if the initial bang is block-precise (wherever in 
 the audio block it should be), all message objects should behave fine?

 which are Pd's clock objects you described above, all objects in the  
 time section of pd-van? 

Yes, but of course people can write externals that use Pd's internal clock just
as metro, delay or pipe do. Contrasting these you may have a non-clock message,
for example if you click a [bang( message. This will actually not be activated
at the exact time that you click it, but always on a block boundary. 


 will also pd-ext objects behave in the same 
 way, provided that it's not their function to include more delays?
 I'll rephrase the question, if between bang and vline~ I put an external  
 doing a multiplication or something, will it delay the message? (I guess  
 the answer is no, but want to be sure)

The usual message transformation objects don't change the timing of the
original message. Pd is deterministic, so you can assume that all the
message calculations etc. that you do happen at the same time.

Timing problems occur only when you leave or enter this message realm, for
example when converting messages to (and from) audio signals, because audio 
signals
in Pd are block based. The gory details are in Miller's TTEM-book: 
http://crca.ucsd.edu/~msp/techniques/latest/book-html/node40.html

Especially note the subchapters:
Control streams
http://crca.ucsd.edu/~msp/techniques/latest/book-html/node43.html
and 
Converting controls to signals 
http://crca.ucsd.edu/~msp/techniques/latest/book-html/node52.html
and help patch: C04.control.to.signal.pd 

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] precision of vline~ and/or pd messaging

2012-01-25 Thread Frank Barknecht
On Wed, Jan 25, 2012 at 09:56:11AM +0100, João Pais wrote:
 Ah, and I see in addition to your message you wrote vline~ in the 
 title! Oops.

 I don't know what click2bang~ does-- is it aligning its bangs to block  
 boundaries?  That's just a guess.

 better to leave it to the author to describe it  
 (http://www.somasa.qub.ac.uk/~elyon/LyonSoftware/Pd/):

 samm~ sample accurate multiple metronomes, with click signal articulation
 click2bang~ Convert click trigger to a bang

 according to the author, putting these 2 objects in a row gives a very  
 precise metro.


 and here a link to a thread with iohannes and lyon:  
 http://markmail.org/message/7usetdchjlqyk3eu#query:+page:1+mid:7usetdchjlqyk3eu+state:results

Actually it's Frank and Eric. :) The thread still sums up what's important
here: It's not necessary to use Eric's objects in Pd. They may be useful in
Max/MSP and they provide some nice functionality besides accuracy, but the
accuracy you get with vline~ and Pd's clock objects (metro, delay, etc.)
already is subsample-exact, so it's fine for many cases and as good as what you
get with [samm~] and relatives. Just use [metro].

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] my phase vocoder example implemented in polar form

2012-01-10 Thread Frank Barknecht
On Tue, Jan 10, 2012 at 05:35:50AM -0200, Alexandre Torres Porres wrote:
 by the way, I figured out a simple way of having an actual accurate loop
 inside [expr] in a similar fashion.
 
 something like
 
 expr if ($f1 = end_$0, $f1 - end_$0, if ($f1  0, end_$0 + $f1, $f1))
 
 and the after the [line~] object I also take take care of it
 
 expr~ if ($v1 = end_$0, $v1 - end_$0, $v1)
 
 as for the back window, the above output is subtracted a hop size, and I do
 this expr~ if ($v1  0, $v1 + end_$0, $v1) so it doesnt get negative.
 
 Sounds fine, perfect looping, thanks to [expr]

Isn't this actually very similar to the simpler and faster [wrap~] (see
attachment)? [wrap~] is different in that it will also wrap around for values
larger than twice the loop size and it will wrap around in negavite areas as
well, but I think, that's what you want anyway.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__


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


[PD] [PD-announce] 7. November 2011: Patchbay in Cologne

2011-11-01 Thread Frank Barknecht
English below
 |
 V

Liebe Freunde,  


am nächsten Montag, 7.11.2011, findet nach einer ausgedehnten Sommerpause unser
nächstes Patchbay-Treffen statt. Special Guest: Chikashi Miyama. 

Wir starten um 19:00 im Klanglabor der KHM, Filzengraben 8, Köln.  Ihr seid
herzlich eingeladen.

Für unser Treffen am 7.11.2011 haben wir diesmal einen besonderen Gast.
Chikashi Miyama aus Japan, derzeit am ZKM in Karlsruhe, wird seine
Komposition Black Vox spiele. Dabei kommt sein selbst entwickelter
Peacock-Controller zum Einsatz, eine einzigartige schwarze Kiste mit 35
Infrarot-Abstandssensoren, die berührungsfrei mit den Händen gespielt wird.
Ein Theremin auf Dopamin! Im Anschluss erklärt er die Technik hinter dem Gerät 
und
erlaubt uns vielleicht sogar einen Blick auf die nackten Schaltkreise, jawoll! 
Video hier: http://chikashi.net/detail?id=20lang=e

Die Kölner Patchbay ist ein zwangloses Treffen für alle, die sich mit
stöpselbaren Medien befassen. Ob ihr euch für Patch-Software wie Pure Data, Max
oder SuperCollider interessiert, echte Patchkabel in Modularsynths stopft
elektronische Steckplatinen mit Arduinos befüllt oder Circuit Bending macht -
hier seid ihr richtig und findet Gleichgesinnte. Es gibt Getränke.

Beste Grüße,
-- 
Die Leute aus der Stöpselbucht: Dirk, Frank, Tobias, Tobias, Volker uvm.


Dear Friends,

we're happy to invite you to the next Patchbay meeting in Cologne on Nov 7,
2011, 7 pm, in the Klanglabor (Soundlab) of the KHM (Academy of Media Arts
Cologne), Filzengraben 8, Cologne.

This time we will have a special guest: Chikashi Miyama.

Chikashi Miyama from Japan, currently researcher at ZKM Karlsruhe, will perform
his composition Black Vox. It uses a special controller, Chikashi developed:
the Peacock, a box-shaped sensor-based interface, which detects the movements
of a performer's hands employing thirty-five infrared sensors.  Subsequent to
the performance he will explain some technical details of his work and the
controller.

The Patchbay in Cologne is a casual, informal meeting for everyone interested
in patchable media. It was started in the beginning of 2011 by a handful of
Cologne sound and media artists, some of them are using software like Pure
Data, Max/MSP or Supercollider, others prefer hardware modular synths, still
others have a circuit bending background or develop custom instruments around
microcontrollers like the Arduino board. Whatever patching environment you're
interested in, the Patchbay meetings offer an opportunity to see and discuss
your and other's projects and just hang around. There will be drinks!

Best regards
-- 
The Patchbay People: Dirk, Frank, Tobias, Tobias, Volker and others



___
Pd-announce mailing list
pd-annou...@iem.at
http://lists.puredata.info/listinfo/pd-announce

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


Re: [PD] sigmund~

2011-09-30 Thread Frank Barknecht
Hi,

On Thu, Sep 29, 2011 at 06:35:51PM -0700, Benoît Fortier wrote:
 I'm using the sigmund~ object to get amplitude and pitch information
 for the loudest peaks of a signal (see the sinusoid-tracking help
 patch, which can be found in the sigmund~ help patch). Out of that
 information, I want to create, let's say, 5 midi notes corresponding
 to the 5 loudest peaks of the signal. How would you transform the peak
 amplitude outputs of sigmund, which are linear, into midi velocities
 in order to make those 5 notes sound with the same relative amplitude
 that they have in the analysed signal?
 
 It might be a stupid question but what are those linear peak amplitude
 values exactly? Do they have any unit?

They don't have a unit, they specify the actual peak amplitude of a
sine component in a signal. If you feed a sigmund~ with an unscaled
[osc~] the peak reported should be close to 1, as the sinewave coming
out of an [osc~] goes from -1 to 1, so the absolute peak is 1. If you
attenuate this [osc~] by multiplying it by 0.5, sigmund~ should report a
peak near 0.5 accordingly. The amplitude is linear in that it directly
outputs this multiplication factor - multiplication by constants
(homogeneity of degree 1) and addition (additivity) are the two
linear operations here. See e.g.
http://en.wikipedia.org/wiki/Linear_map for some gory details.

There also are non-linear operations possible. For example
multiplication of a signal with itself is a first step into the
non-linear world. You may remember the parabolic curve if you plot
f(x)=x*x which looks like a glass of wine and obviously is not a
straight line(ar) anymore.  dB-curves are similarily skewed, as are
square root, log, or other [pow] curves. 

Now it's possible to express the amplitude of signals in various ways.
The peak amplitude above actually already is a modification in that it
only considers the absolute value of the actual amplitude (which is
negative sometimes in the case of an [osc~], but not for a [phasor~]!).

You could also look at the instantaneous amplitude of a signal with
[snapshot~] for example, or calculate some kind of average, or use the
absolute peak-to-peak-amplitude (which would be 2 for an [osc~]!)

A very important amplitude specification is the RMS or root-mean-square
amplitude. This is especially interesting as a signal's power is
proportional to the square of RMS. RMS in Pd is calulated by the [env~]
object.

Now in music you very often are interested in powers, intensities
or loudness (more complicated) values, for example you want something to
be twice as loud as another sound. That's where logarithms and decibels
come in. Check e.g. this
http://hep.physics.indiana.edu/~rickv/Loudness_Scales.html
for some details.

In Pd an important thing to know is its non-standard use of the term dB:
For example [env~] outputs values in dB which are scaled so that a
[sig~ 1] will have an RMS of 100, and [sig~ 0] has RMS of 0. But to
convert these into linear amplitude multipliers from 0 to 1 you cannot
just divide by 100, as your intermediate values would be wrong: [sig~
0.5] gives an [env~] of about 93.97 and not 0.5 as might be expected!
Instead use [dbtorms] here, and [rmstodb] for the undo-operation. The
attached file shows these operations in action.

More reading stuff:
http://en.wikipedia.org/wiki/Amplitude
http://www.iu.edu/~emusic/acoustics/amplitude.htm

Ciao
-- 
Frank


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


Re: [PD] Output numbers consecutively, one at a time in PD

2011-09-13 Thread Frank Barknecht
On Mon, Sep 12, 2011 at 11:39:11PM +0200, Patrice Colet wrote:
 hi,
 
 - Sebastian Valenzuela svalenzuelamu...@gmail.com a écrit :
 
  Thank you for the responses, Andy and Jonathan. But I am looking for
  something that will output THE FIRST number whenever I hit bang...
  then the NEXT number when i hit bang a second time (and so on).  So
  there is no steady, timed rate (as with the list sequencers) of
  number
  output, and I don't want to output all my numbers out right away (as
  with the list-drip object).
  
 
 then there is [footils/list-dripslow] for that

While this would indeed work, I think, Matju's suggestion of a table
driven by a [f]X[+ 1] counter, maybe with [mod tablesize] in between
would be a better approach, for example because you can easily change
the store values on the fly - and of course it's more efficient. 

If you need to do this with symbols, the [m_symbolarray] from the rj
library can be used to index symbols by positions. If you have mixed
lists of numbers and symbols I'd probably indeed use [list-dripslow],
or maybe just this: 

 [list append 1 2 3 a b c]
 |
 | [0\ - change with a counter, then bang the [list]
 | |
 | [set, adddollar $1(
 |/
 [$1(

Ciao
-- 
Frank

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


[PD] Chord by me

2011-09-11 Thread Frank Barknecht
Hi,

Chord is a drone metal piece I wrote for the Cologne Music Night
2011, where it was performed in a very nice location, the Kunststation
St. Peter, an old romanic church from around 1500. So far I don't have a
recording of the performance, so here you get one of the final
rehearsals I did with the piece on the day before the concert.

http://footils.org/2011/09/11/chord/

The concert was recorded as well by the local radio station WDR
and may be played tonight on WDR3 on 9/11/2011 somewhen between 20pm and 2am.
http://www.wdr3.de/konzert/details/artikel/koelner-musiknacht-2011.html
Streams: http://www.wdr.de/wdrlive/wdrplayer/wdr3player.html

Best,
-- 
Frank

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


Re: [PD] (breaking symbols) was Re: find a list of numbers in a text file

2011-09-10 Thread Frank Barknecht
On Fri, Sep 09, 2011 at 12:07:20PM -0400, Hans-Christoph Steiner wrote:
 And indeed, if I was only going on what the manual said, it would be a
 very weak argument.  Mostly, I'm going on how the type system works.
 You can directly interface the automatic typing of atoms by adding
 arguments in an object or message box. 

No. You can only indirectly interface the automatic typing via arguments,
because the editor conversions (numbers - A_FLOAT) interfere here.

 It is not currently possible to generate a 456 symbol by typing something
 into a message or object box. 

Editor conversions again. To see how the type system works, you should go to
the source code where you will discover that it allows symbols that look like
a number, because the data-carrying part of a symbol is a char*.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] (breaking symbols) was Re: find a list of numbers in a text file

2011-09-09 Thread Frank Barknecht
Hi,

On Tue, Sep 06, 2011 at 09:30:25AM -0700, Jonathan Wilkes wrote:
  From: fbar f...@footils.org
  I used [makefilename %d] a lot in the rj library's [m_chorddict]
  dictionary for chords, where some chord names are proper symbols, like
  m7, while others are floats like 7. The float-names get converted to
  symbols internally to look up chord notes in a data structure array
  keyed by symbols only (using [m_symbolarray]).
 
 At what point are you using numerical-symbol selectors?  Everything you've 
 described has the selector 'symbol'.

With numerical symbol I meant a proper symbol/t_symbol, that looks
like a number, but of course it's a t_symbol.  It's the thing that
comes out of [makefilename %d] if you send it e.g.  123. So I'm
converting floats to symbols, which I think is not what you proposed.

Anyway I checked, and in m_chorddict I didn't exactly use it like I
described (memory was playing tricks on me), so it's not a good example.

Ciao
-- 
Frank

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


Re: [PD] (breaking symbols) was Re: find a list of numbers in a text file

2011-09-09 Thread Frank Barknecht
Hi,

On Wed, Sep 07, 2011 at 02:13:01PM -0400, Hans-Christoph Steiner wrote:
 About hex 0x form, that could conceivably fall under the anything
 that looks like a number is a float, as least for programmers.

I really disagree with your assumption, that in Pd, anything that looks
like a number is a float. This is simlpy not how Pd  works or is
programmed, it's not in the manual [1] and [makefilename %d] proves the
opposite is true: Some symbols can indeed look a lot like numbers. I
think, your wrong premise leads to wrong conclusions and should be
reconsidered.

[1] Here are some occurrences of you premise: 
- Anything that is not a valid number os considered a symbol.
appears in 2.1.2. object boxes and talks about object boxes.

2.3.1. anatomy of a message The selector is a symbol, which appears
in the patch as a non-numeric string with no white space, semicolons, or
commas. Note the appears in a patch, which again hints at the
well-known feature of the editor to convert things that look like
numbers to floats.

Same chapter: It is possible to type messages which start with a
number, which cannot be used as a selector. Note the type.

Ciao
-- 
Frank

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


Re: [PD] (breaking symbols) was Re: find a list of numbers in a text file

2011-09-06 Thread Frank Barknecht
Hi,

On Mon, Sep 05, 2011 at 02:34:30PM -0400, Hans-Christoph Steiner wrote:
 
 On Sep 5, 2011, at 2:06 PM, Frank Barknecht wrote:
 Here this sentence is true, but you know that not every data entity in
 Pd can be used in object boxes as name or argument, while most things
 that looks like a number will become one here.
 
 I agree that the implementation does not match the descriptions in
 the manual. 

We do not agree, because what I tried to say is that the implementation
*does* match the description! :) In the Pd editor, i.e. in objects
boxes, message boxes etc., certain things that look like a number will
be converted to a number. (+1 won't).

 That's what is in important here.  Yes, its possible to
 generate any kind of symbols using certain techniques, but it is not
 possible to generate any kind of symbol using any kind of symbol
 generation. 

It is not possible to generate any kind of numercial symbol using the
editor, and that's what the manual says. It's possible to generate
t_symbols using other techniques, if you need them, for example to get
the string .123 without it becoming 0.123. But this is nothing
unusual, it's the same for pointers, gemlists, pdp-packets, probably GF
grids etc.: You cannot edit these into a message box, but there are
many objects that still will accept and create them. 

 Things that expect symbols would interpret the message from
 [makefilename %d] as a symbol, and things that expect floats would
 interpret the message from [makefilename %d] as a float.  So the
 kind of thing I'm talking about would be like this:
 
 [makefilename %d]
 |
 [float]
 
 Then having the patch rely on the error: float: no method for
 'symbol' error that is normally generated in that case. 

Well, it prints an error because there *is* an error in the patch. The
author should never have converted a float to a symbol and expect to
still do float calculations with it. 

Here are two similar errors: 

 [symbol three(
 |
 [+ four]

Ciao
-- 
Frank

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


Re: [PD] (breaking symbols) was Re: find a list of numbers in a text file

2011-09-06 Thread Frank Barknecht
On Mon, Sep 05, 2011 at 11:41:53PM -0700, Jonathan Wilkes wrote:
 I think my proposal of having Pd automagically make floats out of 
 selectors that look like numbers solves half of the problem, as well as 
 being consistent with what's written in the last paragraph of 2.3.1.  The 
 other half is already solved by [makefilename %d], and could be made 
 more consistent by having message boxes automagically convert $1 
 in symbol 15 to a symbol-atom.  Possibly the same for the arg 
 to [symbol].

While I tend to agree and think this sounds sensible, it could clash
with this part of the manual (first paragraph of 2.3.1) that hints at
problems with numerical symbols as selectors: 

Messages contain a selector followed by any number of arguments. The
selector is a symbol, which appears in the patch as a non-numeric string
with no white space, semicolons, or commas.

I'm not sure what appears in the patch should mean. It definitly means
that numercial-symbol selectors don't get shown and cannot be written
into a patch, so you cannot use them in the editor where real
selectors should be written, like in [route]: There's no [route 15] in
Pd, where 15 should mean a numerical symbol. And if you allow [s 15],
should [table 15] also be allowed? And would 15 be a symbol or a float
then?

It seems to be fine if [symbol 15( would act like [15(-[makefilename %d], 
but who really needs the former when you already have the latter? And what
about symbols with whitespace, like [symbol My Documents/Drum Loop.wav]?

Additionally numbers inside messages or object boxes have so many
special meanings in Pd (i.e. they turn 1 two three into a list
message, they change the mode of [select] or [route], they make [15] be
[f 15] etc.), that it seems to me that some small changes here could
open a Pandora's Box and the sole reason for this IMO is legalistic
pedantry. Numbers maybe already are overloaded with automagic.

However I would like to see some proper quoting mechanism in the editor.

Ciao
-- 
Frank

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


Re: [PD] (breaking symbols) was Re: find a list of numbers in a text file

2011-09-05 Thread Frank Barknecht
On Mon, Sep 05, 2011 at 01:36:34PM -0400, Hans-Christoph Steiner wrote:
 
 On Sep 5, 2011, at 1:11 PM, Mathieu Bouchard wrote:
 
 On Sun, 4 Sep 2011, Hans-Christoph Steiner wrote:
 So in the sense of Pd, anything that can be intepreted as a
 number should be. 

This discussion is s 2005 ... 

Anyway, a symbol, even if it consists only of digits, will not be
interpreted as a number in Pd: a symbol is a symbol, a float is a float.
Note that the sentence that you quote sometimes and which sounds similar
to the statement above (Anything that is not a valid number os [sic!]
considered a symbol. from
http://crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s3.1) is talking about
the content of [object boxes] (or more generally: about the Pd editor).
Here this sentence is true, but you know that not every data entity in
Pd can be used in object boxes as name or argument, while most things
that looks like a number will become one here.

  But that's in conflict with having symbols
 that have things that can be intepreted as a number.  So make Pd
 consistent, either it needs to be illegal to have symbols that
 can be interpreted as a number,
 
 This could break some existing patches.
 
 Do you have an examples?  That would be very helpful.  Off the top
 of my head, it seems that it would only break patches that rely on
 errors, which is not a very common situation.

What errors would patches rely on that use [makefilename %d] to generate
a symbol? 

Ciao
-- 
Frank

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


Re: [PD] Appending two signals together to create a third

2011-09-03 Thread Frank Barknecht
On Wed, Aug 31, 2011 at 11:51:34PM -1000, Rick T wrote:
 I have two signals Signal B and Signal C that I would like to append, which
 would create a joined signal called Signal D.  I can create Signal B and
 Signal C but the questions I have is:
 
 I created a image that may help explain it better
 http://dl.dropbox.com/u/6576402/questions/flowchart_joined2.jpg
 
 1) How do I append one signal onto the end of another. (see image labelled
 2)
 2) How can I vary Signal D's Frequency, Amplitude, and Phase? (See image
 labelled 3)

Attached are two example approaches to this problem. Both involve a
phasor signal that is split into two phasors which are out of phase by
half a period using [-~ 0.5] and [wrap~]. You can use these two phasors
to alternately play two tables with tabread~, if your source signals 
are in tables, see combine-tables.pd

If your source signals are not in tables, combine-signals.pd shows a
crude switching between two signals using square waves out of phase with
each other. You make these square waves from a phasor wrapped out of
phase with itself just like above. (Of course you can also just use one
square wave which you multiply by -1 and shift up by [+~ 1] after creation.)

Ciao
-- 
Frank


combine-signals.pd
Description: application/puredata


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


[PD] [PD-announce] Tonight: pd~conv at German radio

2011-08-15 Thread Frank Barknecht
Tonight the German radio station Deutschlandfunk will have a little piece
about the pd~convention in Weimar (in German!).

It's part of the Musikjournal that starts at 20:10 German time (CEST i.e.
UTC+2).

Streams are available in various formats, see:
http://www.dradio.de/wir/hilfe/605738/ 
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

___
Pd-announce mailing list
pd-annou...@iem.at
http://lists.puredata.info/listinfo/pd-announce

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


Re: [PD] find a list of numbers in a text file

2011-08-03 Thread Frank Barknecht
Hi,

On Tue, Aug 02, 2011 at 11:51:17PM -0300, Alexandre Torres Porres wrote:
 Back in the end of my masters, I did make something that allows you to load
 scales from the Scala software into Pd, which has a database of over 4000
 scales.
 
 Check the software and data bank here http://www.huygens-fokker.org/scala/
 
 It's an extremely powerful tool for microtonality, but you may not care for
 that and just want to use the scale data bank in Pd.
 
 Anyway, I have a way that exports the  from the Scala software into a text
 file that opens in this specific subpatch of mine.

My [tunetof] abstraction from 2006 uses a python script to convert Scala files 
to
a format, Pd can easily import to a [table]
See http://lists.puredata.info/pipermail/pd-list/2006-04/037184.html
ff. It's in the Pd repository at /abstractions/footils/tunetof

Maybe you can make use of the Python parser?

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] [PD-announce] Pd Convention - Data structures workshop: Taking your requests

2011-08-03 Thread Frank Barknecht
Hi,

On Tue, Aug 02, 2011 at 01:57:32PM -0700, Jonathan Wilkes wrote:
 How well do these things scale without having a low level way to delete/copy
 scalars or insert/remove arbitrary array elements?

It's okayish. To store the symbol, I use a data-structure array of 
number/symbol
pairs, where the number is used as a flag if a symbol is active or deleted.
So your symbolarray can have holes, but OTOH if you create an array with only
one symbol stored at position 20,000 it will use up the memory of 20,000
symbol/number pairs. But so does a [table] ...

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] [PD-announce] Pd Convention - Data structures workshop: Taking your requests

2011-08-02 Thread Frank Barknecht
On Mon, Aug 01, 2011 at 08:59:49AM -0500, Charles Henry wrote:
 I'm mainly interested in using Pd for scientific and engineering
 research.  I have a mixed level of experience--I'm deep into the DSP
 routines, but I have no clue how data structures work.
 
 About the only application I can think of right now is a data
 logger--recording info about a particular trial/experiment and its
 results.
 
 I'd like to learn easy or more compact ways to accomplish things with
 data structures.
 
 I will look forward to your workshop!  Thanks much!

Data structures can be nice problem solvers in unexpected areas as well,
not only in visualizing/graphically editing data. For example, they are
used hidden away to implement a fast vanilla list sorting in the newest
[list-sort], or in the [m_symbolarray] object of the rj library to
mimick a [table] object that stores indexed symbols instead of floats. 
A users of these objects never sees the data structures inside, 
they don't even have a graphical representation but instead are just
used as what their name says: as data structures.

Ciao
-- 
Frank

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


Re: [PD] Pitch Shift

2011-08-02 Thread Frank Barknecht
On Mon, Aug 01, 2011 at 09:20:43PM -0700, Eduardo Patricio wrote:
 what about e_pitchshift (from RjDj)?

That's the G09 example patch transformed to an abstraction. 

Ciao
-- 
Frank

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


Re: [PD] number stream in ascending order

2011-08-01 Thread Frank Barknecht
On Sun, Jul 31, 2011 at 10:12:22PM +0100, Marco Donnarumma wrote:
 thanks guys, I ended up using [Bucket]
 is there another similar object?
 
 M
 
 
 [t f f]
 |  \
 |[Bucket 2]
 | |  /
 | [-]
 | |
 | [ 0]
 | |
 [spigot]

That's the same as the idiom João showed before, except that it requires users
to install an external object. I'd recommend to use João's version, maybe
extended like this:

 [t f f f]
 |\/
 |/\
 |   [- ]
 |   |
 |   [ 0]
 |\
 [spigot]
 |

Cião,
-- 
Frank

 2011/7/31 Lazzaro Nicolò Ciccolella cicco...@tiscalinet.it
 
  Il 31/07/11 02.46, João Pais ha scritto:
 
   I usually use something like
 
  [t f f]
  \ /
  \/
  /\
  [- ]
 
  , maybe resetting the [-] to 0 when the machine starts
 
   hi,
  If you want to put a toggle-spigot at the end of the flow is perhaps
  better to use the 'greater than' instead of '-' so you get the values  0 and
  1
 
  t f f]
  \ /
  \/
  /\
  [ ]
  |
  [x]
  __
  Lazzaro
 
 
   oh yes, thanks Jaime...
  obvious,
 
  I think I need more coffee today... :)
 
  M
 
 
 
  On Sat, Jul 30, 2011 at 12:54 PM, Jaime Oliver jaime.oliv...@gmail.com
  **wrote:
 
   just subtract the previous value from the current and if it is
  positive it is in ascending order ??
  you could even smooth for slight irregularities.
 
  Is this what you're talking about?
 
  J
 
  On Sat, Jul 30, 2011 at 7:46 AM, Marco Donnarumma de...@thesaddj.com
  wrote:
   Hi folks,
   I have a stream of floats between 0 and 1.
   The stream goes in a linear fashion back and forth, but I want Pd to
   understand when the stream is in ascending order.
  
   Ideas?
   Hope this is clear enough :)
   searching the archive didn't bring up anything useful so far.
   thanks,
   M
  
  
  
   --
   Marco Donnarumma
   Independent New Media and Sonic Arts Professional, Performer,
  Instructor
   ACE, Sound Design MSc by Research (ongoing)
   The University of Edinburgh, UK
   ~
   Portfolio: http://marcodonnarumma.com
   Lab: http://www.thesaddj.com | http://cntrl.sourceforge.net |
  http://www.flxer.net
   Event: 
   http://www.**liveperformersmeeting.nethttp://www.liveperformersmeeting.net
  
   __**_
   Pd-list@iem.at mailing list
   UNSUBSCRIBE and account-management -
   http://lists.puredata.info/**listinfo/pd-listhttp://lists.puredata.info/listinfo/pd-list
  
  
 
 
 
  --
  Jaime E Oliver LR
 
  www.jaimeoliver.pe
 
  858 750 0924 (cel)
  858 202 1522 (home)
 
 
 
 
 
 
 
 
 
 
 
 -- 
 Marco Donnarumma
 Independent New Media and Sonic Arts Professional, Performer, Instructor
 ACE, Sound Design MSc by Research (ongoing)
 The University of Edinburgh, UK
 ~
 Portfolio: http://marcodonnarumma.com
 Lab: http://www.thesaddj.com | http://cntrl.sourceforge.net |
 http://www.flxer.net
 Event: http://www.liveperformersmeeting.net

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


-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] Controlling pd patch from mobile phone

2011-07-09 Thread Frank Barknecht
Hi,

or depending how smart your smartphone is, some kind of network control could
be possible as well. For iPhone there are nice OSC interfaces like murmur,
probably Android has something similar, or, if Pd/RjDj is available, just use
netsend/netreceive. You probably need to know the IP-number of your computer,
though.

Ciao
-- 
Frank

On Sat, Jul 09, 2011 at 12:31:32AM -0400, Hans-Christoph Steiner wrote:

 I think the easiest way would be to use the bluetooth as a serial port, 
 so you want the [comport] object.

 .hc

 On Jul 8, 2011, at 10:16 PM, adam sanches wrote:

 Hello list, i need to control a pd patch in a computer from a smart  
 phone. I would like to use the smart phone as a wireless control  
 device for controlling the patch in the computer.

 Can i send data from my mobile phone to a pd patch in my computer  
 using bluetooth?  how can i do this?Do anybody have tried this?


 Thanks


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



 

 I spent 33 years and four months in active military service and during  
 that period I spent most of my time as a high class muscle man for Big  
 Business, for Wall Street and the bankers.  - General Smedley Butler



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

-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] Pd monosymphonia

2011-06-27 Thread Frank Barknecht
On Sun, Jun 26, 2011 at 12:32:27AM +0100, Andrew Faraday wrote:
 P.S. I do realize that I could clean this up a great deal. The addition of
 [table] objects could just as easily be a single expanding array, I could
 hide modules away in sub patches and the sliders used for visualization could
 be more efficiently done with gem.  

Regarding subpatches: I would do this kind of dynamic object generation in a
subpatch anyway instead of putting the new objects into the main patch. That
way, you can easily start with a fresh subpatch by sending clean to [s
pd-subpatchname] instead of having to manually delete the created
tables/objects.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] numeric order

2011-06-20 Thread Frank Barknecht
On Sun, Jun 19, 2011 at 07:20:02PM +0200, Mirko Maier wrote:
 hi everybody,
 
 i have textfile like
 
 1 this;
 4 my;
 3 is;
 10 file;
 
 and i would like to put it into numerical order, so that the final result is
 
 1 this;
 3 is;
 4 my;
 10 list;
 
 the only possibility i found was a recursive use of minmax, but i have huge
 lists and then it is very cpu-expensive. is there any object for numerical
 ordering or something shorter than using minmax? thanks for hints.

[m_symbolarray] in the rj library can do this. It's a kind of array or [table]
that stores symbols instead of numbers.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] numeric order

2011-06-20 Thread Frank Barknecht
Hi,

On Sun, Jun 19, 2011 at 07:20:02PM +0200, Mirko Maier wrote:
 i have textfile like
 
 1 this;
 4 my;
 3 is;
 10 file;
 
 and i would like to put it into numerical order, so that the final result is
 
 1 this;
 3 is;
 4 my;
 10 list;
 
 the only possibility i found was a recursive use of minmax, but i have huge
 lists and then it is very cpu-expensive. is there any object for numerical
 ordering or something shorter than using minmax? thanks for hints.

Another answer: You can also avoid the unnecessary (for your task) complex
[m_symbolarray] if you use data structures directly as in the attached
example. Unfortunatly creating scalars with symbol-fields is not directly
possible with [append] - at least not in 0.42 - so I had to do the additional
work of using [set -symbol ...]

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__


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


Re: [PD] d-scale abstraction with rjdj

2011-06-18 Thread Frank Barknecht
Hi,

On Fri, Jun 17, 2011 at 10:45:45AM -0400, Pagano, Patrick wrote:
 But here is an FM glitcher using d-scale and Tonalatonal, I patch I found
 on list a few years ago that is RIPE for rjDJ-ness
 Maybe you can look at these and help me make em a little more spiffy, or
 at very least get tonal working!

Okay, that's a bit of tedious work. but doable. The patches only use
[sort], which you can replace by [list-sort] with [list-rdrip] from the
[list]-abstractions. They only use [sort 1] which is ascending sort i.e.
a naked [list-sort].

A bit more tricky to replace are the expr-constructs used. Fortunatly
[d-scale] is only used as [d-scale -1 1 1 100 100]. This is sufficiently
similar to [m_scale -1 1 1 100 dB] from the rj-library, so I'd just use
that.

Another expression used several times is this:
 
 expr~ if ($v1 == 0, 0, (if ($v1  0, -1, 1)))

This is a signum function for signals. You can replace this with the sgn~.pd
from the purepd collection in CVS/Pd-extended. Make sure to also get
the lt~.pd and gt~.pd abstractions. Alternatively you can also get away
with this:

 [inlet~]
 |\
 | [abs~]
 |  |
 [/~]
 |
 [outlet~]

I.e. divide a signal by its absolute value. Division of 0/0 in Pd here
gives 0 again, so you're cheating okay around this exceptional case.

The other expr-expression just require some work to explode them into
normal math objects. You will gain a bit of execution speed by this, as
expr is a bit slower than exploded math.

Ciao
-- 
Frank

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


Re: [PD] Sort and init objects

2011-06-17 Thread Frank Barknecht
On Wed, Jun 15, 2011 at 02:11:20PM -0400, Mathieu Bouchard wrote:
 On Wed, 15 Jun 2011, Pagano, Patrick wrote:
 
 It seems to want a list-drip?
 
 Get the whole list-abs library. Recent versions (since about two
 years) include my accelerated [list-drip] (formerly known as
 [list-drip-quick]).
 
 It's not the fastest, but it's the simplest of the fast ones.

If you get the newest [list]-abs now, you'll also get a new [list-sort]
which now uses the fast data structure sorting method, replacing Michael
Seta's very first [list-sort] implementation. Inside it requires
[list-rdrip] which is a simplified version Matju's [list-drip] stripped
of the reordering, so it drips a list in reverse order, which is a
little bit faster again. (As we resort the list anyhow, the drip-order
doesn't matter.)

All in all it doesn't compare to Zexy's [sort] yet, because it drips and
then rebuilds a list with the slow [list prepend]x[t a] idiom, but all in all
it's already pretty okay.

Ciao
-- 
Frank

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


Re: [PD] converting accelerometer gyro to positive values

2011-06-17 Thread Frank Barknecht
On Thu, Jun 16, 2011 at 09:21:53AM -0400, Pagano, Patrick wrote:
 I am still fooling around with rjdj and I was wondering what way
 people are using to turn r #acceleromter  r #gyro to positive values.
 I usually use a mccallum abstraction d-scale for stuff like this but I
 am not sure it will work with vanilla/rjlib, so I am wondering what
 others may suggest.

You can use the [m_scale] abstraction in rj to rescale values between
various ranges, also using non-linear translations.

If you are interested in the magnitude of the accelerometer
settings you can also use the [m_accel_magnitude] abstraction, which
whill give you the magnitude in all directions (i.e. how hard someone is
shaking the device).

Ciao
-- 
Frank

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


Re: [PD] d-scale abstraction with rjdj

2011-06-17 Thread Frank Barknecht
Hi,

On Fri, Jun 17, 2011 at 07:37:00AM -0400, Pagano, Patrick wrote:
 I did not hear back yesterday and I am wondering
 Can I use the d-scale abstraction David Mccallum wrote in rjdj?

I answered now, but to answer in more general terms: If an abstraction
uses only the objects and features that are in Pd-vanilla as
downloadable from Miller's site and if it in addition does not use
objects from the expr-family ([expr], [fexpr], [expr~]) which are GPL,
then it will run in RjDj on iOS. 

A nice way to check this with Pd-extended instead of vanilla is starting
Pd with the -noprefs option, so it does not load any externals and
doesn't set any paths. If the abstraction doesn't give any errors about
missing objects and if it doesn't use expr, then it will be fine.

Ciao
-- 
Frank

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


Re: [PD] u_loader and global preset manager in RJDJ lib

2011-06-12 Thread Frank Barknecht
On Sat, Jun 11, 2011 at 02:56:15PM +0200, manecante wrote:
 thank's a lot for your reply. I didn't have so much time this week to
 deeply study it but in between i went to the pure data meeting in
 Berlin where i met Dan Wilcox who quickly made the attached patch that
 illustrates the answer of my question, that apparently  i  did not
 formulate correctly :)

Or maybe I just got carried away explaing the details. :)

Anyway a similar approach to the one, Dan showed you, is used in the help files
for Andy Farnell's fantastic synthesizers like s_ejun: Check out the subpatch 
pd ejun_presets for the presets.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


Re: [PD] Sort and init objects

2011-06-12 Thread Frank Barknecht
Hi,

On Sun, Jun 12, 2011 at 10:32:27AM +0200, cyrille henry wrote:
 there is a list-sort in footils list abstraction folder. and some
 list_quicksort where send to this list few years ago.

The rj library doesn't include a sorting abstraction, so indeed one should use
abstractions from elsewhere like those from list-abs, which should be no 
problem as they are all compatible with the vanilla-- object set available in 
RjDj.

Another option would be sorting with data structures, which I usually do today.
Attached is an example abstraction for data structure sorting (datasort.pd). It
seems to be much faster than list-quicksort from list-abs (the currently
fastest sorting in there), but only sorts in ascending order. See the bench.pd
benchmark for a comparison. 

You will probably want to modify datastort to suit your needs.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__


list-quicksort.pd
Description: application/puredata


bench.pd
Description: application/puredata


ds.pd
Description: application/puredata


qs.pd
Description: application/puredata


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


Re: [PD] Sort and init objects

2011-06-12 Thread Frank Barknecht
Hi,

On Sun, Jun 12, 2011 at 08:09:37PM +0200, Frank Barknecht wrote:
 Well, thinking about it, descending order turned out to be dead simple, as it
 can be realized using a different order when building the final list (append
 instead of prepend) so attached is a new version, 

Sorry, last attachment had a spurious list-sort inside, use this one.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__


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


Re: [PD] Sort and init objects

2011-06-12 Thread Frank Barknecht
Hi,

On Sun, Jun 12, 2011 at 06:59:50PM +0200, Frank Barknecht wrote:
 Another option would be sorting with data structures, which I usually do 
 today.
 Attached is an example abstraction for data structure sorting (datasort.pd). 
 It
 seems to be much faster than list-quicksort from list-abs (the currently
 fastest sorting in there), but only sorts in ascending order. 

Well, thinking about it, descending order turned out to be dead simple, as it
can be realized using a different order when building the final list (append
instead of prepend) so attached is a new version, that I'll probably add to
the [list]-abs collection as it now has all the features of the other sorting
methods, is simpler and faster.

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__


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


Re: [PD] u_loader and global preset manager in RJDJ lib

2011-06-07 Thread Frank Barknecht
On Mon, Jun 06, 2011 at 03:06:52PM +0200, Frank Barknecht wrote:
 Easy: Just add one with [u_loader name_of_abstraction-$1 $0] to each of your
 abstractions and then use [u_dispatch param $0] to handle your parameters

Oops, wrong order: It's [u_dispatch $0 param], because that's useful to
copy-paste-edit it into [r $0-param].

Ciao
-- 
 Frank BarknechtDo You RjDj.me?  _ __footils.org__

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


  1   2   3   4   5   6   7   8   9   10   >