[PD] rj dirlib [was: Re: how to nqpoly?]

Hans-Christoph Steiner hans at at.or.at
Mon Nov 9 19:27:39 CET 2009


On Nov 9, 2009, at 11:52 AM, Frank Barknecht wrote:

> Hallo,
> João Pais hat gesagt: // João Pais wrote:
>
>>> Depening on what kind of polyphonic patch you want to do, there are
>>> some newer
>>> alteratives to nqpoly4.
>>>
>>> If you want to polyphonize a simple midi instrument that accepts
>>> pitch/velocity
>>> pairs with [makenote] syntax, I'd recommend u_makepoly from the rj
>>> library.  To
>>> polyphonize oneshot instruments like drums, use u_robinpoly or
>>> u_robinpolymono.
>>>
>>> All three come with extensive help files.
>>
>> ah, I didn't say that. basically there are simple synth patches (with
>> audio, all output for a main [throw~]) that take in lists with
>> parameters. the lists come from a "score" of data structures arrays  
>> (for
>> now up to 6 parameters/arrays), at a rate of 100 a second. so I  
>> guess no
>> midi or oneshot type events. anyway I'll look at your suggestions.
>
> I guess, you could use u_robinpoly then. The difference is in the  
> voice
> allocation algorithm: u_makepoly uses the one from [poly] that  
> relies on
> makenote-like lists as parameters.
>
> But u_robinpoly just has a counter that counts modulo the number of  
> voices
> (i.e.  round-.robin polyphony). Every list you sent to robinpoly  
> will be sent
> to the next free voice unaltered (well, it will become a list- 
> message, but you
> can also directly send pointers for example). There is no effort  
> whatsoever to
> free voices, and as soon as all voices are taken, the first one will  
> be reused.
>
>> unrelated: since you mentioned the rj library, I think it might be
>> interesting (at least for me) to pack that library in pd-extended.  
>> does
>> this makes sense/is practicable for you guys?
>
> The rj-library is a moving target and gets new objects almost every  
> week.
>
> Of course it's free software, so it could go into pd-extended, but I  
> tend to
> think of "rj" as something I came to call "dirlib" (i.e. the  
> opposite of
> "libdir").
>
> Because it is (almost) fully pd-vanilla, you can use it in a novel  
> (or very
> old) way: as a drop-in library that you just copy to whatever  
> project directory
> you are currently working on. (With RjDj this would be a Scene.) So  
> a "dirlib"
> is a library living in project directories. Just add [declare -path  
> rj] to your
> main pd file and that's it: you have a small, but at the same time  
> very
> powerful and fully documented musician's library right at your  
> fingertips.
>
> [list]-abs is another example of such a "dirlib" you can use by copy- 
> installing
> it and adding a declare-ation. But as rj contains a minimal list-abs  
> subset
> this is only necessary in special cases.
>
> The advantage of the dirlib approach is, that this project directory  
> will
> continue to run on every Pd vanilla installation without any  
> dependencies
> outside of your project directory (with two tiny exceptions).

Unfortunately, that's not true.  New versions of Pd-vanilla can break  
this 'dirlib' approach too.  With the intro of a new object to Pd- 
vanilla, any old object or abstraction in your lib that shares that  
name will be blocked.  This is what we saw with the introduction of  
[pow~] to Pd-vanilla.  Many people were using cyclone's [pow~]  
before.  Since Pd-vanilla's pow~ is built into the pd binary, there is  
no way to use an abstraction called 'pow~.pd', and it even overrides  
pow~.pd_linux.

For more info, check out my PdCon3 paper:
http://at.or.at/hans/Let's_Make_Libraries_-_PdCon3.pdf

The only way to maintain compatibility that has been proven is to use  
the same versions of everything.

.hc

> So even if a later version of rj changes substantially, your old  
> project with
> the copy of rj *inside* continues to work as it always did. (As long  
> as Pd
> doesn't change too much, of course.)
>
> Ciao
> -- 
> Frank
>
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list







----------------------------------------------------------------------------

"It is convenient to imagine a power beyond us because that means we  
don't have to examine our own lives.", from "The Idols of  
Environmentalism", by Curtis White








More information about the Pd-list mailing list