Hi Peter,
It sounds like you're missing an argument for the object.
Argument 0: <integer> - Max Polyphony Argument 1: <bool> - Voice Stealing (0/1) Argument 2: <symbol> - Object name Argument 3: <symbol> - Unique ID
For example: [u_makepoly 8 1 s_rhodey $0-inst]
Hope that helps.
P.s. We're in the process of creating some online documentation (similar to Max) for all the objects in the library. It'd be great to get some feedback once it's finished.
Thanks, Joe
On Mar 10, 2011, at 8:57 PM, Peter Kirn wrote:
Thanks, everyone.
So, patko, I gather poly alone should work -- I'd just multiplex messages, so long as there are two arguments?
Hans, I gather the Rj version u_makepoly is now the newest. It's looking great, though I ran into one hitch - right now, with the abstraction I built it's giving me this error - Error: Bad arguments for message 'f' to object 'objectmaker' f $1 ... couldn't create
Not sure what that means. (I mean, I know literally what it means, but not why.) Looking into it / open to someone pointing out anything obvious. ;)
Peter
On Fri, Mar 11, 2011 at 5:18 AM, Joe White white.joe4@gmail.com wrote:
P.s. We're in the process of creating some online documentation (similar to Max) for all the objects in the library. It'd be great to get some feedback once it's finished.
Hi Joe, No, I found the problem -- the issue is that the u_dispatch abstraction doesn't work with symbols. If I'd looked closely at the help file, I would have noticed the prominent comment to that effect. ;)
This actually turns out to be a fairly significant issue, because I'd ideally like to pass different arrays into the abstraction. Suggestions?
Maybe there's another way to pass in the symbol for the array, like multiplexing as an argument on instantiating those patchers?
Or maybe u_dispatch $0 symbol is fixable?
(And yes, I'm happy to have a look at the documentation, or even contribute prior to it being completely finished ... editing is kinda one of the things I do, and it's the least I can do to give back to this amazing library!)
Peter
Hi,
sorry for coming in late to this thread - I'm currently forced to stay away from my desk for some days ...
Regarding "u_dispatch $0 symbol": Because of the [list trim] that is applied to all incoming parameters, it would never filter any data. [u_dispatch] is like a simplified [route] that doesn't make a difference between "list frequency 440" and "frequency 440", so you can send it either kind of message and don't have to fiddle with [list] or [list trim] on your own. In my experience, this has been easier for users, who are not so familiar with Pd's message type system and its pitfalls.
You can easily work around dispatching symbol-messages by using different selectors. To set a table name for example, I'd use [u_dispatch $0 tablename]. The only issue then is that [u_dispatch] doesn't generate full symbol-messages, instead it generates "meta-messages" without symbol-selector.
This:
[mytable(
|
| [symbol mytable(
|/
[u_dispatch $0 tablename]
will send a "mytable"-message to [r $0-tablename] for both messages (because of the [list trim] "symbol mytable" gets converted to "mytable").
To get a "symbol mytable" message again, use [symbol] or [list]. To feed it into a messagebox with $1 or so inside, add a [list] in front.
Hint: You can save yourself many headaches if you *always* put a [list] in front of any message box with dollarsigns!
Now regarding the poly objects in rj library: [u_makepoly] is geared towards making midi-like instruments polyphonic. For granular approaches, it maybe is better to use the more simple [u_robinpoly]: It schedules the created objects in a round robin fashion and will accept any kind of trigger message, not only midi-like note/velocity pairs.
If you need more control and want to access specific instances directly, there is no object for this in the rj library (yet), but Hans did some poly objects that allow this, or use the old nqpoly or so.
Frank
On Fri, Mar 11, 2011 at 09:08:05AM -0500, Peter Kirn wrote:
On Fri, Mar 11, 2011 at 5:18 AM, Joe White white.joe4@gmail.com wrote:
P.s. We're in the process of creating some online documentation (similar to Max) for all the objects in the library. It'd be great to get some feedback once it's finished.
Hi Joe, No, I found the problem -- the issue is that the u_dispatch abstraction doesn't work with symbols. If I'd looked closely at the help file, I would have noticed the prominent comment to that effect. ;)
This actually turns out to be a fairly significant issue, because I'd ideally like to pass different arrays into the abstraction. Suggestions?
Maybe there's another way to pass in the symbol for the array, like multiplexing as an argument on instantiating those patchers?
Or maybe u_dispatch $0 symbol is fixable?
(And yes, I'm happy to have a look at the documentation, or even contribute prior to it being completely finished ... editing is kinda one of the things I do, and it's the least I can do to give back to this amazing library!)
Peter
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hi,
On Sat, Mar 12, 2011 at 11:54:59AM +0100, Frank Barknecht wrote:
This:
[mytable(
| | [symbol mytable( |/ [u_dispatch $0 tablename]will send a "mytable"-message to [r $0-tablename] for both messages (because of the [list trim] "symbol mytable" gets converted to "mytable").
Correction: This will not sent anything to $0-tablename, because both incoming messages do not start with "tablename"! But both "tablename mytable" and "list tablename mytable" would send "mytable" to [r $0-tablename].
Frank Barknecht Do You RjDj.me? _ ______footils.org__
Hi Joe, Okay, I'm now certain that what's going wrong is entirely in the abstraction being made polyphonic - and it isn't, as I thought, u_dispatch with symbols or lists; that's fine.
For instance, if I replace the example for u_makepoly, using s_buzz in place of s_rhodey, I get similar answers. So I must not entirely understand what prerequisite there is for the patch being made polyphonic. I tried to ape s_rhodey before, adding two inlets and one signal outlet (two signal outlets could be used for stereo, of course), and adding:
two-float list processed as the note event, etc.) 2. u_loader to instantiate the patch itself
But maybe I'm missing another step?
Peter
Hi Peter,
What abstraction are you trying to use?
Frank would obviously be best person to answer your question as he made it.
Can you attach the patch so I can have a look?
Thanks, Joe
On 11 March 2011 16:42, Peter Kirn peter@createdigitalmedia.net wrote:
Hi Joe, Okay, I'm now certain that what's going wrong is entirely in the abstraction being made polyphonic - and it isn't, as I thought, u_dispatch with symbols or lists; that's fine.
For instance, if I replace the example for u_makepoly, using s_buzz in place of s_rhodey, I get similar answers. So I must not entirely understand what prerequisite there is for the patch being made polyphonic. I tried to ape s_rhodey before, adding two inlets and one signal outlet (two signal outlets could be used for stereo, of course), and adding:
- u_dispatch in order to pass additional arguments (beyond the
two-float list processed as the note event, etc.) 2. u_loader to instantiate the patch itself
But maybe I'm missing another step?
Peter
Hi Joe (and Frank),
Here's as far as I got, including the referenced Rj patches. http://dl.dropbox.com/u/961695/graintests2.zip
(Note - this uses, by permission, an adaptation of a patch built for Granita by Lorenzo Sutton; I'm hoping to use makepoly to help make this more flexible and polyphonic with him.)
See grain.pd as the abstraction I'm trying to use and grain_poly as the file calling it.
But you can try the same thing with s_buzz, for instance.
Thanks to everyone for the help and advice.
Peter
On Fri, Mar 11, 2011 at 11:47 AM, Joe White white.joe4@gmail.com wrote:
Hi Peter, What abstraction are you trying to use? Frank would obviously be best person to answer your question as he made it. Can you attach the patch so I can have a look? Thanks, Joe
On 11 March 2011 16:42, Peter Kirn peter@createdigitalmedia.net wrote:
Hi Joe, Okay, I'm now certain that what's going wrong is entirely in the abstraction being made polyphonic - and it isn't, as I thought, u_dispatch with symbols or lists; that's fine.
For instance, if I replace the example for u_makepoly, using s_buzz in place of s_rhodey, I get similar answers. So I must not entirely understand what prerequisite there is for the patch being made polyphonic. I tried to ape s_rhodey before, adding two inlets and one signal outlet (two signal outlets could be used for stereo, of course), and adding:
- u_dispatch in order to pass additional arguments (beyond the
two-float list processed as the note event, etc.) 2. u_loader to instantiate the patch itself
But maybe I'm missing another step?
Peter