Name: synthesizer-llvm
Version: 0.3
License: GPL
License-File: LICENSE
Author: Henning Thielemann <haskell@henning-thielemann.de>
Maintainer: Henning Thielemann <haskell@henning-thielemann.de>
Homepage: http://www.haskell.org/haskellwiki/Synthesizer
Package-URL: http://code.haskell.org/synthesizer/llvm/
Category: Sound, Music
Synopsis: Efficient signal processing using runtime compilation
Description:
Efficient signal processing
using runtime compilation and vector instructions.
It uses LLVM library, thus it is not bound to a specific CPU.
If you compile with Cabal flag @buildExamples@
you get the executable @synthi-llvm-server@,
that is a realtime software synthesizer
that receives MIDI events via ALSA
and in response plays some tones via ALSA.
Stability: Experimental
Tested-With: GHC==6.10.4, GHC==6.12.3, GHC==7.0.4, GHC==7.2.1
Cabal-Version: >=1.6
Build-Type: Simple
Flag buildExamples
description: Build example executables
default: False
Flag buildTests
description: Build test suite
default: False
Source-Repository this
Tag: 0.3
Type: darcs
Location: code.haskell.org:/srv/code/synthesizer/llvm/
Source-Repository head
Type: darcs
Location: code.haskell.org:/srv/code/synthesizer/llvm/
Library
Build-Depends:
llvm-extra >= 0.3 && <0.4,
-- llvm must be imported with restrictive version bounds,
-- because we import implicitly and unqualified
llvm >=0.10 && <0.10.1,
type-level >=0.2.3 && <0.3,
functional-arrow >=0.0 && <0.1,
vault >=0.1 && <0.2,
HList >=0.2 && <0.3,
synthesizer-core >=0.5 && <0.6,
-- for ALSA.BendModulation
synthesizer-alsa >=0.4 && <0.5,
alsa-seq >=0.5 && <0.6,
alsa-pcm >=0.5 && <0.6,
midi-alsa >= 0.1.2 && <0.2,
midi >= 0.1.6 && <0.2,
storable-record >=0.0.2 && <0.1,
storable-tuple >=0.0.2 && <0.1,
sox >=0.2 && <0.3,
sample-frame-np >=0.0.1 && <0.1,
sample-frame >=0.0.1 && <0.1,
storablevector >=0.2.6 && <0.3,
numeric-prelude >=0.3 && <0.4,
non-negative >=0.1 && <0.2,
event-list >=0.1 && <0.2,
-- data-accessor >=0.1 && <0.2,
filepath >=1.1 && <1.3,
random >= 1.0 && < 1.1,
containers >=0.1 && <0.5,
transformers >=0.2 && <0.3,
utility-ht >=0.0.1 && <0.1
Build-Depends:
-- base-4 needed for Control.Category
base >= 4 && <5
GHC-Options: -Wall
If impl(ghc>=7.0)
GHC-Options: -fwarn-unused-do-bind -fcontext-stack=1000
CPP-Options: -DNoImplicitPrelude=RebindableSyntax
Extensions: CPP
Hs-source-dirs: src
Exposed-Modules:
Synthesizer.LLVM.Simple.Signal
Synthesizer.LLVM.Simple.Value
Synthesizer.LLVM.Simple.Vanilla
Synthesizer.LLVM.Parameterized.Signal
Synthesizer.LLVM.Parameterized.SignalPacked
-- Synthesizer.LLVM.Parameterized.Value
Synthesizer.LLVM.Parameter
Synthesizer.LLVM.Storable.Signal
Synthesizer.LLVM.Storable.Process
Synthesizer.LLVM.Causal.Process
Synthesizer.LLVM.CausalParameterized.Process
Synthesizer.LLVM.CausalParameterized.ProcessPacked
Synthesizer.LLVM.CausalParameterized.Controlled
Synthesizer.LLVM.CausalParameterized.ControlledPacked
Synthesizer.LLVM.CausalParameterized.Functional
Synthesizer.LLVM.Plug.Input
Synthesizer.LLVM.Plug.Output
Synthesizer.LLVM.Filter.Allpass
Synthesizer.LLVM.Filter.Butterworth
Synthesizer.LLVM.Filter.Chebyshev
Synthesizer.LLVM.Filter.ComplexFirstOrder
Synthesizer.LLVM.Filter.ComplexFirstOrderPacked
Synthesizer.LLVM.Filter.FirstOrder
Synthesizer.LLVM.Filter.SecondOrder
Synthesizer.LLVM.Filter.SecondOrderPacked
Synthesizer.LLVM.Filter.SecondOrderCascade
Synthesizer.LLVM.Filter.Moog
Synthesizer.LLVM.Filter.Universal
Synthesizer.LLVM.Generator.Exponential2
Synthesizer.LLVM.RingBuffer
Synthesizer.LLVM.ConstantPiece
Synthesizer.LLVM.SerialVector
Synthesizer.LLVM.Frame
Synthesizer.LLVM.Frame.Stereo
Synthesizer.LLVM.Frame.StereoInterleaved
Synthesizer.LLVM.Complex
Synthesizer.LLVM.Wave
Synthesizer.LLVM.Server.Common
Synthesizer.LLVM.Server.Packed.Test
Synthesizer.LLVM.Server.Packed.Run
Synthesizer.LLVM.Server.Packed.Instrument
Synthesizer.LLVM.Server.Scalar.Test
Synthesizer.LLVM.Server.Scalar.Run
Synthesizer.LLVM.Server.Scalar.Instrument
Synthesizer.LLVM.Server.CausalPacked.Instrument
Synthesizer.LLVM.Server.CausalPacked.Run
Synthesizer.LLVM.Server.CausalPacked.Test
Synthesizer.LLVM.ALSA.MIDI
Synthesizer.LLVM.ALSA.BendModulation
Other-Modules:
Synthesizer.LLVM.Random
Synthesizer.LLVM.EventIterator
Synthesizer.LLVM.Storable.ChunkIterator
Synthesizer.LLVM.Storable.LazySizeIterator
Synthesizer.LLVM.Parameterized.SignalPrivate
Synthesizer.LLVM.CausalParameterized.ProcessPrivate
Synthesizer.LLVM.Debug.Counter
Synthesizer.LLVM.Debug.StablePtr
Synthesizer.LLVM.Debug.Storable
Synthesizer.LLVM.Server.Option
-- may be moved to llvm-extra
Synthesizer.LLVM.Execution
-- shall be removed when Foreign.Marshal.Alloc is fixed
Synthesizer.LLVM.Alloc
Synthesizer.LLVM.LAC2011
Synthesizer.LLVM.LNdW2011
Executable synthi-llvm-example
If !flag(buildExamples)
Buildable: False
GHC-Options: -Wall
If impl(ghc>=7.0)
GHC-Options: -fwarn-unused-do-bind -fcontext-stack=1000
CPP-Options: -DNoImplicitPrelude=RebindableSyntax
Extensions: CPP
Hs-Source-Dirs: src
Main-Is: Synthesizer/LLVM/Test.hs
Executable synthi-llvm-server
If !flag(buildExamples)
Buildable: False
-- -threaded -debug
GHC-Options: -Wall
GHC-Options: -rtsopts
GHC-Prof-Options: -auto-all
If impl(ghc>=7.0)
GHC-Options: -fwarn-unused-do-bind -fcontext-stack=1000
CPP-Options: -DNoImplicitPrelude=RebindableSyntax
Extensions: CPP
Hs-Source-Dirs: src
Main-Is: Synthesizer/LLVM/Server.hs
Other-Modules:
Synthesizer.LLVM.Server.Packed.Instrument
Synthesizer.LLVM.Server.Packed.Test
Synthesizer.LLVM.Server.Packed.Run
Synthesizer.LLVM.Server.Scalar.Instrument
Synthesizer.LLVM.Server.Scalar.Test
Synthesizer.LLVM.Server.Scalar.Run
Synthesizer.LLVM.Server.Common
Executable synthi-llvm-test
If flag(buildTests)
Build-Depends: QuickCheck >= 1 && <3
Else
Buildable: False
GHC-Options: -Wall
If impl(ghc>=7.0)
GHC-Options: -fwarn-unused-do-bind -fcontext-stack=1000
CPP-Options: -DNoImplicitPrelude=RebindableSyntax
Extensions: CPP
Hs-Source-Dirs: src
Main-Is: Test/Main.hs
Other-Modules:
Test.Synthesizer.LLVM.Filter
Test.Synthesizer.LLVM.Packed
Test.Synthesizer.LLVM.Utility