[chuck-users] Oscillosope UI

Spencer Salazar spencer.salazar at gmail.com
Wed Apr 15 13:00:17 EDT 2020


Hey Mario-

Yep, Perry's got the right idea. The big cleanup in the ChucK 1.4 update
left out a component that had been built to support GUI chugins, but two
alpha-status examples you can look at are MAUI.chug and chugl (ChucK GL).
These are currently Mac only.
https://github.com/spencersalazar/MAUI.chug
https://github.com/spencersalazar/chugl

I recently spent a little time reimplementing support for these GUI
chugins, which works in the current master branch of ChucK or will work in
an upcoming 1.4.0.1 release that is being prepared soon.

The basic idea is that most GUI frameworks expect to operate on a main
thread of sorts. Chugins that want to run a GUI can submit a hook/callback
for chuck to call in its main thread, which is otherwise
mostly idle (chuck's VM and audio synth are running in a separate real-time
audio thread).

There are other considerations such as what happens if two GUI chugins
compete with each other, how GUI chugins are meant to work in miniAudicle,
Windows/Linux, etc. But the basic idea is there / not crazy!

Spencer



On Wed, Apr 15, 2020 at 6:50 AM Mario Buoninfante <
mario.buoninfante at gmail.com> wrote:

> Hi,
>
> Recently I've been poking around with Chugins and created a couple of
> things I thought were 'missing' in the official ChucK and Chugin repos,
> UGens like Wrap, Clip, Sample and Hold, etc. (
> https://github.com/mariobuoninfante/ChucK_chugins), and I was thinking
> about adding an oscilloscope as well.
> Recently I also put together a clunky class that allows you to plot things
> using gnuplot, but it's an offline thing, then you need to use Std.system()
> (that means using --caution-to-the-wind), I mean it's not ideal to be
> honest, especially if you're looking for an oscilloscope.
> I was wondering, would a Chugin be the right thing to work on to create an
> oscilloscope?
> I never dealt with UIs before, so I could be saying something completely
> naive here, but I was thinking about having a Chugin you can connect UGens
> to then display their waveform.
> Then have methods that allow to change the oscilloscope settings (ie
> x-axis and y-axis resolution, etc.).
> Does anybody have any experience with this kind of things? Chugins with
> UIs?
> Is it even sensible?
>
> Cheers,
> Mario
>
> _______________________________________________
> chuck-users mailing list
> chuck-users at lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20200415/b2e2c5dc/attachment-0001.html>


More information about the chuck-users mailing list