vivid-0.3.0.1: Sound synthesis with SuperCollider

Safe HaskellNone
LanguageHaskell98
Extensions
  • TypeFamilies
  • OverloadedStrings
  • DataKinds
  • KindSignatures
  • ExplicitNamespaces

Vivid.SynthDef.Types

Description

Internal. Just use Vivid.SynthDef

Synopsis

Documentation

data Signal Source #

Instances

Eq Signal Source # 

Methods

(==) :: Signal -> Signal -> Bool #

(/=) :: Signal -> Signal -> Bool #

Show Signal Source # 
ToSig Signal args Source # 

Methods

toSig :: Signal -> SDBody' args Signal Source #

(~) [Symbol] a args => ToSig (SDBody' a Signal) args Source # 

Methods

toSig :: SDBody' a Signal -> SDBody' args Signal Source #

data SynthDef args Source #

Internal representation of Synth Definitions. Usually, use sd instead of making these by hand.

This representation (especially _sdUGens) might change in the future.

Constructors

SynthDef 

Instances

Show (SynthDef args) Source # 

Methods

showsPrec :: Int -> SynthDef args -> ShowS #

show :: SynthDef args -> String #

showList :: [SynthDef args] -> ShowS #

(~) [Symbol] a args => ToSig (SDBody' a Signal) args Source # 

Methods

toSig :: SDBody' a Signal -> SDBody' args Signal Source #

type SDBody' args = State ([Int], SynthDef args, VarSet args) Source #

State monad to construct SynthDefs

The SynthDef is an under-construction synth definition The [Int] is the id supply. Its type definitely could change in the future

zoomSDBody :: Subset inner outer => SDBody' inner a -> SDBody' outer a Source #

Given

good0 :: SDBody '["2"] ()
good0 = return ()
good1 :: SDBody '["3","1","3","1"] ()
good1 = return ()
bad0 :: SDBody '["bwahaha"] ()
bad0 = return ()
outer :: SDBody '[ "1", "2", "3"]()
outer = do
   zoomSDBody good0 -- works
   zoomSDBody good1 -- works
   -- zoomSDBody bad0 -- doesn't work - great!

data UGen Source #

Representation of Unit Generators. You usually won't be creating these by hand, but instead using things from the library in UGens

Instances

Eq UGen Source # 

Methods

(==) :: UGen -> UGen -> Bool #

(/=) :: UGen -> UGen -> Bool #

Show UGen Source # 

Methods

showsPrec :: Int -> UGen -> ShowS #

show :: UGen -> String #

showList :: [UGen] -> ShowS #