module Sound.Tidal.Params where

-- Please note, this file is generated by bin/generate-params.hs
-- Submit any pull requests against that file and/or params-header.hs
-- in the same folder, thanks.

{-
    Params.hs - Provides the basic control patterns available to TidalCycles by default
    Copyright (C) 2021, Alex McLean and contributors

    This library is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this library.  If not, see <http://www.gnu.org/licenses/>.
-}

import qualified Data.Map.Strict as Map

import Sound.Tidal.Pattern
import Sound.Tidal.Core ((#))
import Sound.Tidal.Utils
import Data.Maybe (fromMaybe)
import Data.Word (Word8)
import Data.Fixed (mod')

-- | group multiple params into one
grp :: [String -> ValueMap] -> Pattern String -> ControlPattern
grp :: [String -> ValueMap] -> Pattern String -> ControlPattern
grp [] Pattern String
_ = ControlPattern
forall a. Pattern a
empty
grp [String -> ValueMap]
fs Pattern String
p = String -> ValueMap
splitby (String -> ValueMap) -> Pattern String -> ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern String
p
  where splitby :: String -> ValueMap
splitby String
name = [ValueMap] -> ValueMap
forall (f :: * -> *) k a.
(Foldable f, Ord k) =>
f (Map k a) -> Map k a
Map.unions ([ValueMap] -> ValueMap) -> [ValueMap] -> ValueMap
forall a b. (a -> b) -> a -> b
$ ((String, String -> ValueMap) -> ValueMap)
-> [(String, String -> ValueMap)] -> [ValueMap]
forall a b. (a -> b) -> [a] -> [b]
map (\(String
v, String -> ValueMap
f) -> String -> ValueMap
f String
v) ([(String, String -> ValueMap)] -> [ValueMap])
-> [(String, String -> ValueMap)] -> [ValueMap]
forall a b. (a -> b) -> a -> b
$ [String] -> [String -> ValueMap] -> [(String, String -> ValueMap)]
forall a b. [a] -> [b] -> [(a, b)]
zip (String -> [String]
split String
name) [String -> ValueMap]
fs
        split :: String -> [String]
        split :: String -> [String]
split = (Char -> Bool) -> String -> [String]
forall a. (a -> Bool) -> [a] -> [[a]]
wordsBy (Char -> Char -> Bool
forall a. Eq a => a -> a -> Bool
==Char
':')

mF :: String -> String -> ValueMap
mF :: String -> String -> ValueMap
mF String
name String
v = ValueMap -> Maybe ValueMap -> ValueMap
forall a. a -> Maybe a -> a
fromMaybe ValueMap
forall k a. Map k a
Map.empty (Maybe ValueMap -> ValueMap) -> Maybe ValueMap -> ValueMap
forall a b. (a -> b) -> a -> b
$ do Double
f <- String -> Maybe Double
forall a. Read a => String -> Maybe a
readMaybe String
v
                                     ValueMap -> Maybe ValueMap
forall (m :: * -> *) a. Monad m => a -> m a
return (ValueMap -> Maybe ValueMap) -> ValueMap -> Maybe ValueMap
forall a b. (a -> b) -> a -> b
$ String -> Value -> ValueMap
forall k a. k -> a -> Map k a
Map.singleton String
name (Double -> Value
VF Double
f)

mI :: String -> String -> ValueMap
mI :: String -> String -> ValueMap
mI String
name String
v = ValueMap -> Maybe ValueMap -> ValueMap
forall a. a -> Maybe a -> a
fromMaybe ValueMap
forall k a. Map k a
Map.empty (Maybe ValueMap -> ValueMap) -> Maybe ValueMap -> ValueMap
forall a b. (a -> b) -> a -> b
$ do Int
i <- String -> Maybe Int
forall a. Read a => String -> Maybe a
readMaybe String
v
                                     ValueMap -> Maybe ValueMap
forall (m :: * -> *) a. Monad m => a -> m a
return (ValueMap -> Maybe ValueMap) -> ValueMap -> Maybe ValueMap
forall a b. (a -> b) -> a -> b
$ String -> Value -> ValueMap
forall k a. k -> a -> Map k a
Map.singleton String
name (Int -> Value
VI Int
i)

mS :: String -> String -> ValueMap
mS :: String -> String -> ValueMap
mS String
name String
v = String -> Value -> ValueMap
forall k a. k -> a -> Map k a
Map.singleton String
name (String -> Value
VS String
v)

-- | Param makers

pF :: String -> Pattern Double -> ControlPattern
pF :: String -> Pattern Double -> ControlPattern
pF String
name = (Double -> ValueMap) -> Pattern Double -> ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (String -> Value -> ValueMap
forall k a. k -> a -> Map k a
Map.singleton String
name (Value -> ValueMap) -> (Double -> Value) -> Double -> ValueMap
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Double -> Value
VF)

pI :: String -> Pattern Int -> ControlPattern
pI :: String -> Pattern Int -> ControlPattern
pI String
name = (Int -> ValueMap) -> Pattern Int -> ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (String -> Value -> ValueMap
forall k a. k -> a -> Map k a
Map.singleton String
name (Value -> ValueMap) -> (Int -> Value) -> Int -> ValueMap
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> Value
VI)

pB :: String -> Pattern Bool -> ControlPattern
pB :: String -> Pattern Bool -> ControlPattern
pB String
name = (Bool -> ValueMap) -> Pattern Bool -> ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (String -> Value -> ValueMap
forall k a. k -> a -> Map k a
Map.singleton String
name (Value -> ValueMap) -> (Bool -> Value) -> Bool -> ValueMap
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Value
VB)
 
pR :: String -> Pattern Rational -> ControlPattern
pR :: String -> Pattern Rational -> ControlPattern
pR String
name = (Rational -> ValueMap) -> Pattern Rational -> ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (String -> Value -> ValueMap
forall k a. k -> a -> Map k a
Map.singleton String
name (Value -> ValueMap) -> (Rational -> Value) -> Rational -> ValueMap
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Rational -> Value
VR)

pN :: String -> Pattern Note -> ControlPattern
pN :: String -> Pattern Note -> ControlPattern
pN String
name = (Note -> ValueMap) -> Pattern Note -> ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (String -> Value -> ValueMap
forall k a. k -> a -> Map k a
Map.singleton String
name (Value -> ValueMap) -> (Note -> Value) -> Note -> ValueMap
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Note -> Value
VN)

pS :: String -> Pattern String -> ControlPattern
pS :: String -> Pattern String -> ControlPattern
pS String
name = (String -> ValueMap) -> Pattern String -> ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (String -> Value -> ValueMap
forall k a. k -> a -> Map k a
Map.singleton String
name (Value -> ValueMap) -> (String -> Value) -> String -> ValueMap
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Value
VS)

pX :: String -> Pattern [Word8] -> ControlPattern
pX :: String -> Pattern [Word8] -> ControlPattern
pX String
name = ([Word8] -> ValueMap) -> Pattern [Word8] -> ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (String -> Value -> ValueMap
forall k a. k -> a -> Map k a
Map.singleton String
name (Value -> ValueMap) -> ([Word8] -> Value) -> [Word8] -> ValueMap
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Word8] -> Value
VX)

pStateF :: String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF :: String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
name String
sName Maybe Double -> Double
update = ValueMap -> ControlPattern
forall (f :: * -> *) a. Applicative f => a -> f a
pure (ValueMap -> ControlPattern) -> ValueMap -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String -> Value -> ValueMap
forall k a. k -> a -> Map k a
Map.singleton String
name (Value -> ValueMap) -> Value -> ValueMap
forall a b. (a -> b) -> a -> b
$ (ValueMap -> (ValueMap, Value)) -> Value
VState ValueMap -> (ValueMap, Value)
statef
  where statef :: ValueMap -> (ValueMap, Value)
        statef :: ValueMap -> (ValueMap, Value)
statef ValueMap
sMap = (String -> Value -> ValueMap -> ValueMap
forall k a. Ord k => k -> a -> Map k a -> Map k a
Map.insert String
sName Value
v ValueMap
sMap, Value
v) 
          where v :: Value
v = Double -> Value
VF (Double -> Value) -> Double -> Value
forall a b. (a -> b) -> a -> b
$ Maybe Double -> Double
update (Maybe Double -> Double) -> Maybe Double -> Double
forall a b. (a -> b) -> a -> b
$ (String -> ValueMap -> Maybe Value
forall k a. Ord k => k -> Map k a -> Maybe a
Map.lookup String
sName ValueMap
sMap) Maybe Value -> (Value -> Maybe Double) -> Maybe Double
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Value -> Maybe Double
getF

pStateList :: String -> String -> [Value] -> ControlPattern
pStateList :: String -> String -> [Value] -> ControlPattern
pStateList String
name String
sName [Value]
xs = ValueMap -> ControlPattern
forall (f :: * -> *) a. Applicative f => a -> f a
pure (ValueMap -> ControlPattern) -> ValueMap -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String -> Value -> ValueMap
forall k a. k -> a -> Map k a
Map.singleton String
name (Value -> ValueMap) -> Value -> ValueMap
forall a b. (a -> b) -> a -> b
$ (ValueMap -> (ValueMap, Value)) -> Value
VState ValueMap -> (ValueMap, Value)
statef
  where statef :: ValueMap -> (ValueMap, Value)
        statef :: ValueMap -> (ValueMap, Value)
statef ValueMap
sMap = (String -> Value -> ValueMap -> ValueMap
forall k a. Ord k => k -> a -> Map k a -> Map k a
Map.insert String
sName ([Value] -> Value
VList ([Value] -> Value) -> [Value] -> Value
forall a b. (a -> b) -> a -> b
$ [Value] -> [Value]
forall a. [a] -> [a]
tail [Value]
looped) ValueMap
sMap, [Value] -> Value
forall a. [a] -> a
head [Value]
looped) 
          where xs' :: [Value]
xs' = [Value] -> Maybe [Value] -> [Value]
forall a. a -> Maybe a -> a
fromMaybe [Value]
xs ((String -> ValueMap -> Maybe Value
forall k a. Ord k => k -> Map k a -> Maybe a
Map.lookup String
sName ValueMap
sMap) Maybe Value -> (Value -> Maybe [Value]) -> Maybe [Value]
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Value -> Maybe [Value]
getList)
                -- do this instead of a cycle, so it can get updated with the a list
                looped :: [Value]
looped | [Value] -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
null [Value]
xs' = [Value]
xs
                       | Bool
otherwise = [Value]
xs'

pStateListF :: String -> String -> [Double] -> ControlPattern
pStateListF :: String -> String -> [Double] -> ControlPattern
pStateListF String
name String
sName = String -> String -> [Value] -> ControlPattern
pStateList String
name String
sName ([Value] -> ControlPattern)
-> ([Double] -> [Value]) -> [Double] -> ControlPattern
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Value) -> [Double] -> [Value]
forall a b. (a -> b) -> [a] -> [b]
map Double -> Value
VF

pStateListS :: String -> String -> [String] -> ControlPattern
pStateListS :: String -> String -> [String] -> ControlPattern
pStateListS String
name String
sName = String -> String -> [Value] -> ControlPattern
pStateList String
name String
sName ([Value] -> ControlPattern)
-> ([String] -> [Value]) -> [String] -> ControlPattern
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (String -> Value) -> [String] -> [Value]
forall a b. (a -> b) -> [a] -> [b]
map String -> Value
VS

-- | Grouped params

sound :: Pattern String -> ControlPattern
sound :: Pattern String -> ControlPattern
sound = [String -> ValueMap] -> Pattern String -> ControlPattern
grp [String -> String -> ValueMap
mS String
"s", String -> String -> ValueMap
mF String
"n"]

sTake :: String -> [String] -> ControlPattern
sTake :: String -> [String] -> ControlPattern
sTake String
name [String]
xs = String -> String -> [String] -> ControlPattern
pStateListS String
"s" String
name [String]
xs

cc :: Pattern String -> ControlPattern
cc :: Pattern String -> ControlPattern
cc = [String -> ValueMap] -> Pattern String -> ControlPattern
grp [String -> String -> ValueMap
mF String
"ccn", String -> String -> ValueMap
mF String
"ccv"]

nrpn :: Pattern String -> ControlPattern
nrpn :: Pattern String -> ControlPattern
nrpn = [String -> ValueMap] -> Pattern String -> ControlPattern
grp [String -> String -> ValueMap
mI String
"nrpn", String -> String -> ValueMap
mI String
"val"]

nrpnn :: Pattern Int -> ControlPattern
nrpnn :: Pattern Int -> ControlPattern
nrpnn = String -> Pattern Int -> ControlPattern
pI String
"nrpn"

nrpnv :: Pattern Int -> ControlPattern
nrpnv :: Pattern Int -> ControlPattern
nrpnv = String -> Pattern Int -> ControlPattern
pI String
"val"

grain' :: Pattern String -> ControlPattern
grain' :: Pattern String -> ControlPattern
grain' = [String -> ValueMap] -> Pattern String -> ControlPattern
grp [String -> String -> ValueMap
mF String
"begin", String -> String -> ValueMap
mF String
"end"]

midinote :: Pattern Note -> ControlPattern
midinote :: Pattern Note -> ControlPattern
midinote = Pattern Note -> ControlPattern
note (Pattern Note -> ControlPattern)
-> (Pattern Note -> Pattern Note) -> Pattern Note -> ControlPattern
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Note -> Note -> Note
forall a. Num a => a -> a -> a
subtract Note
60 (Note -> Note) -> Pattern Note -> Pattern Note
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$>)

drum :: Pattern String -> ControlPattern
drum :: Pattern String -> ControlPattern
drum = Pattern Note -> ControlPattern
n (Pattern Note -> ControlPattern)
-> (Pattern String -> Pattern Note)
-> Pattern String
-> ControlPattern
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Note -> Note -> Note
forall a. Num a => a -> a -> a
subtract Note
60 (Note -> Note) -> (String -> Note) -> String -> Note
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Note
forall a. Num a => String -> a
drumN (String -> Note) -> Pattern String -> Pattern Note
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$>)

drumN :: Num a => String -> a
drumN :: String -> a
drumN String
"hq" = a
27
drumN String
"sl" = a
28
drumN String
"ps" = a
29
drumN String
"pl" = a
30
drumN String
"st" = a
31
drumN String
"sq" = a
32
drumN String
"ml" = a
33
drumN String
"mb" = a
34
drumN String
"ab" = a
35
drumN String
"bd" = a
36
drumN String
"rm" = a
37
drumN String
"sn" = a
38
drumN String
"cp" = a
39
drumN String
"es" = a
40
drumN String
"lf" = a
41
drumN String
"ch" = a
42
drumN String
"lt" = a
43
drumN String
"hh" = a
44
drumN String
"ft" = a
45
drumN String
"oh" = a
46
drumN String
"mt" = a
47
drumN String
"hm" = a
48
drumN String
"cr" = a
49
drumN String
"ht" = a
50
drumN String
"ri" = a
51
drumN String
"cy" = a
52
drumN String
"be" = a
53
drumN String
"ta" = a
54
drumN String
"sc" = a
55
drumN String
"cb" = a
56
drumN String
"cs" = a
57
drumN String
"vi" = a
58
drumN String
"rc" = a
59
drumN String
"hb" = a
60
drumN String
"lb" = a
61
drumN String
"mh" = a
62
drumN String
"hc" = a
63
drumN String
"lc" = a
64
drumN String
"he" = a
65
drumN String
"le" = a
66
drumN String
"ag" = a
67
drumN String
"la" = a
68
drumN String
"ca" = a
69
drumN String
"ma" = a
70
drumN String
"sw" = a
71
drumN String
"lw" = a
72
drumN String
"sg" = a
73
drumN String
"lg" = a
74
drumN String
"cl" = a
75
drumN String
"hi" = a
76
drumN String
"li" = a
77
drumN String
"mc" = a
78
drumN String
"oc" = a
79
drumN String
"tr" = a
80
drumN String
"ot" = a
81
drumN String
"sh" = a
82
drumN String
"jb" = a
83
drumN String
"bt" = a
84
drumN String
"ct" = a
85
drumN String
"ms" = a
86
drumN String
"os" = a
87
drumN String
_ = a
0

-- Generated params

-- | a pattern of numbers that speed up (or slow down) samples while they play.
accelerate :: Pattern Double -> ControlPattern
accelerate :: Pattern Double -> ControlPattern
accelerate = String -> Pattern Double -> ControlPattern
pF String
"accelerate"
accelerateTake :: String -> [Double] -> ControlPattern
accelerateTake :: String -> [Double] -> ControlPattern
accelerateTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"accelerate" String
name [Double]
xs
accelerateCount :: String -> ControlPattern
accelerateCount :: String -> ControlPattern
accelerateCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"accelerate" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
accelerateCountTo :: String -> Pattern Double -> Pattern ValueMap
accelerateCountTo :: String -> Pattern Double -> ControlPattern
accelerateCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"accelerate" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

acceleratebus :: Pattern Int -> Pattern Double -> ControlPattern
acceleratebus :: Pattern Int -> Pattern Double -> ControlPattern
acceleratebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"accelerate" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^accelerate" Pattern Int
busid)
acceleraterecv :: Pattern Int -> ControlPattern
acceleraterecv :: Pattern Int -> ControlPattern
acceleraterecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^accelerate" Pattern Int
busid

-- | like @gain@, but linear.
amp :: Pattern Double -> ControlPattern
amp :: Pattern Double -> ControlPattern
amp = String -> Pattern Double -> ControlPattern
pF String
"amp"
ampTake :: String -> [Double] -> ControlPattern
ampTake :: String -> [Double] -> ControlPattern
ampTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"amp" String
name [Double]
xs
ampCount :: String -> ControlPattern
ampCount :: String -> ControlPattern
ampCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"amp" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
ampCountTo :: String -> Pattern Double -> Pattern ValueMap
ampCountTo :: String -> Pattern Double -> ControlPattern
ampCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"amp" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

ampbus :: Pattern Int -> Pattern Double -> ControlPattern
ampbus :: Pattern Int -> Pattern Double -> ControlPattern
ampbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"amp" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^amp" Pattern Int
busid)
amprecv :: Pattern Int -> ControlPattern
amprecv :: Pattern Int -> ControlPattern
amprecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^amp" Pattern Int
busid

-- | 
array :: Pattern [Word8] -> ControlPattern
array :: Pattern [Word8] -> ControlPattern
array = String -> Pattern [Word8] -> ControlPattern
pX String
"array"
arrayTake :: String -> [Double] -> ControlPattern
arrayTake :: String -> [Double] -> ControlPattern
arrayTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"array" String
name [Double]
xs
arraybus :: Pattern Int -> Pattern [Word8] -> ControlPattern
arraybus :: Pattern Int -> Pattern [Word8] -> ControlPattern
arraybus Pattern Int
_ Pattern [Word8]
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'array' can't be sent to a bus."

-- | a pattern of numbers to specify the attack time (in seconds) of an envelope applied to each sample.
attack :: Pattern Double -> ControlPattern
attack :: Pattern Double -> ControlPattern
attack = String -> Pattern Double -> ControlPattern
pF String
"attack"
attackTake :: String -> [Double] -> ControlPattern
attackTake :: String -> [Double] -> ControlPattern
attackTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"attack" String
name [Double]
xs
attackCount :: String -> ControlPattern
attackCount :: String -> ControlPattern
attackCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"attack" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
attackCountTo :: String -> Pattern Double -> Pattern ValueMap
attackCountTo :: String -> Pattern Double -> ControlPattern
attackCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"attack" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

attackbus :: Pattern Int -> Pattern Double -> ControlPattern
attackbus :: Pattern Int -> Pattern Double -> ControlPattern
attackbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"attack" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^attack" Pattern Int
busid)
attackrecv :: Pattern Int -> ControlPattern
attackrecv :: Pattern Int -> ControlPattern
attackrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^attack" Pattern Int
busid

-- | a pattern of numbers from 0 to 1. Sets the center frequency of the band-pass filter.
bandf :: Pattern Double -> ControlPattern
bandf :: Pattern Double -> ControlPattern
bandf = String -> Pattern Double -> ControlPattern
pF String
"bandf"
bandfTake :: String -> [Double] -> ControlPattern
bandfTake :: String -> [Double] -> ControlPattern
bandfTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"bandf" String
name [Double]
xs
bandfCount :: String -> ControlPattern
bandfCount :: String -> ControlPattern
bandfCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"bandf" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
bandfCountTo :: String -> Pattern Double -> Pattern ValueMap
bandfCountTo :: String -> Pattern Double -> ControlPattern
bandfCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"bandf" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

bandfbus :: Pattern Int -> Pattern Double -> ControlPattern
bandfbus :: Pattern Int -> Pattern Double -> ControlPattern
bandfbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"bandf" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^bandf" Pattern Int
busid)
bandfrecv :: Pattern Int -> ControlPattern
bandfrecv :: Pattern Int -> ControlPattern
bandfrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^bandf" Pattern Int
busid

-- | a pattern of anumbers from 0 to 1. Sets the q-factor of the band-pass filter.
bandq :: Pattern Double -> ControlPattern
bandq :: Pattern Double -> ControlPattern
bandq = String -> Pattern Double -> ControlPattern
pF String
"bandq"
bandqTake :: String -> [Double] -> ControlPattern
bandqTake :: String -> [Double] -> ControlPattern
bandqTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"bandq" String
name [Double]
xs
bandqCount :: String -> ControlPattern
bandqCount :: String -> ControlPattern
bandqCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"bandq" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
bandqCountTo :: String -> Pattern Double -> Pattern ValueMap
bandqCountTo :: String -> Pattern Double -> ControlPattern
bandqCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"bandq" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

bandqbus :: Pattern Int -> Pattern Double -> ControlPattern
bandqbus :: Pattern Int -> Pattern Double -> ControlPattern
bandqbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"bandq" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^bandq" Pattern Int
busid)
bandqrecv :: Pattern Int -> ControlPattern
bandqrecv :: Pattern Int -> ControlPattern
bandqrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^bandq" Pattern Int
busid

-- | a pattern of numbers from 0 to 1. Skips the beginning of each sample, e.g. `0.25` to cut off the first quarter from each sample.
begin :: Pattern Double -> ControlPattern
begin :: Pattern Double -> ControlPattern
begin = String -> Pattern Double -> ControlPattern
pF String
"begin"
beginTake :: String -> [Double] -> ControlPattern
beginTake :: String -> [Double] -> ControlPattern
beginTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"begin" String
name [Double]
xs
beginCount :: String -> ControlPattern
beginCount :: String -> ControlPattern
beginCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"begin" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
beginCountTo :: String -> Pattern Double -> Pattern ValueMap
beginCountTo :: String -> Pattern Double -> ControlPattern
beginCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"begin" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

beginbus :: Pattern Int -> Pattern Double -> ControlPattern
beginbus :: Pattern Int -> Pattern Double -> ControlPattern
beginbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"begin" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^begin" Pattern Int
busid)
beginrecv :: Pattern Int -> ControlPattern
beginrecv :: Pattern Int -> ControlPattern
beginrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^begin" Pattern Int
busid

-- | Spectral binshift
binshift :: Pattern Double -> ControlPattern
binshift :: Pattern Double -> ControlPattern
binshift = String -> Pattern Double -> ControlPattern
pF String
"binshift"
binshiftTake :: String -> [Double] -> ControlPattern
binshiftTake :: String -> [Double] -> ControlPattern
binshiftTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"binshift" String
name [Double]
xs
binshiftCount :: String -> ControlPattern
binshiftCount :: String -> ControlPattern
binshiftCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"binshift" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
binshiftCountTo :: String -> Pattern Double -> Pattern ValueMap
binshiftCountTo :: String -> Pattern Double -> ControlPattern
binshiftCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"binshift" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

binshiftbus :: Pattern Int -> Pattern Double -> ControlPattern
binshiftbus :: Pattern Int -> Pattern Double -> ControlPattern
binshiftbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"binshift" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^binshift" Pattern Int
busid)
binshiftrecv :: Pattern Int -> ControlPattern
binshiftrecv :: Pattern Int -> ControlPattern
binshiftrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^binshift" Pattern Int
busid

-- | 
button0 :: Pattern Double -> ControlPattern
button0 :: Pattern Double -> ControlPattern
button0 = String -> Pattern Double -> ControlPattern
pF String
"button0"
button0Take :: String -> [Double] -> ControlPattern
button0Take :: String -> [Double] -> ControlPattern
button0Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"button0" String
name [Double]
xs
button0Count :: String -> ControlPattern
button0Count :: String -> ControlPattern
button0Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button0" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
button0CountTo :: String -> Pattern Double -> Pattern ValueMap
button0CountTo :: String -> Pattern Double -> ControlPattern
button0CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button0" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

button0bus :: Pattern Int -> Pattern Double -> ControlPattern
button0bus :: Pattern Int -> Pattern Double -> ControlPattern
button0bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"button0" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^button0" Pattern Int
busid)
button0recv :: Pattern Int -> ControlPattern
button0recv :: Pattern Int -> ControlPattern
button0recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^button0" Pattern Int
busid

-- | 
button1 :: Pattern Double -> ControlPattern
button1 :: Pattern Double -> ControlPattern
button1 = String -> Pattern Double -> ControlPattern
pF String
"button1"
button1Take :: String -> [Double] -> ControlPattern
button1Take :: String -> [Double] -> ControlPattern
button1Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"button1" String
name [Double]
xs
button1Count :: String -> ControlPattern
button1Count :: String -> ControlPattern
button1Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button1" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
button1CountTo :: String -> Pattern Double -> Pattern ValueMap
button1CountTo :: String -> Pattern Double -> ControlPattern
button1CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button1" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

button1bus :: Pattern Int -> Pattern Double -> ControlPattern
button1bus :: Pattern Int -> Pattern Double -> ControlPattern
button1bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"button1" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^button1" Pattern Int
busid)
button1recv :: Pattern Int -> ControlPattern
button1recv :: Pattern Int -> ControlPattern
button1recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^button1" Pattern Int
busid

-- | 
button10 :: Pattern Double -> ControlPattern
button10 :: Pattern Double -> ControlPattern
button10 = String -> Pattern Double -> ControlPattern
pF String
"button10"
button10Take :: String -> [Double] -> ControlPattern
button10Take :: String -> [Double] -> ControlPattern
button10Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"button10" String
name [Double]
xs
button10Count :: String -> ControlPattern
button10Count :: String -> ControlPattern
button10Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button10" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
button10CountTo :: String -> Pattern Double -> Pattern ValueMap
button10CountTo :: String -> Pattern Double -> ControlPattern
button10CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button10" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

button10bus :: Pattern Int -> Pattern Double -> ControlPattern
button10bus :: Pattern Int -> Pattern Double -> ControlPattern
button10bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"button10" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^button10" Pattern Int
busid)
button10recv :: Pattern Int -> ControlPattern
button10recv :: Pattern Int -> ControlPattern
button10recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^button10" Pattern Int
busid

-- | 
button11 :: Pattern Double -> ControlPattern
button11 :: Pattern Double -> ControlPattern
button11 = String -> Pattern Double -> ControlPattern
pF String
"button11"
button11Take :: String -> [Double] -> ControlPattern
button11Take :: String -> [Double] -> ControlPattern
button11Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"button11" String
name [Double]
xs
button11Count :: String -> ControlPattern
button11Count :: String -> ControlPattern
button11Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button11" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
button11CountTo :: String -> Pattern Double -> Pattern ValueMap
button11CountTo :: String -> Pattern Double -> ControlPattern
button11CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button11" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

button11bus :: Pattern Int -> Pattern Double -> ControlPattern
button11bus :: Pattern Int -> Pattern Double -> ControlPattern
button11bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"button11" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^button11" Pattern Int
busid)
button11recv :: Pattern Int -> ControlPattern
button11recv :: Pattern Int -> ControlPattern
button11recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^button11" Pattern Int
busid

-- | 
button12 :: Pattern Double -> ControlPattern
button12 :: Pattern Double -> ControlPattern
button12 = String -> Pattern Double -> ControlPattern
pF String
"button12"
button12Take :: String -> [Double] -> ControlPattern
button12Take :: String -> [Double] -> ControlPattern
button12Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"button12" String
name [Double]
xs
button12Count :: String -> ControlPattern
button12Count :: String -> ControlPattern
button12Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button12" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
button12CountTo :: String -> Pattern Double -> Pattern ValueMap
button12CountTo :: String -> Pattern Double -> ControlPattern
button12CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button12" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

button12bus :: Pattern Int -> Pattern Double -> ControlPattern
button12bus :: Pattern Int -> Pattern Double -> ControlPattern
button12bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"button12" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^button12" Pattern Int
busid)
button12recv :: Pattern Int -> ControlPattern
button12recv :: Pattern Int -> ControlPattern
button12recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^button12" Pattern Int
busid

-- | 
button13 :: Pattern Double -> ControlPattern
button13 :: Pattern Double -> ControlPattern
button13 = String -> Pattern Double -> ControlPattern
pF String
"button13"
button13Take :: String -> [Double] -> ControlPattern
button13Take :: String -> [Double] -> ControlPattern
button13Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"button13" String
name [Double]
xs
button13Count :: String -> ControlPattern
button13Count :: String -> ControlPattern
button13Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button13" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
button13CountTo :: String -> Pattern Double -> Pattern ValueMap
button13CountTo :: String -> Pattern Double -> ControlPattern
button13CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button13" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

button13bus :: Pattern Int -> Pattern Double -> ControlPattern
button13bus :: Pattern Int -> Pattern Double -> ControlPattern
button13bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"button13" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^button13" Pattern Int
busid)
button13recv :: Pattern Int -> ControlPattern
button13recv :: Pattern Int -> ControlPattern
button13recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^button13" Pattern Int
busid

-- | 
button14 :: Pattern Double -> ControlPattern
button14 :: Pattern Double -> ControlPattern
button14 = String -> Pattern Double -> ControlPattern
pF String
"button14"
button14Take :: String -> [Double] -> ControlPattern
button14Take :: String -> [Double] -> ControlPattern
button14Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"button14" String
name [Double]
xs
button14Count :: String -> ControlPattern
button14Count :: String -> ControlPattern
button14Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button14" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
button14CountTo :: String -> Pattern Double -> Pattern ValueMap
button14CountTo :: String -> Pattern Double -> ControlPattern
button14CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button14" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

