OpenMusic software is a full visual programming language based on CommonLisp / CLOS.
Objects are symbolized by icons that may be dragged and dropped all around. Most operations are then performed by dragging an icon frOpenMusic a particular place and dropping it to an other place. A lot of classes implementing musical data / behaviour are provided. They are associated with graphical editors and may be extended by the user to meet specifical needs. Different representations of a musical process are handled, among which cOpenMusicmon notation, midi piano-roll, sound signal. High level in-time organisation of the music material is proposed through the maquette concept.
Existing COpenMusicmonLisp/CLOS code can easily be reused in OpenMusic, and new code can be developped in a purely visual way.
Here are some key features of "OpenMusic":
· Visual programming. OM provides basic programming tools (conditionnals, loops, lists management) for building visual programs. Musical objects and structures (chords, chords sequences, rtythms, break-point functions, sounds) can be created thanks to a set of classes and manipulated with specialized functions.
· Object Oriented Programming. User-defined classes can be created and connected to the OM class hierarchy. Generic functions and specializing methods can be defined by visual programs.
· Constraint Programming. Constraint Satisfaction Problems can be graphically defined and solved using different constraint solvers.
· Musical Editors. The musical objects can be edited using specific editors.
· Maquette. The maquette is an original sequencing/programming interface where musical object can be organized and connected in a temporal context.
· Mathematical Music Theory.
· Sound Analysis/Synthesis. Sound can be analyzed and synthesized in OM using interfaces with external sound processing tools. Special data structures and programming tools allow to maniuplate sound descriptions and synthesis parameters.
· gtk+ v2.x
· SBCL v1.x
· clg (CVS)
· fluidsynth (recompiled with midishare support) (optional)
· slime 2.0 or better (optional)
- Before compiling om, you should install the 4 omfonts found in om directory resources/fonts-linux.
- Your .sbclrc file should look like this :
#+cmu(concatenate 'string (unix-namestring #p"clg:systems") "/")
First launch SBCL form a terminal. Make sure it loads the CLG bindings. Then enter the following expression:
After OM have been compiled, use this expression to build 'om' image:
In order to launch om :
then launch again sbcl using this command :
sbcl --core om --userinit init.lisp