module Main where import qualified Synthesizer.Storable.ALSA.Server.Run as Run import qualified Synthesizer.Storable.ALSA.Server.Test as Test import Synthesizer.Storable.ALSA.Server.Common (Real, play, sampleRate, chunkSize, periodTime, ) import qualified Synthesizer.Basic.Wave as Wave import qualified Synthesizer.Storable.ALSA.Play as Play import qualified Synthesizer.Storable.Oscillator as OsciSt import qualified Synthesizer.Storable.Signal as SigSt import qualified Algebra.Additive as Additive import NumericPrelude.Numeric (zero, ) import Prelude hiding (Real, round, break, id, (.), ) {- This program has still a very slowly growing memory leak. -} main :: IO () main = case 110::Int of 000 -> Play.auto (periodTime::Real) 44100 $ OsciSt.static chunkSize Wave.sine zero (800/sampleRate::Real) 001 -> print Test.keyboard3 002 -> play (periodTime::Real) sampleRate Test.keyboard3 003 -> Test.speed 004 -> Test.frequency1 005 -> Test.frequency2 006 -> Test.frequency3 {- 007 -> Test.frequency4 -} 008 -> Test.keyboard1 009 -> SigSt.writeFile "test.f32" Test.keyboard2 010 -> SigSt.writeFile "test.f32" Test.keyboard3 011 -> SigSt.writeFile "test.f32" Test.keyboard4 012 -> SigSt.writeFile "test.f32" Test.keyboard5 {- 013 -> Test.keyboard6 014 -> Test.keyboard7 -} 015 -> Test.arrangeSpaceLeak0 016 -> Test.arrangeSpaceLeak1 018 -> Test.arrangeSpaceLeak3 019 -> Test.arrangeSpaceLeak4 020 -> Test.chordSpaceLeak1 -- 021 -> Test.chordSpaceLeak2 -- 022 -> Test.chordSpaceLeak3 -- 023 -> Test.chordSpaceLeak4 023 -> Test.sequencePitchBend 024 -> Test.sequencePitchBend1 025 -> Test.sequencePitchBend2 026 -> Test.sequencePitchBend3 027 -> Test.sequencePitchBend4 028 -> Test.sequencePitchBend4a 029 -> Test.sequencePitchBend4b 030 -> Test.sequencePitchBend4c 031 -> Test.sequencePitchBend4d 032 -> Test.sequencePitchBend4e 033 -> Test.sequencePitchBend5 040 -> Test.sequenceStaccato 050 -> Test.speed 051 -> Test.speedChunky 052 -> Test.speedArrange 100 -> Run.pitchBend 101 -> Run.volumeFrequency 102 -> Run.keyboard 103 -> Run.keyboardMulti 104 -> Run.keyboardStereo 105 -> Run.keyboardPitchbend 106 -> Run.keyboardFM 107 -> Run.keyboardDetuneFM 108 -> Run.keyboardFilter 109 -> Run.keyboardSample 110 -> Run.keyboardVariousStereo 111 -> Run.keyboardSampleTFM 112 -> Run.keyboardNoisyTone 113 -> Run.keyboardFilteredNoisyTone _ -> error "not implemented server part"