This project is heavily inspired by Resolume Arena. I wanted something that allowed me to perform like you might with arena, but allowing for sources other than just video (tox
, notch
, etc.) and custom effects built in TD.
Current backlog of planned features.
This is not yet in a working state. If you're curious about any of this, please reach out through a github issue or ping me over in the TouchDesigner discord @lolwut#2076
.
I'm currently developing this using VS Code on Windows. Instructions for setting up a development environment as I'm using it are below.
Note: I don't use python much in my day job, or windows for that matter. If there are better ways to manage any of this I'd love to hear how it can be improved!
-
Install Python version currently shipped with TouchDesigner
This version can be found by opening a a textport from the menu
Dialogs -> Textports and DATs
. It will be output in the console or can be found by enteringsys.version
.I use
pyenv-win
to manage my python versions, but that's by no means a requirement.Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1" # reload terminal pyenv install 3.9.5 # Optionally set this to your global version of python pyenv global 3.9.5
-
Install Poetry
I use
pipx
to manage poetry, but similar topyenv-win
this is not a requirement. Install it however you see fit.# If not already installed, upgrade pip and install pipx pip install --upgrade pip pip install --user pipx pipx ensure path # Install Poetry pipx install poetry
Once installed, the virtual env for the project can be entered using
poetry shell
, however this is typically done auto-magically by vscode when opening a new powershell terminal. -
Install project dependencies
From the poetry shell:
poetry install
-
Local site-packages
I was originally using black but have switched to yapf with a modified config to allow python generated from touch to be in the same format as the project files. The primary incompatabilities with black
were tabs
and single quotes
.