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 <heue...@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

Reply via email to