Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Sound
- = BassDrum2
- | BassDrum1
- | SideStick
- | SnareDrum1
- | HandClap
- | SnareDrum2
- | LowTom2
- | ClosedHihat
- | LowTom1
- | PedalHihat
- | MidTom2
- | OpenHihat
- | MidTom1
- | HighTom2
- | CrashCymbal1
- | HighTom1
- | RideCymbal1
- | ChineseCymbal
- | RideBell
- | Tambourine
- | SplashCymbal
- | Cowbell
- | CrashCymbal2
- | VibraSlap
- | RideCymbal2
- | HighBongo
- | LowBongo
- | MuteHighConga
- | OpenHighConga
- | LowConga
- | HighTimbale
- | LowTimbale
- | HighAgogo
- | LowAgogo
- | Cabasa
- | Maracas
- | ShortWhistle
- | LongWhistle
- | ShortGuiro
- | LongGuiro
- | Claves
- | HighWoodBlock
- | LowWoodBlock
- | MuteCuica
- | OpenCuica
- | MuteTriangle
- | OpenTriangle
- data Hit = Hit {}
- vol :: Lens' Hit Rational
- tone :: Lens' Hit Sound
- dur :: Lens' Hit Rational
- cmpToneVol :: Hit -> Hit -> Bool
- data Beat
- arbnB :: Int -> Gen Beat
- data Composition a = Composition (Beat, a)
- type Song = Composition ()
- cmap :: (Hit -> Hit) -> Composition a -> Composition a
Documentation
Types of drum sounds
A drum Hit
with a tone, duration, and volume
cmpToneVol :: Hit -> Hit -> Bool Source
Used for combining Hits and Beats
data Composition a Source
We wrap a Beat
in the Composition
data structure in order
create a monad instance for it.
Composition (Beat, a) |
Monad Composition Source | This is basically a specialized instance of the writer monad for composing compositions in series. |
Functor Composition Source | |
Applicative Composition Source | |
Arbitrary Song Source | |
Show a => Show (Composition a) Source | |
Monoid (Composition ()) Source |
type Song = Composition () Source
cmap :: (Hit -> Hit) -> Composition a -> Composition a Source
Lift a function on Hit
s over a Composition