mimium v4 における主な変更#
破壊的変更#
Slider! は Control! に置き換わりました。Control! はジェネリック関数です。
初期値にレコード型やタプル型を渡すと、複数のスライダーをまとめて扱えます。最小値・最大値は自動推論されます。Probe! もジェネリック関数になりました。lift_fはジェネリックなlift関数に置き換えられました。配列やレコードでもliftすることができます。length_array は len に置き換わりました。Sampler_mono は配列の長さを加えた `{player:(float)->float,length:float} を返すようになりました。
新機能 / 改善#
- モジュール記法を導入し、標準ライブラリをそれに合わせて書き換えました(#180)。
include は引き続き利用できますが、今後は推奨されません。 - WASM バックエンドと動的プラグインローディングを導入しました(#185)。
- ジェネリクス(パラメトリック多相)を導入しました(#188)。
- タプル間の基本演算と自動展開を導入しました(#187)。数値型で構成されるタプルには基本的な四則演算の演算子を使うことで、要素ごとの計算をすることができます。
- バリアント型(ADT)と型エイリアスを導入しました(#183, #184)。
- GUI スライダーに OSC 制御サポートを追加しました(#189)。
- Language Server に Signature Help と Completion Provider を追加しました(#190)。
- パーサコンビネータを使った mini-notation サブセットのインタプリタを含む pattern ライブラリを追加しました。(examples/uzulang.mmm)
- WASM バックエンドのホットスワップを改善し、グローバルコンテキスト評価がオーディオをブロックしないようにしました。
- マクロ実行を VM 上で行うことで性能を改善しました。
バグ修正#
- Windows でライブコーディング時のファイル変更イベント監視が正しく動かない問題を修正しました。
- ディレイタイム変調時のグリッチノイズを修正しました。