<div dir="ltr"><div><div><div><div><div><div><div><div><div><div>Sorry, Sourceforge is blocked for me.<br></div><div><br>I noticed that when using [poly 1 0] (note stealing off)<br></div>when I would smash multi-note chords and release notes,<br></div>sometimes I would be left pressing a note,<br></div>yet the output of [poly] is silence. <br><br></div>I thought this might be a bug with the Windows MIDI driver,<br></div>but it is definitely a bug with [poly], because with higher <br></div><div>values of N, [poly N 0] knows the correct notes <br></div><div>remaining. <br></div><div><br></div>See attached ZIP file. <br>There is an HTML+image included which explains <br></div>how to run the patch to demonstrate the issue. <br><br></div>The problem is there is a race condition. <br></div>Lets say you smash the following chord:<br></div>("smash" means play all notes as simultaneously as possible)<br><br><div><b>24 26 28 29 31 33</b>  [C-D-E-F-G-A]<br></div><div><div><div><div><div><div><div><div><div><br></div><div>Now the value which will be latched by [poly 1 0] is random. <br></div><div>Let's say it is 28. <br></div><div><br>Now we release 33, 31,29 .... ALL GOOD!<br></div><div>Now release 29. <br><b>NOTE 24, 26, 28 are still depressed!<br></b></div><div>[poly] doesn't know what to do here, and releases 28, <b>ALL NOTES OFF.  Yet I am still holding down 3 notes. <br></b></div><div><div><div><div><div><div><div><br></div><div><b>The problem here is how do deal with this condition is ambiguous.</b><br><ol><li>Should [poly] have "highest note value" priority? (and jump to 26)<br></li><li>Or "lowest note value" priority? (and jump to 24) <br></li><li>Or "order received" priority? (and jump to to the <b>latest received</b> of [24,26])<br></li><li>Or maybe "reverse order received" priority? (and jump to the <b>earliest received </b>of [24,26])</li></ol></div><div>I would request a feature enhancement to provide some way to set<br></div><div>the mode of poly (new inlet, message to inlet1, and/or starting parameter) to chose one of these four modes. <br><br></div><div>In the meantime, I think I can code my own version of what I need as an abstraction. <br></div><div><br></div><div>Thanks Miller and everyone who contributes here for such an awesome tool/toy!<br><br></div><div>BH<br></div><div>-- <br><div class="gmail_signature"><div><div><div>--<br>
May you, and all beings<br>
be happy and free from suffering :)<br>
-- ancient Buddhist Prayer (Metta)<br></div></div></div></div>
</div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>