10 messages only on the subject in the max archives, my god... And 5 or
6 by me over the last 3 years.
Well, this is, guess what, about the poly~ object (which i really
absolutely love, yes yes) and its "steal mode" function. After founding
this clear answer by Mr Z. himself :
/"The poly~ voice-stealing algorithm compares the time at which each
instance's thispoly~ object was marked as busy and uses the oldest
instance. If your poly~ subpatcher doesn't mark an instance as busy by
sending a 1 to thispoly~ then all bets are off because poly~ has no
idea whether any particular instance is really busy or when such a
transition to busy-ness (as opposed to "business") happened. In other
words, busy-ness is a symbolic concept that is up to an instance
subpatcher to define. If you have a patch that demonstrates that
voice-stealing isn't working, please feel free to share it.
i finally put the finger on what i wasn't understanding at all :
When using steal, thispoly~ doesn't work well with signals to detect
busy-ness but it works good with 0 and 1. Good. I now use 0 and 1. Good boy.
I'm still longing, yet, to use poly~ to play a sound with a pre-defined
duration and only to play it right, no pitch, no nothing :
So i use a message with a duration defined by info~. It sends
a note on when i bang it and a note off when the whole file is played.
In no-steal mode, it's perfect. By the way, i'm using because
of its ability to dispatch the voices, not for the note itself.
In order to avoid Stefan Tiedje's bug (last september 2005
supposed to be fixed in 4.5.7 (i'm still in 4.5.6), i'm using an [urn]
to send random pitches. I think there's no problem with that because i
only need velocities inside my player, pitches are here to be used by
the dispatch function of and their note-offs are always
Well well well, what i have noticed when in steal mode :
When poly~ steals a voice (in my case, after filling the 6 first ones),
it waits for this voice to be free before playing the sound again. Then
the next sound is strange : it has exactly the same duration as the
others but seems to play the last part of the sound, taken from the
exact time when i asked to steal, untill this moment in the file... So
it means, new sound on stealed voice = (last part (when steal asked) +
sound file) minus the last part... Excuse my french.
So any ideas about this problem will be absolutely great !
By the way, it would be really really really really really really handy
for every max users to have a complete folder of examples dealing with
poly~ . Not only the poly-anti-click.pat, which is great, but does only
give a glance at one trick and is fragile (you cannot tweak it too much
to make it your own, it'll be broken). But a real example for any poly~
methods, not just the tutorials : usage with poly object, usage with
midinote message, usage with adsr~ , ways to do tricks with mute
messages, and, last but not least, usage with S.T.E.A.L...