button14bus :: Pattern Int -> Pattern Double -> ControlPattern
button14bus :: Pattern Int -> Pattern Double -> ControlPattern
button14bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"button14" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^button14" Pattern Int
busid)
button14recv :: Pattern Int -> ControlPattern
button14recv :: Pattern Int -> ControlPattern
button14recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^button14" Pattern Int
busid

-- | 
button15 :: Pattern Double -> ControlPattern
button15 :: Pattern Double -> ControlPattern
button15 = String -> Pattern Double -> ControlPattern
pF String
"button15"
button15Take :: String -> [Double] -> ControlPattern
button15Take :: String -> [Double] -> ControlPattern
button15Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"button15" String
name [Double]
xs
button15Count :: String -> ControlPattern
button15Count :: String -> ControlPattern
button15Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button15" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
button15CountTo :: String -> Pattern Double -> Pattern ValueMap
button15CountTo :: String -> Pattern Double -> ControlPattern
button15CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button15" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

button15bus :: Pattern Int -> Pattern Double -> ControlPattern
button15bus :: Pattern Int -> Pattern Double -> ControlPattern
button15bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"button15" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^button15" Pattern Int
busid)
button15recv :: Pattern Int -> ControlPattern
button15recv :: Pattern Int -> ControlPattern
button15recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^button15" Pattern Int
busid

-- | 
button2 :: Pattern Double -> ControlPattern
button2 :: Pattern Double -> ControlPattern
button2 = String -> Pattern Double -> ControlPattern
pF String
"button2"
button2Take :: String -> [Double] -> ControlPattern
button2Take :: String -> [Double] -> ControlPattern
button2Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"button2" String
name [Double]
xs
button2Count :: String -> ControlPattern
button2Count :: String -> ControlPattern
button2Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button2" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
button2CountTo :: String -> Pattern Double -> Pattern ValueMap
button2CountTo :: String -> Pattern Double -> ControlPattern
button2CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button2" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

button2bus :: Pattern Int -> Pattern Double -> ControlPattern
button2bus :: Pattern Int -> Pattern Double -> ControlPattern
button2bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"button2" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^button2" Pattern Int
busid)
button2recv :: Pattern Int -> ControlPattern
button2recv :: Pattern Int -> ControlPattern
button2recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^button2" Pattern Int
busid

-- | 
button3 :: Pattern Double -> ControlPattern
button3 :: Pattern Double -> ControlPattern
button3 = String -> Pattern Double -> ControlPattern
pF String
"button3"
button3Take :: String -> [Double] -> ControlPattern
button3Take :: String -> [Double] -> ControlPattern
button3Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"button3" String
name [Double]
xs
button3Count :: String -> ControlPattern
button3Count :: String -> ControlPattern
button3Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button3" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
button3CountTo :: String -> Pattern Double -> Pattern ValueMap
button3CountTo :: String -> Pattern Double -> ControlPattern
button3CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button3" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

button3bus :: Pattern Int -> Pattern Double -> ControlPattern
button3bus :: Pattern Int -> Pattern Double -> ControlPattern
button3bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"button3" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^button3" Pattern Int
busid)
button3recv :: Pattern Int -> ControlPattern
button3recv :: Pattern Int -> ControlPattern
button3recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^button3" Pattern Int
busid

-- | 
button4 :: Pattern Double -> ControlPattern
button4 :: Pattern Double -> ControlPattern
button4 = String -> Pattern Double -> ControlPattern
pF String
"button4"
button4Take :: String -> [Double] -> ControlPattern
button4Take :: String -> [Double] -> ControlPattern
button4Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"button4" String
name [Double]
xs
button4Count :: String -> ControlPattern
button4Count :: String -> ControlPattern
button4Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button4" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
button4CountTo :: String -> Pattern Double -> Pattern ValueMap
button4CountTo :: String -> Pattern Double -> ControlPattern
button4CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button4" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

button4bus :: Pattern Int -> Pattern Double -> ControlPattern
button4bus :: Pattern Int -> Pattern Double -> ControlPattern
button4bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"button4" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^button4" Pattern Int
busid)
button4recv :: Pattern Int -> ControlPattern
button4recv :: Pattern Int -> ControlPattern
button4recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^button4" Pattern Int
busid

-- | 
button5 :: Pattern Double -> ControlPattern
button5 :: Pattern Double -> ControlPattern
button5 = String -> Pattern Double -> ControlPattern
pF String
"button5"
button5Take :: String -> [Double] -> ControlPattern
button5Take :: String -> [Double] -> ControlPattern
button5Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"button5" String
name [Double]
xs
button5Count :: String -> ControlPattern
button5Count :: String -> ControlPattern
button5Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button5" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
button5CountTo :: String -> Pattern Double -> Pattern ValueMap
button5CountTo :: String -> Pattern Double -> ControlPattern
button5CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button5" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

button5bus :: Pattern Int -> Pattern Double -> ControlPattern
button5bus :: Pattern Int -> Pattern Double -> ControlPattern
button5bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"button5" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^button5" Pattern Int
busid)
button5recv :: Pattern Int -> ControlPattern
button5recv :: Pattern Int -> ControlPattern
button5recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^button5" Pattern Int
busid

-- | 
button6 :: Pattern Double -> ControlPattern
button6 :: Pattern Double -> ControlPattern
button6 = String -> Pattern Double -> ControlPattern
pF String
"button6"
button6Take :: String -> [Double] -> ControlPattern
button6Take :: String -> [Double] -> ControlPattern
button6Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"button6" String
name [Double]
xs
button6Count :: String -> ControlPattern
button6Count :: String -> ControlPattern
button6Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button6" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
button6CountTo :: String -> Pattern Double -> Pattern ValueMap
button6CountTo :: String -> Pattern Double -> ControlPattern
button6CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button6" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

button6bus :: Pattern Int -> Pattern Double -> ControlPattern
button6bus :: Pattern Int -> Pattern Double -> ControlPattern
button6bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"button6" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^button6" Pattern Int
busid)
button6recv :: Pattern Int -> ControlPattern
button6recv :: Pattern Int -> ControlPattern
button6recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^button6" Pattern Int
busid

-- | 
button7 :: Pattern Double -> ControlPattern
button7 :: Pattern Double -> ControlPattern
button7 = String -> Pattern Double -> ControlPattern
pF String
"button7"
button7Take :: String -> [Double] -> ControlPattern
button7Take :: String -> [Double] -> ControlPattern
button7Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"button7" String
name [Double]
xs
button7Count :: String -> ControlPattern
button7Count :: String -> ControlPattern
button7Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button7" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
button7CountTo :: String -> Pattern Double -> Pattern ValueMap
button7CountTo :: String -> Pattern Double -> ControlPattern
button7CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button7" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

button7bus :: Pattern Int -> Pattern Double -> ControlPattern
button7bus :: Pattern Int -> Pattern Double -> ControlPattern
button7bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"button7" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^button7" Pattern Int
busid)
button7recv :: Pattern Int -> ControlPattern
button7recv :: Pattern Int -> ControlPattern
button7recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^button7" Pattern Int
busid

-- | 
button8 :: Pattern Double -> ControlPattern
button8 :: Pattern Double -> ControlPattern
button8 = String -> Pattern Double -> ControlPattern
pF String
"button8"
button8Take :: String -> [Double] -> ControlPattern
button8Take :: String -> [Double] -> ControlPattern
button8Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"button8" String
name [Double]
xs
button8Count :: String -> ControlPattern
button8Count :: String -> ControlPattern
button8Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button8" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
button8CountTo :: String -> Pattern Double -> Pattern ValueMap
button8CountTo :: String -> Pattern Double -> ControlPattern
button8CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button8" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

button8bus :: Pattern Int -> Pattern Double -> ControlPattern
button8bus :: Pattern Int -> Pattern Double -> ControlPattern
button8bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"button8" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^button8" Pattern Int
busid)
button8recv :: Pattern Int -> ControlPattern
button8recv :: Pattern Int -> ControlPattern
button8recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^button8" Pattern Int
busid

-- | 
button9 :: Pattern Double -> ControlPattern
button9 :: Pattern Double -> ControlPattern
button9 = String -> Pattern Double -> ControlPattern
pF String
"button9"
button9Take :: String -> [Double] -> ControlPattern
button9Take :: String -> [Double] -> ControlPattern
button9Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"button9" String
name [Double]
xs
button9Count :: String -> ControlPattern
button9Count :: String -> ControlPattern
button9Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button9" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
button9CountTo :: String -> Pattern Double -> Pattern ValueMap
button9CountTo :: String -> Pattern Double -> ControlPattern
button9CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"button9" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

button9bus :: Pattern Int -> Pattern Double -> ControlPattern
button9bus :: Pattern Int -> Pattern Double -> ControlPattern
button9bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"button9" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^button9" Pattern Int
busid)
button9recv :: Pattern Int -> ControlPattern
button9recv :: Pattern Int -> ControlPattern
button9recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^button9" Pattern Int
busid

-- | 
ccn :: Pattern Double -> ControlPattern
ccn :: Pattern Double -> ControlPattern
ccn = String -> Pattern Double -> ControlPattern
pF String
"ccn"
ccnTake :: String -> [Double] -> ControlPattern
ccnTake :: String -> [Double] -> ControlPattern
ccnTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"ccn" String
name [Double]
xs
ccnCount :: String -> ControlPattern
ccnCount :: String -> ControlPattern
ccnCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"ccn" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
ccnCountTo :: String -> Pattern Double -> Pattern ValueMap
ccnCountTo :: String -> Pattern Double -> ControlPattern
ccnCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"ccn" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

ccnbus :: Pattern Int -> Pattern Double -> ControlPattern
ccnbus :: Pattern Int -> Pattern Double -> ControlPattern
ccnbus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'ccn' can't be sent to a bus."

-- | 
ccv :: Pattern Double -> ControlPattern
ccv :: Pattern Double -> ControlPattern
ccv = String -> Pattern Double -> ControlPattern
pF String
"ccv"
ccvTake :: String -> [Double] -> ControlPattern
ccvTake :: String -> [Double] -> ControlPattern
ccvTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"ccv" String
name [Double]
xs
ccvCount :: String -> ControlPattern
ccvCount :: String -> ControlPattern
ccvCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"ccv" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
ccvCountTo :: String -> Pattern Double -> Pattern ValueMap
ccvCountTo :: String -> Pattern Double -> ControlPattern
ccvCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"ccv" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

ccvbus :: Pattern Int -> Pattern Double -> ControlPattern
ccvbus :: Pattern Int -> Pattern Double -> ControlPattern
ccvbus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'ccv' can't be sent to a bus."

-- | choose the channel the pattern is sent to in superdirt
channel :: Pattern Int -> ControlPattern
channel :: Pattern Int -> ControlPattern
channel = String -> Pattern Int -> ControlPattern
pI String
"channel"
channelTake :: String -> [Double] -> ControlPattern
channelTake :: String -> [Double] -> ControlPattern
channelTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"channel" String
name [Double]
xs
channelCount :: String -> ControlPattern
channelCount :: String -> ControlPattern
channelCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"channel" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
channelCountTo :: String -> Pattern Double -> Pattern ValueMap
channelCountTo :: String -> Pattern Double -> ControlPattern
channelCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"channel" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

channelbus :: Pattern Int -> Pattern Int -> ControlPattern
channelbus :: Pattern Int -> Pattern Int -> ControlPattern
channelbus Pattern Int
_ Pattern Int
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'channel' can't be sent to a bus."

-- | 
clhatdecay :: Pattern Double -> ControlPattern
clhatdecay :: Pattern Double -> ControlPattern
clhatdecay = String -> Pattern Double -> ControlPattern
pF String
"clhatdecay"
clhatdecayTake :: String -> [Double] -> ControlPattern
clhatdecayTake :: String -> [Double] -> ControlPattern
clhatdecayTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"clhatdecay" String
name [Double]
xs
clhatdecayCount :: String -> ControlPattern
clhatdecayCount :: String -> ControlPattern
clhatdecayCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"clhatdecay" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
clhatdecayCountTo :: String -> Pattern Double -> Pattern ValueMap
clhatdecayCountTo :: String -> Pattern Double -> ControlPattern
clhatdecayCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"clhatdecay" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

clhatdecaybus :: Pattern Int -> Pattern Double -> ControlPattern
clhatdecaybus :: Pattern Int -> Pattern Double -> ControlPattern
clhatdecaybus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"clhatdecay" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^clhatdecay" Pattern Int
busid)
clhatdecayrecv :: Pattern Int -> ControlPattern
clhatdecayrecv :: Pattern Int -> ControlPattern
clhatdecayrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^clhatdecay" Pattern Int
busid

-- | fake-resampling, a pattern of numbers for lowering the sample rate, i.e. 1 for original 2 for half, 3 for a third and so on.
coarse :: Pattern Double -> ControlPattern
coarse :: Pattern Double -> ControlPattern
coarse = String -> Pattern Double -> ControlPattern
pF String
"coarse"
coarseTake :: String -> [Double] -> ControlPattern
coarseTake :: String -> [Double] -> ControlPattern
coarseTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"coarse" String
name [Double]
xs
coarseCount :: String -> ControlPattern
coarseCount :: String -> ControlPattern
coarseCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"coarse" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
coarseCountTo :: String -> Pattern Double -> Pattern ValueMap
coarseCountTo :: String -> Pattern Double -> ControlPattern
coarseCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"coarse" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

coarsebus :: Pattern Int -> Pattern Double -> ControlPattern
coarsebus :: Pattern Int -> Pattern Double -> ControlPattern
coarsebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"coarse" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^coarse" Pattern Int
busid)
coarserecv :: Pattern Int -> ControlPattern
coarserecv :: Pattern Int -> ControlPattern
coarserecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^coarse" Pattern Int
busid

-- | Spectral comb
comb :: Pattern Double -> ControlPattern
comb :: Pattern Double -> ControlPattern
comb = String -> Pattern Double -> ControlPattern
pF String
"comb"
combTake :: String -> [Double] -> ControlPattern
combTake :: String -> [Double] -> ControlPattern
combTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"comb" String
name [Double]
xs
combCount :: String -> ControlPattern
combCount :: String -> ControlPattern
combCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"comb" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
combCountTo :: String -> Pattern Double -> Pattern ValueMap
combCountTo :: String -> Pattern Double -> ControlPattern
combCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"comb" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

combbus :: Pattern Int -> Pattern Double -> ControlPattern
combbus :: Pattern Int -> Pattern Double -> ControlPattern
combbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"comb" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^comb" Pattern Int
busid)
combrecv :: Pattern Int -> ControlPattern
combrecv :: Pattern Int -> ControlPattern
combrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^comb" Pattern Int
busid

-- | 
control :: Pattern Double -> ControlPattern
control :: Pattern Double -> ControlPattern
control = String -> Pattern Double -> ControlPattern
pF String
"control"
controlTake :: String -> [Double] -> ControlPattern
controlTake :: String -> [Double] -> ControlPattern
controlTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"control" String
name [Double]
xs
controlCount :: String -> ControlPattern
controlCount :: String -> ControlPattern
controlCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"control" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
controlCountTo :: String -> Pattern Double -> Pattern ValueMap
controlCountTo :: String -> Pattern Double -> ControlPattern
controlCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"control" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

controlbus :: Pattern Int -> Pattern Double -> ControlPattern
controlbus :: Pattern Int -> Pattern Double -> ControlPattern
controlbus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'control' can't be sent to a bus."

-- | 
cps :: Pattern Double -> ControlPattern
cps :: Pattern Double -> ControlPattern
cps = String -> Pattern Double -> ControlPattern
pF String
"cps"
cpsTake :: String -> [Double] -> ControlPattern
cpsTake :: String -> [Double] -> ControlPattern
cpsTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"cps" String
name [Double]
xs
cpsCount :: String -> ControlPattern
cpsCount :: String -> ControlPattern
cpsCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"cps" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
cpsCountTo :: String -> Pattern Double -> Pattern ValueMap
cpsCountTo :: String -> Pattern Double -> ControlPattern
cpsCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"cps" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

cpsbus :: Pattern Int -> Pattern Double -> ControlPattern
cpsbus :: Pattern Int -> Pattern Double -> ControlPattern
cpsbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"cps" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^cps" Pattern Int
busid)
cpsrecv :: Pattern Int -> ControlPattern
cpsrecv :: Pattern Int -> ControlPattern
cpsrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^cps" Pattern Int
busid

-- | bit crushing, a pattern of numbers from 1 (for drastic reduction in bit-depth) to 16 (for barely no reduction).
crush :: Pattern Double -> ControlPattern
crush :: Pattern Double -> ControlPattern
crush = String -> Pattern Double -> ControlPattern
pF String
"crush"
crushTake :: String -> [Double] -> ControlPattern
crushTake :: String -> [Double] -> ControlPattern
crushTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"crush" String
name [Double]
xs
crushCount :: String -> ControlPattern
crushCount :: String -> ControlPattern
crushCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"crush" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
crushCountTo :: String -> Pattern Double -> Pattern ValueMap
crushCountTo :: String -> Pattern Double -> ControlPattern
crushCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"crush" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

crushbus :: Pattern Int -> Pattern Double -> ControlPattern
crushbus :: Pattern Int -> Pattern Double -> ControlPattern
crushbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"crush" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^crush" Pattern Int
busid)
crushrecv :: Pattern Int -> ControlPattern
crushrecv :: Pattern Int -> ControlPattern
crushrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^crush" Pattern Int
busid

-- | 
ctlNum :: Pattern Double -> ControlPattern
ctlNum :: Pattern Double -> ControlPattern
ctlNum = String -> Pattern Double -> ControlPattern
pF String
"ctlNum"
ctlNumTake :: String -> [Double] -> ControlPattern
ctlNumTake :: String -> [Double] -> ControlPattern
ctlNumTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"ctlNum" String
name [Double]
xs
ctlNumCount :: String -> ControlPattern
ctlNumCount :: String -> ControlPattern
ctlNumCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"ctlNum" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
ctlNumCountTo :: String -> Pattern Double -> Pattern ValueMap
ctlNumCountTo :: String -> Pattern Double -> ControlPattern
ctlNumCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"ctlNum" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

ctlNumbus :: Pattern Int -> Pattern Double -> ControlPattern
ctlNumbus :: Pattern Int -> Pattern Double -> ControlPattern
ctlNumbus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'ctlNum' can't be sent to a bus."

-- | 
ctranspose :: Pattern Double -> ControlPattern
ctranspose :: Pattern Double -> ControlPattern
ctranspose = String -> Pattern Double -> ControlPattern
pF String
"ctranspose"
ctransposeTake :: String -> [Double] -> ControlPattern
ctransposeTake :: String -> [Double] -> ControlPattern
ctransposeTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"ctranspose" String
name [Double]
xs
ctransposeCount :: String -> ControlPattern
ctransposeCount :: String -> ControlPattern
ctransposeCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"ctranspose" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
ctransposeCountTo :: String -> Pattern Double -> Pattern ValueMap
ctransposeCountTo :: String -> Pattern Double -> ControlPattern
ctransposeCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"ctranspose" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

ctransposebus :: Pattern Int -> Pattern Double -> ControlPattern
ctransposebus :: Pattern Int -> Pattern Double -> ControlPattern
ctransposebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"ctranspose" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^ctranspose" Pattern Int
busid)
ctransposerecv :: Pattern Int -> ControlPattern
ctransposerecv :: Pattern Int -> ControlPattern
ctransposerecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^ctranspose" Pattern Int
busid

-- | In the style of classic drum-machines, `cut` will stop a playing sample as soon as another samples with in same cutgroup is to be played. An example would be an open hi-hat followed by a closed one, essentially muting the open.
cut :: Pattern Int -> ControlPattern
cut :: Pattern Int -> ControlPattern
cut = String -> Pattern Int -> ControlPattern
pI String
"cut"
cutTake :: String -> [Double] -> ControlPattern
cutTake :: String -> [Double] -> ControlPattern
cutTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"cut" String
name [Double]
xs
cutCount :: String -> ControlPattern
cutCount :: String -> ControlPattern
cutCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"cut" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
cutCountTo :: String -> Pattern Double -> Pattern ValueMap
cutCountTo :: String -> Pattern Double -> ControlPattern
cutCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"cut" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

cutbus :: Pattern Int -> Pattern Int -> ControlPattern
cutbus :: Pattern Int -> Pattern Int -> ControlPattern
cutbus Pattern Int
busid Pattern Int
pat = (String -> Pattern Int -> ControlPattern
pI String
"cut" Pattern Int
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^cut" Pattern Int
busid)
cutrecv :: Pattern Int -> ControlPattern
cutrecv :: Pattern Int -> ControlPattern
cutrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^cut" Pattern Int
busid

-- | a pattern of numbers from 0 to 1. Applies the cutoff frequency of the low-pass filter.
cutoff :: Pattern Double -> ControlPattern
cutoff :: Pattern Double -> ControlPattern
cutoff = String -> Pattern Double -> ControlPattern
pF String
"cutoff"
cutoffTake :: String -> [Double] -> ControlPattern
cutoffTake :: String -> [Double] -> ControlPattern
cutoffTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"cutoff" String
name [Double]
xs
cutoffCount :: String -> ControlPattern
cutoffCount :: String -> ControlPattern
cutoffCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"cutoff" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
cutoffCountTo :: String -> Pattern Double -> Pattern ValueMap
cutoffCountTo :: String -> Pattern Double -> ControlPattern
cutoffCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"cutoff" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

cutoffbus :: Pattern Int -> Pattern Double -> ControlPattern
cutoffbus :: Pattern Int -> Pattern Double -> ControlPattern
cutoffbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"cutoff" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^cutoff" Pattern Int
busid)
cutoffrecv :: Pattern Int -> ControlPattern
cutoffrecv :: Pattern Int -> ControlPattern
cutoffrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^cutoff" Pattern Int
busid

-- | 
cutoffegint :: Pattern Double -> ControlPattern
cutoffegint :: Pattern Double -> ControlPattern
cutoffegint = String -> Pattern Double -> ControlPattern
pF String
"cutoffegint"
cutoffegintTake :: String -> [Double] -> ControlPattern
cutoffegintTake :: String -> [Double] -> ControlPattern
cutoffegintTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"cutoffegint" String
name [Double]
xs
cutoffegintCount :: String -> ControlPattern
cutoffegintCount :: String -> ControlPattern
cutoffegintCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"cutoffegint" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
cutoffegintCountTo :: String -> Pattern Double -> Pattern ValueMap
cutoffegintCountTo :: String -> Pattern Double -> ControlPattern
cutoffegintCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"cutoffegint" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

cutoffegintbus :: Pattern Int -> Pattern Double -> ControlPattern
cutoffegintbus :: Pattern Int -> Pattern Double -> ControlPattern
cutoffegintbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"cutoffegint" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^cutoffegint" Pattern Int
busid)
cutoffegintrecv :: Pattern Int -> ControlPattern
cutoffegintrecv :: Pattern Int -> ControlPattern
cutoffegintrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^cutoffegint" Pattern Int
busid

-- | 
decay :: Pattern Double -> ControlPattern
decay :: Pattern Double -> ControlPattern
decay = String -> Pattern Double -> ControlPattern
pF String
"decay"
decayTake :: String -> [Double] -> ControlPattern
decayTake :: String -> [Double] -> ControlPattern
decayTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"decay" String
name [Double]
xs
decayCount :: String -> ControlPattern
decayCount :: String -> ControlPattern
decayCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"decay" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
decayCountTo :: String -> Pattern Double -> Pattern ValueMap
decayCountTo :: String -> Pattern Double -> ControlPattern
decayCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"decay" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

decaybus :: Pattern Int -> Pattern Double -> ControlPattern
decaybus :: Pattern Int -> Pattern Double -> ControlPattern
decaybus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"decay" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^decay" Pattern Int
busid)
decayrecv :: Pattern Int -> ControlPattern
decayrecv :: Pattern Int -> ControlPattern
decayrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^decay" Pattern Int
busid

-- | 
degree :: Pattern Double -> ControlPattern
degree :: Pattern Double -> ControlPattern
degree = String -> Pattern Double -> ControlPattern
pF String
"degree"
degreeTake :: String -> [Double] -> ControlPattern
degreeTake :: String -> [Double] -> ControlPattern
degreeTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"degree" String
name [Double]
xs
degreeCount :: String -> ControlPattern
degreeCount :: String -> ControlPattern
degreeCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"degree" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
degreeCountTo :: String -> Pattern Double -> Pattern ValueMap
degreeCountTo :: String -> Pattern Double -> ControlPattern
degreeCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"degree" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

degreebus :: Pattern Int -> Pattern Double -> ControlPattern
degreebus :: Pattern Int -> Pattern Double -> ControlPattern
degreebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"degree" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^degree" Pattern Int
busid)
degreerecv :: Pattern Int -> ControlPattern
degreerecv :: Pattern Int -> ControlPattern
degreerecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^degree" Pattern Int
busid

-- | a pattern of numbers from 0 to 1. Sets the level of the delay signal.
delay :: Pattern Double -> ControlPattern
delay :: Pattern Double -> ControlPattern
delay = String -> Pattern Double -> ControlPattern
pF String
"delay"
delayTake :: String -> [Double] -> ControlPattern
delayTake :: String -> [Double] -> ControlPattern
delayTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"delay" String
name [Double]
xs
delayCount :: String -> ControlPattern
delayCount :: String -> ControlPattern
delayCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"delay" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
delayCountTo :: String -> Pattern Double -> Pattern ValueMap
delayCountTo :: String -> Pattern Double -> ControlPattern
delayCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"delay" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

delaybus :: Pattern Int -> Pattern Double -> ControlPattern
delaybus :: Pattern Int -> Pattern Double -> ControlPattern
delaybus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"delay" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^delay" Pattern Int
busid)
delayrecv :: Pattern Int -> ControlPattern
delayrecv :: Pattern Int -> ControlPattern
delayrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^delay" Pattern Int
busid

-- | a pattern of numbers from 0 to 1. Sets the amount of delay feedback.
delayfeedback :: Pattern Double -> ControlPattern
delayfeedback :: Pattern Double -> ControlPattern
delayfeedback = String -> Pattern Double -> ControlPattern
pF String
"delayfeedback"
delayfeedbackTake :: String -> [Double] -> ControlPattern
delayfeedbackTake :: String -> [Double] -> ControlPattern
delayfeedbackTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"delayfeedback" String
name [Double]
xs
delayfeedbackCount :: String -> ControlPattern
delayfeedbackCount :: String -> ControlPattern
delayfeedbackCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"delayfeedback" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
delayfeedbackCountTo :: String -> Pattern Double -> Pattern ValueMap
delayfeedbackCountTo :: String -> Pattern Double -> ControlPattern
delayfeedbackCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"delayfeedback" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

delayfeedbackbus :: Pattern Int -> Pattern Double -> ControlPattern
delayfeedbackbus :: Pattern Int -> Pattern Double -> ControlPattern
delayfeedbackbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"delayfeedback" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^delayfeedback" Pattern Int
busid)
delayfeedbackrecv :: Pattern Int -> ControlPattern
delayfeedbackrecv :: Pattern Int -> ControlPattern
delayfeedbackrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^delayfeedback" Pattern Int
busid

-- | a pattern of numbers from 0 to 1. Sets the length of the delay.
delaytime :: Pattern Double -> ControlPattern
delaytime :: Pattern Double -> ControlPattern
delaytime = String -> Pattern Double -> ControlPattern
pF String
"delaytime"
delaytimeTake :: String -> [Double] -> ControlPattern
delaytimeTake :: String -> [Double] -> ControlPattern
delaytimeTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"delaytime" String
name [Double]
xs
delaytimeCount :: String -> ControlPattern
delaytimeCount :: String -> ControlPattern
delaytimeCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"delaytime" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
delaytimeCountTo :: String -> Pattern Double -> Pattern ValueMap
delaytimeCountTo :: String -> Pattern Double -> ControlPattern
delaytimeCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"delaytime" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

delaytimebus :: Pattern Int -> Pattern Double -> ControlPattern
delaytimebus :: Pattern Int -> Pattern Double -> ControlPattern
delaytimebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"delaytime" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^delaytime" Pattern Int
busid)
delaytimerecv :: Pattern Int -> ControlPattern
delaytimerecv :: Pattern Int -> ControlPattern
delaytimerecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^delaytime" Pattern Int
busid

-- | 
detune :: Pattern Double -> ControlPattern
detune :: Pattern Double -> ControlPattern
detune = String -> Pattern Double -> ControlPattern
pF String
"detune"
detuneTake :: String -> [Double] -> ControlPattern
detuneTake :: String -> [Double] -> ControlPattern
detuneTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"detune" String
name [Double]
xs
detuneCount :: String -> ControlPattern
detuneCount :: String -> ControlPattern
detuneCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"detune" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
detuneCountTo :: String -> Pattern Double -> Pattern ValueMap
detuneCountTo :: String -> Pattern Double -> ControlPattern
detuneCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"detune" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

detunebus :: Pattern Int -> Pattern Double -> ControlPattern
detunebus :: Pattern Int -> Pattern Double -> ControlPattern
detunebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"detune" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^detune" Pattern Int
busid)
detunerecv :: Pattern Int -> ControlPattern
detunerecv :: Pattern Int -> ControlPattern
detunerecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^detune" Pattern Int
busid

-- | noisy fuzzy distortion
distort :: Pattern Double -> ControlPattern
distort :: Pattern Double -> ControlPattern
distort = String -> Pattern Double -> ControlPattern
pF String
"distort"
distortTake :: String -> [Double] -> ControlPattern
distortTake :: String -> [Double] -> ControlPattern
distortTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"distort" String
name [Double]
xs
distortCount :: String -> ControlPattern
distortCount :: String -> ControlPattern
distortCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"distort" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
distortCountTo :: String -> Pattern Double -> Pattern ValueMap
distortCountTo :: String -> Pattern Double -> ControlPattern
distortCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"distort" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

