module Sound.SC3.UGen.Bindings.Composite.External where
import Data.List
import Data.Maybe
import Sound.SC3.Common.Math
import Sound.SC3.Common.Rate
import Sound.SC3.UGen.Type
import Sound.SC3.UGen.UGen
import qualified Sound.SC3.UGen.Bindings.DB.External as External
fm7_mx :: [[UGen]] -> [[UGen]] -> UGen
fm7_mx :: [[UGen]] -> [[UGen]] -> UGen
fm7_mx [[UGen]]
ctlMatrix [[UGen]]
modMatrix = Rate -> UGen -> UGen -> UGen
External.fm7 Rate
AR ([UGen] -> UGen
mce ([[UGen]] -> [UGen]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
concat [[UGen]]
ctlMatrix)) ([UGen] -> UGen
mce ([[UGen]] -> [UGen]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
concat [[UGen]]
modMatrix))
greyhole :: UGen -> UGen -> UGen -> UGen -> UGen -> UGen -> UGen -> UGen -> UGen
greyhole :: UGen
-> UGen -> UGen -> UGen -> UGen -> UGen -> UGen -> UGen -> UGen
greyhole UGen
i UGen
delayTime UGen
damping UGen
size UGen
diffusion UGen
feedback UGen
modDepth UGen
modFreq =
let (UGen
i1,UGen
i2) = UGen -> (UGen, UGen)
unmce2 UGen
i
in UGen
-> UGen
-> UGen
-> UGen
-> UGen
-> UGen
-> UGen
-> UGen
-> UGen
-> UGen
External.greyholeRaw UGen
i1 UGen
i2 UGen
damping UGen
delayTime UGen
diffusion UGen
feedback UGen
modDepth UGen
modFreq UGen
size
miBraids_mode_dict :: Num n => [(n,String)]
miBraids_mode_dict :: [(n, String)]
miBraids_mode_dict =
[(n
0,String
"CSAW")
,(n
1,String
"MORPH")
,(n
2,String
"SAW_SQUARE")
,(n
3,String
"SINE_TRIANGLE")
,(n
4,String
"BUZZ")
,(n
5,String
"SQUARE_SUB")
,(n
6,String
"SAW_SUB")
,(n
7,String
"SQUARE_SYNC")
,(n
8,String
"SAW_SYNC")
,(n
9,String
"TRIPLE_SAW")
,(n
10,String
"TRIPLE_SQUARE")
,(n
11,String
"TRIPLE_TRIANGLE")
,(n
12,String
"TRIPLE_SINE")
,(n
13,String
"TRIPLE_RING_MOD")
,(n
14,String
"SAW_SWARM")
,(n
15,String
"SAW_COMB")
,(n
16,String
"TOY")
,(n
17,String
"DIGITAL_FILTER_LP")
,(n
18,String
"DIGITAL_FILTER_PK")
,(n
19,String
"DIGITAL_FILTER_BP")
,(n
20,String
"DIGITAL_FILTER_HP")
,(n
21,String
"VOSIM")
,(n
22,String
"VOWEL")
,(n
23,String
"VOWEL_FOF")
,(n
24,String
"HARMONICS")
,(n
25,String
"FM")
,(n
26,String
"FEEDBACK_FM")
,(n
27,String
"CHAOTIC_FEEDBACK_FM")
,(n
28,String
"PLUCKED")
,(n
29,String
"BOWED")
,(n
30,String
"BLOWN")
,(n
31,String
"FLUTED")
,(n
32,String
"STRUCK_BELL")
,(n
33,String
"STRUCK_DRUM")
,(n
34,String
"KICK")
,(n
35,String
"CYMBAL")
,(n
36,String
"SNARE")
,(n
37,String
"WAVETABLES")
,(n
38,String
"WAVE_MAP")
,(n
39,String
"WAVE_LINE")
,(n
40,String
"WAVE_PARAPHONIC")
,(n
41,String
"FILTERED_NOISE")
,(n
42,String
"TWIN_PEAKS_NOISE")
,(n
43,String
"CLOCKED_NOISE")
,(n
44,String
"GRANULAR_CLOUD")
,(n
45,String
"PARTICLE_NOISE")
,(n
46,String
"DIGITAL_MODULATION")
,(n
47,String
"QUESTION_MARK")]
miBraids_mode_maybe :: Num n => String -> Maybe n
miBraids_mode_maybe :: String -> Maybe n
miBraids_mode_maybe String
x = ((n, String) -> n) -> Maybe (n, String) -> Maybe n
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (n, String) -> n
forall a b. (a, b) -> a
fst (((n, String) -> Bool) -> [(n, String)] -> Maybe (n, String)
forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Maybe a
find ((String -> String -> Bool
forall a. Eq a => a -> a -> Bool
== String
x) (String -> Bool) -> ((n, String) -> String) -> (n, String) -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (n, String) -> String
forall a b. (a, b) -> b
snd) [(n, String)]
forall n. Num n => [(n, String)]
miBraids_mode_dict)
miBraids_mode :: Num n => String -> n
miBraids_mode :: String -> n
miBraids_mode = n -> Maybe n -> n
forall a. a -> Maybe a -> a
fromMaybe (String -> n
forall a. HasCallStack => String -> a
error String
"miBraids_mode?") (Maybe n -> n) -> (String -> Maybe n) -> String -> n
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Maybe n
forall n. Num n => String -> Maybe n
miBraids_mode_maybe
miClouds_mode_dict :: Num n => [(n,String)]
miClouds_mode_dict :: [(n, String)]
miClouds_mode_dict =
[(n
0,String
"GRANULAR")
,(n
1,String
"STRETCH")
,(n
2,String
"LOOPING_DELAY")
,(n
3,String
"SPECTRAL")]
miClouds_mode_maybe :: Num n => String -> Maybe n
miClouds_mode_maybe :: String -> Maybe n
miClouds_mode_maybe String
x = ((n, String) -> n) -> Maybe (n, String) -> Maybe n
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (n, String) -> n
forall a b. (a, b) -> a
fst (((n, String) -> Bool) -> [(n, String)] -> Maybe (n, String)
forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Maybe a
find ((String -> String -> Bool
forall a. Eq a => a -> a -> Bool
== String
x) (String -> Bool) -> ((n, String) -> String) -> (n, String) -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (n, String) -> String
forall a b. (a, b) -> b
snd) [(n, String)]
forall n. Num n => [(n, String)]
miClouds_mode_dict)
miClouds_mode :: Num n => String -> n
miClouds_mode :: String -> n
miClouds_mode = n -> Maybe n -> n
forall a. a -> Maybe a -> a
fromMaybe (String -> n
forall a. HasCallStack => String -> a
error String
"miClouds_mode?") (Maybe n -> n) -> (String -> Maybe n) -> String -> n
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Maybe n
forall n. Num n => String -> Maybe n
miClouds_mode_maybe
miPlaits_mode_dict :: Num n => [(n,String)]
miPlaits_mode_dict :: [(n, String)]
miPlaits_mode_dict =
[(n
0,String
"virtual_analog")
,(n
1,String
"waveshaping")
,(n
2,String
"fm")
,(n
3,String
"grain")
,(n
4,String
"additive")
,(n
5,String
"wavetable")
,(n
6,String
"chord")
,(n
7,String
"speech")
,(n
8,String
"swarm")
,(n
9,String
"noise")
,(n
10,String
"particle")
,(n
11,String
"string")
,(n
12,String
"modal")
,(n
13,String
"bass_drum")
,(n
14,String
"snare_drum")
,(n
15,String
"hi_hat")]
miPlaits_mode_maybe :: Num n => String -> Maybe n
miPlaits_mode_maybe :: String -> Maybe n
miPlaits_mode_maybe String
x = ((n, String) -> n) -> Maybe (n, String) -> Maybe n
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (n, String) -> n
forall a b. (a, b) -> a
fst (((n, String) -> Bool) -> [(n, String)] -> Maybe (n, String)
forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Maybe a
find ((String -> String -> Bool
forall a. Eq a => a -> a -> Bool
== String
x) (String -> Bool) -> ((n, String) -> String) -> (n, String) -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (n, String) -> String
forall a b. (a, b) -> b
snd) [(n, String)]
forall n. Num n => [(n, String)]
miPlaits_mode_dict)
miPlaits_mode :: Num n => String -> n
miPlaits_mode :: String -> n
miPlaits_mode = n -> Maybe n -> n
forall a. a -> Maybe a -> a
fromMaybe (String -> n
forall a. HasCallStack => String -> a
error String
"miPlaits_mode?") (Maybe n -> n) -> (String -> Maybe n) -> String -> n
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Maybe n
forall n. Num n => String -> Maybe n
miPlaits_mode_maybe
miRings_mode_dict :: Num n => [(n,String)]
miRings_mode_dict :: [(n, String)]
miRings_mode_dict =
[(n
0,String
"MODAL_RESONATOR")
,(n
1,String
"SYMPATHETIC_STRING")
,(n
2,String
"MODULATED/INHARMONIC_STRING")
,(n
3,String
"2-OP_FM_VOICE")
,(n
4,String
"SYMPATHETIC_STRING_QUANTIZED")
,(n
5,String
"STRING_AND_REVERB")]
miRings_mode_maybe :: Num n => String -> Maybe n
miRings_mode_maybe :: String -> Maybe n
miRings_mode_maybe String
x = ((n, String) -> n) -> Maybe (n, String) -> Maybe n
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (n, String) -> n
forall a b. (a, b) -> a
fst (((n, String) -> Bool) -> [(n, String)] -> Maybe (n, String)
forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Maybe a
find ((String -> String -> Bool
forall a. Eq a => a -> a -> Bool
== String
x) (String -> Bool) -> ((n, String) -> String) -> (n, String) -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (n, String) -> String
forall a b. (a, b) -> b
snd) [(n, String)]
forall n. Num n => [(n, String)]
miRings_mode_dict)
miRings_mode :: Num n => String -> n
miRings_mode :: String -> n
miRings_mode = n -> Maybe n -> n
forall a. a -> Maybe a -> a
fromMaybe (String -> n
forall a. HasCallStack => String -> a
error String
"miRings_mode?") (Maybe n -> n) -> (String -> Maybe n) -> String -> n
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Maybe n
forall n. Num n => String -> Maybe n
miRings_mode_maybe
pulseDPW :: Rate -> UGen -> UGen -> UGen
pulseDPW :: Rate -> UGen -> UGen -> UGen
pulseDPW Rate
rt UGen
freq UGen
width =
let o1 :: UGen
o1 = Rate -> UGen -> UGen -> UGen
External.sawDPW Rate
rt UGen
freq UGen
0
o2 :: UGen
o2 = Rate -> UGen -> UGen -> UGen
External.sawDPW Rate
rt UGen
freq ((UGen, UGen) -> UGen -> UGen
forall n. RealFrac n => (n, n) -> n -> n
wrap_hs (-UGen
1,UGen
1) (UGen
widthUGen -> UGen -> UGen
forall a. Num a => a -> a -> a
+UGen
width))
in UGen
o1 UGen -> UGen -> UGen
forall a. Num a => a -> a -> a
- UGen
o2