-- Copyright 2013 Evan Laforge
-- This program is distributed under the terms of the GNU General Public
-- License 3.0, see COPYING or http://www.gnu.org/licenses/gpl-3.0.txt

-- | Native Instruments FM8 softsynth.
module User.Elaforge.Instrument.Fm8 where
import qualified Cmd.Instrument.MidiInst as MidiInst


synth :: MidiInst.Synth
synth :: Synth
synth =
    SynthName -> SynthName -> [Patch] -> Synth
MidiInst.synth SynthName
"fm8" SynthName
"Native Instruments FM8" ([Patch] -> Synth) -> [Patch] -> Synth
forall a b. (a -> b) -> a -> b
$
        [(Control, Control)] -> [Patch] -> [Patch]
MidiInst.synth_controls [(Control, Control)]
controls [Patch]
patches
    where
    controls :: [(Control, Control)]
controls =
        [ (Control
4, Control
"fm8-control-1"), (Control
11, Control
"fm8-control-2")
        , (Control
16, Control
"morph-x"), (Control
17, Control
"morph-y")
        ]
    patches :: [Patch]
patches = [PbRange -> [(Control, Control)] -> Patch
MidiInst.default_patch (-Int
96, Int
96) []]