<div dir="ltr"><div>Hi all,</div><div><br></div><div>In terms of recent developments you&#39;ll notice a flurry of commits in the past year or so, mostly by Jack Atherton and Ge:</div><div><a href="https://github.com/ccrma/chuck/commits/master" target="_blank">https://github.com/ccrma/chuck<wbr>/commits/master</a></div><div>Not to steal Jack&#39;s thunder but these are related to a very interesting research project hes been developing and perhaps can talk more about :) And in fact, at the moment we are actually at the verge of a new release. </div><div><br></div><div>Chuck Racks recently came out of my group at CalArts, though it is still very much in a beta state (and open to pull requests :).</div><div><a href="https://mtiid.calarts.edu/projects/software/chuck-racks/" target="_blank">https://mtiid.calarts.edu/proj<wbr>ects/software/chuck-racks/</a></div><div><br></div><div>ChucK is going strong at CalArts, where we teach it to ~50 multidisciplinary art students every year and many, many more through Kadenze. The similarity of ChucK&#39;s syntax to e.g. Processing, Arduino, and C++ make it an ideal starting point for teaching this family of languages in the context of creative coding (this is also one reason why we do not start with teaching more well-known languages for music such as PureData, Max, or SuperCollider). </div><div><br></div><div>We also use ChucK to power most of our advanced music computing systems, for instance our entire Machine Orchestra architecture, our musical interface design instruction, and anything else involving physical hardware. ChucK is still the first tool I reach for for &quot;musical systems integration,&quot; with its ability to synchronize between different hardware interfaces, software environments, network endpoints, and audio capture + emission. </div><div><br></div><div>Suffice it to say, my colleagues, students, and I have a significant interest in seeing ChucK thrive and continuing to nurture it in that direction. </div><div><br></div><div>That being said, if you look at the big picture of everything I detailed above, developments in ChucK are mainly driven by research initiatives (even the Kadenze course was originally created as part of an NSF grant). There is no research-oriented motivation to e.g. make static strings work better, or to improve and update documentation. The only real recent push to improve the user-facing aspect of programming with ChucK came in anticipation of the ChucK book, published in 2015, in which we allocated some funding to fix bugs and add some sorely missing features (such as string processing and SerialIO) -- huge thanks to Ajay for really pushing this effort. </div><div><br></div><div>Aside from that, its hard for me to really see how the nuts and bolts development of ChucK has been carried on outside of specific research agendas, or especially motivated grad students. I am personally be interested in a framework where ChucK can advance not just in response to academic research but in continuing to improve a nice programming language for musicians. I have thought a lot about this over the years and I still don&#39;t have an answer, but I do care :)</div><div><br></div><div>Thoughts? </div><div><br></div><div>Spencer</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jan 13, 2018 at 6:53 PM, JP Yepez <span dir="ltr">&lt;<a href="mailto:jpyepezimc@gmail.com" target="_blank">jpyepezimc@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 dir="ltr">Hello all,<div><br></div><div>I can&#39;t say much about the development part itself, but in my experience I&#39;ve noticed that ChucK is still being used widely at an academic level. I understand it&#39;s being used in a few universities that include creative technology programs and computer orchestra courses in their curriculums, including CalArts, Stanford, and VUW (New Zealand). Like Mario mentioned, it is a core part of a few Kadenze courses; I&#39;ve been involved as a producer/teaching assistant in a couple of them and it seems like it&#39;s a popular language among students who are just learning how to code, and musicians who would like to develop more advanced projects. Also, ChucK Racks popped up a couple of months ago, which was pretty exciting. So yeah, I think there&#39;s quite a bit going on, but it certainly would be nice to have a more active community (I&#39;m hoping to contribute, and hopefully I&#39;ll get to it before too long).<br></div><div><br></div><div>About the <b>static strings</b> issue, I think they&#39;re kind of in a shady spot. Like Gonzalo mentioned, you can&#39;t have static non-primitives in your code, but there is a workaround to this by declaring objects as a reference and then initializing them outside of the class. However, if you try to do this with strings, it will tell you that they&#39;re a primitive type and it throws an error. The best hack I&#39;ve found for this is through arrays (even if the size of the array is 1 in many cases). Here&#39;s an example:</div><div><br></div><div><font color="#666666"><br></font></div><div>







