packages feed

synthesizer-llvm-0.2: src/Synthesizer/LLVM/Server.hs

module Main where

import qualified Synthesizer.LLVM.Server.Packed.Test as ServerPackedTest
import qualified Synthesizer.LLVM.Server.Packed.Run  as ServerPacked
import qualified Synthesizer.LLVM.Server.Scalar.Test as ServerScalarTest
import qualified Synthesizer.LLVM.Server.Scalar.Run  as ServerScalar

import qualified LLVM.Core as LLVM

import Control.Monad (when, )


part :: Int
part = 106

main :: IO ()
main =
   when (part<200)
      (putStrLn "run 'aconnect' to connect to the MIDI controller") >>
   LLVM.initializeNativeTarget >>
   case part of
      000 -> ServerScalar.pitchBend
      001 -> ServerScalar.frequencyModulation
      002 -> ServerScalar.keyboard
      003 -> ServerScalar.keyboardStereo
      004 -> ServerScalar.keyboardMulti
      005 -> ServerScalar.keyboardStereoMulti
      100 -> ServerPacked.frequencyModulation
      101 -> ServerPacked.keyboard
      102 -> ServerPacked.keyboardStereo
      103 -> ServerPacked.keyboardFM
      104 -> ServerPacked.keyboardFMMulti
      105 -> ServerPacked.keyboardDetuneFM
      106 -> ServerPacked.keyboardFilter
      200 -> ServerScalarTest.pitchBend0
      201 -> ServerScalarTest.pitchBend1
      202 -> ServerScalarTest.pitchBend2
      203 -> ServerScalarTest.sequencePress
      300 -> ServerPackedTest.adsr
      301 -> ServerPackedTest.sequencePlain
      302 -> ServerPackedTest.sequenceLLVM
      303 -> ServerPackedTest.sequencePitchBendCycle
      304 -> ServerPackedTest.sequencePitchBendSimple
      305 -> ServerPackedTest.sequencePitchBend
      306 -> ServerPackedTest.sequenceModulated
      307 -> ServerPackedTest.sequencePress
      308 -> ServerPackedTest.sequenceModulatedLong
      309 -> ServerPackedTest.sequenceModulatedLongFM
      310 -> ServerPackedTest.sequenceModulatedRepeat
      311 -> ServerPackedTest.sequenceSample
      312 -> ServerPackedTest.sequenceSample1 -- leak
--      313 -> ServerPackedTest.testSequenceSample1a -- leak
      320 -> ServerPackedTest.sequenceSample2 -- leak
      321 -> ServerPackedTest.sequenceSample3 -- leak
      322 -> ServerPackedTest.sequenceSample4 -- leak
      323 -> ServerPackedTest.sequenceFM1 -- leak
      _   -> error "not implemented server part"