packages feed

csound-expression-dynamic 0.0.3 → 0.0.4

raw patch · 2 files changed

+10/−2 lines, 2 files

Files

csound-expression-dynamic.cabal view
@@ -1,5 +1,5 @@ Name:          csound-expression-dynamic-Version:       0.0.3+Version:       0.0.4 Cabal-Version: >= 1.6 License:       BSD3 License-file:  LICENSE
src/Csound/Dynamic/Build.hs view
@@ -13,7 +13,7 @@     prim, opcPrefix, oprPrefix, oprInfix,      numExp1, numExp2,     tfm, tfmNoInlineArgs, pn, withInits,-    double, int, str, verbatim,+    double, int, str, verbatim, instrIdE,      -- ** Opcodes constructors     Spec1, spec1, opcs, opcsNoInlineArgs, opr1, opr1k, infOpr, oprBy,@@ -56,7 +56,10 @@ withInits :: E -> [E] -> E withInits a es = onExp phi a     where phi x = case x of+            -- for opcodes with single output             Tfm t xs -> Tfm t (xs ++ (fmap toPrimOr es))+            -- for opcodes with multiple outputs+            Select r n expr -> Select r n $ fmap (\t -> withInits t es) expr             _        -> x  -- | Converts Haskell's doubles to Csound's doubles@@ -74,6 +77,11 @@ verbatim :: Monad m => String -> DepT m () verbatim = stmtOnlyT . Verbatim +instrIdE :: InstrId -> E+instrIdE x = case x of+    InstrId Nothing  m -> int m+    InstrId (Just _) _ -> error "instrId undefined for fractional InstrIds"+    InstrLabel s -> str s ---------------------------------------------------------------------- -- constructing opcodes