| CARVIEW |
LambdaDesigner: A type-safe EDSL for TouchDesigner written in Haskell.
TouchDesigner nodes written as functions in Haskell and sent to TouchDesigner as json.
[Skip to Readme]
Downloads
- LambdaDesigner-0.1.0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 0.1.0.0 |
|---|---|
| Dependencies | aeson, base (>=4.7 && <5), bytestring, bytestring-trie, containers (>=0.5), hosc, lens, lens-aeson, matrix, text, transformers (>=0.5), vector (>=0.11) [details] |
| License | BSD-3-Clause |
| Copyright | 2017 Ulysses Popple |
| Author | Ulysses Popple |
| Maintainer | ulysses.popple@gmail.com |
| Uploaded | by ulyssesp at 2017-12-05T23:39:07Z |
| Category | TouchDesigner |
| Home page | https://github.com/ulyssesp/LambdaDesigner#readme |
| Source repo | head: git clone https://github.com/ulyssesp/LambdaDesigner |
| Distributions | |
| Reverse Dependencies | 1 direct, 0 indirect [details] |
| Downloads | 979 total (3 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating |
|
| Status | Docs available [build log] Last success reported on 2017-12-05 [all 1 reports] |
Readme for LambdaDesigner-0.1.0.0
[back to package description]λDesigner
A type-safe EDSL for TouchDesigner written in Haskell. Instead of connecting nodes by hand, use the power of algebraic data types to program TouchDesigner projects in Haskell.
Getting Started
Prerequisites
- TouchDesigner
** With
dictdifferinstalled. You canpip install dictdifferand then make sure TouchDesigner can see that module by following the TouchDesigner tutorial - Haskell (only tested with haskellstack)
Installing
Clone or download LambdaDesigner-sample.
Using
Setup
This takes you through Main.hs. Note that you must be running LambdaDesigner.toe to see the results of running code.
The first thing you need to do is grab a reference to the runner.
topRunner :: IO ( Tree TOP -> IO () )
main = do
r <- topRunner
...
This will let us run a Tree TOP which will show up as an output connector on the lambda COMP in TouchDesigner. Lets see this happening by creating a movieFileIn top with the sample image.
main = do
r <- topRunner
r $ movieFileIn (bstr "app.samplesFolder+'/Map/Banana.tif'")
We have something we can run!
$ stack build
$ stack exec LamdaDesigner-sample-exe
Take a look at it running in TouchDesigner! To experiment with different node types check out the . Not every TouchDesigner node is represented yet, but the most common ones are there.
If you'd