| Home | Overview | Documentation | Sources | Projects | External Libraries | Developer | Contact |
Download / Compile OM...
OpenMusic is based on the Common Lisp programming language. Creating an executable in Common Lisp means loading all the source code in the Lisp environmenty 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 developed with LispWorks (5.1/6.0/6.1) and relies on the graphical and GUI toolkits provided by this commercial Lisp environment. A free (limited) edition is also avaiable on the LispWorks website.
The current OM sources can be compiled and run OM on MacOS X PPC/Intel and on Windows (see compilation instructions below) .
Note about OM/Linux: No Linux version is currently available for OM 6. A previous in-progress work with OM 5 and SBCL/GTK is still available on sourceforge.
Compilation with LispWorks (MacOSX / Windows)
Here are the successive steps to follow:
- Download the latest OM sources (6.2.2).
- Install OM Fonts and external dependencies (see section below)
- Launch LispWorks
- Load the file OM 6.x.x/buildimage/build-om/build-om.lisp
- Evaluate: (om::START-OPENMUSIC)
.. 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.
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, say, the "Constraints" project, the "OMChroma" project, etc.
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).
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:
- MacOSX: /Library/Fonts/
- Windows: C:/WINDOWS/Fonts/
External dependencies
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.
- MidiShare is used to play and represent musical data and information through MIDI.
[Download]
- MacOSX: run the MidiShare package installer
- Windows: Copy the MidiShare files and utilities (mshare32.dll, player32.dll, msMMSystem.dll, msDrivers.exe, msControl.exe) in C:/WINDOWS/System32/
- LibAudioStream is used to play and represent audio data and information (sounds).
[Download]
- MacOSX: put LibAudioStream.framework in /Library/Frameworks/
- Windows: put libaudiostream.dll and libsndfile.dll in C:/WINDOWS/System32/
- SDIF is used to read, write and process SDIF sound description data (e.g. sound analysis files).
[Download]
- MacOSX: put SDIF.framework in /Library/Frameworks/
- Windows: put sdif.dll in C:/WINDOWS/System32/
Additional tools
Additional tools and applications may be required in order to make some particular OM features work. These must be installed separately and declared aprropriately in the OM Preferences window.
- MicroPlayer: a Max/MSP standalone application for the rendering of musical objects using extra sound fonts and microintervallic precision.
[Ircam software] - SDIF-Edit: an OpenGL application for the 3D visualization of SDIF sound description files.
[Download here] - SuperVP: a sound processing kernel allowing to perform STFT, f0, transient detection on sound files as well as filtering, cross synthesis and other sound treatments.
[Ircam forum software] - pm2: another sound processing kernel allowing to perform additive analysis/synthesis.
[Ircam forum software] - Csound: a general a sound synthesis and signal processing system.
[Download here]
The OM Directory
The OM directory contains the following sub-folders :
code: The OM source code. Divided in 3 parts :
- api : The low level programming interface, implemented separately for the different compatible CL implementations (currently LispWorks only for OM 6).
- kernel : In the OM kernel is implemented the core visual programming environment. Classes and methods for the language meta-objects are defined (i.e. OMPatch, OMClass, OMBox, etc.), as well as their representations either as simple icons or as container. Meta-objects for the OM environment (OMFolder, OMWorkspace, OMLib, etc.) are also defined with graphic manipulations for creating or modifying them. Default graphic control structures as omloop, omif, or logic predicates and tools are also predefined in the OM kernel.
- projects : Each project is a specialized set of classes and methods that can be accessible and visualisable in the OM environment.
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.