|
concerned with notation, as well notation of the result (a musical score) as of the process leading to this result (visual program).
The fact of representing compositional processes by visual programs and visualizing musical material as scores, seems to be a good compromise between representation and expressiveness. However, in practice the boundaries between musical material and process are not well-defined. The roles of material and process are often inverted. In addition, material and processes can be explicit or implicit in the composition. As mentioned in (Balaban and Elhadad, 1999), composition environments must offer the possibility of dealing with this ambiguity between material and process to composers. This paper describes different strategies to mix and unify visual programs and music scores. Section 2 presents the OpenMusic language. We will focus on visual programs and score descriptions. Section 3 details two ways of combining visual programs and scores. In Section 4 we explain the concept of maquette which aims at unifying visual programs and scores in a homogenous way.
2 OpenMusic descriptionOpenMusic is based and implemented on CLOS. It was implemented by sub-classing the Meta Object Protocol (G. Kiczales and Bobrow, 1991). We have extended meta-objects (e.g. methods, classes, generic functions) by adding visual counterparts. Visually meta-objects are represented either as composed frames or simple frames. Simple frames which represent an object are called views and generally appear as icons. Composed frames representing objects are called editors. Several frames (i.e. different points of view) may be produced for the same object. Figure 1 shows the view and the editor for a given class.
2.1 PatchesThe main concept of our language is the patch. It reifies the concept of program. A patch is the place where objects will be interconnected in order to specify musical algorithms. Patches consist of boxes (icons) and connections between them. |