Max/MSP でのプログラミングで, 軽いつもりのパッチが不思議に重くなっていて, しらべてみたら同じパッチが何枚も立ち上がっていた, なんてことがよくあります. オブジェクト指向言語では, 同時に存在するインスタンスをつねにひとつに制限する「シングルトン」というプログラムの書き方があるのですが, Max でもこれができないかと思い, 試してみることにしました. 以下が完成したパッチです. パッチの要点 作成にあたり, 方針を以下のように定めました. 肝となるインスタンス ( =パッチ) 数の管理に [value] オブジェクトを使う パッチ起動時にガードをかけるのが理想. しかし手だてがない. そこで, 「同じパッチを立ち上げるとすぐパッチを閉じる」という方針とした. なるべく基本的なオブジェクトを使って作成する. 処理のながれ 実際に処理の流れを追いかけて, どのようにシングルトンが