Thanks Christof!
I surely hope that your proposal will be heard. Those would be essential additions to vanilla's [poly] for polyphonic instrument building.
As for the [bag] object i tried but in the way i built the patch it only works if the sustain pedal is pressed before note on arrives. I have to find a way to make it work the same way when is pressed after a note on.
The same note retriggering is  another essential feature.




On Sat, Jan 2, 2021 at 6:29 PM Christof Ressi <info@christofressi.com> wrote:

Not a direct answer to your question, but I've proposed a few additional features for the [poly] object, including a [sustain( message: https://github.com/pure-data/pure-data/pull/661

For implementing a sustain pedal in Pd vanilla, the [bag] object will probably help. Unfortunately, I don't have time at the moment to come up with a full solution.

Christof

On 02.01.2021 18:07, alfonso santimone wrote:
Hi all,
i'm trying to build a polyphonic voice allocation patch that include sustain pedal (MIDI CC(64) ).
Is there any abstraction that i can look into?
My problems are :

1. How to deal with [poly] when the same note number is received (i.e, three C4 in a row)
[poly] always assign a new voice slot to the incoming notes.
I'm trying to make it assign the same voice slot when the same note number is received consecutively. I guess that i should mess with some arrays keeping track of note numbers and voice slots.

2. How to deal with sustain pedal.
In the "real" world as with keyboard instruments like piano, rhodes etc. the sustain pedal is used in different ways but the most common one is to press the pedal immediately after a chord or note is played and then release it when a new chord is played.
It can be used in more "effect" oriented ways.
Is there any patch or abstraction that i can look into? I guess i should use a combination of [stripnote] and arrays/table/list to keep track of the notes on and off events.
How this can be integrated with a polyphonic voice management with stealing algorithm etc. etc.?


_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list