WAGS.Graph.Decorators
- Package
- purescript-wags
- Repository
- mikesol/purescript-wags
#Decorating Source
newtype Decorating fA newtype for a decorator, isomorphic to Exists f where f is a type constructor of type Type -> Type. We use decorating instead of Exists because Exists does not (yet) have an API to work with raw type constructors.
Constructors
Instances
(IsSymbol sym, Lacks sym rest, Cons sym (Decorating Identity) rest r, MakeDecorators b rest) => MakeDecorators (Cons sym (Decorating f) b) r(IsSymbol sym, Lacks sym rest, Cons sym (Decorating Identity) q r, Cons sym (Decorating Focus) q r', Cons sym (Record r') rest c, MakeFocusing b r rest) => MakeFocusing (Cons sym (Decorating f) b) r c
#Decorating' Source
type Decorating' f = forall a. a -> f aThe internal type of decorator.
#dk Source
dk :: forall f. Decorating f -> Decorating' fRetrieves the type constructor from decorating.
#Decorate Source
class Decorate (a :: Row Type) (b :: Row Type) (c :: Row Type) | a -> b c whereA class for the automatic generation of cursors
Given an input row a of decorators, outputs a row b of Identity decorators as well as a Row c of Focus decorators for each key in a.
For example:
decorators ::
Tuple
{ d0: Decorating Identity, d1: Decorating Identity }
{ d0: { d0: Decorating Focus, d1: Decorating Identity }
, d1: { d0: Decorating Identity, d1: Decorating Focus }
}
decorators = decorate \{d0, d1} ->
Speaker (dk d0 SinOsc 440.0 /\ dk d1 SinOsc 880.0 /\ unit)
Check out test/Ops.purs for an example of decorators in use.
Members
Instances
(RowToList a rl, MakeDecorators rl b, MakeFocusing rl b c) => Decorate a b c
#IsAudio Source
class IsAudio (audio :: Type) Class to determine if a type is audio.
Instances
IsAudio (Allpass a b c)IsAudio (Bandpass a b c)IsAudio (Constant a)IsAudio (Convolver a b)IsAudio (Delay a b)IsAudio (Dup a b)IsAudio (DynamicsCompressor a b c d e f)IsAudio (Gain a b)IsAudio (Highpass a b c)IsAudio (Highshelf a b c)IsAudio (LoopBuf a)IsAudio (Lowpass a b c)IsAudio (Lowshelf a b c)IsAudio MicrophoneIsAudio (Notch a b c)IsAudio (Peaking a b c d)IsAudio (PeriodicOsc a)IsAudio (PlayBuf a)IsAudio (Recorder a b)IsAudio (SawtoothOsc a)IsAudio (SinOsc a)IsAudio (Speaker a)IsAudio (SquareOsc a)IsAudio (StereoPanner a b)IsAudio (TriangleOsc a)IsAudio (WaveShaper a b c)IsAudio (Proxy s)IsAudio ThisIsAudio IgnoreMe(IsAudio i) => IsAudio (f i)
#IsMultiAudio Source
class IsMultiAudio (audio :: Type) Class to determine if a type is audio or multiple audios.
Instances
IsMultiAudio Unit(IsMultiAudio a, IsMultiAudio b) => IsMultiAudio (Tuple a b)(IsAudio a) => IsMultiAudio a
#IsAudioOrF Source
class IsAudioOrF (audioOrF :: Type) Class to determine if a type is audio or a closure producing audio.
Instances
(IsAudio a) => IsAudioOrF (Proxy s -> a)(IsAudio a) => IsAudioOrF a
#IsMultiAudioOrF Source
class IsMultiAudioOrF (audioOrF :: Type) Class to determine if a type is audio, multiple audios, or a closure producing audio or multiple audios.
Instances
(IsMultiAudio a) => IsMultiAudioOrF (Proxy s -> a)(IsMultiAudio a) => IsMultiAudioOrF a
#IsOversample Source
class IsOversample oversample whereClass to determine if a type is an oversample directive.
Members
reflectOversample :: oversample -> Oversample
Instances
#MakeDecorators Source
class MakeDecorators (rl :: RowList Type) b | rl -> b whereInternal helper class to construct decorators.
Members
makeDecorators :: Proxy rl -> Record b
Instances
(IsSymbol sym, Lacks sym rest, Cons sym (Decorating Identity) rest r, MakeDecorators b rest) => MakeDecorators (Cons sym (Decorating f) b) rMakeDecorators Nil ()
#MakeFocusing Source
class MakeFocusing (rl :: RowList Type) (b :: Row Type) (c :: Row Type) | rl b -> c whereInternal helper class to construct focusing decorators.
Members
makeFocusing :: Proxy rl -> Record b -> Record c
Instances
(IsSymbol sym, Lacks sym rest, Cons sym (Decorating Identity) q r, Cons sym (Decorating Focus) q r', Cons sym (Record r') rest c, MakeFocusing b r rest) => MakeFocusing (Cons sym (Decorating f) b) r cMakeFocusing Nil x ()
- Modules
- FRP.
Event. MIDI - WAGS.
Change - WAGS.
Connect - WAGS.
Control. Functions - WAGS.
Control. MemoizedState - WAGS.
Control. Qualified - WAGS.
Control. Thunkable - WAGS.
Control. Types - WAGS.
Create - WAGS.
Cursor - WAGS.
Debug - WAGS.
Destroy - WAGS.
Disconnect - WAGS.
Graph. Constructors - WAGS.
Graph. Decorators - WAGS.
Graph. Getter - WAGS.
Graph. Optionals - WAGS.
Graph. Parameter - WAGS.
Interpret - WAGS.
Move - WAGS.
MoveNode - WAGS.
Rebase - WAGS.
Rendered - WAGS.
Run - WAGS.
Universe. AudioUnit - WAGS.
Universe. Bin - WAGS.
Universe. BinN - WAGS.
Universe. EdgeProfile - WAGS.
Universe. Graph - WAGS.
Universe. Node - WAGS.
Universe. Skolems - WAGS.
Universe. Universe - WAGS.
Util - WAGS.
Validation