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 +4/−0
- DobutokO/Sound/Faded.hs +18/−0
- DobutokO/Sound/Presentation.hs +2/−2
- dobutokO4.cabal +1/−1
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