distortbus :: Pattern Int -> Pattern Double -> ControlPattern
distortbus :: Pattern Int -> Pattern Double -> ControlPattern
distortbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"distort" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^distort" Pattern Int
busid)
distortrecv :: Pattern Int -> ControlPattern
distortrecv :: Pattern Int -> ControlPattern
distortrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^distort" Pattern Int
busid

-- | DJ filter, below 0.5 is low pass filter, above is high pass filter.
djf :: Pattern Double -> ControlPattern
djf :: Pattern Double -> ControlPattern
djf = String -> Pattern Double -> ControlPattern
pF String
"djf"
djfTake :: String -> [Double] -> ControlPattern
djfTake :: String -> [Double] -> ControlPattern
djfTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"djf" String
name [Double]
xs
djfCount :: String -> ControlPattern
djfCount :: String -> ControlPattern
djfCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"djf" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
djfCountTo :: String -> Pattern Double -> Pattern ValueMap
djfCountTo :: String -> Pattern Double -> ControlPattern
djfCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"djf" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

djfbus :: Pattern Int -> Pattern Double -> ControlPattern
djfbus :: Pattern Int -> Pattern Double -> ControlPattern
djfbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"djf" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^djf" Pattern Int
busid)
djfrecv :: Pattern Int -> ControlPattern
djfrecv :: Pattern Int -> ControlPattern
djfrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^djf" Pattern Int
busid

-- | when set to `1` will disable all reverb for this pattern. See `room` and `size` for more information about reverb.
dry :: Pattern Double -> ControlPattern
dry :: Pattern Double -> ControlPattern
dry = String -> Pattern Double -> ControlPattern
pF String
"dry"
dryTake :: String -> [Double] -> ControlPattern
dryTake :: String -> [Double] -> ControlPattern
dryTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"dry" String
name [Double]
xs
dryCount :: String -> ControlPattern
dryCount :: String -> ControlPattern
dryCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"dry" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
dryCountTo :: String -> Pattern Double -> Pattern ValueMap
dryCountTo :: String -> Pattern Double -> ControlPattern
dryCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"dry" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

drybus :: Pattern Int -> Pattern Double -> ControlPattern
drybus :: Pattern Int -> Pattern Double -> ControlPattern
drybus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"dry" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^dry" Pattern Int
busid)
dryrecv :: Pattern Int -> ControlPattern
dryrecv :: Pattern Int -> ControlPattern
dryrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^dry" Pattern Int
busid

-- | 
dur :: Pattern Double -> ControlPattern
dur :: Pattern Double -> ControlPattern
dur = String -> Pattern Double -> ControlPattern
pF String
"dur"
durTake :: String -> [Double] -> ControlPattern
durTake :: String -> [Double] -> ControlPattern
durTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"dur" String
name [Double]
xs
durCount :: String -> ControlPattern
durCount :: String -> ControlPattern
durCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"dur" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
durCountTo :: String -> Pattern Double -> Pattern ValueMap
durCountTo :: String -> Pattern Double -> ControlPattern
durCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"dur" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

durbus :: Pattern Int -> Pattern Double -> ControlPattern
durbus :: Pattern Int -> Pattern Double -> ControlPattern
durbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"dur" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^dur" Pattern Int
busid)
durrecv :: Pattern Int -> ControlPattern
durrecv :: Pattern Int -> ControlPattern
durrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^dur" Pattern Int
busid

-- | the same as `begin`, but cuts the end off samples, shortening them; e.g. `0.75` to cut off the last quarter of each sample.
end :: Pattern Double -> ControlPattern
end :: Pattern Double -> ControlPattern
end = String -> Pattern Double -> ControlPattern
pF String
"end"
endTake :: String -> [Double] -> ControlPattern
endTake :: String -> [Double] -> ControlPattern
endTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"end" String
name [Double]
xs
endCount :: String -> ControlPattern
endCount :: String -> ControlPattern
endCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"end" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
endCountTo :: String -> Pattern Double -> Pattern ValueMap
endCountTo :: String -> Pattern Double -> ControlPattern
endCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"end" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

endbus :: Pattern Int -> Pattern Double -> ControlPattern
endbus :: Pattern Int -> Pattern Double -> ControlPattern
endbus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'end' can't be sent to a bus."

-- | Spectral enhance
enhance :: Pattern Double -> ControlPattern
enhance :: Pattern Double -> ControlPattern
enhance = String -> Pattern Double -> ControlPattern
pF String
"enhance"
enhanceTake :: String -> [Double] -> ControlPattern
enhanceTake :: String -> [Double] -> ControlPattern
enhanceTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"enhance" String
name [Double]
xs
enhanceCount :: String -> ControlPattern
enhanceCount :: String -> ControlPattern
enhanceCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"enhance" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
enhanceCountTo :: String -> Pattern Double -> Pattern ValueMap
enhanceCountTo :: String -> Pattern Double -> ControlPattern
enhanceCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"enhance" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

enhancebus :: Pattern Int -> Pattern Double -> ControlPattern
enhancebus :: Pattern Int -> Pattern Double -> ControlPattern
enhancebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"enhance" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^enhance" Pattern Int
busid)
enhancerecv :: Pattern Int -> ControlPattern
enhancerecv :: Pattern Int -> ControlPattern
enhancerecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^enhance" Pattern Int
busid

-- | 
expression :: Pattern Double -> ControlPattern
expression :: Pattern Double -> ControlPattern
expression = String -> Pattern Double -> ControlPattern
pF String
"expression"
expressionTake :: String -> [Double] -> ControlPattern
expressionTake :: String -> [Double] -> ControlPattern
expressionTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"expression" String
name [Double]
xs
expressionCount :: String -> ControlPattern
expressionCount :: String -> ControlPattern
expressionCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"expression" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
expressionCountTo :: String -> Pattern Double -> Pattern ValueMap
expressionCountTo :: String -> Pattern Double -> ControlPattern
expressionCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"expression" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

expressionbus :: Pattern Int -> Pattern Double -> ControlPattern
expressionbus :: Pattern Int -> Pattern Double -> ControlPattern
expressionbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"expression" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^expression" Pattern Int
busid)
expressionrecv :: Pattern Int -> ControlPattern
expressionrecv :: Pattern Int -> ControlPattern
expressionrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^expression" Pattern Int
busid

-- | As with fadeTime, but controls the fade in time of the grain envelope. Not used if the grain begins at position 0 in the sample.
fadeInTime :: Pattern Double -> ControlPattern
fadeInTime :: Pattern Double -> ControlPattern
fadeInTime = String -> Pattern Double -> ControlPattern
pF String
"fadeInTime"
fadeInTimeTake :: String -> [Double] -> ControlPattern
fadeInTimeTake :: String -> [Double] -> ControlPattern
fadeInTimeTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"fadeInTime" String
name [Double]
xs
fadeInTimeCount :: String -> ControlPattern
fadeInTimeCount :: String -> ControlPattern
fadeInTimeCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"fadeInTime" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
fadeInTimeCountTo :: String -> Pattern Double -> Pattern ValueMap
fadeInTimeCountTo :: String -> Pattern Double -> ControlPattern
fadeInTimeCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"fadeInTime" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

fadeInTimebus :: Pattern Int -> Pattern Double -> ControlPattern
fadeInTimebus :: Pattern Int -> Pattern Double -> ControlPattern
fadeInTimebus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'fadeInTime' can't be sent to a bus."

-- | Used when using begin/end or chop/striate and friends, to change the fade out time of the 'grain' envelope.
fadeTime :: Pattern Double -> ControlPattern
fadeTime :: Pattern Double -> ControlPattern
fadeTime = String -> Pattern Double -> ControlPattern
pF String
"fadeTime"
fadeTimeTake :: String -> [Double] -> ControlPattern
fadeTimeTake :: String -> [Double] -> ControlPattern
fadeTimeTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"fadeTime" String
name [Double]
xs
fadeTimeCount :: String -> ControlPattern
fadeTimeCount :: String -> ControlPattern
fadeTimeCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"fadeTime" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
fadeTimeCountTo :: String -> Pattern Double -> Pattern ValueMap
fadeTimeCountTo :: String -> Pattern Double -> ControlPattern
fadeTimeCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"fadeTime" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

fadeTimebus :: Pattern Int -> Pattern Double -> ControlPattern
fadeTimebus :: Pattern Int -> Pattern Double -> ControlPattern
fadeTimebus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'fadeTime' can't be sent to a bus."

-- | 
frameRate :: Pattern Double -> ControlPattern
frameRate :: Pattern Double -> ControlPattern
frameRate = String -> Pattern Double -> ControlPattern
pF String
"frameRate"
frameRateTake :: String -> [Double] -> ControlPattern
frameRateTake :: String -> [Double] -> ControlPattern
frameRateTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"frameRate" String
name [Double]
xs
frameRateCount :: String -> ControlPattern
frameRateCount :: String -> ControlPattern
frameRateCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"frameRate" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
frameRateCountTo :: String -> Pattern Double -> Pattern ValueMap
frameRateCountTo :: String -> Pattern Double -> ControlPattern
frameRateCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"frameRate" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

frameRatebus :: Pattern Int -> Pattern Double -> ControlPattern
frameRatebus :: Pattern Int -> Pattern Double -> ControlPattern
frameRatebus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'frameRate' can't be sent to a bus."

-- | 
frames :: Pattern Double -> ControlPattern
frames :: Pattern Double -> ControlPattern
frames = String -> Pattern Double -> ControlPattern
pF String
"frames"
framesTake :: String -> [Double] -> ControlPattern
framesTake :: String -> [Double] -> ControlPattern
framesTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"frames" String
name [Double]
xs
framesCount :: String -> ControlPattern
framesCount :: String -> ControlPattern
framesCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"frames" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
framesCountTo :: String -> Pattern Double -> Pattern ValueMap
framesCountTo :: String -> Pattern Double -> ControlPattern
framesCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"frames" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

framesbus :: Pattern Int -> Pattern Double -> ControlPattern
framesbus :: Pattern Int -> Pattern Double -> ControlPattern
framesbus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'frames' can't be sent to a bus."

-- | Spectral freeze
freeze :: Pattern Double -> ControlPattern
freeze :: Pattern Double -> ControlPattern
freeze = String -> Pattern Double -> ControlPattern
pF String
"freeze"
freezeTake :: String -> [Double] -> ControlPattern
freezeTake :: String -> [Double] -> ControlPattern
freezeTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"freeze" String
name [Double]
xs
freezeCount :: String -> ControlPattern
freezeCount :: String -> ControlPattern
freezeCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"freeze" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
freezeCountTo :: String -> Pattern Double -> Pattern ValueMap
freezeCountTo :: String -> Pattern Double -> ControlPattern
freezeCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"freeze" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

freezebus :: Pattern Int -> Pattern Double -> ControlPattern
freezebus :: Pattern Int -> Pattern Double -> ControlPattern
freezebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"freeze" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^freeze" Pattern Int
busid)
freezerecv :: Pattern Int -> ControlPattern
freezerecv :: Pattern Int -> ControlPattern
freezerecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^freeze" Pattern Int
busid

-- | 
freq :: Pattern Double -> ControlPattern
freq :: Pattern Double -> ControlPattern
freq = String -> Pattern Double -> ControlPattern
pF String
"freq"
freqTake :: String -> [Double] -> ControlPattern
freqTake :: String -> [Double] -> ControlPattern
freqTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"freq" String
name [Double]
xs
freqCount :: String -> ControlPattern
freqCount :: String -> ControlPattern
freqCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"freq" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
freqCountTo :: String -> Pattern Double -> Pattern ValueMap
freqCountTo :: String -> Pattern Double -> ControlPattern
freqCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"freq" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

freqbus :: Pattern Int -> Pattern Double -> ControlPattern
freqbus :: Pattern Int -> Pattern Double -> ControlPattern
freqbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"freq" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^freq" Pattern Int
busid)
freqrecv :: Pattern Int -> ControlPattern
freqrecv :: Pattern Int -> ControlPattern
freqrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^freq" Pattern Int
busid

-- | for internal sound routing
from :: Pattern Double -> ControlPattern
from :: Pattern Double -> ControlPattern
from = String -> Pattern Double -> ControlPattern
pF String
"from"
fromTake :: String -> [Double] -> ControlPattern
fromTake :: String -> [Double] -> ControlPattern
fromTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"from" String
name [Double]
xs
fromCount :: String -> ControlPattern
fromCount :: String -> ControlPattern
fromCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"from" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
fromCountTo :: String -> Pattern Double -> Pattern ValueMap
fromCountTo :: String -> Pattern Double -> ControlPattern
fromCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"from" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

frombus :: Pattern Int -> Pattern Double -> ControlPattern
frombus :: Pattern Int -> Pattern Double -> ControlPattern
frombus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"from" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^from" Pattern Int
busid)
fromrecv :: Pattern Int -> ControlPattern
fromrecv :: Pattern Int -> ControlPattern
fromrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^from" Pattern Int
busid

-- | frequency shifter
fshift :: Pattern Double -> ControlPattern
fshift :: Pattern Double -> ControlPattern
fshift = String -> Pattern Double -> ControlPattern
pF String
"fshift"
fshiftTake :: String -> [Double] -> ControlPattern
fshiftTake :: String -> [Double] -> ControlPattern
fshiftTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"fshift" String
name [Double]
xs
fshiftCount :: String -> ControlPattern
fshiftCount :: String -> ControlPattern
fshiftCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"fshift" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
fshiftCountTo :: String -> Pattern Double -> Pattern ValueMap
fshiftCountTo :: String -> Pattern Double -> ControlPattern
fshiftCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"fshift" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

fshiftbus :: Pattern Int -> Pattern Double -> ControlPattern
fshiftbus :: Pattern Int -> Pattern Double -> ControlPattern
fshiftbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"fshift" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^fshift" Pattern Int
busid)
fshiftrecv :: Pattern Int -> ControlPattern
fshiftrecv :: Pattern Int -> ControlPattern
fshiftrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^fshift" Pattern Int
busid

-- | frequency shifter
fshiftnote :: Pattern Double -> ControlPattern
fshiftnote :: Pattern Double -> ControlPattern
fshiftnote = String -> Pattern Double -> ControlPattern
pF String
"fshiftnote"
fshiftnoteTake :: String -> [Double] -> ControlPattern
fshiftnoteTake :: String -> [Double] -> ControlPattern
fshiftnoteTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"fshiftnote" String
name [Double]
xs
fshiftnoteCount :: String -> ControlPattern
fshiftnoteCount :: String -> ControlPattern
fshiftnoteCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"fshiftnote" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
fshiftnoteCountTo :: String -> Pattern Double -> Pattern ValueMap
fshiftnoteCountTo :: String -> Pattern Double -> ControlPattern
fshiftnoteCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"fshiftnote" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

fshiftnotebus :: Pattern Int -> Pattern Double -> ControlPattern
fshiftnotebus :: Pattern Int -> Pattern Double -> ControlPattern
fshiftnotebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"fshiftnote" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^fshiftnote" Pattern Int
busid)
fshiftnoterecv :: Pattern Int -> ControlPattern
fshiftnoterecv :: Pattern Int -> ControlPattern
fshiftnoterecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^fshiftnote" Pattern Int
busid

-- | frequency shifter
fshiftphase :: Pattern Double -> ControlPattern
fshiftphase :: Pattern Double -> ControlPattern
fshiftphase = String -> Pattern Double -> ControlPattern
pF String
"fshiftphase"
fshiftphaseTake :: String -> [Double] -> ControlPattern
fshiftphaseTake :: String -> [Double] -> ControlPattern
fshiftphaseTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"fshiftphase" String
name [Double]
xs
fshiftphaseCount :: String -> ControlPattern
fshiftphaseCount :: String -> ControlPattern
fshiftphaseCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"fshiftphase" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
fshiftphaseCountTo :: String -> Pattern Double -> Pattern ValueMap
fshiftphaseCountTo :: String -> Pattern Double -> ControlPattern
fshiftphaseCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"fshiftphase" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

fshiftphasebus :: Pattern Int -> Pattern Double -> ControlPattern
fshiftphasebus :: Pattern Int -> Pattern Double -> ControlPattern
fshiftphasebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"fshiftphase" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^fshiftphase" Pattern Int
busid)
fshiftphaserecv :: Pattern Int -> ControlPattern
fshiftphaserecv :: Pattern Int -> ControlPattern
fshiftphaserecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^fshiftphase" Pattern Int
busid

-- | a pattern of numbers that specify volume. Values less than 1 make the sound quieter. Values greater than 1 make the sound louder. For the linear equivalent, see @amp@.
gain :: Pattern Double -> ControlPattern
gain :: Pattern Double -> ControlPattern
gain = String -> Pattern Double -> ControlPattern
pF String
"gain"
gainTake :: String -> [Double] -> ControlPattern
gainTake :: String -> [Double] -> ControlPattern
gainTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"gain" String
name [Double]
xs
gainCount :: String -> ControlPattern
gainCount :: String -> ControlPattern
gainCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"gain" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
gainCountTo :: String -> Pattern Double -> Pattern ValueMap
gainCountTo :: String -> Pattern Double -> ControlPattern
gainCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"gain" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

gainbus :: Pattern Int -> Pattern Double -> ControlPattern
gainbus :: Pattern Int -> Pattern Double -> ControlPattern
gainbus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'gain' can't be sent to a bus."

-- | 
gate :: Pattern Double -> ControlPattern
gate :: Pattern Double -> ControlPattern
gate = String -> Pattern Double -> ControlPattern
pF String
"gate"
gateTake :: String -> [Double] -> ControlPattern
gateTake :: String -> [Double] -> ControlPattern
gateTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"gate" String
name [Double]
xs
gateCount :: String -> ControlPattern
gateCount :: String -> ControlPattern
gateCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"gate" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
gateCountTo :: String -> Pattern Double -> Pattern ValueMap
gateCountTo :: String -> Pattern Double -> ControlPattern
gateCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"gate" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

gatebus :: Pattern Int -> Pattern Double -> ControlPattern
gatebus :: Pattern Int -> Pattern Double -> ControlPattern
gatebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"gate" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^gate" Pattern Int
busid)
gaterecv :: Pattern Int -> ControlPattern
gaterecv :: Pattern Int -> ControlPattern
gaterecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^gate" Pattern Int
busid

-- | 
harmonic :: Pattern Double -> ControlPattern
harmonic :: Pattern Double -> ControlPattern
harmonic = String -> Pattern Double -> ControlPattern
pF String
"harmonic"
harmonicTake :: String -> [Double] -> ControlPattern
harmonicTake :: String -> [Double] -> ControlPattern
harmonicTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"harmonic" String
name [Double]
xs
harmonicCount :: String -> ControlPattern
harmonicCount :: String -> ControlPattern
harmonicCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"harmonic" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
harmonicCountTo :: String -> Pattern Double -> Pattern ValueMap
harmonicCountTo :: String -> Pattern Double -> ControlPattern
harmonicCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"harmonic" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

harmonicbus :: Pattern Int -> Pattern Double -> ControlPattern
harmonicbus :: Pattern Int -> Pattern Double -> ControlPattern
harmonicbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"harmonic" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^harmonic" Pattern Int
busid)
harmonicrecv :: Pattern Int -> ControlPattern
harmonicrecv :: Pattern Int -> ControlPattern
harmonicrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^harmonic" Pattern Int
busid

-- | 
hatgrain :: Pattern Double -> ControlPattern
hatgrain :: Pattern Double -> ControlPattern
hatgrain = String -> Pattern Double -> ControlPattern
pF String
"hatgrain"
hatgrainTake :: String -> [Double] -> ControlPattern
hatgrainTake :: String -> [Double] -> ControlPattern
hatgrainTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"hatgrain" String
name [Double]
xs
hatgrainCount :: String -> ControlPattern
hatgrainCount :: String -> ControlPattern
hatgrainCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"hatgrain" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
hatgrainCountTo :: String -> Pattern Double -> Pattern ValueMap
hatgrainCountTo :: String -> Pattern Double -> ControlPattern
hatgrainCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"hatgrain" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

hatgrainbus :: Pattern Int -> Pattern Double -> ControlPattern
hatgrainbus :: Pattern Int -> Pattern Double -> ControlPattern
hatgrainbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"hatgrain" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^hatgrain" Pattern Int
busid)
hatgrainrecv :: Pattern Int -> ControlPattern
hatgrainrecv :: Pattern Int -> ControlPattern
hatgrainrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^hatgrain" Pattern Int
busid

-- | High pass sort of spectral filter
hbrick :: Pattern Double -> ControlPattern
hbrick :: Pattern Double -> ControlPattern
hbrick = String -> Pattern Double -> ControlPattern
pF String
"hbrick"
hbrickTake :: String -> [Double] -> ControlPattern
hbrickTake :: String -> [Double] -> ControlPattern
hbrickTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"hbrick" String
name [Double]
xs
hbrickCount :: String -> ControlPattern
hbrickCount :: String -> ControlPattern
hbrickCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"hbrick" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
hbrickCountTo :: String -> Pattern Double -> Pattern ValueMap
hbrickCountTo :: String -> Pattern Double -> ControlPattern
hbrickCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"hbrick" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

hbrickbus :: Pattern Int -> Pattern Double -> ControlPattern
hbrickbus :: Pattern Int -> Pattern Double -> ControlPattern
hbrickbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"hbrick" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^hbrick" Pattern Int
busid)
hbrickrecv :: Pattern Int -> ControlPattern
hbrickrecv :: Pattern Int -> ControlPattern
hbrickrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^hbrick" Pattern Int
busid

-- | a pattern of numbers from 0 to 1. Applies the cutoff frequency of the high-pass filter. Also has alias @hpf@
hcutoff :: Pattern Double -> ControlPattern
hcutoff :: Pattern Double -> ControlPattern
hcutoff = String -> Pattern Double -> ControlPattern
pF String
"hcutoff"
hcutoffTake :: String -> [Double] -> ControlPattern
hcutoffTake :: String -> [Double] -> ControlPattern
hcutoffTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"hcutoff" String
name [Double]
xs
hcutoffCount :: String -> ControlPattern
hcutoffCount :: String -> ControlPattern
hcutoffCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"hcutoff" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
hcutoffCountTo :: String -> Pattern Double -> Pattern ValueMap
hcutoffCountTo :: String -> Pattern Double -> ControlPattern
hcutoffCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"hcutoff" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

hcutoffbus :: Pattern Int -> Pattern Double -> ControlPattern
hcutoffbus :: Pattern Int -> Pattern Double -> ControlPattern
hcutoffbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"hcutoff" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^hcutoff" Pattern Int
busid)
hcutoffrecv :: Pattern Int -> ControlPattern
hcutoffrecv :: Pattern Int -> ControlPattern
hcutoffrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^hcutoff" Pattern Int
busid

-- | a pattern of numbers to specify the hold time (in seconds) of an envelope applied to each sample. Only takes effect if `attack` and `release` are also specified.
hold :: Pattern Double -> ControlPattern
hold :: Pattern Double -> ControlPattern
hold = String -> Pattern Double -> ControlPattern
pF String
"hold"
holdTake :: String -> [Double] -> ControlPattern
holdTake :: String -> [Double] -> ControlPattern
holdTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"hold" String
name [Double]
xs
holdCount :: String -> ControlPattern
holdCount :: String -> ControlPattern
holdCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"hold" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
holdCountTo :: String -> Pattern Double -> Pattern ValueMap
holdCountTo :: String -> Pattern Double -> ControlPattern
holdCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"hold" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

holdbus :: Pattern Int -> Pattern Double -> ControlPattern
holdbus :: Pattern Int -> Pattern Double -> ControlPattern
holdbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"hold" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^hold" Pattern Int
busid)
holdrecv :: Pattern Int -> ControlPattern
holdrecv :: Pattern Int -> ControlPattern
holdrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^hold" Pattern Int
busid

-- | 
hours :: Pattern Double -> ControlPattern
hours :: Pattern Double -> ControlPattern
hours = String -> Pattern Double -> ControlPattern
pF String
"hours"
hoursTake :: String -> [Double] -> ControlPattern
hoursTake :: String -> [Double] -> ControlPattern
hoursTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"hours" String
name [Double]
xs
hoursCount :: String -> ControlPattern
hoursCount :: String -> ControlPattern
hoursCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"hours" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
hoursCountTo :: String -> Pattern Double -> Pattern ValueMap
hoursCountTo :: String -> Pattern Double -> ControlPattern
hoursCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"hours" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

hoursbus :: Pattern Int -> Pattern Double -> ControlPattern
hoursbus :: Pattern Int -> Pattern Double -> ControlPattern
hoursbus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'hours' can't be sent to a bus."

-- | a pattern of numbers from 0 to 1. Applies the resonance of the high-pass filter. Has alias @hpq@
hresonance :: Pattern Double -> ControlPattern
hresonance :: Pattern Double -> ControlPattern
hresonance = String -> Pattern Double -> ControlPattern
pF String
"hresonance"
hresonanceTake :: String -> [Double] -> ControlPattern
hresonanceTake :: String -> [Double] -> ControlPattern
hresonanceTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"hresonance" String
name [Double]
xs
hresonanceCount :: String -> ControlPattern
hresonanceCount :: String -> ControlPattern
hresonanceCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"hresonance" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
hresonanceCountTo :: String -> Pattern Double -> Pattern ValueMap
hresonanceCountTo :: String -> Pattern Double -> ControlPattern
hresonanceCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"hresonance" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

hresonancebus :: Pattern Int -> Pattern Double -> ControlPattern
hresonancebus :: Pattern Int -> Pattern Double -> ControlPattern
hresonancebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"hresonance" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^hresonance" Pattern Int
busid)
hresonancerecv :: Pattern Int -> ControlPattern
hresonancerecv :: Pattern Int -> ControlPattern
hresonancerecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^hresonance" Pattern Int
busid

-- | 
imag :: Pattern Double -> ControlPattern
imag :: Pattern Double -> ControlPattern
imag = String -> Pattern Double -> ControlPattern
pF String
"imag"
imagTake :: String -> [Double] -> ControlPattern
imagTake :: String -> [Double] -> ControlPattern
imagTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"imag" String
name [Double]
xs
imagCount :: String -> ControlPattern
imagCount :: String -> ControlPattern
imagCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"imag" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
imagCountTo :: String -> Pattern Double -> Pattern ValueMap
imagCountTo :: String -> Pattern Double -> ControlPattern
imagCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"imag" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

imagbus :: Pattern Int -> Pattern Double -> ControlPattern
imagbus :: Pattern Int -> Pattern Double -> ControlPattern
imagbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"imag" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^imag" Pattern Int
busid)
imagrecv :: Pattern Int -> ControlPattern
imagrecv :: Pattern Int -> ControlPattern
imagrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^imag" Pattern Int
busid

-- | 
kcutoff :: Pattern Double -> ControlPattern
kcutoff :: Pattern Double -> ControlPattern
kcutoff = String -> Pattern Double -> ControlPattern
pF String
"kcutoff"
kcutoffTake :: String -> [Double] -> ControlPattern
kcutoffTake :: String -> [Double] -> ControlPattern
kcutoffTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"kcutoff" String
name [Double]
xs
kcutoffCount :: String -> ControlPattern
kcutoffCount :: String -> ControlPattern
kcutoffCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"kcutoff" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
kcutoffCountTo :: String -> Pattern Double -> Pattern ValueMap
kcutoffCountTo :: String -> Pattern Double -> ControlPattern
kcutoffCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"kcutoff" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

kcutoffbus :: Pattern Int -> Pattern Double -> ControlPattern
kcutoffbus :: Pattern Int -> Pattern Double -> ControlPattern
kcutoffbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"kcutoff" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^kcutoff" Pattern Int
busid)
kcutoffrecv :: Pattern Int -> ControlPattern
kcutoffrecv :: Pattern Int -> ControlPattern
kcutoffrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^kcutoff" Pattern Int
busid

-- | shape/bass enhancer
krush :: Pattern Double -> ControlPattern
krush :: Pattern Double -> ControlPattern
krush = String -> Pattern Double -> ControlPattern
pF String
"krush"
krushTake :: String -> [Double] -> ControlPattern
krushTake :: String -> [Double] -> ControlPattern
krushTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"krush" String
name [Double]
xs
krushCount :: String -> ControlPattern
krushCount :: String -> ControlPattern
krushCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"krush" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
krushCountTo :: String -> Pattern Double -> Pattern ValueMap
krushCountTo :: String -> Pattern Double -> ControlPattern
krushCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"krush" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

krushbus :: Pattern Int -> Pattern Double -> ControlPattern
krushbus :: Pattern Int -> Pattern Double -> ControlPattern
krushbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"krush" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^krush" Pattern Int
busid)
krushrecv :: Pattern Int -> ControlPattern
krushrecv :: Pattern Int -> ControlPattern
krushrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^krush" Pattern Int
busid

-- | 
lagogo :: Pattern Double -> ControlPattern
lagogo :: Pattern Double -> ControlPattern
lagogo = String -> Pattern Double -> ControlPattern
pF String
"lagogo"
lagogoTake :: String -> [Double] -> ControlPattern
lagogoTake :: String -> [Double] -> ControlPattern
lagogoTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"lagogo" String
name [Double]
xs
lagogoCount :: String -> ControlPattern
lagogoCount :: String -> ControlPattern
lagogoCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lagogo" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
lagogoCountTo :: String -> Pattern Double -> Pattern ValueMap
lagogoCountTo :: String -> Pattern Double -> ControlPattern
lagogoCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lagogo" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

lagogobus :: Pattern Int -> Pattern Double -> ControlPattern
lagogobus :: Pattern Int -> Pattern Double -> ControlPattern
lagogobus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"lagogo" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^lagogo" Pattern Int
busid)
lagogorecv :: Pattern Int -> ControlPattern
lagogorecv :: Pattern Int -> ControlPattern
lagogorecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^lagogo" Pattern Int
busid

