synthesizer-alsa-0.3: src/Synthesizer/Storable/ALSA/Server.hs
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"