<p class="m_-4532268900663437588gmail-p1" style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><font color="#666666">public<span class="m_-4532268900663437588gmail-s1"> </span>class<span class="m_-4532268900663437588gmail-s1"> </span><span class="m_-4532268900663437588gmail-s2">Container</span><span class="m_-4532268900663437588gmail-s1"> </span><span class="m_-4532268900663437588gmail-s2">{</span></font></p>
<p class="m_-4532268900663437588gmail-p2" style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco;min-height:17px"><font color="#666666"><br></font></p>
<p class="m_-4532268900663437588gmail-p3" style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><font color="#666666"><span class="m_-4532268900663437588gmail-s1">    </span><span class="m_-4532268900663437588gmail-s3">static</span><span class="m_-4532268900663437588gmail-s1"> </span><span class="m_-4532268900663437588gmail-s4">string</span><span class="m_-4532268900663437588gmail-s1"> </span>staticString[];</font></p>
<p class="m_-4532268900663437588gmail-p2" style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco;min-height:17px"><span class="m_-4532268900663437588gmail-Apple-converted-space"><font color="#666666">    </font></span></p>
<p class="m_-4532268900663437588gmail-p1" style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><font color="#666666"><span class="m_-4532268900663437588gmail-s1">    </span>public<span class="m_-4532268900663437588gmail-s1"> </span>static<span class="m_-4532268900663437588gmail-s1"> </span>void<span class="m_-4532268900663437588gmail-s1"> </span><span class="m_-4532268900663437588gmail-s2">init()</span><span class="m_-4532268900663437588gmail-s1"> </span><span class="m_-4532268900663437588gmail-s2">{</span></font></p>
<p class="m_-4532268900663437588gmail-p3" style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><font color="#666666"><span class="m_-4532268900663437588gmail-s1">        </span><span class="m_-4532268900663437588gmail-s3">new</span><span class="m_-4532268900663437588gmail-s1"> </span><span class="m_-4532268900663437588gmail-s4">string</span>[<span class="m_-4532268900663437588gmail-s5">1</span>]<span class="m_-4532268900663437588gmail-s1"> </span>@=&gt;<span class="m_-4532268900663437588gmail-s1"> </span>staticString;</font></p>
<p class="m_-4532268900663437588gmail-p3" style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><font color="#666666"><span class="m_-4532268900663437588gmail-s1">        </span><span class="m_-4532268900663437588gmail-s6">&quot;Hello World&quot;</span><span class="m_-4532268900663437588gmail-s1"> </span>@=&gt;<span class="m_-4532268900663437588gmail-s1"> </span>staticString[<span class="m_-4532268900663437588gmail-s5">0</span>];</font></p>
<p class="m_-4532268900663437588gmail-p4" style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><font color="#666666"><span class="m_-4532268900663437588gmail-Apple-converted-space">    </span><span class="m_-4532268900663437588gmail-s2">}</span></font></p>
<p class="m_-4532268900663437588gmail-p2" style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco;min-height:17px"><span class="m_-4532268900663437588gmail-Apple-converted-space"><font color="#666666">    </font></span></p>
<p class="m_-4532268900663437588gmail-p1" style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><font color="#666666"><span class="m_-4532268900663437588gmail-s1">    </span>public<span class="m_-4532268900663437588gmail-s1"> </span>static<span class="m_-4532268900663437588gmail-s1"> </span>void<span class="m_-4532268900663437588gmail-s1"> </span><span class="m_-4532268900663437588gmail-s2">print(){</span></font></p>
<p class="m_-4532268900663437588gmail-p3" style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><font color="#666666"><span class="m_-4532268900663437588gmail-s1">        </span>&lt;&lt;&lt;<span class="m_-4532268900663437588gmail-s1"> </span>staticString[<span class="m_-4532268900663437588gmail-s5">0</span>]<span class="m_-4532268900663437588gmail-s1"> </span>&gt;&gt;&gt;;</font></p>
<p class="m_-4532268900663437588gmail-p4" style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><font color="#666666"><span class="m_-4532268900663437588gmail-Apple-converted-space">    </span><span class="m_-4532268900663437588gmail-s2">}</span></font></p>
<p class="m_-4532268900663437588gmail-p3" style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><font color="#666666">}</font></p>
<p class="m_-4532268900663437588gmail-p2" style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco;min-height:17px"><font color="#666666"><br></font></p>
<p class="m_-4532268900663437588gmail-p3" style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><font color="#666666">Container.init();</font></p>
<p class="m_-4532268900663437588gmail-p3" style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><font color="#666666">Container.print();</font></p>
<p class="m_-4532268900663437588gmail-p2" style="margin:0px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco;min-height:17px"><br></p></div><div><font color="#444444"><br></font></div><div><font color="#444444">You don&#39;t really need an init() function, and you can initialize the array on the actual script, but I usually end up with much larger classes, which is why I like to keep things clean.</font></div><div><font color="#444444">Hope this helps!</font></div><div><font color="#444444"><br></font></div><div><font color="#444444">Best,</font></div><div><font color="#444444"><br></font></div><div><font color="#444444">JP</font></div><div><br><div class="gmail_extra"><div><div class="m_-4532268900663437588gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><br></div><b style="font-family:Helvetica;font-size:12px"><font size="1" color="#3d85c6">JP Yepez</font></b><div><div><span style="font-family:Helvetica;font-size:12px;background-color:rgb(255,255,255)"><font size="1" color="#999999">New Media Artist - Musician - Researcher</font></span></div><div><font face="Helvetica" size="1" color="#3d85c6">Website:</font><font color="#a59999" face="Helvetica" size="1">  <a href="http://www.jpyepez.com/" target="_blank">http://www.jpyepez.com/</a></font></div><div><font face="Helvetica" size="1" color="#3d85c6">Email</font><font color="#a59999" face="Helvetica" size="1">:      <a href="mailto:jpyepezimc@gmail.com" target="_blank">jpyepezimc@gmail.com</a></font></div><div><font color="#a59999" face="Helvetica" size="1">------------------------------<wbr>--------------------------</font></div><div><font color="#a59999" face="Helvetica" size="1"><a href="https://www.instagram.com/jpyepez/" target="_blank"><img src="https://images2.imgbox.com/62/2e/OWpabMBi_o.png"></a></font><span style="font-family:Helvetica;font-size:12px">        <a href="https://twitter.com/jpyepezmusic" target="_blank"><img src="https://images2.imgbox.com/65/2a/b3Gn8mIm_o.png"></a><span style="font-family:Helvetica;font-size:12px">        <a href="https://www.linkedin.com/in/jp-yepez-063928123/" target="_blank"><img src="https://images2.imgbox.com/21/22/7IKM1kB9_o.png"></a></span></span><font color="#a59999" face="Helvetica" size="1"><br></font></div>















