packages feed

csound-expression 1.0.3 → 1.0.4

raw patch · 5 files changed

+106/−35 lines, 5 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Csound.Opcode.Data: cent :: Nums a => a -> a
+ Csound.Opcode.Data: cpsmidinn :: Nums a => a -> a
+ Csound.Opcode.Data: cpsoct :: Nums a => a -> a
+ Csound.Opcode.Data: octave :: Nums a => a -> a
+ Csound.Opcode.Data: octcps :: Nums a => a -> a
+ Csound.Opcode.Data: octmidinn :: Nums a => a -> a
+ Csound.Opcode.Data: octpch :: Nums a => a -> a
+ Csound.Opcode.Data: pchmidinn :: Nums a => a -> a
+ Csound.Opcode.Data: pchoct :: Nums a => a -> a
+ Csound.Opcode.Data: semitone :: Nums a => a -> a

Files

csound-expression.cabal view
@@ -1,5 +1,5 @@ Name:          csound-expression-Version:       1.0.3+Version:       1.0.4 Cabal-Version: >= 1.6 License:       BSD3 License-file:  LICENSE
src/Csound/Exp.hs view
@@ -212,7 +212,7 @@     | Ceil | Floor | Frac | Round | IntOp     | Abs | ExpOp | Log | Log10 | Logbtwo | Sqrt         | Ampdb | Ampdbfs | Dbamp | Dbfsamp -    | Cpspch+    | Cent | Cpsmidinn | Cpsoct | Cpspch | Octave | Octcps | Octmidinn | Octpch | Pchmidinn | Pchoct | Semitone     deriving (Show, Eq, Ord)  -------------------------------------------------------
src/Csound/Exp/Wrapper.hs view
@@ -161,7 +161,7 @@ tabMap es ps = M.fromList $ zip (nub $ (concat $ mapM (getScoreTabs =<< ) ps) ++ (getInstrTabs =<< es)) [1 ..]      getInstrTabs :: E -> [LowTab]-getInstrTabs = cata $ \re -> case fmap fromPrimOr $ ratedExpExp re of    +getInstrTabs = cata $ \re -> (maybe [] id $ ratedExpDepends re) ++ case fmap fromPrimOr $ ratedExpExp re of         ExpPrim p -> getPrimTabs p     Tfm _ as -> concat as     ConvertRate _ _ a -> a
src/Csound/Opcode/Data.hs view
@@ -46,7 +46,7 @@     ampdb, ampdbfs, dbamp, dbfsamp,      -- ** Pitch conversions-    cpspch,+    cent, cpsmidinn, cpsoct, cpspch, octave, octcps, octmidinn, octpch, pchmidinn, pchoct, semitone,      -- ** Integer and fractional parts     fracD, floorD, ceilD, intD, roundD,@@ -374,14 +374,22 @@ -- amplitude conversions  -- | Floating number types: 'Sig' or 'D'.-class Val a => Nums a -instance Nums Sig-instance Nums D+class Val a => Nums a where+    isSig :: a -> Bool +    +instance Nums Sig where isSig = const True+instance Nums D   where isSig = const False  conv :: Nums a => NumOp -> a -> a conv op a = noRate $ ExpNum $ PreInline op [toPrimOr $ toE a] +convKr :: Nums a => NumOp -> a -> a+convKr op a = conv op $ phi a+    where phi+            | isSig a = setRate Kr +            | otherwise = id + -- | Returns the amplitude equivalent of the decibel value x. Thus: -- -- *    60 dB = 1000@@ -420,7 +428,7 @@ -- doc: <http://www.csounds.com/manual/html/dbamp.html>  dbamp :: Nums a => a -> a-dbamp = conv Dbamp+dbamp = convKr Dbamp  -- | Returns the decibel equivalent of the raw amplitude x, relative to full scale amplitude. Full scale is assumed to be 16 bit. New is Csound version 4.10.  --@@ -428,18 +436,100 @@ -- -- doc: <http://www.csounds.com/manual/html/dbfsamp.html> dbfsamp :: Nums a => a -> a -dbfsamp = conv Dbfsamp +dbfsamp = convKr Dbfsamp   ------------------------------------------------------------------------------------------ -- pitch conversions +-- | Calculates a factor to raise/lower a frequency by a given amount of cents. +--+-- > cent(x) (no rate restriction)+--+-- doc: <http://www.csounds.com/manual/html/cent.html>+cent :: Nums a => a -> a+cent = conv Cent++-- | Converts a Midi note number value to cycles-per-second. +--+-- > cpsmidinn (MidiNoteNumber)  (init- or control-rate args only)+--+-- doc: <http://www.csounds.com/manual/html/cpsmidinn.html>+cpsmidinn :: Nums a => a -> a+cpsmidinn = convKr Cpsmidinn++-- | Converts an octave-point-decimal value to cycles-per-second. +--+-- > cpsoct(oct) (no rate restriction)+--+-- doc: <http://www.csounds.com/manual/html/cpsoct.html>+cpsoct :: Nums a => a -> a+cpsoct = conv Cpsoct+ -- | Converts a pitch-class value to cycles-per-second.  -- -- > cpspch (pch)  (init- or control-rate args only) -- -- doc: <http://www.csounds.com/manual/html/cpspch.html> cpspch :: Nums a => a -> a-cpspch = conv Cpspch+cpspch = convKr Cpspch+++-- | Calculates a factor to raise/lower a frequency by a given amount of octaves. +--+-- > octave(x) (no rate restriction)+--+-- doc: <http://www.csounds.com/manual/html/octave.html>+octave :: Nums a => a -> a+octave = conv Octave++-- | Converts a cycles-per-second value to octave-point-decimal. +--+-- > octcps (cps)  (init- or control-rate args only)+--+-- doc: <http://www.csounds.com/manual/html/octcps.html>+octcps :: Nums a => a -> a+octcps = convKr Octcps++-- | Converts a Midi note number value to octave-point-decimal. +--+-- > octmidinn (MidiNoteNumber)  (init- or control-rate args only)+--+-- doc: <http://www.csounds.com/manual/html/octmidinn.html>+octmidinn :: Nums a => a -> a+octmidinn = convKr Octmidinn+++-- | Converts a pitch-class value to octave-point-decimal. +--+-- > octpch (pch)  (init- or control-rate args only)+--+-- doc: <http://www.csounds.com/manual/html/octpch.html>+octpch :: Nums a => a -> a+octpch = convKr Octpch++-- | Converts a Midi note number value to octave point pitch-class units. +--+-- > pchmidinn (MidiNoteNumber)  (init- or control-rate args only)+--+-- doc: <http://www.csounds.com/manual/html/pchmidinn.html>+pchmidinn :: Nums a => a -> a+pchmidinn = convKr Pchmidinn++-- | Converts an octave-point-decimal value to pitch-class. +--+-- > pchoct (oct)  (init- or control-rate args only)+--+-- doc: <http://www.csounds.com/manual/html/pchoct.html>+pchoct :: Nums a => a -> a+pchoct = convKr Pchoct++-- | Calculates a factor to raise/lower a frequency by a given amount of semitones. +--+-- > semitone(x) (no rate restriction)+--+-- doc: <http://www.csounds.com/manual/html/semitone.html>+semitone :: Nums a => a -> a+semitone = conv Semitone  ----------------------------------------------------- -- * Printing and Strings
src/Csound/Render/Pretty.hs view
@@ -188,36 +188,17 @@     Mul -> bi "*"     Div -> bi "/"     Neg -> uno "-"    -    Pow -> bi "^"+    Pow -> bi "^"         Mod -> bi "%"-    Sin -> fun "sin"-    Cos -> fun "cos"-    Sinh -> fun "sinh"    -    Cosh -> fun "cosh"-    Tan -> fun "tan"-    Tanh -> fun "tanh"    -    Sininv -> fun "sininv"-    Cosinv -> fun "cosinv"-    Taninv -> fun "taninv"        -    Abs -> fun "abs"    -    Ceil -> fun "ceil" +         ExpOp -> fun "exp"-    Floor -> fun "floor" -    Frac -> fun "frac"     IntOp -> fun "int" -    Log -> fun "log" -    Log10 -> fun "log10" -    Logbtwo -> fun "logbtwo" -    Round -> fun "round"-    Sqrt -> fun "sqrt"    --    Ampdb -> fun "ampdb" -    Ampdbfs -> fun "ampdbfs" -    Dbamp -> fun "dbamp"-    Dbfsamp -> fun "dbfsamp"    -    Cpspch -> fun "cpspch"+    +    x -> fun (firstLetterToLower $ show x)             where bi  = binaries           uno = unaries           fun = funcs+          firstLetterToLower (x:xs) = toLower x : xs+