<div dir="ltr"><div>I&#39;m quite happy! -- <br><br>and given how much blundering &amp; hassle an inexperienced user can enjoy in the installation process --<br><br></div>Would my compiled binary be useful on sourceforge -- What&#39;s the proper way to check that possibility out?<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Feb 20, 2016 at 5:37 AM, Taube, Heinrich K <span dir="ltr">&lt;<a href="mailto:taube@illinois.edu" target="_blank">taube@illinois.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">if you are in 3.9.0 and its working as you expect im happy!<br>
<div class="HOEnZb"><div class="h5"><br>
&gt; On Feb 19, 2016, at 10:46 PM, Forrest Curo &lt;<a href="mailto:treegestalt@gmail.com">treegestalt@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; Given that the error isn&#39;t from the current distribution, I suppose there&#39;s no issue...<br>
&gt;<br>
&gt; Ah, I seem to have finally bumbled through installing 3.9.0, thanks!<br>
&gt;<br>
&gt; On Fri, Feb 19, 2016 at 2:19 PM, Forrest Curo &lt;<a href="mailto:treegestalt@gmail.com">treegestalt@gmail.com</a>&gt; wrote:<br>
&gt; function mychord (data)<br>
&gt;   with channel = second(data),<br>
&gt;        keynum = third(data),<br>
&gt;        velocity = fourth(data)<br>
&gt;   send(&quot;mp:midi&quot;, key: key, vel: vel, chan: chan)<br>
&gt;   send(&quot;mp:midi&quot;, key: key + pick(3,4), vel: vel, chan: chan)<br>
&gt;   send(&quot;mp:midi&quot;, key: key + 7, vel: vel, chan: chan)<br>
&gt; end<br>
&gt; -------------<br>
&gt; response: &#39;mychord&#39;<br>
&gt; -------------<br>
&gt; send(&quot;mp:receive&quot;, mm:on, mychord)<br>
&gt; ------------------<br>
&gt; response: &#39;#t&#39;<br>
&gt; -------------------<br>
&gt; [play note]<br>
&gt; ------------------<br>
&gt; response:<br>
&gt; &gt;&gt;&gt; Error: :vel not a valid keyword argument in<br>
&gt; (:key key :vel vel :chan chan)<br>
&gt; ------------------------------------<br>
&gt;<br>
&gt; That is, it doesn&#39;t work in that example because it needs a variable &#39;velocity&#39; rather than &#39;vel&#39;. (?)<br>
&gt;<br>
&gt; If I fix that and likewise put the variable &#39;channel&#39; in place of &#39;chan&#39;, &#39;keynum&#39; rather than &#39;key&#39; -- then it works.<br>
&gt;<br>
&gt; Since I&#39;m working with an ubuntu binary of 3.8.0 I might not be using the latest examples available(?) [I couldn&#39;t install a more recent Grace because my system seems to be allergic to cmake &gt; cmake4.3 --<br>
&gt; (perhaps for similar 32-bit --&gt; 64-bit issues?)<br>
&gt; -------------<br>
&gt; If I get rid of the &#39;send&#39;s in the mp.midi lines<br>
&gt; the error instead is:<br>
&gt; &gt;&gt;&gt; Error: vel: unbound variable<br>
&gt; and changing everything as before yields:<br>
&gt;<br>
&gt; &gt;&gt;&gt; Error: mp:midi: unknown key: (:vel 91 :chan 0)<br>
&gt; in (:key 59 :vel 91 :chan 0)<br>
&gt;<br>
&gt; The &#39;send&#39; and the &#39;mp:midi&#39; ought to be equivalent; but it&#39;s working with the &#39;send&#39; version, while I don&#39;t see why:<br>
&gt;   mp:midi(key: keynum, vel: velocity, chan: channel)<br>
&gt; is not.<br>
&gt; (?)<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Fri, Feb 19, 2016 at 10:43 AM, Taube, Heinrich K &lt;<a href="mailto:taube@illinois.edu">taube@illinois.edu</a>&gt; wrote:<br>
&gt; its not clear to me what the issue is. does it not work.<br>
&gt; BTW no need to use send() and just call the function directly so<br>
&gt;<br>
&gt; &gt; send(&quot;mp:midi&quot;, key: key, vel: vel, chan: chan)<br>
&gt;<br>
&gt; can be written<br>
&gt;<br>
&gt; mp:midi(key: key, vel: vel, chan: chan)<br>
&gt;<br>
&gt; i thought I got rid of all that in the documentation and help files.<br>
&gt;<br>
&gt;<br>
&gt; &gt; On Feb 19, 2016, at 10:04 AM, Forrest Curo &lt;<a href="mailto:treegestalt@gmail.com">treegestalt@gmail.com</a>&gt; wrote:<br>
&gt; &gt;<br>
&gt; &gt; The section is &quot;Input Hooks&quot; (speaking of errors... but still not the first title I&#39;d look for this under.)<br>
&gt; &gt;<br>
&gt; &gt; On Fri, Feb 19, 2016 at 7:59 AM, Forrest Curo &lt;<a href="mailto:treegestalt@gmail.com">treegestalt@gmail.com</a>&gt; wrote:<br>
&gt; &gt; Okay, among &#39;examples&#39; there is a section titled &#39;Output Hooks&#39; (not, to my mind, the most obvious titles to look for)<br>
&gt; &gt; and the examples have errors:<br>
&gt; &gt; ie<br>
&gt; &gt;<br>
&gt; &gt; ; An opcode receiver that plays a major or minor chord whenever a<br>
&gt; &gt; ; Note On arrives<br>
&gt; &gt;<br>
&gt; &gt; function mychord (data)<br>
&gt; &gt;   with channel = second(data),<br>
&gt; &gt;        keynum = third(data),<br>
&gt; &gt;        velocity = fourth(data)<br>
&gt; &gt;   send(&quot;mp:midi&quot;, key: key, vel: vel, chan: chan)<br>
&gt; &gt;   send(&quot;mp:midi&quot;, key: key + pick(3,4), vel: vel, chan: chan)<br>
&gt; &gt;   send(&quot;mp:midi&quot;, key: key + 7, vel: vel, chan: chan)<br>
&gt; &gt; end<br>
&gt; &gt;<br>
&gt; &gt; ;; assign receiver for the mm:on opcode (Note Ons)<br>
&gt; &gt;<br>
&gt; &gt; send(&quot;mp:receive&quot;, mm:on, mychord)<br>
&gt; &gt;<br>
&gt; &gt; ;; when you are done clear it...<br>
&gt; &gt;<br>
&gt; &gt; send(&quot;mp:receive&quot;, mm:on, #f)<br>
&gt; &gt; -----------------------------------------------------------<br>
&gt; &gt;<br>
&gt; &gt; It can be fixed, however. This works:<br>
&gt; &gt; -------------------------------------------------------------<br>
&gt; &gt; function mychord (data)<br>
&gt; &gt;   with channel = second(data),<br>
&gt; &gt;        keynum = third(data),<br>
&gt; &gt;        velocity = fourth(data)<br>
&gt; &gt;   send(&quot;mp:midi&quot;, key: keynum, amp: velocity, chan: channel)<br>
&gt; &gt;   send(&quot;mp:midi&quot;, key: keynum + pick(3,4), amp: velocity, chan: channel)<br>
&gt; &gt;   send(&quot;mp:midi&quot;, key: keynum + 7, amp: velocity, chan: channel)<br>
&gt; &gt; end<br>
&gt; &gt;<br>
&gt; &gt; ;; assign receiver for the mm:on opcode (Note Ons)<br>
&gt; &gt;<br>
&gt; &gt; send(&quot;mp:receive&quot;, mm:on, mychord)<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; On Thu, Feb 18, 2016 at 9:10 PM, Forrest Curo &lt;<a href="mailto:treegestalt@gmail.com">treegestalt@gmail.com</a>&gt; wrote:<br>
&gt; &gt; I see a tutorial on sending midi out<br>
&gt; &gt;<br>
&gt; &gt; and ways to declare a function to be receiving midi in with specific opcodes<br>
&gt; &gt;<br>
&gt; &gt; but I&#39;m not at all clear on how such a function should be written to extract the data when a midi message comes in.<br>
&gt; &gt;<br>
&gt; &gt; Examples anywhere?<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; Cmdist mailing list<br>
&gt; &gt; <a href="mailto:Cmdist@ccrma.stanford.edu">Cmdist@ccrma.stanford.edu</a><br>
&gt; &gt; <a href="https://cm-mail.stanford.edu/mailman/listinfo/cmdist" rel="noreferrer" target="_blank">https://cm-mail.stanford.edu/mailman/listinfo/cmdist</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Cmdist mailing list<br>
&gt; <a href="mailto:Cmdist@ccrma.stanford.edu">Cmdist@ccrma.stanford.edu</a><br>
&gt; <a href="https://cm-mail.stanford.edu/mailman/listinfo/cmdist" rel="noreferrer" target="_blank">https://cm-mail.stanford.edu/mailman/listinfo/cmdist</a><br>
<br>
</div></div></blockquote></div><br></div>