music-score 1.3 → 1.3.1
raw patch · 2 files changed
+20/−6 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
+ Music.Score.Pitch: down :: (HasPitch a, Functor s, AffineSpace p, p ~ Pitch a) => Diff p -> s a -> s a
+ Music.Score.Pitch: up :: (HasPitch a, Functor s, AffineSpace p, p ~ Pitch a) => Diff p -> s a -> s a
- Music.Score.Pitch: getPitches :: (HasPitch a, Eq v, v ~ Pitch a, Foldable s) => s a -> [Pitch a]
+ Music.Score.Pitch: getPitches :: (HasPitch a, Eq v, v ~ Pitch a, Foldable s, p ~ Pitch a) => s a -> [p]
- Music.Score.Pitch: modifyPitches :: (HasPitch a, Functor s) => (Pitch a -> Pitch a) -> s a -> s a
+ Music.Score.Pitch: modifyPitches :: (HasPitch a, Functor s, p ~ Pitch a) => (p -> p) -> s a -> s a
- Music.Score.Pitch: setPitches :: (HasPitch a, Functor s) => Pitch a -> s a -> s a
+ Music.Score.Pitch: setPitches :: (HasPitch a, Functor s, p ~ Pitch a) => p -> s a -> s a
Files
- music-score.cabal +7/−2
- src/Music/Score/Pitch.hs +13/−4
music-score.cabal view
@@ -1,7 +1,7 @@ name: music-score-version: 1.3-cabal-version: >= 1.2+version: 1.3.1+cabal-version: >= 1.10 author: Hans Hoglund maintainer: Hans Hoglund license: BSD3@@ -16,6 +16,10 @@ This library is part of the Music Suite, see <http://musicsuite.github.com>. +source-repository head+ type: git+ location: git://github.com/hanshoglund/music-score.git+ library build-depends: base >= 4 && < 5,@@ -43,6 +47,7 @@ reenact hs-source-dirs: src+ default-language: Haskell2010 exposed-modules: Music.Time Music.Time.Time
src/Music/Score/Pitch.hs view
@@ -28,6 +28,8 @@ getPitches, setPitches, modifyPitches,+ up,+ down, ) where import Control.Monad (ap, mfilter, join, liftM, MonadPlus(..))@@ -91,7 +93,7 @@ -- -- > Score a -> [Pitch] ---getPitches :: (HasPitch a, Eq v, v ~ Pitch a, Foldable s) => s a -> [Pitch a]+getPitches :: (HasPitch a, Eq v, v ~ Pitch a, Foldable s, p ~ Pitch a) => s a -> [p] getPitches = List.nub . fmap getPitch . toList -- |@@ -99,7 +101,7 @@ -- -- > Pitch -> Score a -> Score a ---setPitches :: (HasPitch a, Functor s) => Pitch a -> s a -> s a+setPitches :: (HasPitch a, Functor s, p ~ Pitch a) => p -> s a -> s a setPitches n = fmap (setPitch n) -- |@@ -107,6 +109,13 @@ -- -- > (Pitch -> Pitch) -> Score a -> Score a ---modifyPitches :: (HasPitch a, Functor s) => (Pitch a -> Pitch a) -> s a -> s a-modifyPitches n = fmap (modifyPitch n)+modifyPitches :: (HasPitch a, Functor s, p ~ Pitch a) => (p -> p) -> s a -> s a+modifyPitches f = fmap (modifyPitch f)++up :: (HasPitch a, Functor s, AffineSpace p, p ~ Pitch a) => Diff p -> s a -> s a+up a = modifyPitches (.+^ a)++down :: (HasPitch a, Functor s, AffineSpace p, p ~ Pitch a) => Diff p -> s a -> s a+down a = modifyPitches (.-^ a)+