module Main where import qualified Synthesizer.LLVM.Server.CausalPacked.Test as ServerCausalTest import qualified Synthesizer.LLVM.Server.CausalPacked.Run as ServerCausal 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 part :: Int part = 106 main :: IO () main = 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 -- there is still a leak when playing for a long time with arcStrings 150 -> ServerCausal.keyboard 151 -> ServerCausal.keyboardFM 152 -> ServerCausal.keyboardDetuneFM 153 -> ServerCausal.keyboardMultiChannel 154 -> ServerCausal.voderBand 155 -> ServerCausal.formant 156 -> ServerCausal.voderMask 157 -> ServerCausal.voderMaskEnv 158 -> ServerCausal.voderMaskSeparated 159 -> ServerCausal.voderMaskMulti 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 324 -> ServerPackedTest.bellNoiseStereoTest 400 -> ServerCausalTest.render 401 -> ServerCausalTest.sequenceNothing 402 -> ServerCausalTest.sequenceSingleLong 403 -> ServerCausalTest.sequenceSingleShort 404 -> ServerCausalTest.sequenceLoop 405 -> ServerCausalTest.sequenceStaccato 406 -> ServerCausalTest.sequenceControlled 407 -> ServerCausalTest.sequenceControlledModulated 409 -> ServerCausalTest.functional 410 -> ServerCausalTest.functionalPlug 411 -> ServerCausalTest.functionalTine >> ServerCausalTest.functionalPlugTine 412 -> ServerCausalTest.sampledSound 413 -> ServerCausalTest.sampledSoundCrash 414 -> ServerCausalTest.sampledSoundMono 415 -> ServerCausalTest.frequencyModulation 416 -> ServerCausalTest.frequencyModulationIO 417 -> ServerCausalTest.frequencyModulationStrictIO 418 -> ServerCausalTest.frequencyModulationSawIO 419 -> ServerCausalTest.envelopeIO _ -> error "not implemented server part"