Table des matières

OM Developer Portal

OpenMusic is based on the Common Lisp programming language. Creating an executable in Common Lisp means loading all the source code in the Lisp environment and build an "image" of it, i.e. another Lisp environment extended with the features defined in the code. It is also possible to compile and load OM source code in the Lisp environment and use it directly without saving a new image. Using OM sources therefore requires owning a Lisp compiler.

OM 6 is currently developed with LispWorks 7 and relies on the graphical and GUI toolkits provided by this commercial Lisp environment. A free (limited) edition of LW6 is available on the LispWorks website, but unfortunately no free version of LW 7 at the moment.

The current OM sources can be compiled and run OM on MacOS X, Windows and Linux (see compilation instructions below).



This page contains dev. info about OM6. Check this other page for news about OM7-beta.

Compilation with LispWorks

Here are the successive steps to follow:

.. and you're (almost) done (see further precisions below).

The LispWorks Personal Edition has a limited heap size, which might be exceeded just by compiling the full OM sources. In this case, LispWorks will quit without finishing the compilation, but next time part of the code will already be compiled. After two or three times, the OM code is compiled and OM can be run as in LispWorks Pro (but still with a limited heap size).

A solution to limit the heap occupied by OM is not to load all the OM projects and components.

The "projects" are specific thematic packages included in the OM base distribution. When compiling OM, you can decide to include or not the different OM projects. In the build-om.lisp file, you will find lines staring with (load-om-projects …) that can be commented if you don't want to load some specific projects project. This might sensibly reduce the memory and heap size consumption of OM.

LispWorks Personal has also a time limit of 5 hours for each session, after which it will exit as well (but still can be restarted).

Important Note

If you download and install the OM packaged application instead of the basic source archive, all fonts and dependencies will be installed automatically (and you can skip the corresponding sections on this page).

Installing OM Fonts

The OM musical fonts need to be installed in order to display and print musical objects.

The files omicron.ttf, omheads.ttf, omsign.ttf, and omextra.ttf can be found in OM 6.x.x/resources/fonts/ . In order to install the OM fonts, just copy these files in:

External dependencies

[2017-03-15: This section is outdated. MidiShare and LibAudioStream is no longer in use, libSDIF comes with OM]

OM uses external libraries for managing external musical data and resources. These libraries must be install prior to run OM if you want it to include the corresponding functionalities.

The OM Directory

The OM directory contains the following sub-folders :

code: The OM source code. Divided in 3 parts :

buildimage : Contains the files and resources needed to build the image of OM. This folder is also divided in sub-folders corresponding to the different available platforms.

patches : Any file in this folder is loaded at OM startup. We provide minor revisions between releases in order to add bug corrections or code. OM users can put these 'patches' in this folder.

resources : This folder contains the OM resources (icons, pictures, cursors, online help, etc.)

libraries : Contains default OM extra libraries. The OM libraries are specialized set of classes and methods which can be loaded dynamically in OM.

Developer Resources

Here are some resources and links for basic or more advanced developement in OpenMusic.