ライブコーディング用のソフトウェア
整理用
Super Collider
SuperDirt
FoxDot
Python
This site is the home of the Live Coding environment, FoxDot - a Python-based language and editor for making music.
音楽制作のためのPythonベースの言語とそのエディタ。
PythonライブラリとしてのFoxDotは、簡単に使える・・・↓
インタラクティブなプログラミング環境
Super Colliderというパワフルな音声合成エンジンと対話する方法
TidalCycles
Haskell
Sonic Pi
Ruby
FoxDotとSuper Colliderはセットで使われがちだが、関係性は?
FoxDotはSuper Colliderに簡単にアクセスするためのライブラリ。
Super Colliderを使う場合、本来はSuper Colliderの提供するsclangでコーディングする必要がある。
少なくともC言語などの系譜とはかけ離れているので、Pythonで書けるとすぐに始められるというメリットがある
FoxDotを使えば、Pythonから間接的にSuper Colliderにアクセスできるため、簡単である。
Visual Studio Codeの拡張機能
https://github.com/scztt/vscode-supercollider
ライブコーディングに必要なのは?
基本的に、ライブコーディングはブロック単位でコードを実行することが多いと思われる
Super Collider IDEも、Evaluate Fileにはショートカットがない
行、ブロック単位の実行にはショートカットがある
次のような構成ならいいかな?
loader プロセス(loader.py)
main.py に変更があると、現在の main プロセスを破棄し、 main.py を新たな main プロセスで走らせる。
いや、違くない?
インタプリタってどうやるの?
main プロセス(main.py)
VSCodeに拡張機能を付ける
Language Server?
loaderプロセスは、現在いる行、ブロックの文字列を読み込む。eval関数に渡して実行する。
Tidal Cyclesは公式にVSCode拡張機能があるんだ
https://marketplace.visualstudio.com/items?itemName=tidalcycles.vscode-tidalcycles