Monolith Wiki

Monolith Wiki

This is the monolith wiki page!

Intro

philosophy: attempts to articulate driving forces behind this project.

overview: what does Monolith actually do? Goes over the all the components.

quickstart: a brief tutorial that shows how to make a simple sound with Monolith.

install: How to build and install Monolith.

startup: The workflow used to start up Monolith.

external_usage: How to run Monolith scheme files outside of the project directory.

General

hardware: Overview of integrated hardware, and how it works under the hood.

janet: Overview of using the Janet scripting language.

runt: Overview of Runt, a stack based language used to describe audio patches.

states: States, or how Monolith saves/loads data from pages.

pages: An overview on the Pages interface.

graphics: Some basic and practical graphics usage.

paths: Some words about path management in Monolith.

Pages

line16 is a line sequencer.

step is a step sequencer.

seq16 is a classic 16-step sequencer.

knobs is an abstraction that allows the Arc to control up to 127 parameters.

trig: a rhythmic sound computer.

Troubleshooting

buffer_pool_full: what to do when you get the "buffer pool full" critical error message.

Sound and Signal

ftables, or function tables, are buffer and array data types used for things like wavetables, samples, and buffers.

ugens: unit generators, the building blocks of sound.

expcurve: is an exponential curve mapper.

ftlist: an abstraction that creates a list of ftables.

cables: the way signals are shared.

registers: the primary means for temporarily storing cables.

sends: how to set up sends and throws.

tdelay: a trigger-delay module.

channels: the way to share signals from the audio domain to the visual domain, and vice versa.

Development

program: as of writing a stub. hopefully will be fleshed out as an annotated overview of the monolith architecture.

hotswapping: an overview of how patch Hotswapping works in Monolith, with references to the source code.

Graphics

btprnt: a brief overview of btprnt, a 1-bit library included in monolith, along with some Janet bindings.

audiovisual: a typical setup for producing offline audiovisual content.

macfont: a classic macintosh font renderer.

wavdraw: a waveform drawing implemented in btprnt.

cratedraw: A waveform drawing utility used to draw specifically from wav files in a weewiki crate.

dither_1bit: how to do atkinson dither.

fbm: fractal brownian motion.

h264: h264 video generation via libx264.

Misc

sqlar: overview of how to use SQLar with Monolith.

norns: Monolith on the Norns!