packages feed

tidal 0.9.5 → 0.9.6

raw patch · 9 files changed

+147/−7 lines, 9 filesdep ~hosc

Dependency ranges changed: hosc

Files

CHANGELOG.md view
@@ -1,5 +1,11 @@ # TidalCycles log of changes +## 0.96++### Enhancements++* Added `chord` for chord patterns and `scaleP` for scale patterns+ ## 0.9.5  ### Enhancements
Sound/Tidal/Chords.hs view
@@ -104,3 +104,58 @@ -- will create a pattern of a C-major chord followed by a G-minor chord. enchord :: Num a => [[a]] -> Pattern a -> Pattern Int -> Pattern a enchord chords pn pc = flatpat $ (chordate chords) <$> pn <*> pc++chordTable :: Num a => [(String, [a])]+chordTable = [("major", major),+              ("minor", minor),+              ("major7", major7),+              ("dom7", dom7),+              ("minor7", minor7),+              ("aug", aug),+              ("dim", dim),+              ("dim7", dim7),+              ("one", one),+              ("five", five),+              ("plus", plus),+              ("sharp5", sharp5),+              ("msharp5", msharp5),+              ("sus2", sus2),+              ("sus4", sus4),+              ("six", six),+              ("m6", m6),+              ("sevenSus2", sevenSus2),+              ("sevenSus4", sevenSus4),+              ("sevenFlat5", sevenFlat5),+              ("m7flat5", m7flat5),+              ("sevenSharp5", sevenSharp5),+              ("m7sharp5", m7sharp5),+              ("nine", nine),+              ("m9", m9),+              ("m7sharp9", m7sharp9),+              ("maj9", maj9),+              ("nineSus4", nineSus4),+              ("sixby9", sixby9),+              ("m6by9", m6by9),+              ("sevenFlat9", sevenFlat9),+              ("m7flat9", m7flat9),+              ("sevenFlat10", sevenFlat10),+              ("nineSharp5", nineSharp5),+              ("m9sharp5", m9sharp5),+              ("sevenSharp5flat9", sevenSharp5flat9),+              ("m7sharp5flat9", m7sharp5flat9),+              ("eleven", eleven),+              ("m11", m11),+              ("maj11", maj11),+              ("evelenSharp", evelenSharp),+              ("m11sharp", m11sharp),+              ("thirteen", thirteen),+              ("m13", m13)+             ]++chordL :: Num a => Pattern String -> Pattern [a]+chordL p = (\name -> fromMaybe [] $ lookup name chordTable) <$> p++-- | @chord p@ turns a pattern of chord names into a pattern of+-- numbers, representing note value offsets for the chords+chord :: Num a => Pattern String -> Pattern a+chord p = flatpat $ chordL p
Sound/Tidal/Context.hs view
@@ -18,6 +18,9 @@ import Sound.Tidal.Params as C import Sound.Tidal.Transition as C import Sound.Tidal.Version as C-import qualified Sound.Tidal.Scales as Scales-import qualified Sound.Tidal.Chords as Chords+import Sound.Tidal.Chords as C (chord)+import Sound.Tidal.Scales as C (scaleP)++import qualified Sound.Tidal.Scales as C.Scales+import qualified Sound.Tidal.Chords as C.Chords 
Sound/Tidal/Dirt.hs view
@@ -1,7 +1,7 @@ {-# LANGUAGE NoMonomorphismRestriction #-} module Sound.Tidal.Dirt where -import Sound.OSC.FD (Datum)+import Sound.OSC.Datum (Datum) import qualified Data.Map as Map import Control.Applicative import Control.Concurrent.MVar
Sound/Tidal/Scales.hs view
@@ -1,5 +1,11 @@ module Sound.Tidal.Scales where +import Data.Maybe++import Sound.Tidal.Pattern+import Sound.Tidal.Utils+import Control.Applicative+ -- five notes scales minPent :: Num a => [a] minPent = [0,3,5,7,10]@@ -147,3 +153,72 @@ -- 12 note scales chromatic :: Num a => [a] chromatic = [0,1,2,3,4,5,6,7,8,9,10,11]++scaleP :: Pattern String -> Pattern Int -> Pattern Int+scaleP sp p = (\n scaleName -> noteInScale (fromMaybe [0] $ lookup scaleName scaleTable) n) <$> p <*> sp+   where octave s x = x `div` (length s)+         noteInScale s x = (s !!! x) + (12 * octave s x)++scaleTable :: Num a => [(String, [a])]+scaleTable = [("minPent", minPent),+              ("majPent", majPent),+              ("ritusen", ritusen),+              ("egyptian", egyptian),+              ("kumai", kumai),+              ("hirajoshi", hirajoshi),+              ("iwato", iwato),+              ("chinese", chinese),+              ("indian", indian),+              ("pelog", pelog),+              ("prometheus", prometheus),+              ("scriabin", scriabin),+              ("gong", gong),+              ("shang", shang),+              ("jiao", jiao),+              ("zhi", zhi),+              ("yu", yu),+              ("whole", whole),+              ("augmented", augmented),+              ("augmented2", augmented2),+              ("hexMajor7", hexMajor7),+              ("hexDorian", hexDorian),+              ("hexPhrygian", hexPhrygian),+              ("hexSus", hexSus),+              ("hexMajor6", hexMajor6),+              ("hexAeolian", hexAeolian),+              ("major", major),+              ("ionian", ionian),+              ("dorian", dorian),+              ("phrygian", phrygian),+              ("lydian", lydian),+              ("mixolydian", mixolydian),+              ("aeolian", aeolian),+              ("minor", minor),+              ("locrian", locrian),+              ("harmonicMinor", harmonicMinor),+              ("harmonicMajor", harmonicMajor),+              ("melodicMinor", melodicMinor),+              ("melodicMinorDesc", melodicMinorDesc),+              ("melodicMajor", melodicMajor),+              ("bartok", bartok),+              ("hindu", hindu),+              ("todi", todi),+              ("purvi", purvi),+              ("marva", marva),+              ("bhairav", bhairav),+              ("ahirbhairav", ahirbhairav),+              ("superLocrian", superLocrian),+              ("romanianMinor", romanianMinor),+              ("hungarianMinor", hungarianMinor),+              ("neapolitanMinor", neapolitanMinor),+              ("enigmatic", enigmatic),+              ("spanish", spanish),+              ("leadingWhole", leadingWhole),+              ("lydianMinor", lydianMinor),+              ("neapolitanMajor", neapolitanMajor),+              ("locrianMajor", locrianMajor),+              ("diminished", diminished),+              ("diminished2", diminished2),+              ("chromatic", chromatic)+             ]+
Sound/Tidal/SuperCollider.hs view
@@ -5,7 +5,7 @@ import Sound.Tidal.Stream import Sound.Tidal.Pattern import Sound.Tidal.Parse-import Sound.OSC.FD+import Sound.OSC.Datum import Sound.Tidal.OscStream  supercollider :: [Param] -> Double -> Shape
Sound/Tidal/Tempo.hs view
@@ -20,6 +20,7 @@ import System.Environment (lookupEnv) import qualified System.IO.Error as Error import GHC.Conc.Sync (ThreadId)+import Sound.OSC.Datum.Datem import Sound.OSC.FD  import Sound.Tidal.Utils
Sound/Tidal/Version.hs view
@@ -1,4 +1,4 @@  module Sound.Tidal.Version where -tidal_version = "0.9.5"+tidal_version = "0.9.6"
tidal.cabal view
@@ -1,5 +1,5 @@ name:                tidal-version:             0.9.5+version:             0.9.6 synopsis:            Pattern language for improvised music -- description: homepage:            http://tidalcycles.org/@@ -46,7 +46,7 @@     , containers     , hashable     , colour-    , hosc > 0.13, hosc <= 0.15+    , hosc >= 0.16     , text     , mersenne-random-pure64     , time