LambdaDesigner-0.1.0.0: A type-safe EDSL for TouchDesigner written in Haskell.

Safe HaskellNone
LanguageHaskell2010

LambdaDesigner.Op

Documentation

class Op a where Source #

Instances

Op Light Source # 
Op BaseCOMP Source # 
Op Camera Source # 
Op Geo Source # 
Op MAT Source # 
Op TOP Source # 
Op SOP Source # 
Op DAT Source # 
Op CHOP Source # 

data CHOP Source #

Constructors

Analyze 
AudioDeviceOut 
AudioFileIn 
AudioFilter 
AudioIn 
AudioMovie 
AudioSpectrum 

Fields

ConstantCHOP 

Fields

Count 
Delay 
Fan 
FeedbackCHOP 

Fields

Hold 

Fields

InCHOP 
Lag 

Fields

Logic 
Math 
MergeCHOP 
MidiIn 
NoiseCHOP 
NullCHOP 
OscInCHOP 
OutCHOP 

Fields

SelectCHOP 
SOPToCHOP 
SwitchCHOP 
Timer 

data DAT Source #

data TOP Source #

Constructors

Blur 
CHOPToTOP 
CircleTOP 
CompositeTOP 
Crop 
Displace 

Fields

Edges 

Fields

Flip 
FeedbackTOP 

Fields

GLSLTOP 
HSVAdjust 
LevelTOP 
InTOP 
MovieFileIn 
NdiInTOP 
NoiseTOP 
NullTOP 

Fields

OutTOP 

Fields

Ramp 
RectangleTOP 
Render 
SelectTOP 

Fields

SwitchTOP 
TextTOP 
TransformTOP 
VideoDeviceIn 

data Tree a where Source #

Constructors

N :: Op a => a -> Tree a 
FC :: CHOP -> Tree CHOP -> (Tree CHOP -> Tree CHOP) -> (Tree CHOP -> Tree CHOP) -> Tree CHOP 
FT :: TOP -> Tree TOP -> (Tree TOP -> Tree TOP) -> (Tree TOP -> Tree TOP) -> Tree TOP 
Comp :: (Op a, Op b) => a -> Tree b -> Tree a 
BComp :: (Baseable a, Baseable b) => BaseCOMP -> (Tree a -> Tree b) -> Tree a -> Tree b 
Tox :: (Op a, Op b) => BaseCOMP -> Maybe (Tree a) -> Tree b 
Fix :: Op a => ByteString -> Tree a -> Tree a 
PyExpr :: ByteString -> Tree a 
ChopChan :: ByteString -> Tree CHOP -> Tree Float 
Cell :: (Integral a, Integral b) => (Tree a, Tree b) -> Tree DAT -> Tree ByteString 
NumRows :: Tree DAT -> Tree Int 
Mod :: (ByteString -> ByteString) -> Tree n -> Tree n 
Mod2 :: (ByteString -> ByteString -> ByteString) -> Tree a -> Tree b -> Tree c 
Mod3 :: (ByteString -> ByteString -> ByteString -> ByteString) -> Tree a -> Tree b -> Tree c -> Tree d 
Cast :: (ByteString -> ByteString) -> Tree a -> Tree b 
Resolve :: Tree a -> Tree ByteString 
ResolveP :: Tree a -> Tree ByteString 

(!+) :: Show a => Tree a -> Tree a -> Tree a Source #

(!*) :: Show a => Tree a -> Tree a -> Tree a Source #

(!^) :: Show a => Tree a -> Tree a -> Tree a Source #

(!%) :: Show a => Tree a -> Tree a -> Tree a Source #

(!==) :: Tree a -> Tree a -> Tree Bool Source #

ternary :: Tree Bool -> Tree a -> Tree a -> Tree a Source #

floor :: Num n => Tree n -> Tree n Source #

ceil :: Num n => Tree n -> Tree n Source #

osin :: Num n => Tree n -> Tree n Source #

pmax :: Num n => Tree n -> Tree n -> Tree n Source #

pyMathOp :: Num n => String -> Tree n -> Tree n Source #

emptyV4 :: (Maybe a3, Maybe a2, Maybe a1, Maybe a) Source #

emptyV3 :: (Maybe a2, Maybe a1, Maybe a) Source #

iv2 :: (Int, Int) -> IVec2 Source #

fix :: Op a => ByteString -> Tree a -> Tree a Source #

safeHead :: [a] -> Maybe a Source #

casti :: Integral i => Tree f -> Tree i Source #

castf :: Floating f => Tree i -> Tree f Source #

math' :: (CHOP -> CHOP) -> [Tree CHOP] -> Tree CHOP Source #

data TimerSegment Source #

Constructors

TimerSegment 

Fields

compT' :: (TOP -> TOP) -> Int -> [Tree TOP] -> Tree TOP Source #

crop' :: (TOP -> TOP) -> Tree TOP -> Tree TOP Source #

edges' :: (TOP -> TOP) -> Tree TOP -> Tree TOP Source #

flipT' :: (TOP -> TOP) -> Tree TOP -> Tree TOP Source #

glslT' :: (TOP -> TOP) -> String -> [Tree TOP] -> Tree TOP Source #

glslTP' :: (TOP -> TOP) -> String -> [(String, Vec4)] -> [Tree TOP] -> Tree TOP Source #

hsvT' :: (TOP -> TOP) -> Tree TOP -> Tree TOP Source #

ramp' :: (TOP -> TOP) -> Tree DAT -> Tree TOP Source #

geo' :: (Geo -> Geo) -> Tree SOP -> Tree Geo Source #

base :: (Baseable a, Baseable b) => (Tree a -> Tree b) -> Tree a -> Tree b Source #

tox :: (Op a, Op b) => String -> [(ByteString, Tree ByteString)] -> Maybe (Tree a) -> Tree b Source #