Login
Building
Login

Building CL-MeltySynth

A recent version of SBCL is highly suggested, and CL-MeltySynth has been built successfully with versions 2.2.2 through 2.2.5. Closure CL 11.5 is also known to work, but is not as thoroughly tested.

As of CL-MeltySynth v2.2.0, the midi123 command line program is no longer included. If you wish to build that program, please check out its separate project page.

  1. Setup your Lisp implementation and Quicklisp
  2. Clone CL-SDM locally somewhere that ASDF can find it. This isn't installable with Quicklisp. You will need version 0.99.5 or later.
  3. Install Babel and Trival-Indent (needed for CL-SDM).
  4. Clone this repo where ASDF can find it.
  5. In a REPL, run (asdf:load-system :cl-meltysynth) to load the library.

Debug Builds

Debug builds of CL-MeltySynth can be done using the usual (declaim (optimize (debug 3))) thing before loading the system. You may want to also do (push :meltysynth-debug *features*) before loading the system to disable much of the inlining that happens in the code. This can be especially useful to pinpoint performance issues.

Running Tests

You will need the FiveAM and Bordeaux-FFT libraries (both installable via Quicklisp) to run the tests. You will also need to place the following SoundFonts into the t directory with these exact filenames:

Some tests will take a few seconds to compile and it may look like the whole process froze. Just give it a few moments. There are also a LOT of checks in the tests, so you may not want to run them from within SLIME unless you want Emacs to slow down dramatically with output.

Tests can be run with rake test, or with the usual (asdf:test-system :cl-meltysynth).