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"