-- | Low pass sort of spectral filter
lbrick :: Pattern Double -> ControlPattern
lbrick :: Pattern Double -> ControlPattern
lbrick = String -> Pattern Double -> ControlPattern
pF String
"lbrick"
lbrickTake :: String -> [Double] -> ControlPattern
lbrickTake :: String -> [Double] -> ControlPattern
lbrickTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"lbrick" String
name [Double]
xs
lbrickCount :: String -> ControlPattern
lbrickCount :: String -> ControlPattern
lbrickCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lbrick" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
lbrickCountTo :: String -> Pattern Double -> Pattern ValueMap
lbrickCountTo :: String -> Pattern Double -> ControlPattern
lbrickCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lbrick" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

lbrickbus :: Pattern Int -> Pattern Double -> ControlPattern
lbrickbus :: Pattern Int -> Pattern Double -> ControlPattern
lbrickbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"lbrick" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^lbrick" Pattern Int
busid)
lbrickrecv :: Pattern Int -> ControlPattern
lbrickrecv :: Pattern Int -> ControlPattern
lbrickrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^lbrick" Pattern Int
busid

-- | 
lclap :: Pattern Double -> ControlPattern
lclap :: Pattern Double -> ControlPattern
lclap = String -> Pattern Double -> ControlPattern
pF String
"lclap"
lclapTake :: String -> [Double] -> ControlPattern
lclapTake :: String -> [Double] -> ControlPattern
lclapTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"lclap" String
name [Double]
xs
lclapCount :: String -> ControlPattern
lclapCount :: String -> ControlPattern
lclapCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lclap" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
lclapCountTo :: String -> Pattern Double -> Pattern ValueMap
lclapCountTo :: String -> Pattern Double -> ControlPattern
lclapCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lclap" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

lclapbus :: Pattern Int -> Pattern Double -> ControlPattern
lclapbus :: Pattern Int -> Pattern Double -> ControlPattern
lclapbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"lclap" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^lclap" Pattern Int
busid)
lclaprecv :: Pattern Int -> ControlPattern
lclaprecv :: Pattern Int -> ControlPattern
lclaprecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^lclap" Pattern Int
busid

-- | 
lclaves :: Pattern Double -> ControlPattern
lclaves :: Pattern Double -> ControlPattern
lclaves = String -> Pattern Double -> ControlPattern
pF String
"lclaves"
lclavesTake :: String -> [Double] -> ControlPattern
lclavesTake :: String -> [Double] -> ControlPattern
lclavesTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"lclaves" String
name [Double]
xs
lclavesCount :: String -> ControlPattern
lclavesCount :: String -> ControlPattern
lclavesCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lclaves" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
lclavesCountTo :: String -> Pattern Double -> Pattern ValueMap
lclavesCountTo :: String -> Pattern Double -> ControlPattern
lclavesCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lclaves" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

lclavesbus :: Pattern Int -> Pattern Double -> ControlPattern
lclavesbus :: Pattern Int -> Pattern Double -> ControlPattern
lclavesbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"lclaves" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^lclaves" Pattern Int
busid)
lclavesrecv :: Pattern Int -> ControlPattern
lclavesrecv :: Pattern Int -> ControlPattern
lclavesrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^lclaves" Pattern Int
busid

-- | 
lclhat :: Pattern Double -> ControlPattern
lclhat :: Pattern Double -> ControlPattern
lclhat = String -> Pattern Double -> ControlPattern
pF String
"lclhat"
lclhatTake :: String -> [Double] -> ControlPattern
lclhatTake :: String -> [Double] -> ControlPattern
lclhatTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"lclhat" String
name [Double]
xs
lclhatCount :: String -> ControlPattern
lclhatCount :: String -> ControlPattern
lclhatCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lclhat" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
lclhatCountTo :: String -> Pattern Double -> Pattern ValueMap
lclhatCountTo :: String -> Pattern Double -> ControlPattern
lclhatCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lclhat" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

lclhatbus :: Pattern Int -> Pattern Double -> ControlPattern
lclhatbus :: Pattern Int -> Pattern Double -> ControlPattern
lclhatbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"lclhat" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^lclhat" Pattern Int
busid)
lclhatrecv :: Pattern Int -> ControlPattern
lclhatrecv :: Pattern Int -> ControlPattern
lclhatrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^lclhat" Pattern Int
busid

-- | 
lcrash :: Pattern Double -> ControlPattern
lcrash :: Pattern Double -> ControlPattern
lcrash = String -> Pattern Double -> ControlPattern
pF String
"lcrash"
lcrashTake :: String -> [Double] -> ControlPattern
lcrashTake :: String -> [Double] -> ControlPattern
lcrashTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"lcrash" String
name [Double]
xs
lcrashCount :: String -> ControlPattern
lcrashCount :: String -> ControlPattern
lcrashCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lcrash" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
lcrashCountTo :: String -> Pattern Double -> Pattern ValueMap
lcrashCountTo :: String -> Pattern Double -> ControlPattern
lcrashCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lcrash" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

lcrashbus :: Pattern Int -> Pattern Double -> ControlPattern
lcrashbus :: Pattern Int -> Pattern Double -> ControlPattern
lcrashbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"lcrash" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^lcrash" Pattern Int
busid)
lcrashrecv :: Pattern Int -> ControlPattern
lcrashrecv :: Pattern Int -> ControlPattern
lcrashrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^lcrash" Pattern Int
busid

-- | controls the amount of overlap between two adjacent sounds
legato :: Pattern Double -> ControlPattern
legato :: Pattern Double -> ControlPattern
legato = String -> Pattern Double -> ControlPattern
pF String
"legato"
legatoTake :: String -> [Double] -> ControlPattern
legatoTake :: String -> [Double] -> ControlPattern
legatoTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"legato" String
name [Double]
xs
legatoCount :: String -> ControlPattern
legatoCount :: String -> ControlPattern
legatoCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"legato" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
legatoCountTo :: String -> Pattern Double -> Pattern ValueMap
legatoCountTo :: String -> Pattern Double -> ControlPattern
legatoCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"legato" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

legatobus :: Pattern Int -> Pattern Double -> ControlPattern
legatobus :: Pattern Int -> Pattern Double -> ControlPattern
legatobus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'legato' can't be sent to a bus."

-- | 
leslie :: Pattern Double -> ControlPattern
leslie :: Pattern Double -> ControlPattern
leslie = String -> Pattern Double -> ControlPattern
pF String
"leslie"
leslieTake :: String -> [Double] -> ControlPattern
leslieTake :: String -> [Double] -> ControlPattern
leslieTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"leslie" String
name [Double]
xs
leslieCount :: String -> ControlPattern
leslieCount :: String -> ControlPattern
leslieCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"leslie" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
leslieCountTo :: String -> Pattern Double -> Pattern ValueMap
leslieCountTo :: String -> Pattern Double -> ControlPattern
leslieCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"leslie" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

lesliebus :: Pattern Int -> Pattern Double -> ControlPattern
lesliebus :: Pattern Int -> Pattern Double -> ControlPattern
lesliebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"leslie" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^leslie" Pattern Int
busid)
leslierecv :: Pattern Int -> ControlPattern
leslierecv :: Pattern Int -> ControlPattern
leslierecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^leslie" Pattern Int
busid

-- | 
lfo :: Pattern Double -> ControlPattern
lfo :: Pattern Double -> ControlPattern
lfo = String -> Pattern Double -> ControlPattern
pF String
"lfo"
lfoTake :: String -> [Double] -> ControlPattern
lfoTake :: String -> [Double] -> ControlPattern
lfoTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"lfo" String
name [Double]
xs
lfoCount :: String -> ControlPattern
lfoCount :: String -> ControlPattern
lfoCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lfo" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
lfoCountTo :: String -> Pattern Double -> Pattern ValueMap
lfoCountTo :: String -> Pattern Double -> ControlPattern
lfoCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lfo" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

lfobus :: Pattern Int -> Pattern Double -> ControlPattern
lfobus :: Pattern Int -> Pattern Double -> ControlPattern
lfobus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"lfo" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^lfo" Pattern Int
busid)
lforecv :: Pattern Int -> ControlPattern
lforecv :: Pattern Int -> ControlPattern
lforecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^lfo" Pattern Int
busid

-- | 
lfocutoffint :: Pattern Double -> ControlPattern
lfocutoffint :: Pattern Double -> ControlPattern
lfocutoffint = String -> Pattern Double -> ControlPattern
pF String
"lfocutoffint"
lfocutoffintTake :: String -> [Double] -> ControlPattern
lfocutoffintTake :: String -> [Double] -> ControlPattern
lfocutoffintTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"lfocutoffint" String
name [Double]
xs
lfocutoffintCount :: String -> ControlPattern
lfocutoffintCount :: String -> ControlPattern
lfocutoffintCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lfocutoffint" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
lfocutoffintCountTo :: String -> Pattern Double -> Pattern ValueMap
lfocutoffintCountTo :: String -> Pattern Double -> ControlPattern
lfocutoffintCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lfocutoffint" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

lfocutoffintbus :: Pattern Int -> Pattern Double -> ControlPattern
lfocutoffintbus :: Pattern Int -> Pattern Double -> ControlPattern
lfocutoffintbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"lfocutoffint" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^lfocutoffint" Pattern Int
busid)
lfocutoffintrecv :: Pattern Int -> ControlPattern
lfocutoffintrecv :: Pattern Int -> ControlPattern
lfocutoffintrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^lfocutoffint" Pattern Int
busid

-- | 
lfodelay :: Pattern Double -> ControlPattern
lfodelay :: Pattern Double -> ControlPattern
lfodelay = String -> Pattern Double -> ControlPattern
pF String
"lfodelay"
lfodelayTake :: String -> [Double] -> ControlPattern
lfodelayTake :: String -> [Double] -> ControlPattern
lfodelayTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"lfodelay" String
name [Double]
xs
lfodelayCount :: String -> ControlPattern
lfodelayCount :: String -> ControlPattern
lfodelayCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lfodelay" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
lfodelayCountTo :: String -> Pattern Double -> Pattern ValueMap
lfodelayCountTo :: String -> Pattern Double -> ControlPattern
lfodelayCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lfodelay" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

lfodelaybus :: Pattern Int -> Pattern Double -> ControlPattern
lfodelaybus :: Pattern Int -> Pattern Double -> ControlPattern
lfodelaybus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"lfodelay" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^lfodelay" Pattern Int
busid)
lfodelayrecv :: Pattern Int -> ControlPattern
lfodelayrecv :: Pattern Int -> ControlPattern
lfodelayrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^lfodelay" Pattern Int
busid

-- | 
lfoint :: Pattern Double -> ControlPattern
lfoint :: Pattern Double -> ControlPattern
lfoint = String -> Pattern Double -> ControlPattern
pF String
"lfoint"
lfointTake :: String -> [Double] -> ControlPattern
lfointTake :: String -> [Double] -> ControlPattern
lfointTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"lfoint" String
name [Double]
xs
lfointCount :: String -> ControlPattern
lfointCount :: String -> ControlPattern
lfointCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lfoint" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
lfointCountTo :: String -> Pattern Double -> Pattern ValueMap
lfointCountTo :: String -> Pattern Double -> ControlPattern
lfointCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lfoint" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

lfointbus :: Pattern Int -> Pattern Double -> ControlPattern
lfointbus :: Pattern Int -> Pattern Double -> ControlPattern
lfointbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"lfoint" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^lfoint" Pattern Int
busid)
lfointrecv :: Pattern Int -> ControlPattern
lfointrecv :: Pattern Int -> ControlPattern
lfointrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^lfoint" Pattern Int
busid

-- | 
lfopitchint :: Pattern Double -> ControlPattern
lfopitchint :: Pattern Double -> ControlPattern
lfopitchint = String -> Pattern Double -> ControlPattern
pF String
"lfopitchint"
lfopitchintTake :: String -> [Double] -> ControlPattern
lfopitchintTake :: String -> [Double] -> ControlPattern
lfopitchintTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"lfopitchint" String
name [Double]
xs
lfopitchintCount :: String -> ControlPattern
lfopitchintCount :: String -> ControlPattern
lfopitchintCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lfopitchint" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
lfopitchintCountTo :: String -> Pattern Double -> Pattern ValueMap
lfopitchintCountTo :: String -> Pattern Double -> ControlPattern
lfopitchintCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lfopitchint" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

lfopitchintbus :: Pattern Int -> Pattern Double -> ControlPattern
lfopitchintbus :: Pattern Int -> Pattern Double -> ControlPattern
lfopitchintbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"lfopitchint" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^lfopitchint" Pattern Int
busid)
lfopitchintrecv :: Pattern Int -> ControlPattern
lfopitchintrecv :: Pattern Int -> ControlPattern
lfopitchintrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^lfopitchint" Pattern Int
busid

-- | 
lfoshape :: Pattern Double -> ControlPattern
lfoshape :: Pattern Double -> ControlPattern
lfoshape = String -> Pattern Double -> ControlPattern
pF String
"lfoshape"
lfoshapeTake :: String -> [Double] -> ControlPattern
lfoshapeTake :: String -> [Double] -> ControlPattern
lfoshapeTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"lfoshape" String
name [Double]
xs
lfoshapeCount :: String -> ControlPattern
lfoshapeCount :: String -> ControlPattern
lfoshapeCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lfoshape" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
lfoshapeCountTo :: String -> Pattern Double -> Pattern ValueMap
lfoshapeCountTo :: String -> Pattern Double -> ControlPattern
lfoshapeCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lfoshape" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

lfoshapebus :: Pattern Int -> Pattern Double -> ControlPattern
lfoshapebus :: Pattern Int -> Pattern Double -> ControlPattern
lfoshapebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"lfoshape" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^lfoshape" Pattern Int
busid)
lfoshaperecv :: Pattern Int -> ControlPattern
lfoshaperecv :: Pattern Int -> ControlPattern
lfoshaperecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^lfoshape" Pattern Int
busid

-- | 
lfosync :: Pattern Double -> ControlPattern
lfosync :: Pattern Double -> ControlPattern
lfosync = String -> Pattern Double -> ControlPattern
pF String
"lfosync"
lfosyncTake :: String -> [Double] -> ControlPattern
lfosyncTake :: String -> [Double] -> ControlPattern
lfosyncTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"lfosync" String
name [Double]
xs
lfosyncCount :: String -> ControlPattern
lfosyncCount :: String -> ControlPattern
lfosyncCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lfosync" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
lfosyncCountTo :: String -> Pattern Double -> Pattern ValueMap
lfosyncCountTo :: String -> Pattern Double -> ControlPattern
lfosyncCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lfosync" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

lfosyncbus :: Pattern Int -> Pattern Double -> ControlPattern
lfosyncbus :: Pattern Int -> Pattern Double -> ControlPattern
lfosyncbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"lfosync" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^lfosync" Pattern Int
busid)
lfosyncrecv :: Pattern Int -> ControlPattern
lfosyncrecv :: Pattern Int -> ControlPattern
lfosyncrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^lfosync" Pattern Int
busid

-- | 
lhitom :: Pattern Double -> ControlPattern
lhitom :: Pattern Double -> ControlPattern
lhitom = String -> Pattern Double -> ControlPattern
pF String
"lhitom"
lhitomTake :: String -> [Double] -> ControlPattern
lhitomTake :: String -> [Double] -> ControlPattern
lhitomTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"lhitom" String
name [Double]
xs
lhitomCount :: String -> ControlPattern
lhitomCount :: String -> ControlPattern
lhitomCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lhitom" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
lhitomCountTo :: String -> Pattern Double -> Pattern ValueMap
lhitomCountTo :: String -> Pattern Double -> ControlPattern
lhitomCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lhitom" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

lhitombus :: Pattern Int -> Pattern Double -> ControlPattern
lhitombus :: Pattern Int -> Pattern Double -> ControlPattern
lhitombus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"lhitom" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^lhitom" Pattern Int
busid)
lhitomrecv :: Pattern Int -> ControlPattern
lhitomrecv :: Pattern Int -> ControlPattern
lhitomrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^lhitom" Pattern Int
busid

-- | 
lkick :: Pattern Double -> ControlPattern
lkick :: Pattern Double -> ControlPattern
lkick = String -> Pattern Double -> ControlPattern
pF String
"lkick"
lkickTake :: String -> [Double] -> ControlPattern
lkickTake :: String -> [Double] -> ControlPattern
lkickTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"lkick" String
name [Double]
xs
lkickCount :: String -> ControlPattern
lkickCount :: String -> ControlPattern
lkickCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lkick" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
lkickCountTo :: String -> Pattern Double -> Pattern ValueMap
lkickCountTo :: String -> Pattern Double -> ControlPattern
lkickCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lkick" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

lkickbus :: Pattern Int -> Pattern Double -> ControlPattern
lkickbus :: Pattern Int -> Pattern Double -> ControlPattern
lkickbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"lkick" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^lkick" Pattern Int
busid)
lkickrecv :: Pattern Int -> ControlPattern
lkickrecv :: Pattern Int -> ControlPattern
lkickrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^lkick" Pattern Int
busid

-- | 
llotom :: Pattern Double -> ControlPattern
llotom :: Pattern Double -> ControlPattern
llotom = String -> Pattern Double -> ControlPattern
pF String
"llotom"
llotomTake :: String -> [Double] -> ControlPattern
llotomTake :: String -> [Double] -> ControlPattern
llotomTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"llotom" String
name [Double]
xs
llotomCount :: String -> ControlPattern
llotomCount :: String -> ControlPattern
llotomCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"llotom" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
llotomCountTo :: String -> Pattern Double -> Pattern ValueMap
llotomCountTo :: String -> Pattern Double -> ControlPattern
llotomCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"llotom" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

llotombus :: Pattern Int -> Pattern Double -> ControlPattern
llotombus :: Pattern Int -> Pattern Double -> ControlPattern
llotombus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"llotom" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^llotom" Pattern Int
busid)
llotomrecv :: Pattern Int -> ControlPattern
llotomrecv :: Pattern Int -> ControlPattern
llotomrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^llotom" Pattern Int
busid

-- | A pattern of numbers. Specifies whether delaytime is calculated relative to cps. When set to 1, delaytime is a direct multiple of a cycle.
lock :: Pattern Double -> ControlPattern
lock :: Pattern Double -> ControlPattern
lock = String -> Pattern Double -> ControlPattern
pF String
"lock"
lockTake :: String -> [Double] -> ControlPattern
lockTake :: String -> [Double] -> ControlPattern
lockTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"lock" String
name [Double]
xs
lockCount :: String -> ControlPattern
lockCount :: String -> ControlPattern
lockCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lock" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
lockCountTo :: String -> Pattern Double -> Pattern ValueMap
lockCountTo :: String -> Pattern Double -> ControlPattern
lockCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lock" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

lockbus :: Pattern Int -> Pattern Double -> ControlPattern
lockbus :: Pattern Int -> Pattern Double -> ControlPattern
lockbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"lock" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^lock" Pattern Int
busid)
lockrecv :: Pattern Int -> ControlPattern
lockrecv :: Pattern Int -> ControlPattern
lockrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^lock" Pattern Int
busid

-- | loops the sample (from `begin` to `end`) the specified number of times.
loop :: Pattern Double -> ControlPattern
loop :: Pattern Double -> ControlPattern
loop = String -> Pattern Double -> ControlPattern
pF String
"loop"
loopTake :: String -> [Double] -> ControlPattern
loopTake :: String -> [Double] -> ControlPattern
loopTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"loop" String
name [Double]
xs
loopCount :: String -> ControlPattern
loopCount :: String -> ControlPattern
loopCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"loop" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
loopCountTo :: String -> Pattern Double -> Pattern ValueMap
loopCountTo :: String -> Pattern Double -> ControlPattern
loopCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"loop" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

loopbus :: Pattern Int -> Pattern Double -> ControlPattern
loopbus :: Pattern Int -> Pattern Double -> ControlPattern
loopbus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'loop' can't be sent to a bus."

-- | 
lophat :: Pattern Double -> ControlPattern
lophat :: Pattern Double -> ControlPattern
lophat = String -> Pattern Double -> ControlPattern
pF String
"lophat"
lophatTake :: String -> [Double] -> ControlPattern
lophatTake :: String -> [Double] -> ControlPattern
lophatTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"lophat" String
name [Double]
xs
lophatCount :: String -> ControlPattern
lophatCount :: String -> ControlPattern
lophatCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lophat" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
lophatCountTo :: String -> Pattern Double -> Pattern ValueMap
lophatCountTo :: String -> Pattern Double -> ControlPattern
lophatCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lophat" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

lophatbus :: Pattern Int -> Pattern Double -> ControlPattern
lophatbus :: Pattern Int -> Pattern Double -> ControlPattern
lophatbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"lophat" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^lophat" Pattern Int
busid)
lophatrecv :: Pattern Int -> ControlPattern
lophatrecv :: Pattern Int -> ControlPattern
lophatrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^lophat" Pattern Int
busid

-- | 
lrate :: Pattern Double -> ControlPattern
lrate :: Pattern Double -> ControlPattern
lrate = String -> Pattern Double -> ControlPattern
pF String
"lrate"
lrateTake :: String -> [Double] -> ControlPattern
lrateTake :: String -> [Double] -> ControlPattern
lrateTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"lrate" String
name [Double]
xs
lrateCount :: String -> ControlPattern
lrateCount :: String -> ControlPattern
lrateCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lrate" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
lrateCountTo :: String -> Pattern Double -> Pattern ValueMap
lrateCountTo :: String -> Pattern Double -> ControlPattern
lrateCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lrate" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

lratebus :: Pattern Int -> Pattern Double -> ControlPattern
lratebus :: Pattern Int -> Pattern Double -> ControlPattern
lratebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"lrate" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^lrate" Pattern Int
busid)
lraterecv :: Pattern Int -> ControlPattern
lraterecv :: Pattern Int -> ControlPattern
lraterecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^lrate" Pattern Int
busid

-- | 
lsize :: Pattern Double -> ControlPattern
lsize :: Pattern Double -> ControlPattern
lsize = String -> Pattern Double -> ControlPattern
pF String
"lsize"
lsizeTake :: String -> [Double] -> ControlPattern
lsizeTake :: String -> [Double] -> ControlPattern
lsizeTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"lsize" String
name [Double]
xs
lsizeCount :: String -> ControlPattern
lsizeCount :: String -> ControlPattern
lsizeCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lsize" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
lsizeCountTo :: String -> Pattern Double -> Pattern ValueMap
lsizeCountTo :: String -> Pattern Double -> ControlPattern
lsizeCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lsize" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

lsizebus :: Pattern Int -> Pattern Double -> ControlPattern
lsizebus :: Pattern Int -> Pattern Double -> ControlPattern
lsizebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"lsize" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^lsize" Pattern Int
busid)
lsizerecv :: Pattern Int -> ControlPattern
lsizerecv :: Pattern Int -> ControlPattern
lsizerecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^lsize" Pattern Int
busid

-- | 
lsnare :: Pattern Double -> ControlPattern
lsnare :: Pattern Double -> ControlPattern
lsnare = String -> Pattern Double -> ControlPattern
pF String
"lsnare"
lsnareTake :: String -> [Double] -> ControlPattern
lsnareTake :: String -> [Double] -> ControlPattern
lsnareTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"lsnare" String
name [Double]
xs
lsnareCount :: String -> ControlPattern
lsnareCount :: String -> ControlPattern
lsnareCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lsnare" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
lsnareCountTo :: String -> Pattern Double -> Pattern ValueMap
lsnareCountTo :: String -> Pattern Double -> ControlPattern
lsnareCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"lsnare" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

lsnarebus :: Pattern Int -> Pattern Double -> ControlPattern
lsnarebus :: Pattern Int -> Pattern Double -> ControlPattern
lsnarebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"lsnare" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^lsnare" Pattern Int
busid)
lsnarerecv :: Pattern Int -> ControlPattern
lsnarerecv :: Pattern Int -> ControlPattern
lsnarerecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^lsnare" Pattern Int
busid

-- | 
midibend :: Pattern Double -> ControlPattern
midibend :: Pattern Double -> ControlPattern
midibend = String -> Pattern Double -> ControlPattern
pF String
"midibend"
midibendTake :: String -> [Double] -> ControlPattern
midibendTake :: String -> [Double] -> ControlPattern
midibendTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"midibend" String
name [Double]
xs
midibendCount :: String -> ControlPattern
midibendCount :: String -> ControlPattern
midibendCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"midibend" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
midibendCountTo :: String -> Pattern Double -> Pattern ValueMap
midibendCountTo :: String -> Pattern Double -> ControlPattern
midibendCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"midibend" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

midibendbus :: Pattern Int -> Pattern Double -> ControlPattern
midibendbus :: Pattern Int -> Pattern Double -> ControlPattern
midibendbus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'midibend' can't be sent to a bus."

-- | 
midichan :: Pattern Double -> ControlPattern
midichan :: Pattern Double -> ControlPattern
midichan = String -> Pattern Double -> ControlPattern
pF String
"midichan"
midichanTake :: String -> [Double] -> ControlPattern
midichanTake :: String -> [Double] -> ControlPattern
midichanTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"midichan" String
name [Double]
xs
midichanCount :: String -> ControlPattern
midichanCount :: String -> ControlPattern
midichanCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"midichan" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
midichanCountTo :: String -> Pattern Double -> Pattern ValueMap
midichanCountTo :: String -> Pattern Double -> ControlPattern
midichanCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"midichan" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

midichanbus :: Pattern Int -> Pattern Double -> ControlPattern
midichanbus :: Pattern Int -> Pattern Double -> ControlPattern
midichanbus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'midichan' can't be sent to a bus."

-- | 
midicmd :: Pattern String -> ControlPattern
midicmd :: Pattern String -> ControlPattern
midicmd = String -> Pattern String -> ControlPattern
pS String
"midicmd"
midicmdTake :: String -> [Double] -> ControlPattern
midicmdTake :: String -> [Double] -> ControlPattern
midicmdTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"midicmd" String
name [Double]
xs
midicmdbus :: Pattern Int -> Pattern String -> ControlPattern
midicmdbus :: Pattern Int -> Pattern String -> ControlPattern
midicmdbus Pattern Int
_ Pattern String
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'midicmd' can't be sent to a bus."

-- | 
miditouch :: Pattern Double -> ControlPattern
miditouch :: Pattern Double -> ControlPattern
miditouch = String -> Pattern Double -> ControlPattern
pF String
"miditouch"
miditouchTake :: String -> [Double] -> ControlPattern
miditouchTake :: String -> [Double] -> ControlPattern
miditouchTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"miditouch" String
name [Double]
xs
miditouchCount :: String -> ControlPattern
miditouchCount :: String -> ControlPattern
miditouchCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"miditouch" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
miditouchCountTo :: String -> Pattern Double -> Pattern ValueMap
miditouchCountTo :: String -> Pattern Double -> ControlPattern
miditouchCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"miditouch" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

miditouchbus :: Pattern Int -> Pattern Double -> ControlPattern
miditouchbus :: Pattern Int -> Pattern Double -> ControlPattern
miditouchbus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'miditouch' can't be sent to a bus."

-- | 
minutes :: Pattern Double -> ControlPattern
minutes :: Pattern Double -> ControlPattern
minutes = String -> Pattern Double -> ControlPattern
pF String
"minutes"
minutesTake :: String -> [Double] -> ControlPattern
minutesTake :: String -> [Double] -> ControlPattern
minutesTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"minutes" String
name [Double]
xs
minutesCount :: String -> ControlPattern
minutesCount :: String -> ControlPattern
minutesCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"minutes" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
minutesCountTo :: String -> Pattern Double -> Pattern ValueMap
minutesCountTo :: String -> Pattern Double -> ControlPattern
minutesCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"minutes" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

minutesbus :: Pattern Int -> Pattern Double -> ControlPattern
minutesbus :: Pattern Int -> Pattern Double -> ControlPattern
minutesbus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'minutes' can't be sent to a bus."

-- | 
modwheel :: Pattern Double -> ControlPattern
modwheel :: Pattern Double -> ControlPattern
modwheel = String -> Pattern Double -> ControlPattern
pF String
"modwheel"
modwheelTake :: String -> [Double] -> ControlPattern
modwheelTake :: String -> [Double] -> ControlPattern
modwheelTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"modwheel" String
name [Double]
xs
modwheelCount :: String -> ControlPattern
modwheelCount :: String -> ControlPattern
modwheelCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"modwheel" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
modwheelCountTo :: String -> Pattern Double -> Pattern ValueMap
modwheelCountTo :: String -> Pattern Double -> ControlPattern
modwheelCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"modwheel" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

modwheelbus :: Pattern Int -> Pattern Double -> ControlPattern
modwheelbus :: Pattern Int -> Pattern Double -> ControlPattern
modwheelbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"modwheel" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^modwheel" Pattern Int
busid)
modwheelrecv :: Pattern Int -> ControlPattern
modwheelrecv :: Pattern Int -> ControlPattern
modwheelrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^modwheel" Pattern Int
busid

-- | 
mtranspose :: Pattern Double -> ControlPattern
mtranspose :: Pattern Double -> ControlPattern
mtranspose = String -> Pattern Double -> ControlPattern
pF String
"mtranspose"
mtransposeTake :: String -> [Double] -> ControlPattern
mtransposeTake :: String -> [Double] -> ControlPattern
mtransposeTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"mtranspose" String
name [Double]
xs
mtransposeCount :: String -> ControlPattern
mtransposeCount :: String -> ControlPattern
mtransposeCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"mtranspose" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
mtransposeCountTo :: String -> Pattern Double -> Pattern ValueMap
mtransposeCountTo :: String -> Pattern Double -> ControlPattern
mtransposeCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"mtranspose" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

mtransposebus :: Pattern Int -> Pattern Double -> ControlPattern
mtransposebus :: Pattern Int -> Pattern Double -> ControlPattern
mtransposebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"mtranspose" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^mtranspose" Pattern Int
busid)
mtransposerecv :: Pattern Int -> ControlPattern
mtransposerecv :: Pattern Int -> ControlPattern
mtransposerecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^mtranspose" Pattern Int
busid

