I agree that now is a great time to make some improvements to the language! Right now I am pretty busy trying to get Chunity to compile on the last few major platforms (hopefully more on that soon), but I'd be happy to help point people in the right direction if they want to try making a pull request. It's a pretty massive codebase and so sometimes a little help explaining where to get started is all that's necessary to help someone make some changes!

~Jack

On Tue, May 12, 2020 at 2:07 AM Ge Wang <ge@ccrma.stanford.edu> wrote:
Dear Michael, Mario, and all,

Thanks for tuning in!  For those who missed it, the recording of Artful
Design TV Episode #7: "Coding Music with ChucK" with guest co-hosts
Perry Cook and Spencer Salazar is now posted in the Archive.  It was a
fun one!

     https://artful.design/tv/archive/

I agree with Michael and Mario -- this seems like an appropriate moment
for us and the community to take stock and redouble ChucK development
efforts.  Michael's list is a great jumping-off point.  Spencer and I
have started merging and closing outstanding pull-requests on github and
would encourage others to contribute new PRs.  On a personal note, even
after 18 years I still find coding on ChucK a strangely restorative
activity, perhaps extra so in quarantine.

Regarding ChucK as a library: indeed since 1.4.0.0, ChucK has been fully
refactored into "core" and "host", where "core" is the ChucK VM and
synthesis engine, encapsulated in a single "ChucK" class.  This refactor
was mainly the efforts of Jack Atherton, who also used it to create
Chunity (ChucK in Unity; http://chuck.stanford.edu/chunity). The broader
implication is that it's now straightforward to embed ChucK as library
or component into other systems and plugins.

To demonstrate how this works in practice, Jack has created an example
of embedding ChucK into any host. The zip file can be found here:

     http://chuck.stanford.edu/release/files/examples/chuck-embed.zip

So far this example builds only for MacOS and Linux, but should be
easily adaptable to build for Windows.  In particular, we draw your
attention to the simple host c++ file that 1) sets up a ChucK instance,
2) compiles ChucK code using two approaches, and 3) handles the
real-time audio callback from ChucK.


http://chuck.stanford.edu/release/files/examples/chuck-embed/host/chuck-embed.cpp

Well, that's it for now.  Thank you all and keep on ChucKin!

Ge!

~~~
Ge Wang
Associate Professor
Center for Computer Research in Music and Acoustics (CCRMA)
Department of Music (also Computer Science, by Courtesy)
Stanford University
https://ccrma.stanford.edu/~ge/
~
Artful Design: Technology in Search of the Sublime!
-- a book for the engineer with a soul --
https://artful.design/
~~~

On 5/11/20 12:30 PM, Mario Buoninfante wrote:
> Hi,
>
> I second what Michael said, the streaming was really cool and interesting!
>
> About the new features and "libchuck", I am more than happy to help out
> as much as I can.
> I am not a C/C++ programmer, but I'm currently studying it.
> Recently I have done few little things in ChucK (mainly Chugins and easy
> bug fixes documented on github) and am getting more and more familiar
> with ChucK's source code, that is always useful.
> I suppose I could be of some help in some way.
> What I can do for sure though, is support with testing, mainly on Linux
> but also MacOS and Windows.
>
> Also, about the github repo, it seems like there are still old issues
> open even if they have been fixed.
> In case it can be useful I'd be happy to double check them so that we
> can then maybe close the cases.
>
> Cheers,
> Mario
>
>
> --
> electronic musician, sound artist, creative coder, QA engineer
> https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com
> https://github.com/mariobuoninfante https://bitbucket.org/mariobuoninfante
>
> On 11 May 2020 17:04, Michael Heuer <heuermh@gmail.com> wrote:
>
>     Hello Ge, Spencer, Perry
>
>     It was very nice to meet you virtually in the recent Artful Design
>     TV meetup!
>
>     With that event and the recent ChucK version 1.4.0.1
>     <http://1.4.0.1> release I have been inspired to ask a bunch of
>     questions.  Hope you don't mind.
>
>     Is there much interest in implementing new ChucK language features?
>       There are some suggestions in GitHub issues
>
>     Add abstract and final class and method modifiers
>     <https://github.com/ccrma/chuck/issues/105>
>     Allow a class to implement more than one interface or extend more
>     than one class <https://github.com/ccrma/chuck/issues/106>
>     Order of class definitions in a file matters sometimes
>     <https://github.com/ccrma/chuck/issues/107>
>     Add constructors to class definitions
>     <https://github.com/ccrma/chuck/issues/108>
>     Add namespaces and import statements
>     <https://github.com/ccrma/chuck/issues/109>
>     Allow => from a UGen into a field/parameter
>     <https://github.com/ccrma/chuck/issues/110>
>
>
>     Then outside of the new language features, my most desired feature
>     request would be
>
>     Chubgraphs and ChuGens don't support stereo operation
>     <https://github.com/ccrma/chuck/issues/111>
>
>
>     Next, it sounds like the new ChucK version will be easier to use as
>     a library.  Is there interest from the community in helping wrap
>     this library into plugins?  Despite occasional attempts with
>     libchuck <https://github.com/mgyucht/libchuck> (which I assume may
>     be deprecated now?), I am not much of a C/C++ developer and often
>     find myself lost in build issues.
>
>     LV2 plugin <http://lv2plug.in/> for Linux, this would allow running
>     ChucK on the MOD Devices pedals
>     https://wiki.moddevices.com/wiki/Creating_Audio_Plugins
>
>     AudioUnit v3 for OSX and iOS,
>     https://forum.juce.com/t/ios-audiounit-wait-what/17224
>
>     VCV Rack <https://vcvrack.com/> plugin, custom API
>     https://vcvrack.com/manual/PluginDevelopmentTutorial
>
>
>     Then on a somewhat related note, what the hell?  These are header files!
>
>     This repository is currently disabled due to a DMCA takedown notice.
>     https://github.com/spencersalazar/libchuck
>     https://github.com/github/dmca/blob/master/2018/2018-06-13-Steinberg.md
>
>     This breaks the https://github.com/mtiid/chuck-racks build.
>
>     Cheers,
>
>         michael
>
>
> _______________________________________________
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users

_______________________________________________
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users