packages feed

synthesizer-llvm-0.3: synthesizer-llvm.cabal

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