name:                vocoder-dunai
version:             0.1.0.0
homepage:            https://github.com/tilk/vocoder
synopsis:            Phase vocoder for Dunai and Rhine
description:
    This package wraps the algorithms provided by the vocoder package
    for use with Dunai and Rhine FRP libraries. This allows convenient
    (soft) real-time frequency domain signal processing.
license:             BSD2
license-file:        LICENSE
author:              Marek Materzok
maintainer:          tilk@tilk.eu
-- copyright:
category:            Sound
build-type:          Simple
extra-source-files:  ChangeLog.md
cabal-version:       >=1.10

flag buildExamples
  description: Build example executables
  default:     False

library
  exposed-modules: Vocoder.Dunai
  -- other-modules:
  -- other-extensions:
  build-depends:       base >=4.11 && <4.15,
                       vector >= 0.12.1.0 && <0.13,
                       vector-fftw >= 0.1.3.8 && < 0.2,
                       dunai >= 0.7.0 && < 0.8,
                       vocoder >= 0.1.0.0 && < 0.2
  hs-source-dirs:      src
  ghc-options:         -Wall
  default-language:    Haskell2010

executable vocoder-jack
  main-is:         VocoderJack.hs
  other-modules:   MVarClock, ProcessingTree
  hs-source-dirs:  example
  if flag(buildExamples)
    build-depends:     base, vocoder, vocoder-dunai, transformers, vector, array, time,
                       explicit-exception,
                       mtl >= 2.2.2 && < 2.3,
                       rhine >= 0.7.0 && < 0.8,
                       jack >= 0.7.1.4 && < 0.8,
                       optparse-applicative >= 0.16.0.0 && < 0.17,
                       split >= 0.2.3.4 && < 0.3
  else
    buildable: False
  ghc-options:         -Wall -threaded
  default-language:    Haskell2010

test-suite  test-vocoder-dunai
  default-language:  Haskell2010
  type:              exitcode-stdio-1.0
  hs-source-dirs:    test
  main-is:           main.hs
  build-depends:     base, vector, vector-fftw, dunai, vocoder, vocoder-dunai,
                     hspec >= 2.7,
                     QuickCheck >= 2.14 && < 2.15
  ghc-options:       -Wall

benchmark  bench-vocoder-dunai
  default-language:  Haskell2010
  type:              exitcode-stdio-1.0
  hs-source-dirs:    benchmarks
  main-is:           main.hs
  build-depends:     base, vector, vector-fftw, dunai, vocoder, vocoder-dunai,
                     gauge >= 0.2.5
  ghc-options:       -Wall -rtsopts