-- | The note or sample number to choose for a synth or sampleset
n :: Pattern Note -> ControlPattern
n :: Pattern Note -> ControlPattern
n = String -> Pattern Note -> ControlPattern
pN String
"n"
nTake :: String -> [Double] -> ControlPattern
nTake :: String -> [Double] -> ControlPattern
nTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"n" String
name [Double]
xs
nCount :: String -> ControlPattern
nCount :: String -> ControlPattern
nCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"n" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
nCountTo :: String -> Pattern Double -> Pattern ValueMap
nCountTo :: String -> Pattern Double -> ControlPattern
nCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"n" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

nbus :: Pattern Int -> Pattern Note -> ControlPattern
nbus :: Pattern Int -> Pattern Note -> ControlPattern
nbus Pattern Int
_ Pattern Note
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'n' can't be sent to a bus."

-- | The note or pitch to play a sound or synth with
note :: Pattern Note -> ControlPattern
note :: Pattern Note -> ControlPattern
note = String -> Pattern Note -> ControlPattern
pN String
"note"
noteTake :: String -> [Double] -> ControlPattern
noteTake :: String -> [Double] -> ControlPattern
noteTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"note" String
name [Double]
xs
noteCount :: String -> ControlPattern
noteCount :: String -> ControlPattern
noteCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"note" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
noteCountTo :: String -> Pattern Double -> Pattern ValueMap
noteCountTo :: String -> Pattern Double -> ControlPattern
noteCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"note" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

notebus :: Pattern Int -> Pattern Note -> ControlPattern
notebus :: Pattern Int -> Pattern Note -> ControlPattern
notebus Pattern Int
_ Pattern Note
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'note' can't be sent to a bus."

-- | Nudges events into the future by the specified number of seconds. Negative numbers work up to a point as well (due to internal latency)
nudge :: Pattern Double -> ControlPattern
nudge :: Pattern Double -> ControlPattern
nudge = String -> Pattern Double -> ControlPattern
pF String
"nudge"
nudgeTake :: String -> [Double] -> ControlPattern
nudgeTake :: String -> [Double] -> ControlPattern
nudgeTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"nudge" String
name [Double]
xs
nudgeCount :: String -> ControlPattern
nudgeCount :: String -> ControlPattern
nudgeCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"nudge" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
nudgeCountTo :: String -> Pattern Double -> Pattern ValueMap
nudgeCountTo :: String -> Pattern Double -> ControlPattern
nudgeCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"nudge" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

nudgebus :: Pattern Int -> Pattern Double -> ControlPattern
nudgebus :: Pattern Int -> Pattern Double -> ControlPattern
nudgebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"nudge" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^nudge" Pattern Int
busid)
nudgerecv :: Pattern Int -> ControlPattern
nudgerecv :: Pattern Int -> ControlPattern
nudgerecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^nudge" Pattern Int
busid

-- | 
octave :: Pattern Int -> ControlPattern
octave :: Pattern Int -> ControlPattern
octave = String -> Pattern Int -> ControlPattern
pI String
"octave"
octaveTake :: String -> [Double] -> ControlPattern
octaveTake :: String -> [Double] -> ControlPattern
octaveTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"octave" String
name [Double]
xs
octaveCount :: String -> ControlPattern
octaveCount :: String -> ControlPattern
octaveCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"octave" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
octaveCountTo :: String -> Pattern Double -> Pattern ValueMap
octaveCountTo :: String -> Pattern Double -> ControlPattern
octaveCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"octave" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

octavebus :: Pattern Int -> Pattern Int -> ControlPattern
octavebus :: Pattern Int -> Pattern Int -> ControlPattern
octavebus Pattern Int
_ Pattern Int
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'octave' can't be sent to a bus."

-- | 
octaveR :: Pattern Double -> ControlPattern
octaveR :: Pattern Double -> ControlPattern
octaveR = String -> Pattern Double -> ControlPattern
pF String
"octaveR"
octaveRTake :: String -> [Double] -> ControlPattern
octaveRTake :: String -> [Double] -> ControlPattern
octaveRTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"octaveR" String
name [Double]
xs
octaveRCount :: String -> ControlPattern
octaveRCount :: String -> ControlPattern
octaveRCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"octaveR" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
octaveRCountTo :: String -> Pattern Double -> Pattern ValueMap
octaveRCountTo :: String -> Pattern Double -> ControlPattern
octaveRCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"octaveR" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

octaveRbus :: Pattern Int -> Pattern Double -> ControlPattern
octaveRbus :: Pattern Int -> Pattern Double -> ControlPattern
octaveRbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"octaveR" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^octaveR" Pattern Int
busid)
octaveRrecv :: Pattern Int -> ControlPattern
octaveRrecv :: Pattern Int -> ControlPattern
octaveRrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^octaveR" Pattern Int
busid

-- | octaver effect
octer :: Pattern Double -> ControlPattern
octer :: Pattern Double -> ControlPattern
octer = String -> Pattern Double -> ControlPattern
pF String
"octer"
octerTake :: String -> [Double] -> ControlPattern
octerTake :: String -> [Double] -> ControlPattern
octerTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"octer" String
name [Double]
xs
octerCount :: String -> ControlPattern
octerCount :: String -> ControlPattern
octerCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"octer" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
octerCountTo :: String -> Pattern Double -> Pattern ValueMap
octerCountTo :: String -> Pattern Double -> ControlPattern
octerCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"octer" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

octerbus :: Pattern Int -> Pattern Double -> ControlPattern
octerbus :: Pattern Int -> Pattern Double -> ControlPattern
octerbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"octer" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^octer" Pattern Int
busid)
octerrecv :: Pattern Int -> ControlPattern
octerrecv :: Pattern Int -> ControlPattern
octerrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^octer" Pattern Int
busid

-- | octaver effect
octersub :: Pattern Double -> ControlPattern
octersub :: Pattern Double -> ControlPattern
octersub = String -> Pattern Double -> ControlPattern
pF String
"octersub"
octersubTake :: String -> [Double] -> ControlPattern
octersubTake :: String -> [Double] -> ControlPattern
octersubTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"octersub" String
name [Double]
xs
octersubCount :: String -> ControlPattern
octersubCount :: String -> ControlPattern
octersubCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"octersub" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
octersubCountTo :: String -> Pattern Double -> Pattern ValueMap
octersubCountTo :: String -> Pattern Double -> ControlPattern
octersubCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"octersub" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

octersubbus :: Pattern Int -> Pattern Double -> ControlPattern
octersubbus :: Pattern Int -> Pattern Double -> ControlPattern
octersubbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"octersub" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^octersub" Pattern Int
busid)
octersubrecv :: Pattern Int -> ControlPattern
octersubrecv :: Pattern Int -> ControlPattern
octersubrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^octersub" Pattern Int
busid

-- | octaver effect
octersubsub :: Pattern Double -> ControlPattern
octersubsub :: Pattern Double -> ControlPattern
octersubsub = String -> Pattern Double -> ControlPattern
pF String
"octersubsub"
octersubsubTake :: String -> [Double] -> ControlPattern
octersubsubTake :: String -> [Double] -> ControlPattern
octersubsubTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"octersubsub" String
name [Double]
xs
octersubsubCount :: String -> ControlPattern
octersubsubCount :: String -> ControlPattern
octersubsubCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"octersubsub" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
octersubsubCountTo :: String -> Pattern Double -> Pattern ValueMap
octersubsubCountTo :: String -> Pattern Double -> ControlPattern
octersubsubCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"octersubsub" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

octersubsubbus :: Pattern Int -> Pattern Double -> ControlPattern
octersubsubbus :: Pattern Int -> Pattern Double -> ControlPattern
octersubsubbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"octersubsub" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^octersubsub" Pattern Int
busid)
octersubsubrecv :: Pattern Int -> ControlPattern
octersubsubrecv :: Pattern Int -> ControlPattern
octersubsubrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^octersubsub" Pattern Int
busid

-- | 
offset :: Pattern Double -> ControlPattern
offset :: Pattern Double -> ControlPattern
offset = String -> Pattern Double -> ControlPattern
pF String
"offset"
offsetTake :: String -> [Double] -> ControlPattern
offsetTake :: String -> [Double] -> ControlPattern
offsetTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"offset" String
name [Double]
xs
offsetCount :: String -> ControlPattern
offsetCount :: String -> ControlPattern
offsetCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"offset" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
offsetCountTo :: String -> Pattern Double -> Pattern ValueMap
offsetCountTo :: String -> Pattern Double -> ControlPattern
offsetCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"offset" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

offsetbus :: Pattern Int -> Pattern Double -> ControlPattern
offsetbus :: Pattern Int -> Pattern Double -> ControlPattern
offsetbus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'offset' can't be sent to a bus."

-- | 
ophatdecay :: Pattern Double -> ControlPattern
ophatdecay :: Pattern Double -> ControlPattern
ophatdecay = String -> Pattern Double -> ControlPattern
pF String
"ophatdecay"
ophatdecayTake :: String -> [Double] -> ControlPattern
ophatdecayTake :: String -> [Double] -> ControlPattern
ophatdecayTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"ophatdecay" String
name [Double]
xs
ophatdecayCount :: String -> ControlPattern
ophatdecayCount :: String -> ControlPattern
ophatdecayCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"ophatdecay" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
ophatdecayCountTo :: String -> Pattern Double -> Pattern ValueMap
ophatdecayCountTo :: String -> Pattern Double -> ControlPattern
ophatdecayCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"ophatdecay" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

ophatdecaybus :: Pattern Int -> Pattern Double -> ControlPattern
ophatdecaybus :: Pattern Int -> Pattern Double -> ControlPattern
ophatdecaybus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"ophatdecay" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^ophatdecay" Pattern Int
busid)
ophatdecayrecv :: Pattern Int -> ControlPattern
ophatdecayrecv :: Pattern Int -> ControlPattern
ophatdecayrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^ophatdecay" Pattern Int
busid

-- | a pattern of numbers. An `orbit` is a global parameter context for patterns. Patterns with the same orbit will share hardware output bus offset and global effects, e.g. reverb and delay. The maximum number of orbits is specified in the superdirt startup, numbers higher than maximum will wrap around.
orbit :: Pattern Int -> ControlPattern
orbit :: Pattern Int -> ControlPattern
orbit = String -> Pattern Int -> ControlPattern
pI String
"orbit"
orbitTake :: String -> [Double] -> ControlPattern
orbitTake :: String -> [Double] -> ControlPattern
orbitTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"orbit" String
name [Double]
xs
orbitCount :: String -> ControlPattern
orbitCount :: String -> ControlPattern
orbitCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"orbit" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
orbitCountTo :: String -> Pattern Double -> Pattern ValueMap
orbitCountTo :: String -> Pattern Double -> ControlPattern
orbitCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"orbit" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

orbitbus :: Pattern Int -> Pattern Int -> ControlPattern
orbitbus :: Pattern Int -> Pattern Int -> ControlPattern
orbitbus Pattern Int
busid Pattern Int
pat = (String -> Pattern Int -> ControlPattern
pI String
"orbit" Pattern Int
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^orbit" Pattern Int
busid)
orbitrecv :: Pattern Int -> ControlPattern
orbitrecv :: Pattern Int -> ControlPattern
orbitrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^orbit" Pattern Int
busid

-- | 
overgain :: Pattern Double -> ControlPattern
overgain :: Pattern Double -> ControlPattern
overgain = String -> Pattern Double -> ControlPattern
pF String
"overgain"
overgainTake :: String -> [Double] -> ControlPattern
overgainTake :: String -> [Double] -> ControlPattern
overgainTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"overgain" String
name [Double]
xs
overgainCount :: String -> ControlPattern
overgainCount :: String -> ControlPattern
overgainCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"overgain" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
overgainCountTo :: String -> Pattern Double -> Pattern ValueMap
overgainCountTo :: String -> Pattern Double -> ControlPattern
overgainCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"overgain" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

overgainbus :: Pattern Int -> Pattern Double -> ControlPattern
overgainbus :: Pattern Int -> Pattern Double -> ControlPattern
overgainbus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'overgain' can't be sent to a bus."

-- | 
overshape :: Pattern Double -> ControlPattern
overshape :: Pattern Double -> ControlPattern
overshape = String -> Pattern Double -> ControlPattern
pF String
"overshape"
overshapeTake :: String -> [Double] -> ControlPattern
overshapeTake :: String -> [Double] -> ControlPattern
overshapeTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"overshape" String
name [Double]
xs
overshapeCount :: String -> ControlPattern
overshapeCount :: String -> ControlPattern
overshapeCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"overshape" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
overshapeCountTo :: String -> Pattern Double -> Pattern ValueMap
overshapeCountTo :: String -> Pattern Double -> ControlPattern
overshapeCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"overshape" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

overshapebus :: Pattern Int -> Pattern Double -> ControlPattern
overshapebus :: Pattern Int -> Pattern Double -> ControlPattern
overshapebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"overshape" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^overshape" Pattern Int
busid)
overshaperecv :: Pattern Int -> ControlPattern
overshaperecv :: Pattern Int -> ControlPattern
overshaperecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^overshape" Pattern Int
busid

-- | a pattern of numbers between 0 and 1, from left to right (assuming stereo), once round a circle (assuming multichannel)
pan :: Pattern Double -> ControlPattern
pan :: Pattern Double -> ControlPattern
pan = String -> Pattern Double -> ControlPattern
pF String
"pan"
panTake :: String -> [Double] -> ControlPattern
panTake :: String -> [Double] -> ControlPattern
panTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"pan" String
name [Double]
xs
panCount :: String -> ControlPattern
panCount :: String -> ControlPattern
panCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"pan" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
panCountTo :: String -> Pattern Double -> Pattern ValueMap
panCountTo :: String -> Pattern Double -> ControlPattern
panCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"pan" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

panbus :: Pattern Int -> Pattern Double -> ControlPattern
panbus :: Pattern Int -> Pattern Double -> ControlPattern
panbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"pan" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^pan" Pattern Int
busid)
panrecv :: Pattern Int -> ControlPattern
panrecv :: Pattern Int -> ControlPattern
panrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^pan" Pattern Int
busid

-- | a pattern of numbers between -1.0 and 1.0, which controls the relative position of the centre pan in a pair of adjacent speakers (multichannel only)
panorient :: Pattern Double -> ControlPattern
panorient :: Pattern Double -> ControlPattern
panorient = String -> Pattern Double -> ControlPattern
pF String
"panorient"
panorientTake :: String -> [Double] -> ControlPattern
panorientTake :: String -> [Double] -> ControlPattern
panorientTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"panorient" String
name [Double]
xs
panorientCount :: String -> ControlPattern
panorientCount :: String -> ControlPattern
panorientCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"panorient" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
panorientCountTo :: String -> Pattern Double -> Pattern ValueMap
panorientCountTo :: String -> Pattern Double -> ControlPattern
panorientCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"panorient" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

panorientbus :: Pattern Int -> Pattern Double -> ControlPattern
panorientbus :: Pattern Int -> Pattern Double -> ControlPattern
panorientbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"panorient" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^panorient" Pattern Int
busid)
panorientrecv :: Pattern Int -> ControlPattern
panorientrecv :: Pattern Int -> ControlPattern
panorientrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^panorient" Pattern Int
busid

-- | a pattern of numbers between -inf and inf, which controls how much multichannel output is fanned out (negative is backwards ordering)
panspan :: Pattern Double -> ControlPattern
panspan :: Pattern Double -> ControlPattern
panspan = String -> Pattern Double -> ControlPattern
pF String
"panspan"
panspanTake :: String -> [Double] -> ControlPattern
panspanTake :: String -> [Double] -> ControlPattern
panspanTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"panspan" String
name [Double]
xs
panspanCount :: String -> ControlPattern
panspanCount :: String -> ControlPattern
panspanCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"panspan" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
panspanCountTo :: String -> Pattern Double -> Pattern ValueMap
panspanCountTo :: String -> Pattern Double -> ControlPattern
panspanCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"panspan" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

panspanbus :: Pattern Int -> Pattern Double -> ControlPattern
panspanbus :: Pattern Int -> Pattern Double -> ControlPattern
panspanbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"panspan" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^panspan" Pattern Int
busid)
panspanrecv :: Pattern Int -> ControlPattern
panspanrecv :: Pattern Int -> ControlPattern
panspanrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^panspan" Pattern Int
busid

-- | a pattern of numbers between 0.0 and 1.0, which controls the multichannel spread range (multichannel only)
pansplay :: Pattern Double -> ControlPattern
pansplay :: Pattern Double -> ControlPattern
pansplay = String -> Pattern Double -> ControlPattern
pF String
"pansplay"
pansplayTake :: String -> [Double] -> ControlPattern
pansplayTake :: String -> [Double] -> ControlPattern
pansplayTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"pansplay" String
name [Double]
xs
pansplayCount :: String -> ControlPattern
pansplayCount :: String -> ControlPattern
pansplayCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"pansplay" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
pansplayCountTo :: String -> Pattern Double -> Pattern ValueMap
pansplayCountTo :: String -> Pattern Double -> ControlPattern
pansplayCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"pansplay" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

pansplaybus :: Pattern Int -> Pattern Double -> ControlPattern
pansplaybus :: Pattern Int -> Pattern Double -> ControlPattern
pansplaybus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"pansplay" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^pansplay" Pattern Int
busid)
pansplayrecv :: Pattern Int -> ControlPattern
pansplayrecv :: Pattern Int -> ControlPattern
pansplayrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^pansplay" Pattern Int
busid

-- | a pattern of numbers between 0.0 and inf, which controls how much each channel is distributed over neighbours (multichannel only)
panwidth :: Pattern Double -> ControlPattern
panwidth :: Pattern Double -> ControlPattern
panwidth = String -> Pattern Double -> ControlPattern
pF String
"panwidth"
panwidthTake :: String -> [Double] -> ControlPattern
panwidthTake :: String -> [Double] -> ControlPattern
panwidthTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"panwidth" String
name [Double]
xs
panwidthCount :: String -> ControlPattern
panwidthCount :: String -> ControlPattern
panwidthCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"panwidth" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
panwidthCountTo :: String -> Pattern Double -> Pattern ValueMap
panwidthCountTo :: String -> Pattern Double -> ControlPattern
panwidthCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"panwidth" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

panwidthbus :: Pattern Int -> Pattern Double -> ControlPattern
panwidthbus :: Pattern Int -> Pattern Double -> ControlPattern
panwidthbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"panwidth" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^panwidth" Pattern Int
busid)
panwidthrecv :: Pattern Int -> ControlPattern
panwidthrecv :: Pattern Int -> ControlPattern
panwidthrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^panwidth" Pattern Int
busid

-- | 
partials :: Pattern Double -> ControlPattern
partials :: Pattern Double -> ControlPattern
partials = String -> Pattern Double -> ControlPattern
pF String
"partials"
partialsTake :: String -> [Double] -> ControlPattern
partialsTake :: String -> [Double] -> ControlPattern
partialsTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"partials" String
name [Double]
xs
partialsCount :: String -> ControlPattern
partialsCount :: String -> ControlPattern
partialsCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"partials" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
partialsCountTo :: String -> Pattern Double -> Pattern ValueMap
partialsCountTo :: String -> Pattern Double -> ControlPattern
partialsCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"partials" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

partialsbus :: Pattern Int -> Pattern Double -> ControlPattern
partialsbus :: Pattern Int -> Pattern Double -> ControlPattern
partialsbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"partials" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^partials" Pattern Int
busid)
partialsrecv :: Pattern Int -> ControlPattern
partialsrecv :: Pattern Int -> ControlPattern
partialsrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^partials" Pattern Int
busid

-- | Phaser Audio DSP effect | params are 'phaserrate' and 'phaserdepth'
phaserdepth :: Pattern Double -> ControlPattern
phaserdepth :: Pattern Double -> ControlPattern
phaserdepth = String -> Pattern Double -> ControlPattern
pF String
"phaserdepth"
phaserdepthTake :: String -> [Double] -> ControlPattern
phaserdepthTake :: String -> [Double] -> ControlPattern
phaserdepthTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"phaserdepth" String
name [Double]
xs
phaserdepthCount :: String -> ControlPattern
phaserdepthCount :: String -> ControlPattern
phaserdepthCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"phaserdepth" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
phaserdepthCountTo :: String -> Pattern Double -> Pattern ValueMap
phaserdepthCountTo :: String -> Pattern Double -> ControlPattern
phaserdepthCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"phaserdepth" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

phaserdepthbus :: Pattern Int -> Pattern Double -> ControlPattern
phaserdepthbus :: Pattern Int -> Pattern Double -> ControlPattern
phaserdepthbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"phaserdepth" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^phaserdepth" Pattern Int
busid)
phaserdepthrecv :: Pattern Int -> ControlPattern
phaserdepthrecv :: Pattern Int -> ControlPattern
phaserdepthrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^phaserdepth" Pattern Int
busid

-- | Phaser Audio DSP effect | params are 'phaserrate' and 'phaserdepth'
phaserrate :: Pattern Double -> ControlPattern
phaserrate :: Pattern Double -> ControlPattern
phaserrate = String -> Pattern Double -> ControlPattern
pF String
"phaserrate"
phaserrateTake :: String -> [Double] -> ControlPattern
phaserrateTake :: String -> [Double] -> ControlPattern
phaserrateTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"phaserrate" String
name [Double]
xs
phaserrateCount :: String -> ControlPattern
phaserrateCount :: String -> ControlPattern
phaserrateCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"phaserrate" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
phaserrateCountTo :: String -> Pattern Double -> Pattern ValueMap
phaserrateCountTo :: String -> Pattern Double -> ControlPattern
phaserrateCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"phaserrate" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

phaserratebus :: Pattern Int -> Pattern Double -> ControlPattern
phaserratebus :: Pattern Int -> Pattern Double -> ControlPattern
phaserratebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"phaserrate" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^phaserrate" Pattern Int
busid)
phaserraterecv :: Pattern Int -> ControlPattern
phaserraterecv :: Pattern Int -> ControlPattern
phaserraterecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^phaserrate" Pattern Int
busid

-- | 
pitch1 :: Pattern Double -> ControlPattern
pitch1 :: Pattern Double -> ControlPattern
pitch1 = String -> Pattern Double -> ControlPattern
pF String
"pitch1"
pitch1Take :: String -> [Double] -> ControlPattern
pitch1Take :: String -> [Double] -> ControlPattern
pitch1Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"pitch1" String
name [Double]
xs
pitch1Count :: String -> ControlPattern
pitch1Count :: String -> ControlPattern
pitch1Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"pitch1" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
pitch1CountTo :: String -> Pattern Double -> Pattern ValueMap
pitch1CountTo :: String -> Pattern Double -> ControlPattern
pitch1CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"pitch1" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

pitch1bus :: Pattern Int -> Pattern Double -> ControlPattern
pitch1bus :: Pattern Int -> Pattern Double -> ControlPattern
pitch1bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"pitch1" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^pitch1" Pattern Int
busid)
pitch1recv :: Pattern Int -> ControlPattern
pitch1recv :: Pattern Int -> ControlPattern
pitch1recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^pitch1" Pattern Int
busid

-- | 
pitch2 :: Pattern Double -> ControlPattern
pitch2 :: Pattern Double -> ControlPattern
pitch2 = String -> Pattern Double -> ControlPattern
pF String
"pitch2"
pitch2Take :: String -> [Double] -> ControlPattern
pitch2Take :: String -> [Double] -> ControlPattern
pitch2Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"pitch2" String
name [Double]
xs
pitch2Count :: String -> ControlPattern
pitch2Count :: String -> ControlPattern
pitch2Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"pitch2" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
pitch2CountTo :: String -> Pattern Double -> Pattern ValueMap
pitch2CountTo :: String -> Pattern Double -> ControlPattern
pitch2CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"pitch2" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

pitch2bus :: Pattern Int -> Pattern Double -> ControlPattern
pitch2bus :: Pattern Int -> Pattern Double -> ControlPattern
pitch2bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"pitch2" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^pitch2" Pattern Int
busid)
pitch2recv :: Pattern Int -> ControlPattern
pitch2recv :: Pattern Int -> ControlPattern
pitch2recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^pitch2" Pattern Int
busid

-- | 
pitch3 :: Pattern Double -> ControlPattern
pitch3 :: Pattern Double -> ControlPattern
pitch3 = String -> Pattern Double -> ControlPattern
pF String
"pitch3"
pitch3Take :: String -> [Double] -> ControlPattern
pitch3Take :: String -> [Double] -> ControlPattern
pitch3Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"pitch3" String
name [Double]
xs
pitch3Count :: String -> ControlPattern
pitch3Count :: String -> ControlPattern
pitch3Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"pitch3" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
pitch3CountTo :: String -> Pattern Double -> Pattern ValueMap
pitch3CountTo :: String -> Pattern Double -> ControlPattern
pitch3CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"pitch3" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

pitch3bus :: Pattern Int -> Pattern Double -> ControlPattern
pitch3bus :: Pattern Int -> Pattern Double -> ControlPattern
pitch3bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"pitch3" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^pitch3" Pattern Int
busid)
pitch3recv :: Pattern Int -> ControlPattern
pitch3recv :: Pattern Int -> ControlPattern
pitch3recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^pitch3" Pattern Int
busid

-- | 
polyTouch :: Pattern Double -> ControlPattern
polyTouch :: Pattern Double -> ControlPattern
polyTouch = String -> Pattern Double -> ControlPattern
pF String
"polyTouch"
polyTouchTake :: String -> [Double] -> ControlPattern
polyTouchTake :: String -> [Double] -> ControlPattern
polyTouchTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"polyTouch" String
name [Double]
xs
polyTouchCount :: String -> ControlPattern
polyTouchCount :: String -> ControlPattern
polyTouchCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"polyTouch" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
polyTouchCountTo :: String -> Pattern Double -> Pattern ValueMap
polyTouchCountTo :: String -> Pattern Double -> ControlPattern
polyTouchCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"polyTouch" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

polyTouchbus :: Pattern Int -> Pattern Double -> ControlPattern
polyTouchbus :: Pattern Int -> Pattern Double -> ControlPattern
polyTouchbus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'polyTouch' can't be sent to a bus."

-- | 
portamento :: Pattern Double -> ControlPattern
portamento :: Pattern Double -> ControlPattern
portamento = String -> Pattern Double -> ControlPattern
pF String
"portamento"
portamentoTake :: String -> [Double] -> ControlPattern
portamentoTake :: String -> [Double] -> ControlPattern
portamentoTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"portamento" String
name [Double]
xs
portamentoCount :: String -> ControlPattern
portamentoCount :: String -> ControlPattern
portamentoCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"portamento" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
portamentoCountTo :: String -> Pattern Double -> Pattern ValueMap
portamentoCountTo :: String -> Pattern Double -> ControlPattern
portamentoCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"portamento" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

portamentobus :: Pattern Int -> Pattern Double -> ControlPattern
portamentobus :: Pattern Int -> Pattern Double -> ControlPattern
portamentobus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"portamento" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^portamento" Pattern Int
busid)
portamentorecv :: Pattern Int -> ControlPattern
portamentorecv :: Pattern Int -> ControlPattern
portamentorecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^portamento" Pattern Int
busid

-- | 
progNum :: Pattern Double -> ControlPattern
progNum :: Pattern Double -> ControlPattern
progNum = String -> Pattern Double -> ControlPattern
pF String
"progNum"
progNumTake :: String -> [Double] -> ControlPattern
progNumTake :: String -> [Double] -> ControlPattern
progNumTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"progNum" String
name [Double]
xs
progNumCount :: String -> ControlPattern
progNumCount :: String -> ControlPattern
progNumCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"progNum" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
progNumCountTo :: String -> Pattern Double -> Pattern ValueMap
progNumCountTo :: String -> Pattern Double -> ControlPattern
progNumCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"progNum" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

progNumbus :: Pattern Int -> Pattern Double -> ControlPattern
progNumbus :: Pattern Int -> Pattern Double -> ControlPattern
progNumbus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'progNum' can't be sent to a bus."

-- | used in SuperDirt softsynths as a control rate or 'speed'
rate :: Pattern Double -> ControlPattern
rate :: Pattern Double -> ControlPattern
rate = String -> Pattern Double -> ControlPattern
pF String
"rate"
rateTake :: String -> [Double] -> ControlPattern
rateTake :: String -> [Double] -> ControlPattern
rateTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"rate" String
name [Double]
xs
rateCount :: String -> ControlPattern
rateCount :: String -> ControlPattern
rateCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"rate" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
rateCountTo :: String -> Pattern Double -> Pattern ValueMap
rateCountTo :: String -> Pattern Double -> ControlPattern
rateCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"rate" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

ratebus :: Pattern Int -> Pattern Double -> ControlPattern
ratebus :: Pattern Int -> Pattern Double -> ControlPattern
ratebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"rate" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^rate" Pattern Int
busid)
raterecv :: Pattern Int -> ControlPattern
raterecv :: Pattern Int -> ControlPattern
raterecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^rate" Pattern Int
busid

-- | Spectral conform
real :: Pattern Double -> ControlPattern
real :: Pattern Double -> ControlPattern
real = String -> Pattern Double -> ControlPattern
pF String
"real"
realTake :: String -> [Double] -> ControlPattern
realTake :: String -> [Double] -> ControlPattern
realTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"real" String
name [Double]
xs
realCount :: String -> ControlPattern
realCount :: String -> ControlPattern
realCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"real" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
realCountTo :: String -> Pattern Double -> Pattern ValueMap
realCountTo :: String -> Pattern Double -> ControlPattern
realCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"real" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

realbus :: Pattern Int -> Pattern Double -> ControlPattern
realbus :: Pattern Int -> Pattern Double -> ControlPattern
realbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"real" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^real" Pattern Int
busid)
realrecv :: Pattern Int -> ControlPattern
realrecv :: Pattern Int -> ControlPattern
realrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^real" Pattern Int
busid

