packages feed

dobutokO4 0.3.0.0 → 0.4.0.0

raw patch · 4 files changed

+25/−3 lines, 4 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ DobutokO.Sound.Faded: moreFCN :: FilePath -> String -> Double -> Double -> Double -> Double -> Double -> (Double -> Double) -> Vector Double -> IO ()
+ DobutokO.Sound.Faded: moreFN :: FilePath -> String -> String -> Double -> Double -> Double -> Double -> Double -> (Double -> Double) -> Vector Double -> IO ()

Files

ChangeLog.md view
@@ -21,3 +21,7 @@  * Third version. Added a new data type to the DobutokO.Sound.Presentation module (IntervalMG), some changes to the data types already present.  Added more instances. Some minor documentation improvements.++## 0.4.0.0 -- 2020-06-09++* Fourth version. Added moreF-based functions to the DobutokO.Sound.Faded module. They allow to create a sequence of sounds with frequency modulation.
DobutokO/Sound/Faded.hs view
@@ -37,6 +37,9 @@   , basicFCN   , basicF2N   , basicF2CN+  -- * Generate several files with frequency modulation+  , moreFN+  , moreFCN   -- * Auxiliary functions   , endingWF   , charFadeType@@ -306,3 +309,18 @@ -- | A generalized version of the 'basicF2C' with a possibility to specify the name for the mixed files (by default is \"test\" based). basicF2CN :: FilePath -> String -> Double -> Double -> Double -> Double -> Double -> (Double -> Double) -> V.Vector Double -> IO () basicF2CN filestart xs freq x0 xdelta per1 per2 f v = let (ys,x2s) = argString xs in basicF2N filestart ys x2s freq x0 xdelta per1 per2 f v++-- | A generalized version of the 'basicFN' with a frequency modulation.+moreFN :: FilePath -> String -> String -> Double -> Double -> Double -> Double -> Double -> (Double -> Double) -> V.Vector Double -> IO ()+moreFN filestart ys x2s freq1 freq2 x0 xdelta per f v = do+  let (xs1,xs2) = splitAt 1 x2s+      c1 = if null xs1 then 'l' else head xs1+      c2 = if null xs2 then 'l' else head xs2+  v1 <- evalSndFV f v+  V.imapM_ (\i x -> do+    overChangeVolGN filestart ys [c1] i freq1 freq2 x0 xdelta x+    fadeEndsTMB c2 per $ (filestart ++ "G") ++ prependZeroes 6 (show i) ++ endingWF ys) v1++-- | A generalized version of the 'basicFCN' with a frequency modulation.+moreFCN :: FilePath -> String -> Double -> Double -> Double -> Double -> Double -> (Double -> Double) -> V.Vector Double -> IO ()+moreFCN filestart xs freq1 freq2 x0 xdelta per f v = let (ys,x2s) = argString xs in moreFN filestart ys x2s freq1 freq2 x0 xdelta per f v
DobutokO/Sound/Presentation.hs view
@@ -195,7 +195,7 @@ #ifdef __GLASGOW_HASKELL__ #if __GLASGOW_HASKELL__>=804 /* code that applies only to GHC 8.4.* and higher versions */--- | Since base-4.9.0.0. Idempotent semigroup (x <> x == x) -- band. (<>) can be understood as a intersection of the sets.+-- | Since base-4.9.0.0. Idempotent semigroup (x <> x == x) -- band. (<>) can be understood as an intersection of the sets. instance Semigroup IntervalTimI where   (<>) Empty2 x = Empty2   (<>) x Empty2 = Empty2@@ -208,7 +208,7 @@ #endif #endif   --- | Can be understood as intersection of the sets.+-- | Can be understood as an intersection of the sets. instance Monoid IntervalTimI where   mempty = Empty2 #ifdef __GLASGOW_HASKELL__
dobutokO4.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/  name:                dobutokO4-version:             0.3.0.0+version:             0.4.0.0 synopsis:            Helps to create experimental music. Uses SoX inside. description:         Uses SoX fade (in a special 2D way) and frequency modulation. Provides a special representation for the composition. homepage:            https://hackage.haskell.org/package/dobutokO4