<div><font color="#a59999" face="Helvetica" size="1"><br></font></div></div></div></div></div></div></div></div></div><div><div class="h5">
<br><div class="gmail_quote">On Sun, Jan 14, 2018 at 12:19 AM, mario buoninfante <span dir="ltr">&lt;<a href="mailto:mario.buoninfante@gmail.com" target="_blank">mario.buoninfante@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
I&#39;d like to ask the same question about the development status.<br>
<br>
the only thing I can say is that also if the development seems to be a bit stuck, on the other side I noticed that they&#39;re pushing on the educational side (see Kadenze courses), and if you look at the github repository, there&#39;s been some update in the last 2 years.<br>
<br>
but as you guys said, it&#39;s important to know what&#39;s the plan ;)<br>
<br>
it&#39;s a couple of years I&#39;m really diving into ChucK and I strongly believe that is a good programming language which opens up a lot of possibilities that other languages don&#39;t.<br>
<br>
but at the same time I feel like it&#39;s been a bit abandoned (maybe that&#39;s a huge word, let&#39;s say put aside ;) ) and of course using a &quot;tool&quot;  which has an &quot;uncertain future&quot; it&#39;s not the best thing.<br>
<br>
I wish I was able to offer my contribution to the development, but unfortunately I&#39;m not really into C/C++, I&#39;m more a &quot;scripting language guy&quot; :)<br>
<br>
btw, it would be nice to hear what developers and/or other users have to say about it.<br>
<br>
<br>
cheers,<br>
<br>
Mario<span class="m_-4532268900663437588gmail-im m_-4532268900663437588gmail-HOEnZb"><br>
<br>
<br>
<br>
On 12/01/18 22:14, Gonzalo wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Yes, I&#39;m wondering the same thing. There&#39;s a Facebook group (<a href="https://www.facebook.com/groups/1593843507578422/" rel="noreferrer" target="_blank">https://www.facebook.com/grou<wbr>ps/1593843507578422/</a>) but it doesn&#39;t look super active either.<br>
<br>
As far as static strings: I&#39;m pretty sure you just can&#39;t have static non-primitives. What are you trying to achieve?<br>
<br>
Cheers,<br>
Gonzalo<br>
<br>
<br>
On 13.01.18 00:20, Atte wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Hi<br>
<br>
I&#39;ve been away for a long time and surprised that activity seems to have slowed down a lot, both on the development of new releases chuck and the life of this list. Am I looking at the wrong places? What&#39;s the status of chuck development now and in the future?<br>
<br>
I really like chuck (mostly the timing and sporking including Machine.add()), should I look other places for a language that will privide a more secure future? I&#39;m on linux and looked at Csound, Super Collider and PD, each has it&#39;s challenges in how I work (realtime generative and algorithmic MIDI), python seems to have realtime problems (garbage collection at random points). Any idea what former chuck users have switched to now?<br>
<br>
Back to chuck! A problem that I never been able to solve, static strings:<br>
<br>
public class A {<br>
     &quot;b&quot; @=&gt; static string B;<br>
<br>
     public static void C(){<br>
    &lt;&lt;&lt;B&gt;&gt;&gt;;<br>
     }<br>
}<br>
<br>
That throws an error, how would I go about what I&#39;m trying to do?<br>
<br>
Cheers<br>
<br>
</blockquote>
<br>
</blockquote>
<br></span><div class="m_-4532268900663437588gmail-HOEnZb"><div class="m_-4532268900663437588gmail-h5">
______________________________<wbr>_________________<br>
chuck-users mailing list<br>
<a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank">chuck-users@lists.cs.princeton<wbr>.edu</a><br>
<a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" rel="noreferrer" target="_blank">https://lists.cs.princeton.edu<wbr>/mailman/listinfo/chuck-users</a><br>
</div></div></blockquote></div><br></div></div></div></div><img src="http://t.sidekickopen08.com/e1t/o/5/f18dQhb0Sd-K8bGch0W2n0x6l2B9gXrW7sKj6v5LkZWYN2BgZ0vd77LTTv_pl91B160103?si=334295004&amp;pi=038dc1b8-ed3c-4d97-b71f-404270105a8e&amp;ti=undefined" style="display:none!important" height="1" width="1"></div>
<br>______________________________<wbr>_________________<br>
chuck-users mailing list<br>
<a href="mailto:chuck-users@lists.cs.princeton.edu">chuck-users@lists.cs.<wbr>princeton.edu</a><br>
<a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" rel="noreferrer" target="_blank">https://lists.cs.princeton.<wbr>edu/mailman/listinfo/chuck-<wbr>users</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div style="font-family:arial;font-size:small"><div><div style="font-family:arial,sans-serif;font-size:12.8px"><font size="2">Spencer Salazar, PhD</font></div><div style="font-family:arial,sans-serif;font-size:12.8px"><font size="2">Special Faculty</font></div><div style="font-family:arial,sans-serif;font-size:12.8px"><font size="2">Music Technology: Interaction, Intelligence, and Design</font></div><div style="font-family:arial,sans-serif;font-size:12.8px"><font size="2">California Institute of the Arts</font></div><div style="font-family:arial,sans-serif;font-size:12.8px"><font size="2"><br></font></div><div style="font-family:arial,sans-serif;font-size:12.8px"><font size="2"><a href="mailto:ssalazar@calarts.edu" target="_blank">ssalazar@calarts.edu</a> | +1 831.277.4654</font></div><div style="font-family:arial,sans-serif;font-size:12.8px"><font size="2"><a href="https://spencersalazar.com/" target="_blank">https://spencersalazar.com</a> </font></div></div><div><font size="2"><br></font></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</div>