Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Update README, bump version, tag as v1.0.0
WOO! |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | v1.0.0 |
Files: | files | file ages | folders |
SHA3-256: |
0c1ec64c24153e0e6b2e9ff0aededa33 |
User & Date: | alexa 2022-04-08 09:30:15 |
Context
2022-04-13
| ||
22:24 | Fix typo check-in: a2e8085025 user: alexa tags: trunk | |
2022-04-08
| ||
09:30 |
Update README, bump version, tag as v1.0.0
WOO! check-in: 0c1ec64c24 user: alexa tags: trunk, v1.0.0 | |
09:13 | Add docstrings check-in: d7e2123b0e user: alexa tags: trunk | |
Changes
Changes to README.md.
1 2 3 4 5 6 7 8 9 10 11 | # CL-MeltySynth A port of the excellent [MeltySynth](https://github.com/sinshu/meltysynth/) by Sinshu to Common Lisp. This provides MIDI music playback for Common Lisp projects without a lot of dependencies. ## How do I get set up? This has only been tested with SBCL (specifically 2.2.2, 2.2.3, and the currently in-dev 2.2.4). Other Lisps may work, but are unsupported. 1. Setup SBCL and Quicklisp | | | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | # CL-MeltySynth A port of the excellent [MeltySynth](https://github.com/sinshu/meltysynth/) by Sinshu to Common Lisp. This provides MIDI music playback for Common Lisp projects without a lot of dependencies. ## How do I get set up? This has only been tested with SBCL (specifically 2.2.2, 2.2.3, and the currently in-dev 2.2.4). Other Lisps may work, but are unsupported. 1. Setup SBCL and Quicklisp 2. Clone [CL-SDM](https://chiselapp.com/user/MistressRemilia/repository/cl-sdm) locally somewhere that ASDF can find it. This isn't installable with Quicklisp. 3. Install CL-PortAudio (for the example program), and Babel and Trival-Indent (for CL-SDM). 4. Clone this repo where ASDF can find it. To build the example program, midi123, run `rake`. The binary will be in the `bin/` directory. You can disable executable compression if you'd like by running `rake midi123[1]` instead. You can also play around with CL-MeltySynth or midi123 from a REPL. To load just the library, do `(asdf:load-system :cl-meltysynth)` from within the REPL. Or do `(asdf:load-system :midi123)` if you want to load the library and example program. You can then run `(midi123:main "-h")` to see how to run the program. The `&REST` arguments to `MIDI123:MAIN` should all be strings and are just the standard command line options: ``` (midi123:main "-f" "/path/to/midi-file.mid" "-s" "/path/to/soundfont.sf2") ``` ### Building The midi123 Example Program `midi123` is a simple command line player for MIDI files (but still feature-full enough that it's actually useful). It's code is short and documented to show a few basic ways to use CL-MeltySynth. 1. Install cl-portaudio library via Quicklisp. 2. Run `rake` (or `rake midi123[1]` if you don't want SBCL to produce a compressed binary). 3. The program will be in the `bin/` directory. You can use `midi123 --help` to see a list of command line options. Some example usages: |
︙ | ︙ | |||
98 99 100 101 102 103 104 | - [x] Chorus * __Examples__ - [x] midi123 can play MIDIs - [x] midi123 can render to WAV files * __Other things__ - [x] Standard MIDI file support - [x] Loop extension support | | | < < < < < < | | 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | - [x] Chorus * __Examples__ - [x] midi123 can play MIDIs - [x] midi123 can render to WAV files * __Other things__ - [x] Standard MIDI file support - [x] Loop extension support - [x] Performance optimization - [/] Unit tests ported (only some are currently ported) - [x] Document public API - [x] Non-looping MIDIs ## How do I contribute? 1. Go to https://chiselapp.com/user/MistressRemilia/repository/CL-MeltySynth/ and clone the Fossil repository. 2. Create a new branch for your feature. 3. Push locally to the new branch. 4. Create a [bundle](https://fossil-scm.org/home/help?cmd=bundle) with Fossil that contains your changes. 5. Get in contact with me. ## Contributors |
︙ | ︙ |
Changes to cl-meltysynth.asd.
1 2 3 4 5 6 7 8 | (require 'asdf) (in-package :asdf-user) (defun %do-block-compile (thunk) (apply thunk (when (uiop:featurep :sbcl) '(:block-compile t)))) (asdf:defsystem cl-meltysynth :long-name "cl-meltysynth" | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | (require 'asdf) (in-package :asdf-user) (defun %do-block-compile (thunk) (apply thunk (when (uiop:featurep :sbcl) '(:block-compile t)))) (asdf:defsystem cl-meltysynth :long-name "cl-meltysynth" :version "1.0.0" :license "AGPLv3 (see LICENSE for details)" :maintainer "Remilia Scarlet" :author "Remilia Scarlet" :depends-on (:cl-sdm) |
︙ | ︙ |
Changes to midi123.asd.
1 2 3 4 5 | (require 'asdf) (in-package :asdf-user) (asdf:defsystem midi123 :long-name "midi123" | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | (require 'asdf) (in-package :asdf-user) (asdf:defsystem midi123 :long-name "midi123" :version "1.0.0" :license "AGPLv3 (see LICENSE for details)" :maintainer "Remilia Scarlet" :author "Remilia Scarlet" :depends-on (:cl-sdm :cl-meltysynth :cl-portaudio) |
︙ | ︙ |