-- | a pattern of numbers to specify the release time (in seconds) of an envelope applied to each sample.
release :: Pattern Double -> ControlPattern
release :: Pattern Double -> ControlPattern
release = String -> Pattern Double -> ControlPattern
pF String
"release"
releaseTake :: String -> [Double] -> ControlPattern
releaseTake :: String -> [Double] -> ControlPattern
releaseTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"release" String
name [Double]
xs
releaseCount :: String -> ControlPattern
releaseCount :: String -> ControlPattern
releaseCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"release" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
releaseCountTo :: String -> Pattern Double -> Pattern ValueMap
releaseCountTo :: String -> Pattern Double -> ControlPattern
releaseCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"release" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

releasebus :: Pattern Int -> Pattern Double -> ControlPattern
releasebus :: Pattern Int -> Pattern Double -> ControlPattern
releasebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"release" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^release" Pattern Int
busid)
releaserecv :: Pattern Int -> ControlPattern
releaserecv :: Pattern Int -> ControlPattern
releaserecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^release" Pattern Int
busid

-- | a pattern of numbers from 0 to 1. Specifies the resonance of the low-pass filter.
resonance :: Pattern Double -> ControlPattern
resonance :: Pattern Double -> ControlPattern
resonance = String -> Pattern Double -> ControlPattern
pF String
"resonance"
resonanceTake :: String -> [Double] -> ControlPattern
resonanceTake :: String -> [Double] -> ControlPattern
resonanceTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"resonance" String
name [Double]
xs
resonanceCount :: String -> ControlPattern
resonanceCount :: String -> ControlPattern
resonanceCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"resonance" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
resonanceCountTo :: String -> Pattern Double -> Pattern ValueMap
resonanceCountTo :: String -> Pattern Double -> ControlPattern
resonanceCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"resonance" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

resonancebus :: Pattern Int -> Pattern Double -> ControlPattern
resonancebus :: Pattern Int -> Pattern Double -> ControlPattern
resonancebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"resonance" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^resonance" Pattern Int
busid)
resonancerecv :: Pattern Int -> ControlPattern
resonancerecv :: Pattern Int -> ControlPattern
resonancerecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^resonance" Pattern Int
busid

-- | ring modulation
ring :: Pattern Double -> ControlPattern
ring :: Pattern Double -> ControlPattern
ring = String -> Pattern Double -> ControlPattern
pF String
"ring"
ringTake :: String -> [Double] -> ControlPattern
ringTake :: String -> [Double] -> ControlPattern
ringTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"ring" String
name [Double]
xs
ringCount :: String -> ControlPattern
ringCount :: String -> ControlPattern
ringCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"ring" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
ringCountTo :: String -> Pattern Double -> Pattern ValueMap
ringCountTo :: String -> Pattern Double -> ControlPattern
ringCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"ring" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

ringbus :: Pattern Int -> Pattern Double -> ControlPattern
ringbus :: Pattern Int -> Pattern Double -> ControlPattern
ringbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"ring" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^ring" Pattern Int
busid)
ringrecv :: Pattern Int -> ControlPattern
ringrecv :: Pattern Int -> ControlPattern
ringrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^ring" Pattern Int
busid

-- | ring modulation
ringdf :: Pattern Double -> ControlPattern
ringdf :: Pattern Double -> ControlPattern
ringdf = String -> Pattern Double -> ControlPattern
pF String
"ringdf"
ringdfTake :: String -> [Double] -> ControlPattern
ringdfTake :: String -> [Double] -> ControlPattern
ringdfTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"ringdf" String
name [Double]
xs
ringdfCount :: String -> ControlPattern
ringdfCount :: String -> ControlPattern
ringdfCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"ringdf" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
ringdfCountTo :: String -> Pattern Double -> Pattern ValueMap
ringdfCountTo :: String -> Pattern Double -> ControlPattern
ringdfCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"ringdf" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

ringdfbus :: Pattern Int -> Pattern Double -> ControlPattern
ringdfbus :: Pattern Int -> Pattern Double -> ControlPattern
ringdfbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"ringdf" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^ringdf" Pattern Int
busid)
ringdfrecv :: Pattern Int -> ControlPattern
ringdfrecv :: Pattern Int -> ControlPattern
ringdfrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^ringdf" Pattern Int
busid

-- | ring modulation
ringf :: Pattern Double -> ControlPattern
ringf :: Pattern Double -> ControlPattern
ringf = String -> Pattern Double -> ControlPattern
pF String
"ringf"
ringfTake :: String -> [Double] -> ControlPattern
ringfTake :: String -> [Double] -> ControlPattern
ringfTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"ringf" String
name [Double]
xs
ringfCount :: String -> ControlPattern
ringfCount :: String -> ControlPattern
ringfCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"ringf" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
ringfCountTo :: String -> Pattern Double -> Pattern ValueMap
ringfCountTo :: String -> Pattern Double -> ControlPattern
ringfCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"ringf" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

ringfbus :: Pattern Int -> Pattern Double -> ControlPattern
ringfbus :: Pattern Int -> Pattern Double -> ControlPattern
ringfbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"ringf" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^ringf" Pattern Int
busid)
ringfrecv :: Pattern Int -> ControlPattern
ringfrecv :: Pattern Int -> ControlPattern
ringfrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^ringf" Pattern Int
busid

-- | a pattern of numbers from 0 to 1. Sets the level of reverb.
room :: Pattern Double -> ControlPattern
room :: Pattern Double -> ControlPattern
room = String -> Pattern Double -> ControlPattern
pF String
"room"
roomTake :: String -> [Double] -> ControlPattern
roomTake :: String -> [Double] -> ControlPattern
roomTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"room" String
name [Double]
xs
roomCount :: String -> ControlPattern
roomCount :: String -> ControlPattern
roomCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"room" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
roomCountTo :: String -> Pattern Double -> Pattern ValueMap
roomCountTo :: String -> Pattern Double -> ControlPattern
roomCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"room" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

roombus :: Pattern Int -> Pattern Double -> ControlPattern
roombus :: Pattern Int -> Pattern Double -> ControlPattern
roombus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"room" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^room" Pattern Int
busid)
roomrecv :: Pattern Int -> ControlPattern
roomrecv :: Pattern Int -> ControlPattern
roomrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^room" Pattern Int
busid

-- | 
sagogo :: Pattern Double -> ControlPattern
sagogo :: Pattern Double -> ControlPattern
sagogo = String -> Pattern Double -> ControlPattern
pF String
"sagogo"
sagogoTake :: String -> [Double] -> ControlPattern
sagogoTake :: String -> [Double] -> ControlPattern
sagogoTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"sagogo" String
name [Double]
xs
sagogoCount :: String -> ControlPattern
sagogoCount :: String -> ControlPattern
sagogoCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"sagogo" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
sagogoCountTo :: String -> Pattern Double -> Pattern ValueMap
sagogoCountTo :: String -> Pattern Double -> ControlPattern
sagogoCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"sagogo" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

sagogobus :: Pattern Int -> Pattern Double -> ControlPattern
sagogobus :: Pattern Int -> Pattern Double -> ControlPattern
sagogobus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"sagogo" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^sagogo" Pattern Int
busid)
sagogorecv :: Pattern Int -> ControlPattern
sagogorecv :: Pattern Int -> ControlPattern
sagogorecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^sagogo" Pattern Int
busid

-- | 
sclap :: Pattern Double -> ControlPattern
sclap :: Pattern Double -> ControlPattern
sclap = String -> Pattern Double -> ControlPattern
pF String
"sclap"
sclapTake :: String -> [Double] -> ControlPattern
sclapTake :: String -> [Double] -> ControlPattern
sclapTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"sclap" String
name [Double]
xs
sclapCount :: String -> ControlPattern
sclapCount :: String -> ControlPattern
sclapCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"sclap" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
sclapCountTo :: String -> Pattern Double -> Pattern ValueMap
sclapCountTo :: String -> Pattern Double -> ControlPattern
sclapCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"sclap" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

sclapbus :: Pattern Int -> Pattern Double -> ControlPattern
sclapbus :: Pattern Int -> Pattern Double -> ControlPattern
sclapbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"sclap" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^sclap" Pattern Int
busid)
sclaprecv :: Pattern Int -> ControlPattern
sclaprecv :: Pattern Int -> ControlPattern
sclaprecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^sclap" Pattern Int
busid

-- | 
sclaves :: Pattern Double -> ControlPattern
sclaves :: Pattern Double -> ControlPattern
sclaves = String -> Pattern Double -> ControlPattern
pF String
"sclaves"
sclavesTake :: String -> [Double] -> ControlPattern
sclavesTake :: String -> [Double] -> ControlPattern
sclavesTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"sclaves" String
name [Double]
xs
sclavesCount :: String -> ControlPattern
sclavesCount :: String -> ControlPattern
sclavesCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"sclaves" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
sclavesCountTo :: String -> Pattern Double -> Pattern ValueMap
sclavesCountTo :: String -> Pattern Double -> ControlPattern
sclavesCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"sclaves" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

sclavesbus :: Pattern Int -> Pattern Double -> ControlPattern
sclavesbus :: Pattern Int -> Pattern Double -> ControlPattern
sclavesbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"sclaves" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^sclaves" Pattern Int
busid)
sclavesrecv :: Pattern Int -> ControlPattern
sclavesrecv :: Pattern Int -> ControlPattern
sclavesrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^sclaves" Pattern Int
busid

-- | Spectral scramble
scram :: Pattern Double -> ControlPattern
scram :: Pattern Double -> ControlPattern
scram = String -> Pattern Double -> ControlPattern
pF String
"scram"
scramTake :: String -> [Double] -> ControlPattern
scramTake :: String -> [Double] -> ControlPattern
scramTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"scram" String
name [Double]
xs
scramCount :: String -> ControlPattern
scramCount :: String -> ControlPattern
scramCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"scram" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
scramCountTo :: String -> Pattern Double -> Pattern ValueMap
scramCountTo :: String -> Pattern Double -> ControlPattern
scramCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"scram" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

scrambus :: Pattern Int -> Pattern Double -> ControlPattern
scrambus :: Pattern Int -> Pattern Double -> ControlPattern
scrambus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"scram" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^scram" Pattern Int
busid)
scramrecv :: Pattern Int -> ControlPattern
scramrecv :: Pattern Int -> ControlPattern
scramrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^scram" Pattern Int
busid

-- | 
scrash :: Pattern Double -> ControlPattern
scrash :: Pattern Double -> ControlPattern
scrash = String -> Pattern Double -> ControlPattern
pF String
"scrash"
scrashTake :: String -> [Double] -> ControlPattern
scrashTake :: String -> [Double] -> ControlPattern
scrashTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"scrash" String
name [Double]
xs
scrashCount :: String -> ControlPattern
scrashCount :: String -> ControlPattern
scrashCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"scrash" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
scrashCountTo :: String -> Pattern Double -> Pattern ValueMap
scrashCountTo :: String -> Pattern Double -> ControlPattern
scrashCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"scrash" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

scrashbus :: Pattern Int -> Pattern Double -> ControlPattern
scrashbus :: Pattern Int -> Pattern Double -> ControlPattern
scrashbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"scrash" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^scrash" Pattern Int
busid)
scrashrecv :: Pattern Int -> ControlPattern
scrashrecv :: Pattern Int -> ControlPattern
scrashrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^scrash" Pattern Int
busid

-- | 
seconds :: Pattern Double -> ControlPattern
seconds :: Pattern Double -> ControlPattern
seconds = String -> Pattern Double -> ControlPattern
pF String
"seconds"
secondsTake :: String -> [Double] -> ControlPattern
secondsTake :: String -> [Double] -> ControlPattern
secondsTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"seconds" String
name [Double]
xs
secondsCount :: String -> ControlPattern
secondsCount :: String -> ControlPattern
secondsCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"seconds" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
secondsCountTo :: String -> Pattern Double -> Pattern ValueMap
secondsCountTo :: String -> Pattern Double -> ControlPattern
secondsCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"seconds" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

secondsbus :: Pattern Int -> Pattern Double -> ControlPattern
secondsbus :: Pattern Int -> Pattern Double -> ControlPattern
secondsbus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'seconds' can't be sent to a bus."

-- | 
semitone :: Pattern Double -> ControlPattern
semitone :: Pattern Double -> ControlPattern
semitone = String -> Pattern Double -> ControlPattern
pF String
"semitone"
semitoneTake :: String -> [Double] -> ControlPattern
semitoneTake :: String -> [Double] -> ControlPattern
semitoneTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"semitone" String
name [Double]
xs
semitoneCount :: String -> ControlPattern
semitoneCount :: String -> ControlPattern
semitoneCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"semitone" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
semitoneCountTo :: String -> Pattern Double -> Pattern ValueMap
semitoneCountTo :: String -> Pattern Double -> ControlPattern
semitoneCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"semitone" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

semitonebus :: Pattern Int -> Pattern Double -> ControlPattern
semitonebus :: Pattern Int -> Pattern Double -> ControlPattern
semitonebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"semitone" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^semitone" Pattern Int
busid)
semitonerecv :: Pattern Int -> ControlPattern
semitonerecv :: Pattern Int -> ControlPattern
semitonerecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^semitone" Pattern Int
busid

-- | wave shaping distortion, a pattern of numbers from 0 for no distortion up to 1 for loads of distortion.
shape :: Pattern Double -> ControlPattern
shape :: Pattern Double -> ControlPattern
shape = String -> Pattern Double -> ControlPattern
pF String
"shape"
shapeTake :: String -> [Double] -> ControlPattern
shapeTake :: String -> [Double] -> ControlPattern
shapeTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"shape" String
name [Double]
xs
shapeCount :: String -> ControlPattern
shapeCount :: String -> ControlPattern
shapeCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"shape" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
shapeCountTo :: String -> Pattern Double -> Pattern ValueMap
shapeCountTo :: String -> Pattern Double -> ControlPattern
shapeCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"shape" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

shapebus :: Pattern Int -> Pattern Double -> ControlPattern
shapebus :: Pattern Int -> Pattern Double -> ControlPattern
shapebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"shape" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^shape" Pattern Int
busid)
shaperecv :: Pattern Int -> ControlPattern
shaperecv :: Pattern Int -> ControlPattern
shaperecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^shape" Pattern Int
busid

-- | a pattern of numbers from 0 to 1. Sets the perceptual size (reverb time) of the `room` to be used in reverb.
size :: Pattern Double -> ControlPattern
size :: Pattern Double -> ControlPattern
size = String -> Pattern Double -> ControlPattern
pF String
"size"
sizeTake :: String -> [Double] -> ControlPattern
sizeTake :: String -> [Double] -> ControlPattern
sizeTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"size" String
name [Double]
xs
sizeCount :: String -> ControlPattern
sizeCount :: String -> ControlPattern
sizeCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"size" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
sizeCountTo :: String -> Pattern Double -> Pattern ValueMap
sizeCountTo :: String -> Pattern Double -> ControlPattern
sizeCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"size" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

sizebus :: Pattern Int -> Pattern Double -> ControlPattern
sizebus :: Pattern Int -> Pattern Double -> ControlPattern
sizebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"size" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^size" Pattern Int
busid)
sizerecv :: Pattern Int -> ControlPattern
sizerecv :: Pattern Int -> ControlPattern
sizerecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^size" Pattern Int
busid

-- | 
slide :: Pattern Double -> ControlPattern
slide :: Pattern Double -> ControlPattern
slide = String -> Pattern Double -> ControlPattern
pF String
"slide"
slideTake :: String -> [Double] -> ControlPattern
slideTake :: String -> [Double] -> ControlPattern
slideTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"slide" String
name [Double]
xs
slideCount :: String -> ControlPattern
slideCount :: String -> ControlPattern
slideCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slide" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
slideCountTo :: String -> Pattern Double -> Pattern ValueMap
slideCountTo :: String -> Pattern Double -> ControlPattern
slideCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slide" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

slidebus :: Pattern Int -> Pattern Double -> ControlPattern
slidebus :: Pattern Int -> Pattern Double -> ControlPattern
slidebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"slide" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^slide" Pattern Int
busid)
sliderecv :: Pattern Int -> ControlPattern
sliderecv :: Pattern Int -> ControlPattern
sliderecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^slide" Pattern Int
busid

-- | 
slider0 :: Pattern Double -> ControlPattern
slider0 :: Pattern Double -> ControlPattern
slider0 = String -> Pattern Double -> ControlPattern
pF String
"slider0"
slider0Take :: String -> [Double] -> ControlPattern
slider0Take :: String -> [Double] -> ControlPattern
slider0Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"slider0" String
name [Double]
xs
slider0Count :: String -> ControlPattern
slider0Count :: String -> ControlPattern
slider0Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider0" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
slider0CountTo :: String -> Pattern Double -> Pattern ValueMap
slider0CountTo :: String -> Pattern Double -> ControlPattern
slider0CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider0" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

slider0bus :: Pattern Int -> Pattern Double -> ControlPattern
slider0bus :: Pattern Int -> Pattern Double -> ControlPattern
slider0bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"slider0" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^slider0" Pattern Int
busid)
slider0recv :: Pattern Int -> ControlPattern
slider0recv :: Pattern Int -> ControlPattern
slider0recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^slider0" Pattern Int
busid

-- | 
slider1 :: Pattern Double -> ControlPattern
slider1 :: Pattern Double -> ControlPattern
slider1 = String -> Pattern Double -> ControlPattern
pF String
"slider1"
slider1Take :: String -> [Double] -> ControlPattern
slider1Take :: String -> [Double] -> ControlPattern
slider1Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"slider1" String
name [Double]
xs
slider1Count :: String -> ControlPattern
slider1Count :: String -> ControlPattern
slider1Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider1" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
slider1CountTo :: String -> Pattern Double -> Pattern ValueMap
slider1CountTo :: String -> Pattern Double -> ControlPattern
slider1CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider1" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

slider1bus :: Pattern Int -> Pattern Double -> ControlPattern
slider1bus :: Pattern Int -> Pattern Double -> ControlPattern
slider1bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"slider1" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^slider1" Pattern Int
busid)
slider1recv :: Pattern Int -> ControlPattern
slider1recv :: Pattern Int -> ControlPattern
slider1recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^slider1" Pattern Int
busid

-- | 
slider10 :: Pattern Double -> ControlPattern
slider10 :: Pattern Double -> ControlPattern
slider10 = String -> Pattern Double -> ControlPattern
pF String
"slider10"
slider10Take :: String -> [Double] -> ControlPattern
slider10Take :: String -> [Double] -> ControlPattern
slider10Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"slider10" String
name [Double]
xs
slider10Count :: String -> ControlPattern
slider10Count :: String -> ControlPattern
slider10Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider10" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
slider10CountTo :: String -> Pattern Double -> Pattern ValueMap
slider10CountTo :: String -> Pattern Double -> ControlPattern
slider10CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider10" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

slider10bus :: Pattern Int -> Pattern Double -> ControlPattern
slider10bus :: Pattern Int -> Pattern Double -> ControlPattern
slider10bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"slider10" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^slider10" Pattern Int
busid)
slider10recv :: Pattern Int -> ControlPattern
slider10recv :: Pattern Int -> ControlPattern
slider10recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^slider10" Pattern Int
busid

-- | 
slider11 :: Pattern Double -> ControlPattern
slider11 :: Pattern Double -> ControlPattern
slider11 = String -> Pattern Double -> ControlPattern
pF String
"slider11"
slider11Take :: String -> [Double] -> ControlPattern
slider11Take :: String -> [Double] -> ControlPattern
slider11Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"slider11" String
name [Double]
xs
slider11Count :: String -> ControlPattern
slider11Count :: String -> ControlPattern
slider11Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider11" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
slider11CountTo :: String -> Pattern Double -> Pattern ValueMap
slider11CountTo :: String -> Pattern Double -> ControlPattern
slider11CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider11" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

slider11bus :: Pattern Int -> Pattern Double -> ControlPattern
slider11bus :: Pattern Int -> Pattern Double -> ControlPattern
slider11bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"slider11" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^slider11" Pattern Int
busid)
slider11recv :: Pattern Int -> ControlPattern
slider11recv :: Pattern Int -> ControlPattern
slider11recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^slider11" Pattern Int
busid

-- | 
slider12 :: Pattern Double -> ControlPattern
slider12 :: Pattern Double -> ControlPattern
slider12 = String -> Pattern Double -> ControlPattern
pF String
"slider12"
slider12Take :: String -> [Double] -> ControlPattern
slider12Take :: String -> [Double] -> ControlPattern
slider12Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"slider12" String
name [Double]
xs
slider12Count :: String -> ControlPattern
slider12Count :: String -> ControlPattern
slider12Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider12" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
slider12CountTo :: String -> Pattern Double -> Pattern ValueMap
slider12CountTo :: String -> Pattern Double -> ControlPattern
slider12CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider12" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

slider12bus :: Pattern Int -> Pattern Double -> ControlPattern
slider12bus :: Pattern Int -> Pattern Double -> ControlPattern
slider12bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"slider12" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^slider12" Pattern Int
busid)
slider12recv :: Pattern Int -> ControlPattern
slider12recv :: Pattern Int -> ControlPattern
slider12recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^slider12" Pattern Int
busid

-- | 
slider13 :: Pattern Double -> ControlPattern
slider13 :: Pattern Double -> ControlPattern
slider13 = String -> Pattern Double -> ControlPattern
pF String
"slider13"
slider13Take :: String -> [Double] -> ControlPattern
slider13Take :: String -> [Double] -> ControlPattern
slider13Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"slider13" String
name [Double]
xs
slider13Count :: String -> ControlPattern
slider13Count :: String -> ControlPattern
slider13Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider13" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
slider13CountTo :: String -> Pattern Double -> Pattern ValueMap
slider13CountTo :: String -> Pattern Double -> ControlPattern
slider13CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider13" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

slider13bus :: Pattern Int -> Pattern Double -> ControlPattern
slider13bus :: Pattern Int -> Pattern Double -> ControlPattern
slider13bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"slider13" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^slider13" Pattern Int
busid)
slider13recv :: Pattern Int -> ControlPattern
slider13recv :: Pattern Int -> ControlPattern
slider13recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^slider13" Pattern Int
busid

-- | 
slider14 :: Pattern Double -> ControlPattern
slider14 :: Pattern Double -> ControlPattern
slider14 = String -> Pattern Double -> ControlPattern
pF String
"slider14"
slider14Take :: String -> [Double] -> ControlPattern
slider14Take :: String -> [Double] -> ControlPattern
slider14Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"slider14" String
name [Double]
xs
slider14Count :: String -> ControlPattern
slider14Count :: String -> ControlPattern
slider14Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider14" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
slider14CountTo :: String -> Pattern Double -> Pattern ValueMap
slider14CountTo :: String -> Pattern Double -> ControlPattern
slider14CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider14" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

slider14bus :: Pattern Int -> Pattern Double -> ControlPattern
slider14bus :: Pattern Int -> Pattern Double -> ControlPattern
slider14bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"slider14" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^slider14" Pattern Int
busid)
slider14recv :: Pattern Int -> ControlPattern
slider14recv :: Pattern Int -> ControlPattern
slider14recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^slider14" Pattern Int
busid

-- | 
slider15 :: Pattern Double -> ControlPattern
slider15 :: Pattern Double -> ControlPattern
slider15 = String -> Pattern Double -> ControlPattern
pF String
"slider15"
slider15Take :: String -> [Double] -> ControlPattern
slider15Take :: String -> [Double] -> ControlPattern
slider15Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"slider15" String
name [Double]
xs
slider15Count :: String -> ControlPattern
slider15Count :: String -> ControlPattern
slider15Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider15" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
slider15CountTo :: String -> Pattern Double -> Pattern ValueMap
slider15CountTo :: String -> Pattern Double -> ControlPattern
slider15CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider15" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

slider15bus :: Pattern Int -> Pattern Double -> ControlPattern
slider15bus :: Pattern Int -> Pattern Double -> ControlPattern
slider15bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"slider15" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^slider15" Pattern Int
busid)
slider15recv :: Pattern Int -> ControlPattern
slider15recv :: Pattern Int -> ControlPattern
slider15recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^slider15" Pattern Int
busid

-- | 
slider2 :: Pattern Double -> ControlPattern
slider2 :: Pattern Double -> ControlPattern
slider2 = String -> Pattern Double -> ControlPattern
pF String
"slider2"
slider2Take :: String -> [Double] -> ControlPattern
slider2Take :: String -> [Double] -> ControlPattern
slider2Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"slider2" String
name [Double]
xs
slider2Count :: String -> ControlPattern
slider2Count :: String -> ControlPattern
slider2Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider2" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
slider2CountTo :: String -> Pattern Double -> Pattern ValueMap
slider2CountTo :: String -> Pattern Double -> ControlPattern
slider2CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider2" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

slider2bus :: Pattern Int -> Pattern Double -> ControlPattern
slider2bus :: Pattern Int -> Pattern Double -> ControlPattern
slider2bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"slider2" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^slider2" Pattern Int
busid)
slider2recv :: Pattern Int -> ControlPattern
slider2recv :: Pattern Int -> ControlPattern
slider2recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^slider2" Pattern Int
busid

-- | 
slider3 :: Pattern Double -> ControlPattern
slider3 :: Pattern Double -> ControlPattern
slider3 = String -> Pattern Double -> ControlPattern
pF String
"slider3"
slider3Take :: String -> [Double] -> ControlPattern
slider3Take :: String -> [Double] -> ControlPattern
slider3Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"slider3" String
name [Double]
xs
slider3Count :: String -> ControlPattern
slider3Count :: String -> ControlPattern
slider3Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider3" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
slider3CountTo :: String -> Pattern Double -> Pattern ValueMap
slider3CountTo :: String -> Pattern Double -> ControlPattern
slider3CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider3" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

slider3bus :: Pattern Int -> Pattern Double -> ControlPattern
slider3bus :: Pattern Int -> Pattern Double -> ControlPattern
slider3bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"slider3" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^slider3" Pattern Int
busid)
slider3recv :: Pattern Int -> ControlPattern
slider3recv :: Pattern Int -> ControlPattern
slider3recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^slider3" Pattern Int
busid

-- | 
slider4 :: Pattern Double -> ControlPattern
slider4 :: Pattern Double -> ControlPattern
slider4 = String -> Pattern Double -> ControlPattern
pF String
"slider4"
slider4Take :: String -> [Double] -> ControlPattern
slider4Take :: String -> [Double] -> ControlPattern
slider4Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"slider4" String
name [Double]
xs
slider4Count :: String -> ControlPattern
slider4Count :: String -> ControlPattern
slider4Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider4" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
slider4CountTo :: String -> Pattern Double -> Pattern ValueMap
slider4CountTo :: String -> Pattern Double -> ControlPattern
slider4CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider4" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

slider4bus :: Pattern Int -> Pattern Double -> ControlPattern
slider4bus :: Pattern Int -> Pattern Double -> ControlPattern
slider4bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"slider4" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^slider4" Pattern Int
busid)
slider4recv :: Pattern Int -> ControlPattern
slider4recv :: Pattern Int -> ControlPattern
slider4recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^slider4" Pattern Int
busid

-- | 
slider5 :: Pattern Double -> ControlPattern
slider5 :: Pattern Double -> ControlPattern
slider5 = String -> Pattern Double -> ControlPattern
pF String
"slider5"
slider5Take :: String -> [Double] -> ControlPattern
slider5Take :: String -> [Double] -> ControlPattern
slider5Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"slider5" String
name [Double]
xs
slider5Count :: String -> ControlPattern
slider5Count :: String -> ControlPattern
slider5Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider5" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
slider5CountTo :: String -> Pattern Double -> Pattern ValueMap
slider5CountTo :: String -> Pattern Double -> ControlPattern
slider5CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider5" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

slider5bus :: Pattern Int -> Pattern Double -> ControlPattern
slider5bus :: Pattern Int -> Pattern Double -> ControlPattern
slider5bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"slider5" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^slider5" Pattern Int
busid)
slider5recv :: Pattern Int -> ControlPattern
slider5recv :: Pattern Int -> ControlPattern
slider5recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^slider5" Pattern Int
busid

-- | 
slider6 :: Pattern Double -> ControlPattern
slider6 :: Pattern Double -> ControlPattern
slider6 = String -> Pattern Double -> ControlPattern
pF String
"slider6"
slider6Take :: String -> [Double] -> ControlPattern
slider6Take :: String -> [Double] -> ControlPattern
slider6Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"slider6" String
name [Double]
xs
slider6Count :: String -> ControlPattern
slider6Count :: String -> ControlPattern
slider6Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider6" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
slider6CountTo :: String -> Pattern Double -> Pattern ValueMap
slider6CountTo :: String -> Pattern Double -> ControlPattern
slider6CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider6" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

slider6bus :: Pattern Int -> Pattern Double -> ControlPattern
slider6bus :: Pattern Int -> Pattern Double -> ControlPattern
slider6bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"slider6" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^slider6" Pattern Int
busid)
slider6recv :: Pattern Int -> ControlPattern
slider6recv :: Pattern Int -> ControlPattern
slider6recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^slider6" Pattern Int
busid

-- | 
slider7 :: Pattern Double -> ControlPattern
slider7 :: Pattern Double -> ControlPattern
slider7 = String -> Pattern Double -> ControlPattern
pF String
"slider7"
slider7Take :: String -> [Double] -> ControlPattern
slider7Take :: String -> [Double] -> ControlPattern
slider7Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"slider7" String
name [Double]
xs
slider7Count :: String -> ControlPattern
slider7Count :: String -> ControlPattern
slider7Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider7" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
slider7CountTo :: String -> Pattern Double -> Pattern ValueMap
slider7CountTo :: String -> Pattern Double -> ControlPattern
slider7CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider7" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

slider7bus :: Pattern Int -> Pattern Double -> ControlPattern
slider7bus :: Pattern Int -> Pattern Double -> ControlPattern
slider7bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"slider7" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^slider7" Pattern Int
busid)
slider7recv :: Pattern Int -> ControlPattern
slider7recv :: Pattern Int -> ControlPattern
slider7recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^slider7" Pattern Int
busid

