Skip to content

My custom extensions to the Extempore programming environment

License

Notifications You must be signed in to change notification settings

lambdamusic/extempore-extensions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Extempore Extensions

My custom extensions to the Extempore programming environment.

Overview

A bunch of scheme abstractions that I developed in order to create Extempore musical algorithms more efficiently and more naturally.

No documentation yet, but various examples of what the extensions look like are available on The Musical Code and its counterpart YouTube channel.

NOTE: The extensions have been developed to support MIDI composition / livecoding primarily.

Files

  • init_beats metro+beat utils
  • init_bento bento plugin utils
  • init_lisp lisp and scheme utils
  • init_makes utils to generate chord structures
  • init_midi helpers for playing midi instruments
  • init_mixer utils to work with Ableton Live mixer
  • init_play play midi functions
  • init_playp play patterns midi functions
  • init_symbols notes symbols
  • init_tempo utils for tempo manipulation

How to Use

1. Grab the repo and update its configuration

After cloning the repo, there are a couple of settings at the top of LOAD_ALL.xtm that should be updated.

(define *extensions-path* 
  "/your/path/to/xtm-extensions/init/")

(define *DEFAULT_MIDI_DEVICE_NAME* 
  "IAC Driver Extempore Bus")

Explanation:

  • *extensions-path*: your local filepath where the extensions files have been saved
  • *DEFAULT_MIDI_DEVICE_NAME*: the main MIDI device you are using ( as displayed with (pm_print_devices) )

2. Set up the Extempore startup command

Extempore allows to pass a startup script at runtime, e.g.:

./extempore --run {YOUR-FILE}.xtm

The extensions root folder includes a helper file LOAD_ALL.xtm that can be used as a startup script, so to to load up all the extensions in the init folder.

Hence you can set things up like this in your bash_profile:

export EXTEMPORE_RUNTIME="/your/extempore/runtime/installation/"
export EXTEMPORE_EXTENSIONS="/your/path/to/these/extensions/"

alias xtm-plus="cd $EXTEMPORE_RUNTIME;./extempore --frames 256 --run '$EXTEMPORE_EXTENSIONS'LOAD_ALL.xtm"

VSCode resources

The backups folder contains snippets and keybindings files for VSCode, as well as other potentially reusable bits and pieces.

See also

Changelog

  • 2023-11-24: VScode snippets moved to backups folder.

About

My custom extensions to the Extempore programming environment

Resources

License

Stars

Watchers

Forks

Packages

No packages published