Hallo, Matteo Sisti Sette hat gesagt: // Matteo Sisti Sette wrote:
So, the only problem now (which is a big one indeed) is that the format for the messages will be fixed, while I would like to manage arbitrary-length messages with variable-type arguments. Not to mention that allowing symbols is untested.
I tested it, it works. ;) Pointers also work. An approach carmen did in the past is to use list2symbol and symbol2list (the latter an external) and delay only messages with one symbol in [pipe], where the symbol is (de)constructed on demand. This may trigger Pd's memory leak with symbols when you use a lot of them, though.
Another question: do you know how the sorting of messages inside [pipe] is implemented? Will the time needed to add a message increase linearly? (I think the best achievable is logaritmically, isn't it)
Why care? There's not much you can do about it, if it's too slow, except writing a better [pipe] in C/Lua/etc. and then it doesn't matter anymore that [pipe] was too slow.
I think, a bigger problem of the [pipe] approach is that you cannot reschedule anything, once it's in the pipe. You cannot change the tempo anymore for example, and you cannot cancel single events. This makes [pipe] only useful for things that you schedule once and that you then can let run as they are, like a fixed score. For more dynamic tasks this isn't appropriate. For this, an IOI approach as in [qlist] etc. is much nicer. But I guess, you're not looking for this kind of thing anyway ...
Frank Barknecht _ ______footils.org__