-- | 
slider8 :: Pattern Double -> ControlPattern
slider8 :: Pattern Double -> ControlPattern
slider8 = String -> Pattern Double -> ControlPattern
pF String
"slider8"
slider8Take :: String -> [Double] -> ControlPattern
slider8Take :: String -> [Double] -> ControlPattern
slider8Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"slider8" String
name [Double]
xs
slider8Count :: String -> ControlPattern
slider8Count :: String -> ControlPattern
slider8Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider8" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
slider8CountTo :: String -> Pattern Double -> Pattern ValueMap
slider8CountTo :: String -> Pattern Double -> ControlPattern
slider8CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider8" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

slider8bus :: Pattern Int -> Pattern Double -> ControlPattern
slider8bus :: Pattern Int -> Pattern Double -> ControlPattern
slider8bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"slider8" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^slider8" Pattern Int
busid)
slider8recv :: Pattern Int -> ControlPattern
slider8recv :: Pattern Int -> ControlPattern
slider8recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^slider8" Pattern Int
busid

-- | 
slider9 :: Pattern Double -> ControlPattern
slider9 :: Pattern Double -> ControlPattern
slider9 = String -> Pattern Double -> ControlPattern
pF String
"slider9"
slider9Take :: String -> [Double] -> ControlPattern
slider9Take :: String -> [Double] -> ControlPattern
slider9Take String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"slider9" String
name [Double]
xs
slider9Count :: String -> ControlPattern
slider9Count :: String -> ControlPattern
slider9Count String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider9" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
slider9CountTo :: String -> Pattern Double -> Pattern ValueMap
slider9CountTo :: String -> Pattern Double -> ControlPattern
slider9CountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"slider9" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

slider9bus :: Pattern Int -> Pattern Double -> ControlPattern
slider9bus :: Pattern Int -> Pattern Double -> ControlPattern
slider9bus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"slider9" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^slider9" Pattern Int
busid)
slider9recv :: Pattern Int -> ControlPattern
slider9recv :: Pattern Int -> ControlPattern
slider9recv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^slider9" Pattern Int
busid

-- | Spectral smear
smear :: Pattern Double -> ControlPattern
smear :: Pattern Double -> ControlPattern
smear = String -> Pattern Double -> ControlPattern
pF String
"smear"
smearTake :: String -> [Double] -> ControlPattern
smearTake :: String -> [Double] -> ControlPattern
smearTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"smear" String
name [Double]
xs
smearCount :: String -> ControlPattern
smearCount :: String -> ControlPattern
smearCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"smear" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
smearCountTo :: String -> Pattern Double -> Pattern ValueMap
smearCountTo :: String -> Pattern Double -> ControlPattern
smearCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"smear" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

smearbus :: Pattern Int -> Pattern Double -> ControlPattern
smearbus :: Pattern Int -> Pattern Double -> ControlPattern
smearbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"smear" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^smear" Pattern Int
busid)
smearrecv :: Pattern Int -> ControlPattern
smearrecv :: Pattern Int -> ControlPattern
smearrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^smear" Pattern Int
busid

-- | 
songPtr :: Pattern Double -> ControlPattern
songPtr :: Pattern Double -> ControlPattern
songPtr = String -> Pattern Double -> ControlPattern
pF String
"songPtr"
songPtrTake :: String -> [Double] -> ControlPattern
songPtrTake :: String -> [Double] -> ControlPattern
songPtrTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"songPtr" String
name [Double]
xs
songPtrCount :: String -> ControlPattern
songPtrCount :: String -> ControlPattern
songPtrCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"songPtr" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
songPtrCountTo :: String -> Pattern Double -> Pattern ValueMap
songPtrCountTo :: String -> Pattern Double -> ControlPattern
songPtrCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"songPtr" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

songPtrbus :: Pattern Int -> Pattern Double -> ControlPattern
songPtrbus :: Pattern Int -> Pattern Double -> ControlPattern
songPtrbus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'songPtr' can't be sent to a bus."

-- | a pattern of numbers which changes the speed of sample playback, i.e. a cheap way of changing pitch. Negative values will play the sample backwards!
speed :: Pattern Double -> ControlPattern
speed :: Pattern Double -> ControlPattern
speed = String -> Pattern Double -> ControlPattern
pF String
"speed"
speedTake :: String -> [Double] -> ControlPattern
speedTake :: String -> [Double] -> ControlPattern
speedTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"speed" String
name [Double]
xs
speedCount :: String -> ControlPattern
speedCount :: String -> ControlPattern
speedCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"speed" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
speedCountTo :: String -> Pattern Double -> Pattern ValueMap
speedCountTo :: String -> Pattern Double -> ControlPattern
speedCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"speed" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

speedbus :: Pattern Int -> Pattern Double -> ControlPattern
speedbus :: Pattern Int -> Pattern Double -> ControlPattern
speedbus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'speed' can't be sent to a bus."

-- | 
squiz :: Pattern Double -> ControlPattern
squiz :: Pattern Double -> ControlPattern
squiz = String -> Pattern Double -> ControlPattern
pF String
"squiz"
squizTake :: String -> [Double] -> ControlPattern
squizTake :: String -> [Double] -> ControlPattern
squizTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"squiz" String
name [Double]
xs
squizCount :: String -> ControlPattern
squizCount :: String -> ControlPattern
squizCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"squiz" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
squizCountTo :: String -> Pattern Double -> Pattern ValueMap
squizCountTo :: String -> Pattern Double -> ControlPattern
squizCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"squiz" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

squizbus :: Pattern Int -> Pattern Double -> ControlPattern
squizbus :: Pattern Int -> Pattern Double -> ControlPattern
squizbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"squiz" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^squiz" Pattern Int
busid)
squizrecv :: Pattern Int -> ControlPattern
squizrecv :: Pattern Int -> ControlPattern
squizrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^squiz" Pattern Int
busid

-- | 
stepsPerOctave :: Pattern Double -> ControlPattern
stepsPerOctave :: Pattern Double -> ControlPattern
stepsPerOctave = String -> Pattern Double -> ControlPattern
pF String
"stepsPerOctave"
stepsPerOctaveTake :: String -> [Double] -> ControlPattern
stepsPerOctaveTake :: String -> [Double] -> ControlPattern
stepsPerOctaveTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"stepsPerOctave" String
name [Double]
xs
stepsPerOctaveCount :: String -> ControlPattern
stepsPerOctaveCount :: String -> ControlPattern
stepsPerOctaveCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"stepsPerOctave" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
stepsPerOctaveCountTo :: String -> Pattern Double -> Pattern ValueMap
stepsPerOctaveCountTo :: String -> Pattern Double -> ControlPattern
stepsPerOctaveCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"stepsPerOctave" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

stepsPerOctavebus :: Pattern Int -> Pattern Double -> ControlPattern
stepsPerOctavebus :: Pattern Int -> Pattern Double -> ControlPattern
stepsPerOctavebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"stepsPerOctave" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^stepsPerOctave" Pattern Int
busid)
stepsPerOctaverecv :: Pattern Int -> ControlPattern
stepsPerOctaverecv :: Pattern Int -> ControlPattern
stepsPerOctaverecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^stepsPerOctave" Pattern Int
busid

-- | 
stutterdepth :: Pattern Double -> ControlPattern
stutterdepth :: Pattern Double -> ControlPattern
stutterdepth = String -> Pattern Double -> ControlPattern
pF String
"stutterdepth"
stutterdepthTake :: String -> [Double] -> ControlPattern
stutterdepthTake :: String -> [Double] -> ControlPattern
stutterdepthTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"stutterdepth" String
name [Double]
xs
stutterdepthCount :: String -> ControlPattern
stutterdepthCount :: String -> ControlPattern
stutterdepthCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"stutterdepth" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
stutterdepthCountTo :: String -> Pattern Double -> Pattern ValueMap
stutterdepthCountTo :: String -> Pattern Double -> ControlPattern
stutterdepthCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"stutterdepth" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

stutterdepthbus :: Pattern Int -> Pattern Double -> ControlPattern
stutterdepthbus :: Pattern Int -> Pattern Double -> ControlPattern
stutterdepthbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"stutterdepth" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^stutterdepth" Pattern Int
busid)
stutterdepthrecv :: Pattern Int -> ControlPattern
stutterdepthrecv :: Pattern Int -> ControlPattern
stutterdepthrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^stutterdepth" Pattern Int
busid

-- | 
stuttertime :: Pattern Double -> ControlPattern
stuttertime :: Pattern Double -> ControlPattern
stuttertime = String -> Pattern Double -> ControlPattern
pF String
"stuttertime"
stuttertimeTake :: String -> [Double] -> ControlPattern
stuttertimeTake :: String -> [Double] -> ControlPattern
stuttertimeTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"stuttertime" String
name [Double]
xs
stuttertimeCount :: String -> ControlPattern
stuttertimeCount :: String -> ControlPattern
stuttertimeCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"stuttertime" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
stuttertimeCountTo :: String -> Pattern Double -> Pattern ValueMap
stuttertimeCountTo :: String -> Pattern Double -> ControlPattern
stuttertimeCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"stuttertime" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

stuttertimebus :: Pattern Int -> Pattern Double -> ControlPattern
stuttertimebus :: Pattern Int -> Pattern Double -> ControlPattern
stuttertimebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"stuttertime" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^stuttertime" Pattern Int
busid)
stuttertimerecv :: Pattern Int -> ControlPattern
stuttertimerecv :: Pattern Int -> ControlPattern
stuttertimerecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^stuttertime" Pattern Int
busid

-- | 
sustain :: Pattern Double -> ControlPattern
sustain :: Pattern Double -> ControlPattern
sustain = String -> Pattern Double -> ControlPattern
pF String
"sustain"
sustainTake :: String -> [Double] -> ControlPattern
sustainTake :: String -> [Double] -> ControlPattern
sustainTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"sustain" String
name [Double]
xs
sustainCount :: String -> ControlPattern
sustainCount :: String -> ControlPattern
sustainCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"sustain" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
sustainCountTo :: String -> Pattern Double -> Pattern ValueMap
sustainCountTo :: String -> Pattern Double -> ControlPattern
sustainCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"sustain" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

sustainbus :: Pattern Int -> Pattern Double -> ControlPattern
sustainbus :: Pattern Int -> Pattern Double -> ControlPattern
sustainbus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'sustain' can't be sent to a bus."

-- | 
sustainpedal :: Pattern Double -> ControlPattern
sustainpedal :: Pattern Double -> ControlPattern
sustainpedal = String -> Pattern Double -> ControlPattern
pF String
"sustainpedal"
sustainpedalTake :: String -> [Double] -> ControlPattern
sustainpedalTake :: String -> [Double] -> ControlPattern
sustainpedalTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"sustainpedal" String
name [Double]
xs
sustainpedalCount :: String -> ControlPattern
sustainpedalCount :: String -> ControlPattern
sustainpedalCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"sustainpedal" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
sustainpedalCountTo :: String -> Pattern Double -> Pattern ValueMap
sustainpedalCountTo :: String -> Pattern Double -> ControlPattern
sustainpedalCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"sustainpedal" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

sustainpedalbus :: Pattern Int -> Pattern Double -> ControlPattern
sustainpedalbus :: Pattern Int -> Pattern Double -> ControlPattern
sustainpedalbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"sustainpedal" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^sustainpedal" Pattern Int
busid)
sustainpedalrecv :: Pattern Int -> ControlPattern
sustainpedalrecv :: Pattern Int -> ControlPattern
sustainpedalrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^sustainpedal" Pattern Int
busid

-- | for internal sound routing
to :: Pattern Double -> ControlPattern
to :: Pattern Double -> ControlPattern
to = String -> Pattern Double -> ControlPattern
pF String
"to"
toTake :: String -> [Double] -> ControlPattern
toTake :: String -> [Double] -> ControlPattern
toTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"to" String
name [Double]
xs
toCount :: String -> ControlPattern
toCount :: String -> ControlPattern
toCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"to" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
toCountTo :: String -> Pattern Double -> Pattern ValueMap
toCountTo :: String -> Pattern Double -> ControlPattern
toCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"to" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

tobus :: Pattern Int -> Pattern Double -> ControlPattern
tobus :: Pattern Int -> Pattern Double -> ControlPattern
tobus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"to" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^to" Pattern Int
busid)
torecv :: Pattern Int -> ControlPattern
torecv :: Pattern Int -> ControlPattern
torecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^to" Pattern Int
busid

-- | for internal sound routing
toArg :: Pattern String -> ControlPattern
toArg :: Pattern String -> ControlPattern
toArg = String -> Pattern String -> ControlPattern
pS String
"toArg"
toArgTake :: String -> [Double] -> ControlPattern
toArgTake :: String -> [Double] -> ControlPattern
toArgTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"toArg" String
name [Double]
xs
toArgbus :: Pattern Int -> Pattern String -> ControlPattern
toArgbus :: Pattern Int -> Pattern String -> ControlPattern
toArgbus Pattern Int
busid Pattern String
pat = (String -> Pattern String -> ControlPattern
pS String
"toArg" Pattern String
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^toArg" Pattern Int
busid)
toArgrecv :: Pattern Int -> ControlPattern
toArgrecv :: Pattern Int -> ControlPattern
toArgrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^toArg" Pattern Int
busid

-- | 
tomdecay :: Pattern Double -> ControlPattern
tomdecay :: Pattern Double -> ControlPattern
tomdecay = String -> Pattern Double -> ControlPattern
pF String
"tomdecay"
tomdecayTake :: String -> [Double] -> ControlPattern
tomdecayTake :: String -> [Double] -> ControlPattern
tomdecayTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"tomdecay" String
name [Double]
xs
tomdecayCount :: String -> ControlPattern
tomdecayCount :: String -> ControlPattern
tomdecayCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"tomdecay" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
tomdecayCountTo :: String -> Pattern Double -> Pattern ValueMap
tomdecayCountTo :: String -> Pattern Double -> ControlPattern
tomdecayCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"tomdecay" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

tomdecaybus :: Pattern Int -> Pattern Double -> ControlPattern
tomdecaybus :: Pattern Int -> Pattern Double -> ControlPattern
tomdecaybus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"tomdecay" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^tomdecay" Pattern Int
busid)
tomdecayrecv :: Pattern Int -> ControlPattern
tomdecayrecv :: Pattern Int -> ControlPattern
tomdecayrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^tomdecay" Pattern Int
busid

-- | Tremolo Audio DSP effect | params are 'tremolorate' and 'tremolodepth'
tremolodepth :: Pattern Double -> ControlPattern
tremolodepth :: Pattern Double -> ControlPattern
tremolodepth = String -> Pattern Double -> ControlPattern
pF String
"tremolodepth"
tremolodepthTake :: String -> [Double] -> ControlPattern
tremolodepthTake :: String -> [Double] -> ControlPattern
tremolodepthTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"tremolodepth" String
name [Double]
xs
tremolodepthCount :: String -> ControlPattern
tremolodepthCount :: String -> ControlPattern
tremolodepthCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"tremolodepth" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
tremolodepthCountTo :: String -> Pattern Double -> Pattern ValueMap
tremolodepthCountTo :: String -> Pattern Double -> ControlPattern
tremolodepthCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"tremolodepth" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

tremolodepthbus :: Pattern Int -> Pattern Double -> ControlPattern
tremolodepthbus :: Pattern Int -> Pattern Double -> ControlPattern
tremolodepthbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"tremolodepth" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^tremolodepth" Pattern Int
busid)
tremolodepthrecv :: Pattern Int -> ControlPattern
tremolodepthrecv :: Pattern Int -> ControlPattern
tremolodepthrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^tremolodepth" Pattern Int
busid

-- | Tremolo Audio DSP effect | params are 'tremolorate' and 'tremolodepth'
tremolorate :: Pattern Double -> ControlPattern
tremolorate :: Pattern Double -> ControlPattern
tremolorate = String -> Pattern Double -> ControlPattern
pF String
"tremolorate"
tremolorateTake :: String -> [Double] -> ControlPattern
tremolorateTake :: String -> [Double] -> ControlPattern
tremolorateTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"tremolorate" String
name [Double]
xs
tremolorateCount :: String -> ControlPattern
tremolorateCount :: String -> ControlPattern
tremolorateCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"tremolorate" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
tremolorateCountTo :: String -> Pattern Double -> Pattern ValueMap
tremolorateCountTo :: String -> Pattern Double -> ControlPattern
tremolorateCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"tremolorate" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

tremoloratebus :: Pattern Int -> Pattern Double -> ControlPattern
tremoloratebus :: Pattern Int -> Pattern Double -> ControlPattern
tremoloratebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"tremolorate" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^tremolorate" Pattern Int
busid)
tremoloraterecv :: Pattern Int -> ControlPattern
tremoloraterecv :: Pattern Int -> ControlPattern
tremoloraterecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^tremolorate" Pattern Int
busid

-- | tube distortion
triode :: Pattern Double -> ControlPattern
triode :: Pattern Double -> ControlPattern
triode = String -> Pattern Double -> ControlPattern
pF String
"triode"
triodeTake :: String -> [Double] -> ControlPattern
triodeTake :: String -> [Double] -> ControlPattern
triodeTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"triode" String
name [Double]
xs
triodeCount :: String -> ControlPattern
triodeCount :: String -> ControlPattern
triodeCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"triode" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
triodeCountTo :: String -> Pattern Double -> Pattern ValueMap
triodeCountTo :: String -> Pattern Double -> ControlPattern
triodeCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"triode" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

triodebus :: Pattern Int -> Pattern Double -> ControlPattern
triodebus :: Pattern Int -> Pattern Double -> ControlPattern
triodebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"triode" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^triode" Pattern Int
busid)
trioderecv :: Pattern Int -> ControlPattern
trioderecv :: Pattern Int -> ControlPattern
trioderecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^triode" Pattern Int
busid

-- | 
tsdelay :: Pattern Double -> ControlPattern
tsdelay :: Pattern Double -> ControlPattern
tsdelay = String -> Pattern Double -> ControlPattern
pF String
"tsdelay"
tsdelayTake :: String -> [Double] -> ControlPattern
tsdelayTake :: String -> [Double] -> ControlPattern
tsdelayTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"tsdelay" String
name [Double]
xs
tsdelayCount :: String -> ControlPattern
tsdelayCount :: String -> ControlPattern
tsdelayCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"tsdelay" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
tsdelayCountTo :: String -> Pattern Double -> Pattern ValueMap
tsdelayCountTo :: String -> Pattern Double -> ControlPattern
tsdelayCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"tsdelay" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

tsdelaybus :: Pattern Int -> Pattern Double -> ControlPattern
tsdelaybus :: Pattern Int -> Pattern Double -> ControlPattern
tsdelaybus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"tsdelay" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^tsdelay" Pattern Int
busid)
tsdelayrecv :: Pattern Int -> ControlPattern
tsdelayrecv :: Pattern Int -> ControlPattern
tsdelayrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^tsdelay" Pattern Int
busid

-- | 
uid :: Pattern Double -> ControlPattern
uid :: Pattern Double -> ControlPattern
uid = String -> Pattern Double -> ControlPattern
pF String
"uid"
uidTake :: String -> [Double] -> ControlPattern
uidTake :: String -> [Double] -> ControlPattern
uidTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"uid" String
name [Double]
xs
uidCount :: String -> ControlPattern
uidCount :: String -> ControlPattern
uidCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"uid" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
uidCountTo :: String -> Pattern Double -> Pattern ValueMap
uidCountTo :: String -> Pattern Double -> ControlPattern
uidCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"uid" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

uidbus :: Pattern Int -> Pattern Double -> ControlPattern
uidbus :: Pattern Int -> Pattern Double -> ControlPattern
uidbus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'uid' can't be sent to a bus."

-- | used in conjunction with `speed`, accepts values of "r" (rate, default behavior), "c" (cycles), or "s" (seconds). Using `unit "c"` means `speed` will be interpreted in units of cycles, e.g. `speed "1"` means samples will be stretched to fill a cycle. Using `unit "s"` means the playback speed will be adjusted so that the duration is the number of seconds specified by `speed`.
unit :: Pattern String -> ControlPattern
unit :: Pattern String -> ControlPattern
unit = String -> Pattern String -> ControlPattern
pS String
"unit"
unitTake :: String -> [Double] -> ControlPattern
unitTake :: String -> [Double] -> ControlPattern
unitTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"unit" String
name [Double]
xs
unitbus :: Pattern Int -> Pattern String -> ControlPattern
unitbus :: Pattern Int -> Pattern String -> ControlPattern
unitbus Pattern Int
_ Pattern String
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'unit' can't be sent to a bus."

-- | 
val :: Pattern Double -> ControlPattern
val :: Pattern Double -> ControlPattern
val = String -> Pattern Double -> ControlPattern
pF String
"val"
valTake :: String -> [Double] -> ControlPattern
valTake :: String -> [Double] -> ControlPattern
valTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"val" String
name [Double]
xs
valCount :: String -> ControlPattern
valCount :: String -> ControlPattern
valCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"val" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
valCountTo :: String -> Pattern Double -> Pattern ValueMap
valCountTo :: String -> Pattern Double -> ControlPattern
valCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"val" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

valbus :: Pattern Int -> Pattern Double -> ControlPattern
valbus :: Pattern Int -> Pattern Double -> ControlPattern
valbus Pattern Int
_ Pattern Double
_ = String -> ControlPattern
forall a. HasCallStack => String -> a
error (String -> ControlPattern) -> String -> ControlPattern
forall a b. (a -> b) -> a -> b
$ String
"Control parameter 'val' can't be sent to a bus."

-- | 
vcfegint :: Pattern Double -> ControlPattern
vcfegint :: Pattern Double -> ControlPattern
vcfegint = String -> Pattern Double -> ControlPattern
pF String
"vcfegint"
vcfegintTake :: String -> [Double] -> ControlPattern
vcfegintTake :: String -> [Double] -> ControlPattern
vcfegintTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"vcfegint" String
name [Double]
xs
vcfegintCount :: String -> ControlPattern
vcfegintCount :: String -> ControlPattern
vcfegintCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"vcfegint" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
vcfegintCountTo :: String -> Pattern Double -> Pattern ValueMap
vcfegintCountTo :: String -> Pattern Double -> ControlPattern
vcfegintCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"vcfegint" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

vcfegintbus :: Pattern Int -> Pattern Double -> ControlPattern
vcfegintbus :: Pattern Int -> Pattern Double -> ControlPattern
vcfegintbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"vcfegint" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^vcfegint" Pattern Int
busid)
vcfegintrecv :: Pattern Int -> ControlPattern
vcfegintrecv :: Pattern Int -> ControlPattern
vcfegintrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^vcfegint" Pattern Int
busid

-- | 
vcoegint :: Pattern Double -> ControlPattern
vcoegint :: Pattern Double -> ControlPattern
vcoegint = String -> Pattern Double -> ControlPattern
pF String
"vcoegint"
vcoegintTake :: String -> [Double] -> ControlPattern
vcoegintTake :: String -> [Double] -> ControlPattern
vcoegintTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"vcoegint" String
name [Double]
xs
vcoegintCount :: String -> ControlPattern
vcoegintCount :: String -> ControlPattern
vcoegintCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"vcoegint" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
vcoegintCountTo :: String -> Pattern Double -> Pattern ValueMap
vcoegintCountTo :: String -> Pattern Double -> ControlPattern
vcoegintCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"vcoegint" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

vcoegintbus :: Pattern Int -> Pattern Double -> ControlPattern
vcoegintbus :: Pattern Int -> Pattern Double -> ControlPattern
vcoegintbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"vcoegint" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^vcoegint" Pattern Int
busid)
vcoegintrecv :: Pattern Int -> ControlPattern
vcoegintrecv :: Pattern Int -> ControlPattern
vcoegintrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^vcoegint" Pattern Int
busid

-- | 
velocity :: Pattern Double -> ControlPattern
velocity :: Pattern Double -> ControlPattern
velocity = String -> Pattern Double -> ControlPattern
pF String
"velocity"
velocityTake :: String -> [Double] -> ControlPattern
velocityTake :: String -> [Double] -> ControlPattern
velocityTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"velocity" String
name [Double]
xs
velocityCount :: String -> ControlPattern
velocityCount :: String -> ControlPattern
velocityCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"velocity" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
velocityCountTo :: String -> Pattern Double -> Pattern ValueMap
velocityCountTo :: String -> Pattern Double -> ControlPattern
velocityCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"velocity" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

velocitybus :: Pattern Int -> Pattern Double -> ControlPattern
velocitybus :: Pattern Int -> Pattern Double -> ControlPattern
velocitybus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"velocity" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^velocity" Pattern Int
busid)
velocityrecv :: Pattern Int -> ControlPattern
velocityrecv :: Pattern Int -> ControlPattern
velocityrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^velocity" Pattern Int
busid

-- | 
voice :: Pattern Double -> ControlPattern
voice :: Pattern Double -> ControlPattern
voice = String -> Pattern Double -> ControlPattern
pF String
"voice"
voiceTake :: String -> [Double] -> ControlPattern
voiceTake :: String -> [Double] -> ControlPattern
voiceTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"voice" String
name [Double]
xs
voiceCount :: String -> ControlPattern
voiceCount :: String -> ControlPattern
voiceCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"voice" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
voiceCountTo :: String -> Pattern Double -> Pattern ValueMap
voiceCountTo :: String -> Pattern Double -> ControlPattern
voiceCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"voice" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

voicebus :: Pattern Int -> Pattern Double -> ControlPattern
voicebus :: Pattern Int -> Pattern Double -> ControlPattern
voicebus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"voice" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^voice" Pattern Int
busid)
voicerecv :: Pattern Int -> ControlPattern
voicerecv :: Pattern Int -> ControlPattern
voicerecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^voice" Pattern Int
busid

-- | formant filter to make things sound like vowels, a pattern of either `a`, `e`, `i`, `o` or `u`. Use a rest (`~`) for no effect.
vowel :: Pattern String -> ControlPattern
vowel :: Pattern String -> ControlPattern
vowel = String -> Pattern String -> ControlPattern
pS String
"vowel"
vowelTake :: String -> [Double] -> ControlPattern
vowelTake :: String -> [Double] -> ControlPattern
vowelTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"vowel" String
name [Double]
xs
vowelbus :: Pattern Int -> Pattern String -> ControlPattern
vowelbus :: Pattern Int -> Pattern String -> ControlPattern
vowelbus Pattern Int
busid Pattern String
pat = (String -> Pattern String -> ControlPattern
pS String
"vowel" Pattern String
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^vowel" Pattern Int
busid)
vowelrecv :: Pattern Int -> ControlPattern
vowelrecv :: Pattern Int -> ControlPattern
vowelrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^vowel" Pattern Int
busid

-- | 
waveloss :: Pattern Double -> ControlPattern
waveloss :: Pattern Double -> ControlPattern
waveloss = String -> Pattern Double -> ControlPattern
pF String
"waveloss"
wavelossTake :: String -> [Double] -> ControlPattern
wavelossTake :: String -> [Double] -> ControlPattern
wavelossTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"waveloss" String
name [Double]
xs
wavelossCount :: String -> ControlPattern
wavelossCount :: String -> ControlPattern
wavelossCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"waveloss" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
wavelossCountTo :: String -> Pattern Double -> Pattern ValueMap
wavelossCountTo :: String -> Pattern Double -> ControlPattern
wavelossCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"waveloss" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

wavelossbus :: Pattern Int -> Pattern Double -> ControlPattern
wavelossbus :: Pattern Int -> Pattern Double -> ControlPattern
wavelossbus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"waveloss" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^waveloss" Pattern Int
busid)
wavelossrecv :: Pattern Int -> ControlPattern
wavelossrecv :: Pattern Int -> ControlPattern
wavelossrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^waveloss" Pattern Int
busid

-- | 
xsdelay :: Pattern Double -> ControlPattern
xsdelay :: Pattern Double -> ControlPattern
xsdelay = String -> Pattern Double -> ControlPattern
pF String
"xsdelay"
xsdelayTake :: String -> [Double] -> ControlPattern
xsdelayTake :: String -> [Double] -> ControlPattern
xsdelayTake String
name [Double]
xs = String -> String -> [Double] -> ControlPattern
pStateListF String
"xsdelay" String
name [Double]
xs
xsdelayCount :: String -> ControlPattern
xsdelayCount :: String -> ControlPattern
xsdelayCount String
name = String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"xsdelay" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1))
xsdelayCountTo :: String -> Pattern Double -> Pattern ValueMap
xsdelayCountTo :: String -> Pattern Double -> ControlPattern
xsdelayCountTo String
name Pattern Double
ipat = Pattern ControlPattern -> ControlPattern
forall a. Pattern (Pattern a) -> Pattern a
innerJoin (Pattern ControlPattern -> ControlPattern)
-> Pattern ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ (\Double
i -> String -> String -> (Maybe Double -> Double) -> ControlPattern
pStateF String
"xsdelay" String
name (Double -> (Double -> Double) -> Maybe Double -> Double
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Double
0 ((Double -> Double -> Double
forall a. Real a => a -> a -> a
`mod'` Double
i) (Double -> Double) -> (Double -> Double) -> Double -> Double
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
1)))) (Double -> ControlPattern)
-> Pattern Double -> Pattern ControlPattern
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Pattern Double
ipat

xsdelaybus :: Pattern Int -> Pattern Double -> ControlPattern
xsdelaybus :: Pattern Int -> Pattern Double -> ControlPattern
xsdelaybus Pattern Int
busid Pattern Double
pat = (String -> Pattern Double -> ControlPattern
pF String
"xsdelay" Pattern Double
pat) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# (String -> Pattern Int -> ControlPattern
pI String
"^xsdelay" Pattern Int
busid)
xsdelayrecv :: Pattern Int -> ControlPattern
xsdelayrecv :: Pattern Int -> ControlPattern
xsdelayrecv Pattern Int
busid = String -> Pattern Int -> ControlPattern
pI String
"^xsdelay" Pattern Int
busid



-- aliases

