Giter Club home page Giter Club logo

miniaudicle's Introduction

miniAudicle

IDE for ChucK

miniAudicle is an integrated development environment (IDE) for the ChucK music programming language. It provides graphical user interfaces for code editing, on-the-fly proramming commands (add, replace, remove), visualization of ChucK virtual machines shreds, and tools for probing and setting audio and HID devices. miniAudicle integrates these front-end features with a full ChucK virtual machine and synthesis engine running within miniAudicle.

Installing miniAudicle

To download and install miniAudicle and command-line chuck, visit https://chuck.stanford.edu/release/

miniAudicle submodules: ChucK | Chugins

Building miniAudicle

To build the latest miniAudicle from source, clone the miniAudicle repo from github:

git clone --recurse-submodules https://github.com/ccrma/miniAudicle.git

macOS (Cocoa)

By default, miniAudicle on macOS builds with Cocoa for windowing and graphical user interfaces.

To build miniAudicle, navigate to the miniAudicle/src directory, and run make:

cd miniAudicle/src
make mac

OR to build a universal binary (intel + apple sillicon):

make mac-ub

This should build a miniAudicle.app application in src/macosx.

macOS (Qt)

Alternately, miniAudicle can be built using Qt on macOS. This requires Qt6 and the QScintilla library. Qt6 development tools can be installed from here. QScintilla can be built from source using Qt Creator or qmake. Or you can use our pre-built qscintilla2_qt6 libraries (following the included instructions to copy the necessary headers and libraries files). From here, these are several ways to build miniAudicle with Qt on macOS. For one, you can use Qt Creator to open miniAudicle/src/miniAudicle.pro and build.

As an alternative to installing/buliding Qt and Qscintilla as described above, you can also install these libraries using Homebrew:

brew install qt
brew install qscintilla2

To build from the command line (either of the two approaches above should work, as long as the headers and paths are in place):

cd miniAudicle/src
make mac-qt

This should build a miniAudicle.app (Qt edition, universal binary) in src.

Linux

Dependencies: gcc, g++, make, bison, flex, Qt6, QScintilla, libsndfile, ALSA, PulseAudio (for linux-pulse builds), JACK (for linux-jack builds)

To set up a build environment for miniAudicle on Debian or Ubuntu:

sudo apt install build-essential bison flex libqt6-base-dev libqscintilla2-qt6-dev \
  libsndfile1-dev libasound2-dev libpulse-dev libjack-jackd2-dev

For other Linux distributions, the setup should be similar although the package install tools and package names may be slightly different. NOTE: setups that do not need JACK or PulseAudio can omit either or both of these packages. ALSA is needed for MIDI support on Linux.

To build miniAudicle (with all supported drivers: ALSA, PulseAudio, and JACK), navigate to the miniAudicle/src directory and run 'make':

cd miniAudicle/src
make linux

To build miniAudicle with support for a subset of ALSA, PulseAudio, or JACK, run make with desired driver(s). For example, to build for ALSA and PulseAudio only:

make linux-alsa linux-pulse

Or, to build for ALSA only:

make linux-alsa

This build should build a miniAudicle executable in src/macosx.

Windows

miniAudicle on Windows requires Qt6 and the QScintilla library. In the Qt Creator IDE, open miniAudicle/src/miniAudicle.pro and build.

QScintilla can be built from source using Qt Creator or qmake. Alternately, you can use our pre-built qscintilla_qt6 libraries (following the included instructions to copy the necessary headers and libraries files).

miniAudicle History

miniAudicle was created by Spencer Salazar in 2005, two years after the initial release of the ChucK programming language, originated by Ge Wang and Perry R. Cook, and one year after the creation of the the Audicle (see 2004 paper). The original Audicle was designed as a 3D graphics-based IDE for live-coding ChucK programs while visualizing these programs' deep structure. (Perry Cook had suggested the name 'audicle' could be the all-hearing equivalent of an all-seeing "oracle".) While the Audicle showed potential, its 3D-graphics intensive backend (in OpenGL) was extremely time-consuming to develop into an usable tool. This gave rise to the miniAudicle, which was to be a lighter version of the Audicle, using establish windowing and GUI frameworks (like Cocoa and Qt, instead of implementing from scratch in OpenGL). Released in 2005, the miniAudicle immediately became a de facto tool for working with ChucK, and has remained so for many ChucK users to the present day.

See ChucK publications page and (the historic) https://audicle.cs.princeton.edu/mini/ for more info on the origin of miniAudicle.

Happy ChucKing!

miniaudicle's People

Contributors

spencersalazar avatar gewang avatar leanne63 avatar markcerqueira avatar nshaheed avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.