THIS IS THE OLD COMMON LISP VERSION!! IT HAS BEEN SUPERSEDED BY A RE-CODE IN RUST: https://github.com/the-drunk-coder/megra.rs THE RUST VERSION IS WAY EASIER TO INSTALL AND USE ETC
Mégra is a mini-language to make music with variable-order markov chains and some other stochastic shenanigans.
This is Mégra 2.x! There's some changes from 1.x, so watch out (in the unlikely case you used it)
There are currently two ways to install. One uses Portacle as the underlying editor and is comparatively easy. You can find the instructions here:
https://github.com/the-drunk-coder/megra/blob/master/Tutorial/00_Installation.md
If you're familar with Common Lisp and Emacs, and want to integrate Mégra into your current Emacs installation, please find some hints here:
https://github.com/the-drunk-coder/megra/blob/master/Tutorial/old/00b_Installation_old.md
Megra 2.x is a different beast than 1.x, event though most of the core concepts made it over. Some features didn't make it over to 2.x because they were too complicated, or caused too much clutter.
Amongst those are:
(xdup)
that do something very similar.(sx)
environment does a better job.git In the very unlikely case that you were an early Mégra user and are missing one of the features, please tell me and I'll see if I can bring them back, or think about a good alternative. Otherwise, you can still use the 1.x branch.
Please find the work-in-progress tutorial it in:
https://github.com/the-drunk-coder/megra/blob/master/Tutorial/
Mégra is an embedded domain-specific language based on Common Lisp, Tito Latini's amazing Incudine library and Common Music 2.x, which is old but working, and currently (inofficially and as needed) maintained by Orm Finnendahl.