[PD] [poly N 0] bug

William Huston williamahuston at gmail.com
Sun May 15 10:47:22 CEST 2016


Sorry, Sourceforge is blocked for me.

I noticed that when using [poly 1 0] (note stealing off)
when I would smash multi-note chords and release notes,
sometimes I would be left pressing a note,
yet the output of [poly] is silence.

I thought this might be a bug with the Windows MIDI driver,
but it is definitely a bug with [poly], because with higher
values of N, [poly N 0] knows the correct notes
remaining.

See attached ZIP file.
There is an HTML+image included which explains
how to run the patch to demonstrate the issue.

The problem is there is a race condition.
Lets say you smash the following chord:
("smash" means play all notes as simultaneously as possible)

*24 26 28 29 31 33*  [C-D-E-F-G-A]

Now the value which will be latched by [poly 1 0] is random.
Let's say it is 28.

Now we release 33, 31,29 .... ALL GOOD!
Now release 29.

*NOTE 24, 26, 28 are still depressed!*
[poly] doesn't know what to do here, and releases 28,
*ALL NOTES OFF.  Yet I am still holding down 3 notes. *

*The problem here is how do deal with this condition is ambiguous.*

   1. Should [poly] have "highest note value" priority? (and jump to 26)
   2. Or "lowest note value" priority? (and jump to 24)
   3. Or "order received" priority? (and jump to to the *latest received*
   of [24,26])
   4. Or maybe "reverse order received" priority? (and jump to the *earliest
   received *of [24,26])

I would request a feature enhancement to provide some way to set
the mode of poly (new inlet, message to inlet1, and/or starting parameter)
to chose one of these four modes.

In the meantime, I think I can code my own version of what I need as an
abstraction.

Thanks Miller and everyone who contributes here for such an awesome
tool/toy!

BH
-- 
--
May you, and all beings
be happy and free from suffering :)
-- ancient Buddhist Prayer (Metta)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20160515/012c5e01/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: poly-bug.zip
Type: application/zip
Size: 245140 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20160515/012c5e01/attachment-0001.zip>


More information about the Pd-list mailing list