voi :: Pattern Double -> ControlPattern
voi :: Pattern Double -> ControlPattern
voi = Pattern Double -> ControlPattern
voice
voibus :: Pattern Int -> Pattern Double -> ControlPattern
voibus :: Pattern Int -> Pattern Double -> ControlPattern
voibus = Pattern Int -> Pattern Double -> ControlPattern
voicebus
voirecv :: Pattern Int -> ControlPattern
voirecv :: Pattern Int -> ControlPattern
voirecv = Pattern Int -> ControlPattern
voicerecv

vco :: Pattern Double -> ControlPattern
vco :: Pattern Double -> ControlPattern
vco = Pattern Double -> ControlPattern
vcoegint
vcobus :: Pattern Int -> Pattern Double -> ControlPattern
vcobus :: Pattern Int -> Pattern Double -> ControlPattern
vcobus = Pattern Int -> Pattern Double -> ControlPattern
vcoegintbus
vcorecv :: Pattern Int -> ControlPattern
vcorecv :: Pattern Int -> ControlPattern
vcorecv = Pattern Int -> ControlPattern
vcoegintrecv

vcf :: Pattern Double -> ControlPattern
vcf :: Pattern Double -> ControlPattern
vcf = Pattern Double -> ControlPattern
vcfegint
vcfbus :: Pattern Int -> Pattern Double -> ControlPattern
vcfbus :: Pattern Int -> Pattern Double -> ControlPattern
vcfbus = Pattern Int -> Pattern Double -> ControlPattern
vcfegintbus
vcfrecv :: Pattern Int -> ControlPattern
vcfrecv :: Pattern Int -> ControlPattern
vcfrecv = Pattern Int -> ControlPattern
vcfegintrecv

up :: Pattern Note -> ControlPattern
up :: Pattern Note -> ControlPattern
up = Pattern Note -> ControlPattern
note

tremr :: Pattern Double -> ControlPattern
tremr :: Pattern Double -> ControlPattern
tremr = Pattern Double -> ControlPattern
tremolorate
tremrbus :: Pattern Int -> Pattern Double -> ControlPattern
tremrbus :: Pattern Int -> Pattern Double -> ControlPattern
tremrbus = Pattern Int -> Pattern Double -> ControlPattern
tremoloratebus
tremrrecv :: Pattern Int -> ControlPattern
tremrrecv :: Pattern Int -> ControlPattern
tremrrecv = Pattern Int -> ControlPattern
tremoloraterecv

tremdp :: Pattern Double -> ControlPattern
tremdp :: Pattern Double -> ControlPattern
tremdp = Pattern Double -> ControlPattern
tremolodepth
tremdpbus :: Pattern Int -> Pattern Double -> ControlPattern
tremdpbus :: Pattern Int -> Pattern Double -> ControlPattern
tremdpbus = Pattern Int -> Pattern Double -> ControlPattern
tremolodepthbus
tremdprecv :: Pattern Int -> ControlPattern
tremdprecv :: Pattern Int -> ControlPattern
tremdprecv = Pattern Int -> ControlPattern
tremolodepthrecv

tdecay :: Pattern Double -> ControlPattern
tdecay :: Pattern Double -> ControlPattern
tdecay = Pattern Double -> ControlPattern
tomdecay
tdecaybus :: Pattern Int -> Pattern Double -> ControlPattern
tdecaybus :: Pattern Int -> Pattern Double -> ControlPattern
tdecaybus = Pattern Int -> Pattern Double -> ControlPattern
tomdecaybus
tdecayrecv :: Pattern Int -> ControlPattern
tdecayrecv :: Pattern Int -> ControlPattern
tdecayrecv = Pattern Int -> ControlPattern
tomdecayrecv

sz :: Pattern Double -> ControlPattern
sz :: Pattern Double -> ControlPattern
sz = Pattern Double -> ControlPattern
size
szbus :: Pattern Int -> Pattern Double -> ControlPattern
szbus :: Pattern Int -> Pattern Double -> ControlPattern
szbus = Pattern Int -> Pattern Double -> ControlPattern
sizebus
szrecv :: Pattern Int -> ControlPattern
szrecv :: Pattern Int -> ControlPattern
szrecv = Pattern Int -> ControlPattern
sizerecv

sus :: Pattern Double -> ControlPattern
sus :: Pattern Double -> ControlPattern
sus = Pattern Double -> ControlPattern
sustain

stt :: Pattern Double -> ControlPattern
stt :: Pattern Double -> ControlPattern
stt = Pattern Double -> ControlPattern
stuttertime
sttbus :: Pattern Int -> Pattern Double -> ControlPattern
sttbus :: Pattern Int -> Pattern Double -> ControlPattern
sttbus = Pattern Int -> Pattern Double -> ControlPattern
stuttertimebus
sttrecv :: Pattern Int -> ControlPattern
sttrecv :: Pattern Int -> ControlPattern
sttrecv = Pattern Int -> ControlPattern
stuttertimerecv

std :: Pattern Double -> ControlPattern
std :: Pattern Double -> ControlPattern
std = Pattern Double -> ControlPattern
stutterdepth
stdbus :: Pattern Int -> Pattern Double -> ControlPattern
stdbus :: Pattern Int -> Pattern Double -> ControlPattern
stdbus = Pattern Int -> Pattern Double -> ControlPattern
stutterdepthbus
stdrecv :: Pattern Int -> ControlPattern
stdrecv :: Pattern Int -> ControlPattern
stdrecv = Pattern Int -> ControlPattern
stutterdepthrecv

sld :: Pattern Double -> ControlPattern
sld :: Pattern Double -> ControlPattern
sld = Pattern Double -> ControlPattern
slide
sldbus :: Pattern Int -> Pattern Double -> ControlPattern
sldbus :: Pattern Int -> Pattern Double -> ControlPattern
sldbus = Pattern Int -> Pattern Double -> ControlPattern
slidebus
sldrecv :: Pattern Int -> ControlPattern
sldrecv :: Pattern Int -> ControlPattern
sldrecv = Pattern Int -> ControlPattern
sliderecv

scr :: Pattern Double -> ControlPattern
scr :: Pattern Double -> ControlPattern
scr = Pattern Double -> ControlPattern
scrash
scrbus :: Pattern Int -> Pattern Double -> ControlPattern
scrbus :: Pattern Int -> Pattern Double -> ControlPattern
scrbus = Pattern Int -> Pattern Double -> ControlPattern
scrashbus
scrrecv :: Pattern Int -> ControlPattern
scrrecv :: Pattern Int -> ControlPattern
scrrecv = Pattern Int -> ControlPattern
scrashrecv

scp :: Pattern Double -> ControlPattern
scp :: Pattern Double -> ControlPattern
scp = Pattern Double -> ControlPattern
sclap
scpbus :: Pattern Int -> Pattern Double -> ControlPattern
scpbus :: Pattern Int -> Pattern Double -> ControlPattern
scpbus = Pattern Int -> Pattern Double -> ControlPattern
sclapbus
scprecv :: Pattern Int -> ControlPattern
scprecv :: Pattern Int -> ControlPattern
scprecv = Pattern Int -> ControlPattern
sclaprecv

scl :: Pattern Double -> ControlPattern
scl :: Pattern Double -> ControlPattern
scl = Pattern Double -> ControlPattern
sclaves
sclbus :: Pattern Int -> Pattern Double -> ControlPattern
sclbus :: Pattern Int -> Pattern Double -> ControlPattern
sclbus = Pattern Int -> Pattern Double -> ControlPattern
sclavesbus
sclrecv :: Pattern Int -> ControlPattern
sclrecv :: Pattern Int -> ControlPattern
sclrecv = Pattern Int -> ControlPattern
sclavesrecv

sag :: Pattern Double -> ControlPattern
sag :: Pattern Double -> ControlPattern
sag = Pattern Double -> ControlPattern
sagogo
sagbus :: Pattern Int -> Pattern Double -> ControlPattern
sagbus :: Pattern Int -> Pattern Double -> ControlPattern
sagbus = Pattern Int -> Pattern Double -> ControlPattern
sagogobus
sagrecv :: Pattern Int -> ControlPattern
sagrecv :: Pattern Int -> ControlPattern
sagrecv = Pattern Int -> ControlPattern
sagogorecv

s :: Pattern String -> ControlPattern
s :: Pattern String -> ControlPattern
s = Pattern String -> ControlPattern
sound

rel :: Pattern Double -> ControlPattern
rel :: Pattern Double -> ControlPattern
rel = Pattern Double -> ControlPattern
release
relbus :: Pattern Int -> Pattern Double -> ControlPattern
relbus :: Pattern Int -> Pattern Double -> ControlPattern
relbus = Pattern Int -> Pattern Double -> ControlPattern
releasebus
relrecv :: Pattern Int -> ControlPattern
relrecv :: Pattern Int -> ControlPattern
relrecv = Pattern Int -> ControlPattern
releaserecv

por :: Pattern Double -> ControlPattern
por :: Pattern Double -> ControlPattern
por = Pattern Double -> ControlPattern
portamento
porbus :: Pattern Int -> Pattern Double -> ControlPattern
porbus :: Pattern Int -> Pattern Double -> ControlPattern
porbus = Pattern Int -> Pattern Double -> ControlPattern
portamentobus
porrecv :: Pattern Int -> ControlPattern
porrecv :: Pattern Int -> ControlPattern
porrecv = Pattern Int -> ControlPattern
portamentorecv

pit3 :: Pattern Double -> ControlPattern
pit3 :: Pattern Double -> ControlPattern
pit3 = Pattern Double -> ControlPattern
pitch3
pit3bus :: Pattern Int -> Pattern Double -> ControlPattern
pit3bus :: Pattern Int -> Pattern Double -> ControlPattern
pit3bus = Pattern Int -> Pattern Double -> ControlPattern
pitch3bus
pit3recv :: Pattern Int -> ControlPattern
pit3recv :: Pattern Int -> ControlPattern
pit3recv = Pattern Int -> ControlPattern
pitch3recv

pit2 :: Pattern Double -> ControlPattern
pit2 :: Pattern Double -> ControlPattern
pit2 = Pattern Double -> ControlPattern
pitch2
pit2bus :: Pattern Int -> Pattern Double -> ControlPattern
pit2bus :: Pattern Int -> Pattern Double -> ControlPattern
pit2bus = Pattern Int -> Pattern Double -> ControlPattern
pitch2bus
pit2recv :: Pattern Int -> ControlPattern
pit2recv :: Pattern Int -> ControlPattern
pit2recv = Pattern Int -> ControlPattern
pitch2recv

pit1 :: Pattern Double -> ControlPattern
pit1 :: Pattern Double -> ControlPattern
pit1 = Pattern Double -> ControlPattern
pitch1
pit1bus :: Pattern Int -> Pattern Double -> ControlPattern
pit1bus :: Pattern Int -> Pattern Double -> ControlPattern
pit1bus = Pattern Int -> Pattern Double -> ControlPattern
pitch1bus
pit1recv :: Pattern Int -> ControlPattern
pit1recv :: Pattern Int -> ControlPattern
pit1recv = Pattern Int -> ControlPattern
pitch1recv

phasr :: Pattern Double -> ControlPattern
phasr :: Pattern Double -> ControlPattern
phasr = Pattern Double -> ControlPattern
phaserrate
phasrbus :: Pattern Int -> Pattern Double -> ControlPattern
phasrbus :: Pattern Int -> Pattern Double -> ControlPattern
phasrbus = Pattern Int -> Pattern Double -> ControlPattern
phaserratebus
phasrrecv :: Pattern Int -> ControlPattern
phasrrecv :: Pattern Int -> ControlPattern
phasrrecv = Pattern Int -> ControlPattern
phaserraterecv

phasdp :: Pattern Double -> ControlPattern
phasdp :: Pattern Double -> ControlPattern
phasdp = Pattern Double -> ControlPattern
phaserdepth
phasdpbus :: Pattern Int -> Pattern Double -> ControlPattern
phasdpbus :: Pattern Int -> Pattern Double -> ControlPattern
phasdpbus = Pattern Int -> Pattern Double -> ControlPattern
phaserdepthbus
phasdprecv :: Pattern Int -> ControlPattern
phasdprecv :: Pattern Int -> ControlPattern
phasdprecv = Pattern Int -> ControlPattern
phaserdepthrecv

ohdecay :: Pattern Double -> ControlPattern
ohdecay :: Pattern Double -> ControlPattern
ohdecay = Pattern Double -> ControlPattern
ophatdecay
ohdecaybus :: Pattern Int -> Pattern Double -> ControlPattern
ohdecaybus :: Pattern Int -> Pattern Double -> ControlPattern
ohdecaybus = Pattern Int -> Pattern Double -> ControlPattern
ophatdecaybus
ohdecayrecv :: Pattern Int -> ControlPattern
ohdecayrecv :: Pattern Int -> ControlPattern
ohdecayrecv = Pattern Int -> ControlPattern
ophatdecayrecv

lsn :: Pattern Double -> ControlPattern
lsn :: Pattern Double -> ControlPattern
lsn = Pattern Double -> ControlPattern
lsnare
lsnbus :: Pattern Int -> Pattern Double -> ControlPattern
lsnbus :: Pattern Int -> Pattern Double -> ControlPattern
lsnbus = Pattern Int -> Pattern Double -> ControlPattern
lsnarebus
lsnrecv :: Pattern Int -> ControlPattern
lsnrecv :: Pattern Int -> ControlPattern
lsnrecv = Pattern Int -> ControlPattern
lsnarerecv

lpq :: Pattern Double -> ControlPattern
lpq :: Pattern Double -> ControlPattern
lpq = Pattern Double -> ControlPattern
resonance
lpqbus :: Pattern Int -> Pattern Double -> ControlPattern
lpqbus :: Pattern Int -> Pattern Double -> ControlPattern
lpqbus = Pattern Int -> Pattern Double -> ControlPattern
resonancebus
lpqrecv :: Pattern Int -> ControlPattern
lpqrecv :: Pattern Int -> ControlPattern
lpqrecv = Pattern Int -> ControlPattern
resonancerecv

lpf :: Pattern Double -> ControlPattern
lpf :: Pattern Double -> ControlPattern
lpf = Pattern Double -> ControlPattern
cutoff
lpfbus :: Pattern Int -> Pattern Double -> ControlPattern
lpfbus :: Pattern Int -> Pattern Double -> ControlPattern
lpfbus = Pattern Int -> Pattern Double -> ControlPattern
cutoffbus
lpfrecv :: Pattern Int -> ControlPattern
lpfrecv :: Pattern Int -> ControlPattern
lpfrecv = Pattern Int -> ControlPattern
cutoffrecv

loh :: Pattern Double -> ControlPattern
loh :: Pattern Double -> ControlPattern
loh = Pattern Double -> ControlPattern
lophat
lohbus :: Pattern Int -> Pattern Double -> ControlPattern
lohbus :: Pattern Int -> Pattern Double -> ControlPattern
lohbus = Pattern Int -> Pattern Double -> ControlPattern
lophatbus
lohrecv :: Pattern Int -> ControlPattern
lohrecv :: Pattern Int -> ControlPattern
lohrecv = Pattern Int -> ControlPattern
lophatrecv

llt :: Pattern Double -> ControlPattern
llt :: Pattern Double -> ControlPattern
llt = Pattern Double -> ControlPattern
llotom
lltbus :: Pattern Int -> Pattern Double -> ControlPattern
lltbus :: Pattern Int -> Pattern Double -> ControlPattern
lltbus = Pattern Int -> Pattern Double -> ControlPattern
llotombus
lltrecv :: Pattern Int -> ControlPattern
lltrecv :: Pattern Int -> ControlPattern
lltrecv = Pattern Int -> ControlPattern
llotomrecv

lht :: Pattern Double -> ControlPattern
lht :: Pattern Double -> ControlPattern
lht = Pattern Double -> ControlPattern
lhitom
lhtbus :: Pattern Int -> Pattern Double -> ControlPattern
lhtbus :: Pattern Int -> Pattern Double -> ControlPattern
lhtbus = Pattern Int -> Pattern Double -> ControlPattern
lhitombus
lhtrecv :: Pattern Int -> ControlPattern
lhtrecv :: Pattern Int -> ControlPattern
lhtrecv = Pattern Int -> ControlPattern
lhitomrecv

lfop :: Pattern Double -> ControlPattern
lfop :: Pattern Double -> ControlPattern
lfop = Pattern Double -> ControlPattern
lfopitchint
lfopbus :: Pattern Int -> Pattern Double -> ControlPattern
lfopbus :: Pattern Int -> Pattern Double -> ControlPattern
lfopbus = Pattern Int -> Pattern Double -> ControlPattern
lfopitchintbus
lfoprecv :: Pattern Int -> ControlPattern
lfoprecv :: Pattern Int -> ControlPattern
lfoprecv = Pattern Int -> ControlPattern
lfopitchintrecv

lfoi :: Pattern Double -> ControlPattern
lfoi :: Pattern Double -> ControlPattern
lfoi = Pattern Double -> ControlPattern
lfoint
lfoibus :: Pattern Int -> Pattern Double -> ControlPattern
lfoibus :: Pattern Int -> Pattern Double -> ControlPattern
lfoibus = Pattern Int -> Pattern Double -> ControlPattern
lfointbus
lfoirecv :: Pattern Int -> ControlPattern
lfoirecv :: Pattern Int -> ControlPattern
lfoirecv = Pattern Int -> ControlPattern
lfointrecv

lfoc :: Pattern Double -> ControlPattern
lfoc :: Pattern Double -> ControlPattern
lfoc = Pattern Double -> ControlPattern
lfocutoffint
lfocbus :: Pattern Int -> Pattern Double -> ControlPattern
lfocbus :: Pattern Int -> Pattern Double -> ControlPattern
lfocbus = Pattern Int -> Pattern Double -> ControlPattern
lfocutoffintbus
lfocrecv :: Pattern Int -> ControlPattern
lfocrecv :: Pattern Int -> ControlPattern
lfocrecv = Pattern Int -> ControlPattern
lfocutoffintrecv

lcr :: Pattern Double -> ControlPattern
lcr :: Pattern Double -> ControlPattern
lcr = Pattern Double -> ControlPattern
lcrash
lcrbus :: Pattern Int -> Pattern Double -> ControlPattern
lcrbus :: Pattern Int -> Pattern Double -> ControlPattern
lcrbus = Pattern Int -> Pattern Double -> ControlPattern
lcrashbus
lcrrecv :: Pattern Int -> ControlPattern
lcrrecv :: Pattern Int -> ControlPattern
lcrrecv = Pattern Int -> ControlPattern
lcrashrecv

lcp :: Pattern Double -> ControlPattern
lcp :: Pattern Double -> ControlPattern
lcp = Pattern Double -> ControlPattern
lclap
lcpbus :: Pattern Int -> Pattern Double -> ControlPattern
lcpbus :: Pattern Int -> Pattern Double -> ControlPattern
lcpbus = Pattern Int -> Pattern Double -> ControlPattern
lclapbus
lcprecv :: Pattern Int -> ControlPattern
lcprecv :: Pattern Int -> ControlPattern
lcprecv = Pattern Int -> ControlPattern
lclaprecv

lcl :: Pattern Double -> ControlPattern
lcl :: Pattern Double -> ControlPattern
lcl = Pattern Double -> ControlPattern
lclaves
lclbus :: Pattern Int -> Pattern Double -> ControlPattern
lclbus :: Pattern Int -> Pattern Double -> ControlPattern
lclbus = Pattern Int -> Pattern Double -> ControlPattern
lclavesbus
lclrecv :: Pattern Int -> ControlPattern
lclrecv :: Pattern Int -> ControlPattern
lclrecv = Pattern Int -> ControlPattern
lclavesrecv

lch :: Pattern Double -> ControlPattern
lch :: Pattern Double -> ControlPattern
lch = Pattern Double -> ControlPattern
lclhat
lchbus :: Pattern Int -> Pattern Double -> ControlPattern
lchbus :: Pattern Int -> Pattern Double -> ControlPattern
lchbus = Pattern Int -> Pattern Double -> ControlPattern
lclhatbus
lchrecv :: Pattern Int -> ControlPattern
lchrecv :: Pattern Int -> ControlPattern
lchrecv = Pattern Int -> ControlPattern
lclhatrecv

lbd :: Pattern Double -> ControlPattern
lbd :: Pattern Double -> ControlPattern
lbd = Pattern Double -> ControlPattern
lkick
lbdbus :: Pattern Int -> Pattern Double -> ControlPattern
lbdbus :: Pattern Int -> Pattern Double -> ControlPattern
lbdbus = Pattern Int -> Pattern Double -> ControlPattern
lkickbus
lbdrecv :: Pattern Int -> ControlPattern
lbdrecv :: Pattern Int -> ControlPattern
lbdrecv = Pattern Int -> ControlPattern
lkickrecv

lag :: Pattern Double -> ControlPattern
lag :: Pattern Double -> ControlPattern
lag = Pattern Double -> ControlPattern
lagogo
lagbus :: Pattern Int -> Pattern Double -> ControlPattern
lagbus :: Pattern Int -> Pattern Double -> ControlPattern
lagbus = Pattern Int -> Pattern Double -> ControlPattern
lagogobus
lagrecv :: Pattern Int -> ControlPattern
lagrecv :: Pattern Int -> ControlPattern
lagrecv = Pattern Int -> ControlPattern
lagogorecv

hpq :: Pattern Double -> ControlPattern
hpq :: Pattern Double -> ControlPattern
hpq = Pattern Double -> ControlPattern
hresonance
hpqbus :: Pattern Int -> Pattern Double -> ControlPattern
hpqbus :: Pattern Int -> Pattern Double -> ControlPattern
hpqbus = Pattern Int -> Pattern Double -> ControlPattern
hresonancebus
hpqrecv :: Pattern Int -> ControlPattern
hpqrecv :: Pattern Int -> ControlPattern
hpqrecv = Pattern Int -> ControlPattern
hresonancerecv

hpf :: Pattern Double -> ControlPattern
hpf :: Pattern Double -> ControlPattern
hpf = Pattern Double -> ControlPattern
hcutoff
hpfbus :: Pattern Int -> Pattern Double -> ControlPattern
hpfbus :: Pattern Int -> Pattern Double -> ControlPattern
hpfbus = Pattern Int -> Pattern Double -> ControlPattern
hcutoffbus
hpfrecv :: Pattern Int -> ControlPattern
hpfrecv :: Pattern Int -> ControlPattern
hpfrecv = Pattern Int -> ControlPattern
hcutoffrecv

hg :: Pattern Double -> ControlPattern
hg :: Pattern Double -> ControlPattern
hg = Pattern Double -> ControlPattern
hatgrain
hgbus :: Pattern Int -> Pattern Double -> ControlPattern
hgbus :: Pattern Int -> Pattern Double -> ControlPattern
hgbus = Pattern Int -> Pattern Double -> ControlPattern
hatgrainbus
hgrecv :: Pattern Int -> ControlPattern
hgrecv :: Pattern Int -> ControlPattern
hgrecv = Pattern Int -> ControlPattern
hatgrainrecv

gat :: Pattern Double -> ControlPattern
gat :: Pattern Double -> ControlPattern
gat = Pattern Double -> ControlPattern
gate
gatbus :: Pattern Int -> Pattern Double -> ControlPattern
gatbus :: Pattern Int -> Pattern Double -> ControlPattern
gatbus = Pattern Int -> Pattern Double -> ControlPattern
gatebus
gatrecv :: Pattern Int -> ControlPattern
gatrecv :: Pattern Int -> ControlPattern
gatrecv = Pattern Int -> ControlPattern
gaterecv

fadeOutTime :: Pattern Double -> ControlPattern
fadeOutTime :: Pattern Double -> ControlPattern
fadeOutTime = Pattern Double -> ControlPattern
fadeTime

dt :: Pattern Double -> ControlPattern
dt :: Pattern Double -> ControlPattern
dt = Pattern Double -> ControlPattern
delaytime
dtbus :: Pattern Int -> Pattern Double -> ControlPattern
dtbus :: Pattern Int -> Pattern Double -> ControlPattern
dtbus = Pattern Int -> Pattern Double -> ControlPattern
delaytimebus
dtrecv :: Pattern Int -> ControlPattern
dtrecv :: Pattern Int -> ControlPattern
dtrecv = Pattern Int -> ControlPattern
delaytimerecv

dfb :: Pattern Double -> ControlPattern
dfb :: Pattern Double -> ControlPattern
dfb = Pattern Double -> ControlPattern
delayfeedback
dfbbus :: Pattern Int -> Pattern Double -> ControlPattern
dfbbus :: Pattern Int -> Pattern Double -> ControlPattern
dfbbus = Pattern Int -> Pattern Double -> ControlPattern
delayfeedbackbus
dfbrecv :: Pattern Int -> ControlPattern
dfbrecv :: Pattern Int -> ControlPattern
dfbrecv = Pattern Int -> ControlPattern
delayfeedbackrecv

det :: Pattern Double -> ControlPattern
det :: Pattern Double -> ControlPattern
det = Pattern Double -> ControlPattern
detune
detbus :: Pattern Int -> Pattern Double -> ControlPattern
detbus :: Pattern Int -> Pattern Double -> ControlPattern
detbus = Pattern Int -> Pattern Double -> ControlPattern
detunebus
detrecv :: Pattern Int -> ControlPattern
detrecv :: Pattern Int -> ControlPattern
detrecv = Pattern Int -> ControlPattern
detunerecv

delayt :: Pattern Double -> ControlPattern
delayt :: Pattern Double -> ControlPattern
delayt = Pattern Double -> ControlPattern
delaytime
delaytbus :: Pattern Int -> Pattern Double -> ControlPattern
delaytbus :: Pattern Int -> Pattern Double -> ControlPattern
delaytbus = Pattern Int -> Pattern Double -> ControlPattern
delaytimebus
delaytrecv :: Pattern Int -> ControlPattern
delaytrecv :: Pattern Int -> ControlPattern
delaytrecv = Pattern Int -> ControlPattern
delaytimerecv

delayfb :: Pattern Double -> ControlPattern
delayfb :: Pattern Double -> ControlPattern
delayfb = Pattern Double -> ControlPattern
delayfeedback
delayfbbus :: Pattern Int -> Pattern Double -> ControlPattern
delayfbbus :: Pattern Int -> Pattern Double -> ControlPattern
delayfbbus = Pattern Int -> Pattern Double -> ControlPattern
delayfeedbackbus
delayfbrecv :: Pattern Int -> ControlPattern
delayfbrecv :: Pattern Int -> ControlPattern
delayfbrecv = Pattern Int -> ControlPattern
delayfeedbackrecv

ctfg :: Pattern Double -> ControlPattern
ctfg :: Pattern Double -> ControlPattern
ctfg = Pattern Double -> ControlPattern
cutoffegint
ctfgbus :: Pattern Int -> Pattern Double -> ControlPattern
ctfgbus :: Pattern Int -> Pattern Double -> ControlPattern
ctfgbus = Pattern Int -> Pattern Double -> ControlPattern
cutoffegintbus
ctfgrecv :: Pattern Int -> ControlPattern
ctfgrecv :: Pattern Int -> ControlPattern
ctfgrecv = Pattern Int -> ControlPattern
cutoffegintrecv

ctf :: Pattern Double -> ControlPattern
ctf :: Pattern Double -> ControlPattern
ctf = Pattern Double -> ControlPattern
cutoff
ctfbus :: Pattern Int -> Pattern Double -> ControlPattern
ctfbus :: Pattern Int -> Pattern Double -> ControlPattern
ctfbus = Pattern Int -> Pattern Double -> ControlPattern
cutoffbus
ctfrecv :: Pattern Int -> ControlPattern
ctfrecv :: Pattern Int -> ControlPattern
ctfrecv = Pattern Int -> ControlPattern
cutoffrecv

chdecay :: Pattern Double -> ControlPattern
chdecay :: Pattern Double -> ControlPattern
chdecay = Pattern Double -> ControlPattern
clhatdecay
chdecaybus :: Pattern Int -> Pattern Double -> ControlPattern
chdecaybus :: Pattern Int -> Pattern Double -> ControlPattern
chdecaybus = Pattern Int -> Pattern Double -> ControlPattern
clhatdecaybus
chdecayrecv :: Pattern Int -> ControlPattern
chdecayrecv :: Pattern Int -> ControlPattern
chdecayrecv = Pattern Int -> ControlPattern
clhatdecayrecv

bpq :: Pattern Double -> ControlPattern
bpq :: Pattern Double -> ControlPattern
bpq = Pattern Double -> ControlPattern
bandq
bpqbus :: Pattern Int -> Pattern Double -> ControlPattern
bpqbus :: Pattern Int -> Pattern Double -> ControlPattern
bpqbus = Pattern Int -> Pattern Double -> ControlPattern
bandqbus
bpqrecv :: Pattern Int -> ControlPattern
bpqrecv :: Pattern Int -> ControlPattern
bpqrecv = Pattern Int -> ControlPattern
bandqrecv

bpf :: Pattern Double -> ControlPattern
bpf :: Pattern Double -> ControlPattern
bpf = Pattern Double -> ControlPattern
bandf
bpfbus :: Pattern Int -> Pattern Double -> ControlPattern
bpfbus :: Pattern Int -> Pattern Double -> ControlPattern
bpfbus = Pattern Int -> Pattern Double -> ControlPattern
bandfbus
bpfrecv :: Pattern Int -> ControlPattern
bpfrecv :: Pattern Int -> ControlPattern
bpfrecv = Pattern Int -> ControlPattern
bandfrecv

att :: Pattern Double -> ControlPattern
att :: Pattern Double -> ControlPattern
att = Pattern Double -> ControlPattern
attack
attbus :: Pattern Int -> Pattern Double -> ControlPattern
attbus :: Pattern Int -> Pattern Double -> ControlPattern
attbus = Pattern Int -> Pattern Double -> ControlPattern
attackbus
attrecv :: Pattern Int -> ControlPattern
attrecv :: Pattern Int -> ControlPattern
attrecv = Pattern Int -> ControlPattern
attackrecv