packages feed

synthesizer-dimensional 0.6.0.1 → 0.7

raw patch · 8 files changed

+100/−61 lines, 8 filesdep +synthesizer-dimensionaldep ~basedep ~event-listdep ~non-negative

Dependencies added: synthesizer-dimensional

Dependency ranges changed: base, event-list, non-negative, numeric-prelude, random, sox, storable-record, storablevector, synthesizer-core, transformers, utility-ht

Files

src/Synthesizer/Dimensional/Amplitude/Cut.hs view
@@ -34,7 +34,6 @@ import qualified Synthesizer.Dimensional.Rate as Rate import qualified Synthesizer.Dimensional.Amplitude as Amp -import qualified Synthesizer.Generic.Signal2 as SigG2 import qualified Synthesizer.Generic.Signal  as SigG import qualified Synthesizer.Generic.Cut     as CutG import qualified Synthesizer.State.Signal    as Sig@@ -62,23 +61,25 @@  {-# INLINE unzip #-} unzip ::-   (SigG2.Transform sig (yv0, yv1) yv0,-    SigG2.Transform sig (yv0, yv1) yv1) =>+   (SigG.Transform sig (yv0, yv1),+    SigG.Transform sig yv0,+    SigG.Transform sig yv1) =>    SigA.T rate amp (sig (yv0, yv1)) ->    (SigA.T rate amp (sig yv0), SigA.T rate amp (sig yv1)) unzip x =-   let (ss0,ss1) = SigG2.unzip (SigA.body x)+   let (ss0,ss1) = SigG.unzip (SigA.body x)    in  (SigA.replaceBody ss0 x, SigA.replaceBody ss1 x)  {-# INLINE unzip3 #-} unzip3 ::-   (SigG2.Transform sig (yv0, yv1, yv2) yv0,-    SigG2.Transform sig (yv0, yv1, yv2) yv1,-    SigG2.Transform sig (yv0, yv1, yv2) yv2) =>+   (SigG.Transform sig (yv0, yv1, yv2),+    SigG.Transform sig yv0,+    SigG.Transform sig yv1,+    SigG.Transform sig yv2) =>    SigA.T rate amp (sig (yv0, yv1, yv2)) ->    (SigA.T rate amp (sig yv0), SigA.T rate amp (sig yv1), SigA.T rate amp (sig yv2)) unzip3 x =-   let (ss0,ss1,ss2) = SigG2.unzip3 (SigA.body x)+   let (ss0,ss1,ss2) = SigG.unzip3 (SigA.body x)    in  (SigA.replaceBody ss0 x, SigA.replaceBody ss1 x, SigA.replaceBody ss2 x)  @@ -300,20 +301,20 @@ zip ::    (Ord y, Field.C y, Dim.C u,     Module.C y yv0, Module.C y yv1,-    SigG.Read sig yv0, SigG2.Transform sig yv1 (yv0,yv1)) =>+    SigG.Read sig yv0, SigG.Transform sig yv1, SigG.Transform sig (yv0,yv1)) =>    Signal s u y sig yv0 -> Signal s u y sig yv1 -> Signal s u y sig (yv0,yv1) zip =-   merge (SigG2.zipWithState (,)) . SigA.restore+   merge (SigG.zipWithState (,)) . SigA.restore  {-# INLINE zipVolume #-} zipVolume ::    (Field.C y, Dim.C u,     Module.C y yv0, Module.C y yv1,-    SigG.Read sig yv0, SigG2.Transform sig yv1 (yv0,yv1)) =>+    SigG.Read sig yv0, SigG.Transform sig yv1, SigG.Transform sig (yv0,yv1)) =>    DN.T u y ->    Signal s u y sig yv0 -> Signal s u y sig yv1 -> Signal s u y sig (yv0,yv1) zipVolume vol =-   mergeVolume (SigG2.zipWithState (,)) vol . SigA.restore+   mergeVolume (SigG.zipWithState (,)) vol . SigA.restore   @@ -321,27 +322,27 @@ mergeStereo ::    (Ord y, Field.C y, Dim.C u,     Module.C y yv,-    SigG2.Transform sig yv (Stereo.T yv)) =>+    SigG.Transform sig yv, SigG.Transform sig (Stereo.T yv)) =>    Signal s u y sig yv -> Signal s u y sig yv -> Signal s u y sig (Stereo.T yv)-mergeStereo = merge (SigG2.zipWith Stereo.cons)+mergeStereo = merge (SigG.zipWith Stereo.cons)  {-# INLINE mergeStereoVolume #-} mergeStereoVolume ::    (Field.C y, Dim.C u,     Module.C y yv,-    SigG2.Transform sig yv (Stereo.T yv)) =>+    SigG.Transform sig yv, SigG.Transform sig (Stereo.T yv)) =>    DN.T u y ->    Signal s u y sig yv -> Signal s u y sig yv -> Signal s u y sig (Stereo.T yv)-mergeStereoVolume = mergeVolume (SigG2.zipWith Stereo.cons)+mergeStereoVolume = mergeVolume (SigG.zipWith Stereo.cons)  {-# INLINE mergeStereoPrimitive #-} mergeStereoPrimitive ::-   (Amp.Primitive amp, SigG2.Transform sig y (Stereo.T y)) =>+   (Amp.Primitive amp, SigG.Transform sig y, SigG.Transform sig (Stereo.T y)) =>    SigA.T (Rate.Phantom s) amp (sig y) ->    SigA.T (Rate.Phantom s) amp (sig y) ->    SigA.T (Rate.Phantom s) amp (sig (Stereo.T y)) mergeStereoPrimitive =-   mergePrimitive (SigG2.zipWith Stereo.cons)+   mergePrimitive (SigG.zipWith Stereo.cons)   @@ -350,7 +351,7 @@    (Ord y, Field.C y, Dim.C u,     Module.C y yv0, Module.C y yv1, Module.C y yv2,     SigG.Read sig yv0, SigG.Read sig yv1,-    SigG2.Transform sig yv2 (yv0, yv1, yv2)) =>+    SigG.Transform sig yv2, SigG.Transform sig (yv0, yv1, yv2)) =>    Signal s u y sig yv0 -> Signal s u y sig yv1 -> Signal s u y sig yv2 ->    Signal s u y sig (yv0,yv1,yv2) zip3 x0 x1 x2 =@@ -363,7 +364,7 @@    (Field.C y, Dim.C u,     Module.C y yv0, Module.C y yv1, Module.C y yv2,     SigG.Read sig yv0, SigG.Read sig yv1,-    SigG2.Transform sig yv2 (yv0, yv1, yv2)) =>+    SigG.Transform sig yv2, SigG.Transform sig (yv0, yv1, yv2)) =>    DN.T u y ->    Signal s u y sig yv0 -> Signal s u y sig yv1 -> Signal s u y sig yv2 ->    Signal s u y sig (yv0,yv1,yv2)@@ -371,7 +372,7 @@    let sampX0 = SigA.vectorSamples (toAmplitudeScalar z) (SigA.restore x0)        sampX1 = SigA.vectorSamples (toAmplitudeScalar z) (SigA.restore x1)        sampX2 = SigA.vectorSamples (toAmplitudeScalar z) x2-       z = SigA.fromBody amp (SigG2.zipWithState3 (,,) sampX0 sampX1 sampX2)+       z = SigA.fromBody amp (SigG.zipWithState3 (,,) sampX0 sampX1 sampX2)    in  z  @@ -382,14 +383,14 @@    (Ord y, Field.C y, Dim.C u,     Module.C y yv,     SigG.Read sig yv,-    SigG2.Transform sig Bool yv) =>+    SigG.Transform sig Bool, SigG.Transform sig yv) =>    Signal s u y sig yv {- ^ False -} ->    Signal s u y sig yv {- ^ True -} ->    SigA.T (Rate.Phantom s) Amp.Abstract (sig Bool) ->    Signal s u y sig yv selectBool xf xt cs =    SigA.processBody-      (flip (SigG2.zipWithState (\(xfi,xti) c -> if c then xti else xfi))+      (flip (SigG.zipWithState (\(xfi,xti) c -> if c then xti else xfi))           (SigA.body cs))       (zip          (SigA.restore xf)
src/Synthesizer/Dimensional/Arrow.hs view
@@ -28,7 +28,7 @@ import Control.Applicative (Applicative, liftA2, )  import qualified Synthesizer.State.Signal as Sig-import qualified Synthesizer.Generic.Signal2 as SigG2+import qualified Synthesizer.Generic.Signal as SigG  import qualified Algebra.Module as Module import qualified Algebra.Field  as Field@@ -90,13 +90,14 @@ -- we need this generality in ControlledProcess.applyConverter {-# INLINE apply #-} apply ::-   (SigG2.Transform sig (Displacement sample0) (Displacement sample1),+   (SigG.Transform sig (Displacement sample0),+    SigG.Transform sig (Displacement sample1),     Applicable arrow rate) =>    T arrow sample0 sample1 ->    SigA.T rate (Amplitude sample0) (sig (Displacement sample0)) ->    SigA.T rate (Amplitude sample1) (sig (Displacement sample1)) {--   (SigG2.Transform sig yv0 yv1, Applicable arrow rate) =>+   (SigG.Transform sig yv0, SigG.Transform sig yv1, Applicable arrow rate) =>    Single arrow amp0 amp1 yv0 yv1 ->    SigA.T rate amp0 (sig yv0) ->    SigA.T rate amp1 (sig yv1)@@ -108,7 +109,8 @@ {-# INLINE applyFlat #-} applyFlat ::    (Flat.C yv0 amp0,-    SigG2.Transform sig yv0 yv1, Applicable arrow rate) =>+    SigG.Transform sig yv0,+    SigG.Transform sig yv1, Applicable arrow rate) =>    Single arrow (Amp.Flat yv0) amp1 yv0 yv1 ->    SigA.T rate amp0 (sig yv0) ->    SigA.T rate amp1 (sig yv1)@@ -139,7 +141,8 @@  {-# INLINE ($/:) #-} ($/:) ::-   (Applicative f, SigG2.Transform sig yv0 yv1,+   (Applicative f,+    SigG.Transform sig yv0, SigG.Transform sig yv1,     Applicable arrow rate) =>    f (Single arrow amp0 amp1 yv0 yv1) ->    f (SigA.T rate amp0 (sig yv0)) ->
src/Synthesizer/Dimensional/Causal/Process.hs view
@@ -35,7 +35,6 @@ import Control.Applicative (Applicative, )  import qualified Synthesizer.State.Signal as Sig-import qualified Synthesizer.Generic.Signal2 as SigG2 import qualified Synthesizer.Generic.Signal  as SigG  import qualified Algebra.Module as Module@@ -85,7 +84,7 @@  {-# INLINE apply #-} apply ::-   (SigG2.Transform sig yv0 yv1) =>+   (SigG.Transform sig yv0, SigG.Transform sig yv1) =>    Single s amp0 amp1 yv0 yv1 ->    SigA.T (Rate.Phantom s) amp0 (sig yv0) ->    SigA.T (Rate.Phantom s) amp1 (sig yv1)@@ -93,7 +92,8 @@  {-# INLINE applyFlat #-} applyFlat ::-   (Flat.C yv0 amp0, SigG2.Transform sig yv0 yv1) =>+   (Flat.C yv0 amp0,+    SigG.Transform sig yv0, SigG.Transform sig yv1) =>    Single s (Amp.Flat yv0) amp1 yv0 yv1 ->    SigA.T (Rate.Phantom s) amp0 (sig yv0) ->    SigA.T (Rate.Phantom s) amp1 (sig yv1)@@ -121,7 +121,8 @@  {-# INLINE ($/:) #-} ($/:) ::-   (Applicative f, SigG2.Transform sig yv0 yv1) =>+   (Applicative f,+    SigG.Transform sig yv0, SigG.Transform sig yv1) =>    f (Single s amp0 amp1 yv0 yv1) ->    f (SigA.T (Rate.Phantom s) amp0 (sig yv0)) ->    f (SigA.T (Rate.Phantom s) amp1 (sig yv1))
src/Synthesizer/Dimensional/Map.hs view
@@ -15,7 +15,7 @@ import Control.Arrow (Arrow, ) import Control.Category (Category, ) -import qualified Synthesizer.Generic.Signal2 as SigG2+import qualified Synthesizer.Generic.Signal as SigG  import qualified Number.DimensionTerm        as DN import qualified Algebra.DimensionTerm       as Dim@@ -58,7 +58,7 @@  {-# INLINE apply #-} apply ::-   (SigG2.Transform sig yv0 yv1) =>+   (SigG.Transform sig yv0, SigG.Transform sig yv1) =>    Single amp0 amp1 yv0 yv1 ->    SigA.T rate amp0 (sig yv0) ->    SigA.T rate amp1 (sig yv1)@@ -66,7 +66,8 @@  {-# INLINE applyFlat #-} applyFlat ::-   (Flat.C yv0 amp0, SigG2.Transform sig yv0 yv1) =>+   (Flat.C yv0 amp0,+    SigG.Transform sig yv0, SigG.Transform sig yv1) =>    Single (Amp.Flat yv0) amp1 yv0 yv1 ->    SigA.T rate amp0 (sig yv0) ->    SigA.T rate amp1 (sig yv1)
src/Synthesizer/Dimensional/Rate/Filter.hs view
@@ -98,7 +98,6 @@ import qualified Synthesizer.Generic.Filter.NonRecursive as FiltG import qualified Synthesizer.Generic.Filter.Delay as DelayG import qualified Synthesizer.Generic.Signal  as SigG-import qualified Synthesizer.Generic.Signal2 as SigG2  import qualified Synthesizer.Frame.Stereo as Stereo @@ -259,7 +258,7 @@ {-# INLINE phaseModulationGeneric #-} phaseModulationGeneric ::    (Additive.C yv, RealField.C q, Dim.C u,-    SigG2.Transform sig q yv, SigG.Write sig yv) =>+    SigG.Transform sig q, SigG.Transform sig yv, SigG.Write sig yv) =>       Interpolation.T q yv    -> DN.T u q           {- ^ minimal deviation from current time, usually negative -}
src/Synthesizer/Dimensional/RateAmplitude/Rain.hs view
@@ -44,9 +44,6 @@  import qualified Synthesizer.Frame.Stereo as Stereo --- import qualified Synthesizer.Generic.Signal2 as SigG2--- import qualified Synthesizer.Generic.Signal  as SigG- import qualified Synthesizer.Plain.Control as CtrlL import qualified Synthesizer.Plain.Displacement as DispL import qualified Synthesizer.Plain.Noise as NoiseL
src/Synthesizer/Dimensional/Signal/Private.hs view
@@ -13,7 +13,6 @@ import Synthesizer.Dimensional.Process (($#), )  import qualified Synthesizer.Generic.Filter.NonRecursive as FiltG-import qualified Synthesizer.Generic.Signal2 as SigG2 import qualified Synthesizer.Generic.Signal as SigG  -- import qualified Data.StorableVector.Lazy.Pattern as SVP@@ -151,7 +150,7 @@ Of course, for stereo signals @Stereo.T@ should be prefered. -} zip ::-   (SigG2.Transform sig y1 (y0,y1), SigG.Read sig y0) =>+   (SigG.Transform sig y1, SigG.Transform sig (y0,y1), SigG.Read sig y0) =>    T (Rate.Phantom s) amp0 (sig y0) ->    T (Rate.Phantom s) amp1 (sig y1) ->    T (Rate.Phantom s) (amp0,amp1) (sig (y0,y1))@@ -159,7 +158,7 @@    Cons       Rate.Phantom       (amplitude x, amplitude y)-      (SigG2.zip (body x) (body y))+      (SigG.zip (body x) (body y))   {-# INLINE processBody #-}
synthesizer-dimensional.cabal view
@@ -1,5 +1,5 @@ Name:           synthesizer-dimensional-Version:        0.6.0.1+Version:        0.7 License:        GPL License-File:   LICENSE Author:         Henning Thielemann <haskell@henning-thielemann.de>@@ -12,7 +12,7 @@    abstract from the sample rate in statically type safe way. Stability:      Experimental Tested-With:    GHC==6.10.4, GHC==6.12.1, GHC==7.0.4, GHC==7.2.1-Cabal-Version:  >=1.6+Cabal-Version:  >=1.14 Build-Type:     Simple  Extra-Source-Files:@@ -31,13 +31,18 @@   Type:        darcs   Location:    http://code.haskell.org/synthesizer/dimensional/ +Source-Repository this+  Tag:         0.7+  Type:        darcs+  Location:    http://code.haskell.org/synthesizer/dimensional/+ Library   Build-Depends:-    synthesizer-core >=0.5 && <0.6,+    synthesizer-core >=0.6 && <0.7,     transformers >=0.2 && <0.4,     event-list >=0.1 && <0.2,     non-negative >=0.1 && <0.2,-    numeric-prelude >=0.3 && <0.4,+    numeric-prelude >=0.3 && <0.5,     storable-record >=0.0.1 && <0.1,     sox >=0.2 && <0.3,     storablevector >=0.2.3 && <0.3,@@ -49,8 +54,9 @@   If impl(ghc>=7.0)     GHC-Options: -fwarn-unused-do-bind     CPP-Options: -DNoImplicitPrelude=RebindableSyntax-    Extensions: CPP+    Default-Extensions: CPP +  Default-Language: Haskell2010   GHC-Options:    -Wall   Hs-source-dirs: src   Exposed-modules:@@ -108,34 +114,57 @@   Executable rain-  If !flag(buildExamples)+  If flag(buildExamples)+    Build-Depends:+      synthesizer-dimensional,+      synthesizer-core,+      numeric-prelude,+      event-list,+      utility-ht,+      random,+      base+  Else     Buildable: False+  Default-Language: Haskell2010   GHC-Options: -Wall -fexcess-precision   If flag(optimizeAdvanced)-    GHC-Options: -O2 -fvia-C -optc-O2+    GHC-Options: -O2 -fllvm   If impl(ghc>=7.0)     GHC-Options: -fwarn-unused-do-bind     CPP-Options: -DNoImplicitPrelude=RebindableSyntax-    Extensions: CPP+    Default-Extensions: CPP -  Hs-Source-Dirs: src-  Main-Is: Synthesizer/Dimensional/RateAmplitude/Rain.hs+  Main-Is: src/Synthesizer/Dimensional/RateAmplitude/Rain.hs  Executable demonstration   If flag(buildExamples)     Build-Depends:       explicit-exception >=0.1.6 && <0.2,-      old-time >=1.0 && <2+      old-time >=1.0 && <2,++      synthesizer-dimensional,+      synthesizer-core,+      sox,+      storablevector,+      storable-record,+      numeric-prelude,+      event-list,+      non-negative,+      transformers,+      utility-ht,+      random,+      base   Else     Buildable: False   If impl(ghc>=7.0)     GHC-Options: -fwarn-unused-do-bind     CPP-Options: -DNoImplicitPrelude=RebindableSyntax-    Extensions: CPP+    Default-Extensions: CPP +  Default-Language: Haskell2010   GHC-Options: -Wall -fexcess-precision   If flag(optimizeAdvanced)-    GHC-Options: -O2 -fvia-C -optc-O2+    GHC-Options: -O2 -fllvm -- -ddump-simpl-stats   Hs-Source-Dirs: src   Main-Is:@@ -144,15 +173,24 @@     Synthesizer.Dimensional.RateAmplitude.Demonstration  Executable traumzauberbaum-  If !flag(buildExamples)+  If flag(buildExamples)+    Build-Depends:+      synthesizer-dimensional,+      synthesizer-core,+      numeric-prelude,+      utility-ht,+      storablevector,+      base+  Else     Buildable: False++  Default-Language: Haskell2010   GHC-Options: -Wall -fexcess-precision   If impl(ghc>=7.0)     GHC-Options: -fwarn-unused-do-bind     CPP-Options: -DNoImplicitPrelude=RebindableSyntax-    Extensions: CPP+    Default-Extensions: CPP    If flag(optimizeAdvanced)-    GHC-Options: -O2 -fvia-C -optc-O2-  Hs-Source-Dirs: src-  Main-Is: Synthesizer/Dimensional/RateAmplitude/Traumzauberbaum.hs+    GHC-Options: -O2 -fllvm+  Main-Is: src/Synthesizer/Dimensional/RateAmplitude/Traumzauberbaum.hs