<div dir="ltr">Hey Claudio, <div><br></div><div style>Thanks, that&#39;s a nice solution! I like vanilla ice cream as well :)</div><div style><br></div><div style>It&#39;s shame that there aren&#39;t any nice in-built array methods, I&#39;ve come up against various problems where having a mutable array would be super useful. In the end I preferred to implement a few lines of C rather than deal with some complicated list/table mapping method. </div>

<div style><br></div><div style>Better than late than never! Nice video too dude!</div><div style><br></div><div style>Cheers,</div><div style>Joe</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 23 February 2013 19:57, claudio nervi <span dir="ltr">&lt;<a href="mailto:claudionervi@gmail.com" target="_blank">claudionervi@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">Joe White &lt;white.joe4 &lt;at&gt; <a href="http://gmail.com" target="_blank">gmail.com</a>&gt; writes:<br>


<br>
&gt;<br>
&gt;<br>
&gt; Hi all,<br>
&gt;<br>
&gt; I&#39;m implementing a synth in Pd using midi/notein as an input. <br>
&gt;<br>
&gt; One problem I keep coming up against is handling note off messages. This guy&#39;s<br>
blog post describes the issue<br>
- <a href="http://kemptonmooney.com/2010/09/pure-data-midi-note-off-solution/" target="_blank">http://kemptonmooney.com/2010/09/pure-data-midi-note-off-solution/</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; However, I think his solution is not exactly what I&#39;m looking for. The synths<br>
I use in Logic have note priority methods and remember all held down notes (or<br>
at least 10). <br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; I wondering if anyone has managed to implement something like this in Pd or<br>
might know where I can find out more about it. <br>
&gt;<br>
&gt; ddg.mono from Max<br>
(<a href="http://www.cycling74.com/docs/max5/refpages/m4l-ref/ddg.mono.html" target="_blank">http://www.cycling74.com/docs/max5/refpages/m4l-ref/ddg.mono.html</a>) looks<br>
similar to what I want - but I don&#39;t use Max and I don&#39;t think I can access the<br>
source. <br>
&gt;<br>
&gt;<br>
&gt; Any ideas?<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Joe<br>
&gt;<br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt; Pd-list &lt;at&gt; <a href="http://iem.at" target="_blank">iem.at</a> mailing list<br>
&gt; UNSUBSCRIBE and account-management -&gt; <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
&gt;<br>
<br>
<br>
<br>
Joe:<br>
<br>
I read you message witha 2 years delay. jeje, I am making a course about how to<br>
build a Virtual Analog Sinthesizer with pure data on My Youtube Chanel:<br>
<br>
<a href="http://www.youtube.com/user/canalpuredata" target="_blank">www.youtube.com/user/canalpuredata</a><br>
<br>
I&#39;ve got a solution to that MONO MIDI problem using Vanilla ( I don&#39;t like<br>
lybraries) so I hope it will be usefull for you.<br>
<br>
Thats My Patch:<br>
__________________________________________________________________________<br>
<br>
<br>
<br>
#N canvas 0 22 327 401 10;<br>
#X obj 56 42 notein;<br>
#X obj 45 100 - 1;<br>
#X obj 45 125 pack 0 0 0;<br>
#N canvas 0 22 227 376 guardaNotas 0;<br>
#X obj 50 83 unpack 0 0 0;<br>
#N canvas 0 22 247 267 ++ 0;<br>
#X obj 41 40 inlet;<br>
#X obj 110 41 inlet;<br>
#X obj 41 99 f;<br>
#X obj 41 133 + 1;<br>
#X msg 110 82 0;<br>
#X obj 41 165 outlet;<br>
#X msg 41 73 bang;<br>
#X connect 0 0 6 0;<br>
#X connect 1 0 4 0;<br>
#X connect 2 0 3 0;<br>
#X connect 3 0 2 1;<br>
#X connect 3 0 5 0;<br>
#X connect 4 0 2 1;<br>
#X connect 6 0 2 0;<br>
#X restore 50 224 pd ++;<br>
#X obj 50 49 inlet;<br>
#X obj 50 282 *;<br>
#X obj 84 265 &gt; 0;<br>
#X msg 50 198 bang;<br>
#X text 106 228 evita cuenta eterna;<br>
#X obj 104 207 r \$0-ordenreset;<br>
#X obj 92 127 tabwrite \$0-velocity;<br>
#X obj 32 166 tabwrite \$0-nota;<br>
#X obj 50 307 tabwrite \$0-orden;<br>
#X connect 0 0 5 0;<br>
#X connect 0 0 9 0;<br>
#X connect 0 1 4 0;<br>
#X connect 0 1 8 0;<br>
#X connect 0 2 8 1;<br>
#X connect 0 2 9 1;<br>
#X connect 0 2 10 1;<br>
#X connect 1 0 3 0;<br>
#X connect 2 0 0 0;<br>
#X connect 3 0 10 0;<br>
#X connect 4 0 3 1;<br>
#X connect 5 0 1 0;<br>
#X connect 7 0 1 1;<br>
#X restore 72 195 pd guardaNotas;<br>
#X msg 45 147 \$2 \$3 \$1;<br>
#X obj 45 170 t b l;<br>
#N canvas 0 22 309 311 changeNote 0;<br>
#X text 91 9 evita redundancia.;<br>
#X obj 70 51 inlet;<br>
#X obj 109 104 unpack;<br>
#X obj 142 171 &amp;&amp;;<br>
#X obj 70 76 t l l;<br>
#X obj 70 210 spigot;<br>
#X obj 109 138 == -1;<br>
#X obj 157 138 == -1;<br>
#X obj 142 193 == 0;<br>
#X obj 179 102 unpack;<br>
#X obj 70 243 outlet;<br>
#X connect 1 0 4 0;<br>
#X connect 2 0 6 0;<br>
#X connect 2 1 7 0;<br>
#X connect 3 0 8 0;<br>
#X connect 4 0 5 0;<br>
#X connect 4 1 2 0;<br>
#X connect 5 0 9 0;<br>
#X connect 5 0 10 0;<br>
#X connect 6 0 3 0;<br>
#X connect 7 0 3 1;<br>
#X connect 8 0 5 1;<br>
#X connect 9 0 6 1;<br>
#X connect 9 1 7 1;<br>
#X restore 45 248 pd changeNote;<br>
#X obj 45 274 unpack;<br>
#X obj 89 316 outlet;<br>
#X obj 42 317 outlet;<br>
#X obj 56 70 poly 10;<br>
#N canvas 386 100 412 676 note 0;<br>
#X obj 63 66 t b b b;<br>
#X text 18 603 mensaje midi;<br>
#X obj 63 31 inlet;<br>
#X obj 63 619 outlet;<br>
#X obj 86 254 moses 0;<br>
#X msg 179 237 0;<br>
#X floatatom 191 280 5 0 0 0 - - -;<br>
#X obj 125 351 f;<br>
#X text 198 257 saca numero mayor;<br>
#X obj 63 368 f;<br>
#X obj 113 181 t f f;<br>
#X text 187 349 numero mayor;<br>
#X text 110 369 indice;<br>
#X floatatom 168 385 5 0 0 0 - - -;<br>
#X msg 125 321 bang;<br>
#X obj 125 279 t f f;<br>
#X obj 63 395 t f f;<br>
#X obj 63 582 pack;<br>
#X text 43 554 memoria ultima nota;<br>
#X obj 53 492 t f f b;<br>
#N canvas 733 352 236 271 cuenta11 0;<br>
#X obj 56 160 + 1;<br>
#X obj 56 112 until;<br>
#X obj 56 87 t f b;<br>
#X msg 114 120 -1;<br>
#X obj 56 137 f;<br>
#X obj 56 38 inlet;<br>
#X obj 56 184 outlet;<br>
#X msg 56 64 11;<br>
#X connect 0 0 4 1;<br>
#X connect 0 0 6 0;<br>
#X connect 1 0 4 0;<br>
#X connect 2 0 1 0;<br>
#X connect 2 1 3 0;<br>
#X connect 3 0 4 1;<br>
#X connect 4 0 0 0;<br>
#X connect 5 0 7 0;<br>
#X connect 7 0 2 0;<br>
#X restore 113 128 pd cuenta11;<br>
#X msg 147 509 10;<br>
#X obj 235 436 sel 10;<br>
#X text 171 455 reset orden \, evita cuenta eterna;<br>
#X text 149 404 si llega a 10 en &quot;0&quot; \, note off;<br>
#X obj 235 479 s \$0-ordenreset;<br>
#X obj 113 207 tabread \$0-orden;<br>
#X obj 84 434 tabread \$0-velocity;<br>
#X obj 63 462 tabread \$0-nota;<br>
#X obj 72 534 tabwrite \$0-nota;<br>
#X connect 0 0 9 0;<br>
#X connect 0 1 20 0;<br>
#X connect 0 2 5 0;<br>
#X connect 2 0 0 0;<br>
#X connect 4 1 15 0;<br>
#X connect 5 0 4 1;<br>
#X connect 6 0 4 1;<br>
#X connect 7 0 9 1;<br>
#X connect 9 0 13 0;<br>
#X connect 9 0 16 0;<br>
#X connect 10 0 26 0;<br>
#X connect 10 1 7 1;<br>
#X connect 14 0 7 0;<br>
#X connect 15 0 14 0;<br>
#X connect 15 1 6 0;<br>
#X connect 16 0 28 0;<br>
#X connect 16 1 22 0;<br>
#X connect 16 1 27 0;<br>
#X connect 17 0 3 0;<br>
#X connect 19 0 17 0;<br>
#X connect 19 1 21 0;<br>
#X connect 19 1 29 0;<br>
#X connect 20 0 10 0;<br>
#X connect 21 0 29 1;<br>
#X connect 22 0 25 0;<br>
#X connect 26 0 4 0;<br>
#X connect 27 0 17 1;<br>
#X connect 28 0 19 0;<br>
#X restore 45 218 pd note;<br>
#X obj 136 45 table \$0-nota 11;<br>
#X obj 136 67 table \$0-velocity 11;<br>
#X obj 136 89 table \$0-orden 11;<br>
#X connect 0 0 10 0;<br>
#X connect 0 1 10 1;<br>
#X connect 1 0 2 0;<br>
#X connect 2 0 4 0;<br>
#X connect 4 0 5 0;<br>
#X connect 5 0 11 0;<br>
#X connect 5 1 3 0;<br>
#X connect 6 0 7 0;<br>
#X connect 7 0 9 0;<br>
#X connect 7 1 8 0;<br>
#X connect 10 0 1 0;<br>
#X connect 10 1 2 1;<br>
#X connect 10 2 2 2;<br>
#X connect 11 0 6 0;<br>
<br>
<br>
<br>
________________________________________________________________________<br>
<br>
Un abrazo!<br>
<br>
<br>
                Claudio Nervi.<br>
<br>
<br>
<a href="http://www.claudionervi.com" target="_blank">www.claudionervi.com</a><br>
<br>
<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
<a href="mailto:Pd-list@iem.at">Pd-list@iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -&gt; <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Follow me on Twitter @diplojocus
</div>