Michael - totally cool with me; feel free to fork and have at it! :) I am not familiar with how Docker interacts with host USB audio devices. My image uses the --silent flag to avoid hitting (non-existent) audio devices in the Docker container. Fortunately you can run rebuild Docker images pretty quickly locally so it's easy to tweak and mess around with stuff. Also, you can technically run Docker images on any computer so it may be possible to run Docker containers on a box you have with said USB audio hosts and you can expose those hosts so that your image can use them.

Stuart - I think you could accomplish your idea with some work over my Docker image. AFAIK, the --silent flag does not mean no sound is produced; it just means no audio is outputted during the running of the program. You could set something up like:

1. Let ChucK produce 30 seconds of audio (with --silent it should take less than 30 seconds to produce 30 seconds of audio) and save it to an audio file. Look at export.ck in the chuck-renderer repo for how to do this. 
2. Streaming clients grab this 30 seconds of audio and start playing it. 
3. While the above is occurring, you produce another 30 seconds of audio.
4. Send the next audio file to clients and they queue it up after the first segment ends. 
5. Rinse, repeat.

This has the added benefit of letting ChucK shut down between producing segments to do garbage collection. :) You might need some annealing to get the separate audio to sound "together" but this should get you a "Hello, World ChucK stream." 

Good luck!

mc

On Mon, Jan 16, 2017 at 8:27 AM, Michael Heuer <heuermh@gmail.com> wrote:
Hello Mark,

This is a very cool idea!

Would be great for ChucK one-liners (see e.g. http://electro-music.com/forum/topic-13512.html).

I've been meaning to build up Docker image(s) with ChucK + LiCK + LADSPA plugins so that I have everything available in one container to use on different platforms.  I'm not so sure how Docker interacts with host USB audio devices though.  In any case, would you mind if I beg/borrow/steal from your Dockerfile to get started?

Thanks,

   michael


On Fri, Jan 13, 2017 at 7:16 PM, Mark Cerqueira <mark.cerqueira@gmail.com> wrote:
I set up a Docker image this week that lets you pass it ChucK source code or file, it runs it for up to 30 seconds (with --silent flag so it does this step much faster than 30 seconds), saves the output to .wav, converts the .wav to .m4a to make the file smaller, and then hosts the file for download/streaming.


Source code: https://github.com/markcerqueira/chuck-renderer

On Tue, Jan 10, 2017 at 11:18 AM, Mark Cerqueira <mark.cerqueira@gmail.com> wrote:
Would love to hear if you get this working so please report back with any findings. I'm trying to do something similar with a Docker container. 

Good luck and happy chucking!

mc

On Sat, Jan 7, 2017 at 11:29 PM, Stuart McDonald <stuartcmcd@gmail.com> wrote:
Thanks to those who responded; will look at Jack, DarkIce and
Liquidsoap. What I was ideally hoping to do is running chuck =>
DarkIce/Liquidsoap => Icecast on an Amazon EC2 appliance, but a lack
of soundcard on these machines complicates things.

Cheers ears,


Stuart
_______________________________________________
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



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