https://github.com/jarmitage/jarmlib
jarmlib is Jack Armitage's (mostly TidalCycles) live coding library
https://github.com/jarmitage/jarmlib
live-coding music supercollider tidal tidalcycles
Last synced: 2 months ago
JSON representation
jarmlib is Jack Armitage's (mostly TidalCycles) live coding library
- Host: GitHub
- URL: https://github.com/jarmitage/jarmlib
- Owner: jarmitage
- License: lgpl-3.0
- Created: 2020-03-22T19:20:25.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2021-10-31T18:08:29.000Z (about 4 years ago)
- Last Synced: 2025-03-17T11:55:06.306Z (9 months ago)
- Topics: live-coding, music, supercollider, tidal, tidalcycles
- Language: Haskell
- Size: 80.1 KB
- Stars: 84
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# jarmlib: Jack Armitage's (mostly TidalCycles) live coding library
This is not a "working repo", I just update this occassionally to make what I do a bit more shareable.
Currently this doesn't include much SuperCollider / SuperDirt code as that's a mess.
Also not included as of now is Emacs stuffs.
If you poke me I might do something about that.
Mostly what I'm trying to achieve with live coding is efficiency, flexibility, minimal cognitive overhead, and easy memorisation (both cognitive and embodied).
## Overview
- Three main Haskell files:
+ `Boot.hs`: the main entry point.
+ `Lib.hs`: extra functionality.
+ `Targets.hs`: destinations for sending Tidal pattersn to (AKA `OSCTargets`).
- Some random SuperCollider bits:
+ `tidal-midi-setup.scd` possibly the only thing here that's useful to anyone other than me.
### `Boot.hs`
- Main entry point kept simple as possible
- Includes `hoogle` if you have that installed
### `Lib.hs` (in order of import)
- `Shorthands.hs`: shorthand versions of standard Tidal functions/parameters. Because life is short.
- `Signal.hs`: efficient ways to work with "continuous functions".
- `Sequence.hs`: number sequences.
- `Param.hs`: efficient ways to work with groups of parameters.
- `Harmony.hs`: a `keyTable` and a `harmonise` function for writing in-key chord sequences efficiently.
- `Composition.hs`: experiments in writing Tidal "tracks".
- `MIDI.hs`: any custom MIDI stuff.
- `Misc.hs`: misc.
- `Compatibility.hs`: anything deprecated.
### `Targets.hs`
- `SuperDirt.hs` (basically the rest of the default `BootTidal.hs`)
- `Bitwig/BitwigAPI.hs` (experimental)
- Other experiments
## Setup
- Set the absolute path in `Boot.hs`
- Run `:script /path/to/Boot.hs` when booting Tidal (this will depend on your editor)
## Customisation
- Comment out what you do/don't want inside `Boot.hs`, `Targets.hs` and `Lib.hs`
## Questions/comments
- Contact here or Twitter (`@jdkarmitage`).
## Buy Me A Coffee
- Merci! https://www.buymeacoffee.com/jarmitage