Skip to content

cloud-5 version 2.0

Choose a tag to compare

@gogins gogins released this 27 Sep 10:08
· 264 commits to main since this release
f63d090

This is a new major release of the cloud-5 system for making computer music in Web browsers. See the README.md for detailed instructions on installing and using cloud-5.

cloud-5

Creative Commons License

All music and examples herein are licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Michael Gogins

The cloud-5 system is a toolkit and library designed for creating computer
music that is hosted on Web servers and that runs and plays in the user's Web
browser. In theory, that can be any current Web browser, even on smartphones
and tablets, although performance might be an issue on less powerful systems.
For examples of such music, see
cloud-music.

The cloud-5 system is based on
my own WebAssembly builds of Csound and CsoundAC
. Some pieces may use
third party libraries. The home page of Csound itself is
here.

Code written as part of cloud-5 is licensed under the terms of the same
license as Csound, the
GNU Lesser Public License, version 2.1.
Components and libraries used by cloud-5 come under a variety of open source
licenses; see the links to individual packages for more information.

Introduction

The cloud-5 system is designed for making sophisticated computer music purely
in the HTML5 environment. The system is especially suited for pieces that play
online, for pieces that play indefinitely, for visual music, for algorithmic
composition, and for live coding.

cloud-5 runs on every system with an audio output that can run a Web server
and a standards compliant Web browser. That includes all computers
running macOS, Linux, or Windows, as well as the more powerful smartphones and
tablets.

Release Notes

v2.0

  • Moved cloud-5's Web root directory from cloud-5 to
    cloud-5/strudel/website/dist. This makes it possible to integrate
    Strudel, Csound, and CsoundAC without any patches or other modifications of
    Strudel source code.

  • Added one-time singleton creation code for Csound and CsoundAC to
    csound_loader.js.

  • Simplified the integration of Csound, CsoundAC, and Strudel by ensuring
    that Csound and CsoundAC exist as fully initialized global objects in the
    JavaScript context (as globalThis.csound and globalThis.csoundac),
    before any HTML elements run.

  • Updated documentation for running cloud-5 pieces in NW.js.

  • Many bug fixes:

    • Enable editing in dat.gui text fields.
    • Ensure that opening the Controls menu does not affect the layout of other elements.
    • Toggle showing piano roll/hiding shader with showing shader/hiding piano roll.
    • Fixed logic for diagnostic levels in statefulpatterns.mjs.
    • Removed Record button and handler, and other dead code.
    • Removed unnecessary files.
    • Clarifed source code in cloud-5.js.
    • Enabled rendering to soundfile in NW.js.
    • Enabled running Strudel in NW.js.