poly makes a mistake with voice allocation

May 11, 2007 at 12:56pm

poly makes a mistake with voice allocation

Hi all and especially cycling,

I believe there is a slight mistake in poly (not poly~), in voice stealing mode, when it has to stop multiple notes with the same note pitch.

When multiple voices are activated with the same note pitch, note offs always start from voice 1 instead of considering which voice was activated first.

Steps to reproduce are in the patch below. Please let me know whether you agree that this is wrong.

Mattijs
Max 4.6.1, Mac OS X.4.8

#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P comment 178 177 200 196617 stop voice , should stop 1 now , but stops 2;
#P button 161 177 15 0;
#P newex 34 51 53 196617 t b b b b;
#P comment 51 32 381 196617 1) make sure poly uses 2 voices by having had two voices active at the same time;
#P button 34 32 15 0;
#P comment 178 159 179 196617 stop voice , should stop 2 , but stops 1;
#P button 161 159 15 0;
#P comment 178 85 103 196617 start voice – picks 1;
#P comment 178 141 164 196617 start another voice , picks voice 1;
#P button 161 141 15 0;
#P comment 178 123 125 196617 start voice , picks voice 2;
#P button 161 123 15 0;
#P comment 178 104 97 196617 stop voice – picks 1;
#P button 161 104 15 0;
#P button 161 85 15 0;
#P newex 62 292 32 196617 print;
#P newex 62 271 57 196617 pack 0 0 0;
#P newex 62 248 47 196617 poly 2 1;
#B color 5;
#P message 62 208 33 196617 60 64;
#P message 125 208 28 196617 60 0;
#P comment 161 68 106 196617 2) click this sequence;
#P connect 19 0 1 0;
#P connect 16 0 18 0;
#P connect 18 2 2 0;
#P connect 18 3 2 0;
#P connect 11 0 2 0;
#P connect 9 0 2 0;
#P connect 6 0 2 0;
#P connect 2 0 3 0;
#P connect 1 0 3 0;
#P connect 3 0 4 0;
#P connect 4 0 5 0;
#P connect 3 1 4 1;
#P connect 3 2 4 2;
#P connect 18 0 1 0;
#P connect 18 1 1 0;
#P connect 14 0 1 0;
#P connect 7 0 1 0;
#P window clipboard copycount 21;

This is the ouput I get in the Max window:

print: 1 60 64
print: 2 60 64
print: 1 60 0
print: 2 60 0
print: 1 60 64
print: 1 60 0
print: 2 60 64
print: 1 60 64
print: 1 60 0
print: 2 60 0

But I would expect:

print: 1 60 64
print: 2 60 64
print: 1 60 0
print: 2 60 0
print: 1 60 64
print: 1 60 0
print: 2 60 64
print: 1 60 64
print: 2 60 0 < -- !
print: 1 60 0 < -- !

#31861

You must be logged in to reply to this topic.