-- | A gallery of the percussive sounds.
module Csound.Catalog.Drum(
    -- * Hans Mikelson Drum kit
    hmBd1, hmBd2, hmBd3, hmSn1, hmSn2, hmSweeo, hmBoink, hmOhh, hmChh, hmCr, hmClap,

    -- * Tr808 Drum kit
    trBd, trSn, trOhh, trChh, trHtom, trMtom, trLtom, trCym, trCl, trRim, trMar, trHcon, trMcon, trLcon,

    -- * Korg MiniPops Drum kit
    mpBd, mpSn1, mpSn2, mpRim, mpCym1, mpCym2, mpBon1, mpBon2, mpBon3, mpCl, mpCow, mpGro, mpMar, mpQj, mpTam,

    -- * Csound percussive models kit
    boo, gro, sbells, tam, cab, crun, shake, spaper,
) where

import Csound.Base
import Csound.Sam

import qualified Csound.Catalog.Drum.Hm       as H
import qualified Csound.Catalog.Drum.Tr808    as T
import qualified Csound.Catalog.Drum.MiniPops as M


hmBd1,hmBd2,hmBd3,hmSn1,hmSn2,hmSweeo,hmBoink,hmOhh,hmChh,hmCr,hmClap :: Sam

hmBd1 :: Sam
hmBd1   = Sam
H.bd1
hmBd2 :: Sam
hmBd2   = Sam
H.bd2
hmBd3 :: Sam
hmBd3   = Sam
H.bd3
hmSn1 :: Sam
hmSn1   = Sam
H.sn1
hmSn2 :: Sam
hmSn2   = Sam
H.sn2
hmSweeo :: Sam
hmSweeo = Sam
H.sweep
hmBoink :: Sam
hmBoink = Sam
H.boink
hmOhh :: Sam
hmOhh   = Sam
H.ohh
hmChh :: Sam
hmChh   = Sam
H.chh
hmCr :: Sam
hmCr    = Sam
H.cr
hmClap :: Sam
hmClap  = Sam
H.clap

trBd, trSn, trOhh, trChh, trHtom, trMtom, trLtom, trCym, trCl, trRim, trMar, trHcon, trMcon, trLcon :: Sam

trBd :: Sam
trBd   = Sam
T.bd
trSn :: Sam
trSn   = Sam
T.sn1
trOhh :: Sam
trOhh  = Sam
T.ohh
trChh :: Sam
trChh  = Sam
T.chh
trHtom :: Sam
trHtom = Sam
T.htom
trMtom :: Sam
trMtom = Sam
T.mtom
trLtom :: Sam
trLtom = Sam
T.ltom
trCym :: Sam
trCym  = Sam
T.cym
trCl :: Sam
trCl   = Sam
T.cl
trRim :: Sam
trRim  = Sam
T.rim
trMar :: Sam
trMar  = Sam
T.mar
trHcon :: Sam
trHcon = Sam
T.hcon
trMcon :: Sam
trMcon = Sam
T.mcon
trLcon :: Sam
trLcon = Sam
T.lcon

mpBd, mpSn1, mpSn2, mpRim, mpCym1, mpCym2,mpBon1, mpBon2, mpBon3, mpCl, mpCow, mpGro, mpMar, mpQj, mpTam :: Sam

mpBd :: Sam
mpBd   = Sam
M.bd
mpSn1 :: Sam
mpSn1  = Sam
M.sn1
mpSn2 :: Sam
mpSn2  = Sam
M.sn2
mpRim :: Sam
mpRim  = Sam
M.rim
mpCym1 :: Sam
mpCym1 = Sam
M.cym1
mpCym2 :: Sam
mpCym2 = Sam
M.cym2
mpBon1 :: Sam
mpBon1 = Sam
M.bon1
mpBon2 :: Sam
mpBon2 = Sam
M.bon2
mpBon3 :: Sam
mpBon3 = Sam
M.bon3
mpCl :: Sam
mpCl   = Sam
M.cl
mpCow :: Sam
mpCow  = Sam
M.cow
mpGro :: Sam
mpGro  = Sam
M.gro
mpMar :: Sam
mpMar  = Sam
M.mar
mpQj :: Sam
mpQj   = Sam
M.qj
mpTam :: Sam
mpTam  = Sam
M.tam

mkSam :: Sig -> Sam
mkSam :: Sig -> Sam
mkSam = Sig -> Sig -> Sam
forall a. ToSam a => Sig -> a -> Sam
limSam Sig
1

boo, gro, sbells, tam, cab, crun, spaper :: Sam
shake :: Sig -> Sam

boo :: Sam
boo = Sig -> Sam
mkSam (Sig -> Sam) -> Sig -> Sam
forall a b. (a -> b) -> a -> b
$ Sig -> D -> Sig
bamboo Sig
1 D
0.01
gro :: Sam
gro = Sig -> Sam
mkSam (Sig -> Sam) -> Sig -> Sam
forall a b. (a -> b) -> a -> b
$ Sig -> D -> Sig
guiro  Sig
1 D
0.01
sbells :: Sam
sbells = Sig -> Sam
mkSam (Sig -> Sam) -> Sig -> Sam
forall a b. (a -> b) -> a -> b
$ Sig -> D -> Sig
sleighbells Sig
1 D
0.01
tam :: Sam
tam = Sig -> Sam
mkSam (Sig -> Sam) -> Sig -> Sam
forall a b. (a -> b) -> a -> b
$ Sig -> D -> Sig
tambourine Sig
1 D
0.01
cab :: Sam
cab = Sig -> Sam
mkSam (Sig -> Sam) -> Sig -> Sam
forall a b. (a -> b) -> a -> b
$ D -> D -> Sig
cabasa D
1 D
0.01
crun :: Sam
crun = Sig -> Sam
mkSam (Sig -> Sam) -> Sig -> Sam
forall a b. (a -> b) -> a -> b
$ D -> D -> Sig
crunch D
1 D
0.1
shake :: Sig -> Sam
shake Sig
cps = Sig -> Sam
mkSam (Sig -> Sam) -> Sig -> Sam
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig -> Sig -> Sig -> Sig
shaker Sig
1 Sig
cps Sig
8 Sig
0.999 Sig
100 Sig -> D -> Sig
forall a. Tuple a => a -> D -> a
`withD` D
0
spaper :: Sam
spaper = Sig -> Sam
mkSam (Sig -> Sam) -> Sig -> Sam
forall a b. (a -> b) -> a -> b
$ D -> D -> Sig
sandpaper D
1 D
0.01