Skip to content
This repository was archived by the owner on Nov 16, 2025. It is now read-only.

ormf/fomus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository has Moved!

Due to the fact that GitHub is hosting the files on privately owned servers located in the USA, this repository has been moved to Codeberg in November of 2025. It will not receive further updates or patches. Issues and pull requests will not be looked at here either, please submit your patches and issue tickets on Codeberg, or send them directly via good old email patches to the author.

Thanks.

OVERVIEW

fomus is a software application for formatting musical output written by David Psenicka (see: http://fomus.sourceforge.net).

This repository is a package derived from the common lisp port of fomus with some small modifications due to lilypond api changes and some enhancements for my personal use.

(c) of the modifications by Orm Finnendahl 2016, released under the LLGPL v2.0 (like the original code of David Psenicka), see file LICENSE, no warranties whatsoever.

PREREQUISITES

INSTALL

  1. Link the folder "fomus" into "~/quicklisp/local-projects/".

USAGE

  1. Create a Text file with the name ".fomus" in your $HOME directory with the following contents (adapt to your needs and don't forget to set the correct path to the lilypond binary on your computer for :lilypond-exe):
:output '((:data) (:lilypond :view t))

:lilypond-exe "/path/to/lilypond"
:lilypond-opts '("--pdf")
:lilypond-out-ext "pdf"

:lilypond-view-exe "/usr/bin/evince"
:cmn-view-exe "/usr/bin/evince"

:verbose 1
:min-tuplet-dur 1
:max-tuplet 13
:caut-acc-ottavas t
  1. Load the project:

(ql:quickload "fomus")

  1. Generate a score (this score gets displayed using the command "/usr/bin/evince"; in case another viewer is used, change the relevant entry for :lilypond-view-exe in the ".fomus" file):
(in-package :fomus)

(fomus
 ;; :output '(:lilypond :view t)
 :composer ""
 :parts
 (list
  (make-part
   :name "Klavier"
   :instr :piano
   :events
   (loop
      for off from 0 to 10 by 1/2
      collect (make-note :off off
                         :dur (if (< off 10) 1/2 1)
                         :note (+ 48 (random 25)))))))

About

Common Lisp Music Notation processor for different output formats (MusicXML, Lilypond, cmn) by David Psenicka. See also cm-fomus repo here

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors