OpenMusicはCommon Lispというプログラミング言語と、そのLispのオブジェクト指向プログラミング機能であるCLOSで出来ている。
ビジュアル化してるから難しい作曲思考もわかりやすく書ける。
ビジュアル化してるから難しい作曲思考もわかりやすく書ける。
ビジュアルプログラム
OMでの作曲はパッチの中にオブジェクトとか関数とかつなげて行う。
リスト処理
"Lisp" は "LISt Processing"の略語であって、Lispではデータやら関数やらはみんなリスト構造で表現されている。リストとは( )でくくられた0コ・1コあるいは複数の要素のセット。例えば、( )は空のリスト、(FLOWER)は要素が1コだけのリスト、(1 pretty FLOWER)は要素が複数のリスト、(7 (2 8.4) (5 1 0) 0.3)はリストのリスト。従ってOMの音楽データもリスト構造だ。
関数型言語
Common Lispは関数型言語に分類される。
関数は引数(ひきすう)をもらって処理してデータを返す。

関数もいろいろ層を作れて、例えばいろんな関数とかデータとか使って組んだ複雑なプロセスを1つにまとめて(抽象)、1ランク上で単一の関数みたいに扱ったりできる。

関数は引数(ひきすう)をもらって処理してデータを返す。

関数もいろいろ層を作れて、例えばいろんな関数とかデータとか使って組んだ複雑なプロセスを1つにまとめて(抽象)、1ランク上で単一の関数みたいに扱ったりできる。

オブジェクトとクラス
インスタンスはクラスから作ったオブジェクト。
ジェネリック関数ってやつもいて、メソッドのまとまりから成っており、引数の型(やクラス)に応じて特定のメソッドが使われる。
添付ファイル