haskore 0.1.0.4 → 0.2
raw patch · 20 files changed
+135/−145 lines, 20 filesdep ~event-listdep ~non-negativePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: event-list, non-negative
API changes (from Hackage documentation)
- Haskore.Interface.CSound.Score: fromPerformanceBE :: C time => (time -> Time) -> T time T -> T
+ Haskore.Interface.CSound.Score: fromPerformanceBE :: (C time, Num time) => (time -> Time) -> T time T -> T
- Haskore.Interface.CSound.Tutorial: play :: Output out => FilePath -> (Name, T, TutOrchestra out) -> IO ()
+ Haskore.Interface.CSound.Tutorial: play :: Output out => FilePath -> (Name, T, TutOrchestra out) -> IO ExitCode
- Haskore.Interface.CSound.Tutorial: test :: Output out => (Name, T, TutOrchestra out) -> IO ()
+ Haskore.Interface.CSound.Tutorial: test :: Output out => (Name, T, TutOrchestra out) -> IO ExitCode
- Haskore.Interface.CSound.TutorialCustom: play :: Output out => FilePath -> (Name, T, TutOrchestra out) -> IO ()
+ Haskore.Interface.CSound.TutorialCustom: play :: Output out => FilePath -> (Name, T, TutOrchestra out) -> IO ExitCode
- Haskore.Interface.CSound.TutorialCustom: test :: Output out => (Name, T, TutOrchestra out) -> IO ()
+ Haskore.Interface.CSound.TutorialCustom: test :: Output out => (Name, T, TutOrchestra out) -> IO ExitCode
- Haskore.Interface.MIDI.Render: play :: String -> [String] -> T -> IO ()
+ Haskore.Interface.MIDI.Render: play :: String -> [String] -> T -> IO ExitCode
- Haskore.Interface.MIDI.Render: playAlsa :: T -> IO ()
+ Haskore.Interface.MIDI.Render: playAlsa :: T -> IO ExitCode
- Haskore.Interface.MIDI.Render: playLinux :: T -> IO ()
+ Haskore.Interface.MIDI.Render: playLinux :: T -> IO ExitCode
- Haskore.Interface.MIDI.Render: playTest :: IO ()
+ Haskore.Interface.MIDI.Render: playTest :: IO ExitCode
- Haskore.Interface.MIDI.Render: playTimidity :: T -> IO ()
+ Haskore.Interface.MIDI.Render: playTimidity :: T -> IO ExitCode
- Haskore.Interface.MIDI.Render: playTimidityJack :: T -> IO ()
+ Haskore.Interface.MIDI.Render: playTimidityJack :: T -> IO ExitCode
- Haskore.Interface.MIDI.Render: playWin95 :: T -> IO ()
+ Haskore.Interface.MIDI.Render: playWin95 :: T -> IO ExitCode
- Haskore.Interface.MIDI.Render: playWinNT :: T -> IO ()
+ Haskore.Interface.MIDI.Render: playWinNT :: T -> IO ExitCode
Files
- haskore.cabal +91/−91
- src/Haskore.lhs +11/−11
- src/Haskore/Composition/Drum.lhs +1/−1
- src/Haskore/Example/HeilandHimmel.hs +0/−1
- src/Haskore/Example/Kantate147.hs +3/−4
- src/Haskore/Example/Miscellaneous.lhs +0/−2
- src/Haskore/General/LoopTreeRecursive.lhs +1/−1
- src/Haskore/Interface/AutoTrack/ChartBar.lhs +0/−1
- src/Haskore/Interface/CSound/OrchestraFunction.lhs +0/−1
- src/Haskore/Interface/CSound/Score.lhs +2/−4
- src/Haskore/Interface/CSound/Tutorial.lhs +4/−5
- src/Haskore/Interface/CSound/TutorialCustom.lhs +4/−5
- src/Haskore/Interface/MED/Text.hs +2/−3
- src/Haskore/Interface/MIDI/Note.lhs +0/−1
- src/Haskore/Interface/MIDI/Read.lhs +2/−3
- src/Haskore/Interface/MIDI/Render.lhs +6/−7
- src/Haskore/Interface/MIDI/Write.lhs +3/−1
- src/Haskore/Interface/MML.lhs +0/−1
- src/Haskore/Performance/Fancy.lhs +2/−2
- src/Test/CSound/Makefile +3/−0
haskore.cabal view
@@ -1,5 +1,5 @@ Name: haskore-Version: 0.1.0.4+Version: 0.2 License: GPL License-File: LICENSE Author: Paul Hudak <paul.hudak@yale.edu>, Henning Thielemann@@ -30,6 +30,7 @@ src/Doc/Pics/poly.eps src/Test/CSound/Makefile src/Test/MIDI/Makefile+ src/Haskore.lhs Source-Repository head type: darcs@@ -38,7 +39,7 @@ Source-Repository this type: darcs location: http://code.haskell.org/haskore/revised/core- tag: 0.1.1+ tag: 0.2 Flag splitBase description: Choose the new smaller, split-up base package.@@ -49,10 +50,10 @@ Library Build-Depends:- midi >=0.1.1 && <0.2,- event-list >=0.0.8 && <0.1, markov-chain >=0.0.1 && <0.1,- non-negative >=0.0.1 && <0.1,+ midi >=0.1.1 && <0.2,+ event-list >=0.1 && <0.2,+ non-negative >=0.1 && <0.2, data-accessor >=0.2 && <0.3, utility-ht >=0.0.3 && <0.1, transformers >=0.0.1 && <0.3,@@ -75,94 +76,93 @@ GHC-Options: -Wall -- with GHC-6.4.1 and option -O2 the compilation of NewResolution needs too much heap, thus swapping - Hs-source-dirs: src- Exposed-modules:- Haskore,- Haskore.Basic.Duration,- Haskore.Basic.Dynamics,- Haskore.Basic.Interval,- Haskore.Basic.Pitch,- Haskore.Basic.Scale,- Haskore.Basic.Tempo,- Haskore.Composition.Chord,- Haskore.Composition.ChordType,- Haskore.Composition.Drum,- Haskore.Composition.Rhythm,- Haskore.Composition.Trill,- Haskore.Example.BesondrerTag,- Haskore.Example.ChildSong6,- Haskore.Example.Detail,- Haskore.Example.Flip,- Haskore.Example.Fractal,- Haskore.Example.Guitar,- Haskore.Example.HeilandHimmel,- Haskore.Example.Kantate147,- Haskore.Example.Miscellaneous,- Haskore.Example.NewResolutions,- Haskore.Example.Raenzlein,- Haskore.Example.SelfSim,- Haskore.Example.Ssf,- Haskore.Example.WhiteChristmas,- Haskore.Interface.AutoTrack.ChartBar,- Haskore.Interface.AutoTrack.ChordChart,- Haskore.Interface.AutoTrack.ChordSymbol,- Haskore.Interface.AutoTrack.EventChart,- Haskore.Interface.AutoTrack.Instrument,- Haskore.Interface.AutoTrack.ScaleChart,- Haskore.Interface.AutoTrack.Style,- Haskore.Interface.AutoTrack.Transposeable,- Haskore.Interface.CSound,- Haskore.Interface.CSound.Generator,- Haskore.Interface.CSound.InstrumentMap,- Haskore.Interface.CSound.Note,- Haskore.Interface.CSound.Orchestra,- Haskore.Interface.CSound.OrchestraFunction,- Haskore.Interface.CSound.Score,- Haskore.Interface.CSound.SoundMap,- Haskore.Interface.CSound.Tutorial,- Haskore.Interface.CSound.TutorialCustom,+ Hs-Source-Dirs: src+ Exposed-Modules:+ Haskore.Basic.Duration+ Haskore.Basic.Dynamics+ Haskore.Basic.Interval+ Haskore.Basic.Pitch+ Haskore.Basic.Scale+ Haskore.Basic.Tempo+ Haskore.Composition.Chord+ Haskore.Composition.ChordType+ Haskore.Composition.Drum+ Haskore.Composition.Rhythm+ Haskore.Composition.Trill+ Haskore.Example.BesondrerTag+ Haskore.Example.ChildSong6+ Haskore.Example.Detail+ Haskore.Example.Flip+ Haskore.Example.Fractal+ Haskore.Example.Guitar+ Haskore.Example.HeilandHimmel+ Haskore.Example.Kantate147+ Haskore.Example.Miscellaneous+ Haskore.Example.NewResolutions+ Haskore.Example.Raenzlein+ Haskore.Example.SelfSim+ Haskore.Example.Ssf+ Haskore.Example.WhiteChristmas+ Haskore.Interface.AutoTrack.ChartBar+ Haskore.Interface.AutoTrack.ChordChart+ Haskore.Interface.AutoTrack.ChordSymbol+ Haskore.Interface.AutoTrack.EventChart+ Haskore.Interface.AutoTrack.Instrument+ Haskore.Interface.AutoTrack.ScaleChart+ Haskore.Interface.AutoTrack.Style+ Haskore.Interface.AutoTrack.Transposeable+ Haskore.Interface.CSound+ Haskore.Interface.CSound.Generator+ Haskore.Interface.CSound.InstrumentMap+ Haskore.Interface.CSound.Note+ Haskore.Interface.CSound.Orchestra+ Haskore.Interface.CSound.OrchestraFunction+ Haskore.Interface.CSound.Score+ Haskore.Interface.CSound.SoundMap+ Haskore.Interface.CSound.Tutorial+ Haskore.Interface.CSound.TutorialCustom -- needs 'parsec' package- Haskore.Interface.MED.Text,- Haskore.Interface.MIDI,- Haskore.Interface.MIDI.InstrumentMap,- Haskore.Interface.MIDI.Note,- Haskore.Interface.MIDI.Read,- Haskore.Interface.MIDI.Render,- Haskore.Interface.MIDI.Write,- Haskore.Interface.MML,- Haskore.Melody,- Haskore.Melody.Standard,- Haskore.Music,- Haskore.Music.GeneralMIDI,- Haskore.Music.Rhythmic,- Haskore.Music.Standard,- Haskore.Performance,- Haskore.Performance.BackEnd,- Haskore.Performance.Context,- Haskore.Performance.Player,- Haskore.Performance.Default,- Haskore.Performance.Fancy,- Haskore.Process.Format,- Haskore.Process.Optimization,- Medium,- Medium.Temporal,- Medium.Plain.Binary,- Medium.Plain.List,- Medium.Plain.ContextFreeGrammar,- Medium.Controlled,- Medium.Controlled.List,- Medium.Controlled.ContextFreeGrammar,+ Haskore.Interface.MED.Text+ Haskore.Interface.MIDI+ Haskore.Interface.MIDI.InstrumentMap+ Haskore.Interface.MIDI.Note+ Haskore.Interface.MIDI.Read+ Haskore.Interface.MIDI.Render+ Haskore.Interface.MIDI.Write+ Haskore.Interface.MML+ Haskore.Melody+ Haskore.Melody.Standard+ Haskore.Music+ Haskore.Music.GeneralMIDI+ Haskore.Music.Rhythmic+ Haskore.Music.Standard+ Haskore.Performance+ Haskore.Performance.BackEnd+ Haskore.Performance.Context+ Haskore.Performance.Player+ Haskore.Performance.Default+ Haskore.Performance.Fancy+ Haskore.Process.Format+ Haskore.Process.Optimization+ Medium+ Medium.Temporal+ Medium.Plain.Binary+ Medium.Plain.List+ Medium.Plain.ContextFreeGrammar+ Medium.Controlled+ Medium.Controlled.List+ Medium.Controlled.ContextFreeGrammar Medium.LabeledControlled.List- Other-modules:- Haskore.General.LoopTreeRecursive,- Haskore.General.LoopTreeRecursiveGen,- Haskore.General.LoopTreeTagged,- Haskore.General.LoopTreeTaggedGen,- Haskore.General.GraphRecursiveGen,- Haskore.General.GraphTaggedGen,- Haskore.General.LetRec,- Haskore.General.Map,- Haskore.General.TagDictionary,+ Other-Modules:+ Haskore.General.LoopTreeRecursive+ Haskore.General.LoopTreeRecursiveGen+ Haskore.General.LoopTreeTagged+ Haskore.General.LoopTreeTaggedGen+ Haskore.General.GraphRecursiveGen+ Haskore.General.GraphTaggedGen+ Haskore.General.LetRec+ Haskore.General.Map+ Haskore.General.TagDictionary Haskore.General.Utility Executable test
src/Haskore.lhs view
@@ -35,25 +35,25 @@ At the module level, Haskore is organized as follows: \begin{haskelllisting} -> module Haskore (module Haskore,-> module Haskore.Music,-> module Haskore.Performance,-> module Haskore.Performance.Player,-> module Haskore.Interface.MIDI.Write,-> module Haskore.Interface.MIDI.Read,-> module Sound.MIDI.File.Save,-> module Sound.MIDI.File.Load,-> module Haskore.Interface.MIDI.Render)-> where+> module Haskore (+> module Haskore.Music,+> module Haskore.Performance,+> module Haskore.Performance.Player,+> module Haskore.Interface.MIDI.Write,+> module Haskore.Interface.MIDI.Read,+> module Haskore.Interface.MIDI.Render,+> module Sound.MIDI.File.Save,+> module Sound.MIDI.File.Load,+> ) where > > import qualified Haskore.Music > import qualified Haskore.Performance > import qualified Haskore.Performance.Player > import qualified Haskore.Interface.MIDI.Write > import qualified Haskore.Interface.MIDI.Read+> import qualified Haskore.Interface.MIDI.Render > import qualified Sound.MIDI.File.Save > import qualified Sound.MIDI.File.Load-> import qualified Haskore.Interface.MIDI.Render \end{haskelllisting}
src/Haskore/Composition/Drum.lhs view
@@ -22,7 +22,7 @@ > import Haskore.Composition.Trill > import qualified Haskore.Basic.Duration as Duration > import Haskore.Basic.Duration (qn, en, )-> import Haskore.Music (qnr, enr, (=:=), changeTempo, rest, line)+> import Haskore.Music (qnr, enr, (=:=), changeTempo, rest, ) > import Haskore.Melody.Standard (NoteAttributes, na, ) > import qualified Haskore.Music as Music
src/Haskore/Example/HeilandHimmel.hs view
@@ -10,7 +10,6 @@ import Haskore.Melody.Standard as Melody import Haskore.Music.GeneralMIDI as MidiMusic-import qualified Haskore.Music as Music noAttr :: [Melody.NoteAttributes -> Melody.T] -> Melody.T
src/Haskore/Example/Kantate147.hs view
@@ -20,11 +20,10 @@ import qualified Medium.Controlled.ContextFreeGrammar as Grammar import qualified Data.MarkovChain as MarkovChain -import qualified Sound.MIDI.File as MidiFile+import qualified Haskore.Interface.MIDI.Write as WriteMidi import qualified Haskore.Interface.MIDI.InstrumentMap as InstrumentMap-import qualified Haskore.Interface.MIDI.Write as WriteMidi-import qualified Sound.MIDI.File.Save as SaveMidi-import qualified Sound.MIDI.General as GeneralMidi+import qualified Sound.MIDI.File.Save as SaveMidi+import qualified Sound.MIDI.File as MidiFile import qualified Data.List as List
src/Haskore/Example/Miscellaneous.lhs view
@@ -11,7 +11,6 @@ > import qualified Haskore.Music as Music > import Haskore.Music (rest, delay, (/=:)) > import Haskore.Music.GeneralMIDI as MidiMusic-> import Haskore.Music.Standard as StdMusic > import qualified Haskore.Music.Rhythmic as RhyMusic > import qualified Haskore.Melody as Melody > import Haskore.Melody.Standard as StdMelody@@ -34,7 +33,6 @@ > import Haskore.Basic.Duration ((%+)) > import qualified Numeric.NonNegative.Wrapper as NonNeg -> import System.IO(IO) > import Data.Tuple.HT (fst3, snd3, thd3, )
src/Haskore/General/LoopTreeRecursive.lhs view
@@ -4,7 +4,7 @@ > import qualified Haskore.General.TagDictionary as Dict > import Control.Monad.Trans.State(StateT, evalState, put, get, )-> import Control.Monad (liftM, mapM, )+> import Control.Monad (liftM, ) Loop now needs an ID because there may be more than one of them.
src/Haskore/Interface/AutoTrack/ChartBar.lhs view
@@ -16,7 +16,6 @@ > import Data.Char(isSpace, isAlpha) > import Haskore.Basic.Duration(wn, (%+), )-> import qualified Haskore.Basic.Duration as Dur > import Prelude hiding (length)
src/Haskore/Interface/CSound/OrchestraFunction.lhs view
@@ -1,5 +1,4 @@ > module Haskore.Interface.CSound.OrchestraFunction where-> import Data.List (lookup, ) > {- a fast variant of 'elem' > precondition: list must be sorted
src/Haskore/Interface/CSound/Score.lhs view
@@ -24,8 +24,6 @@ > import qualified Numeric.NonNegative.Class as NonNeg -> import System.IO- \end{haskelllisting} We will represent a score file as a sequence of \keyword{score statements}:@@ -128,7 +126,7 @@ achieved by the following two functions: \begin{haskelllisting} -> fromPerformanceBE :: (NonNeg.C time) =>+> fromPerformanceBE :: (NonNeg.C time, Num time) => > (time -> Time) -> > PerformanceBE.T time CSNote.T -> T @@ -188,7 +186,7 @@ > (PerformanceBE.eventDur event) > (PerformanceBE.eventNote event)) . > TimeListAbs.toPairList .-> TimeList.toAbsoluteEventList 0+> TimeList.toAbsoluteEventList NonNeg.zero > > fromRhythmicPerformance :: > (RealFrac time, NonNeg.C time, RealFrac dyn, Ord drum, Ord instr) =>
src/Haskore/Interface/CSound/Tutorial.lhs view
@@ -31,8 +31,8 @@ > import Haskore.Music ((+:+), (=:=), qnr) > import Haskore.Melody as Melody -> import System.IO-> import System.Cmd( system )+> import System.Cmd (system, )+> import System.Exit (ExitCode, ) \end{haskelllisting} @@ -1181,7 +1181,7 @@ are put by \function{CSound.Score.statementToWords}. \begin{haskelllisting} -> test :: Output out => (Name, Score.T, TutOrchestra out) -> IO ()+> test :: Output out => (Name, Score.T, TutOrchestra out) -> IO ExitCode > test = play csoundDir > > toOrchestra :: Output out => TutOrchestra out -> Orchestra.T out@@ -1189,7 +1189,7 @@ > Orchestra.Cons hd (SoundMap.instrumentTableToInstrBlocks instrs) > > play :: Output out =>-> FilePath -> (Name, Score.T, TutOrchestra out) -> IO ()+> FilePath -> (Name, Score.T, TutOrchestra out) -> IO ExitCode > play dir (name, s, o') = > let scorename = name ++ ".sco" > orchname = name ++ ".orc"@@ -1219,7 +1219,6 @@ > system (dir ++ "/csound.exe -W -o " ++ wavename > ++ " " ++ orchname ++ " " ++ scorename) > -}-> return () \end{haskelllisting}
src/Haskore/Interface/CSound/TutorialCustom.lhs view
@@ -30,8 +30,8 @@ > import Haskore.Music ((+:+), (=:=), qnr) > import Haskore.Melody as Melody -> import System.IO-> import System.Cmd( system )+> import System.Cmd (system, )+> import System.Exit (ExitCode, ) > lineCS :: EvalRate -> SigExp -> SigExp > -> SigExp -> SigExp@@ -1213,7 +1213,7 @@ are put by \function{CSound.Score.statementToWords}. \begin{haskelllisting} -> test :: Output out => (Name, Score.T, TutOrchestra out) -> IO ()+> test :: Output out => (Name, Score.T, TutOrchestra out) -> IO ExitCode > test = play csoundDir > > applyOutFunc :: OutFunc out -> out@@ -1227,7 +1227,7 @@ > InstrBlock i 0 (applyOutFunc out) []) instrs) > > play :: Output out =>-> FilePath -> (Name, Score.T, TutOrchestra out) -> IO ()+> FilePath -> (Name, Score.T, TutOrchestra out) -> IO ExitCode > play dir (name, s, o') = > let scorename = name ++ ".sco" > orchname = name ++ ".orc"@@ -1257,7 +1257,6 @@ > system (dir ++ "/csound.exe -W -o " ++ wavename > ++ " " ++ orchname ++ " " ++ scorename) > -}-> return () \end{haskelllisting}
src/Haskore/Interface/MED/Text.hs view
@@ -8,7 +8,6 @@ module Haskore.Interface.MED.Text where import qualified Haskore.Basic.Pitch as Pitch-import qualified Haskore.Music as Music import qualified Haskore.Melody as Melody import qualified Haskore.Process.Format as Fmt@@ -78,8 +77,8 @@ (Parse.satisfy (\p -> 'A' <= p && p <= 'V')))) return (Just ((octave,pitchClass), instr))) <|>- (do Parse.char '-'- ParseComb.count 4 ParseComb.anyToken+ (do _ <- Parse.char '-'+ _ <- ParseComb.count 4 ParseComb.anyToken return Nothing) parseCell :: CharParser () (Maybe (Pitch.T,Instrument), String)
src/Haskore/Interface/MIDI/Note.lhs view
@@ -17,7 +17,6 @@ > import qualified Haskore.Basic.Pitch as Pitch > import Data.Ord.HT (limit, ) > import Data.Maybe.HT (toMaybe, )-> import qualified Data.List as List > data T = > Cons {
src/Haskore/Interface/MIDI/Read.lhs view
@@ -14,12 +14,11 @@ > import qualified Haskore.Interface.MIDI.InstrumentMap as InstrMap > import Sound.MIDI.File as MidiFile > import qualified Sound.MIDI.File.Event as MidiFileEvent-> import qualified Sound.MIDI.File.Event.Meta as MetaEvent > import qualified Sound.MIDI.Message.Channel as ChannelMsg > import qualified Sound.MIDI.Message.Channel.Voice as Voice > import qualified Sound.MIDI.General as GeneralMidi-> import Sound.MIDI.File.Event (T(MIDIEvent, MetaEvent), ElapsedTime, )-> import Sound.MIDI.File.Event.Meta (T(SetTempo), ElapsedTime, Tempo, defltST, defltDurT, )+> import Sound.MIDI.File.Event (T(MIDIEvent, MetaEvent), )+> import Sound.MIDI.File.Event.Meta (T(SetTempo), defltST, defltDurT, ) > import Sound.MIDI.Message.Channel (Body(Voice), Channel, ) > import Sound.MIDI.Message.Channel.Voice (Program, ) >
src/Haskore/Interface/MIDI/Render.lhs view
@@ -24,7 +24,8 @@ > import qualified Numeric.NonNegative.Class as NonNeg > import qualified Numeric.NonNegative.Wrapper as NonNegW -> import System.Cmd (rawSystem)+> import System.Cmd (rawSystem, )+> import System.Exit (ExitCode, ) \end{haskelllisting} }@@ -106,14 +107,13 @@ > fileName :: FilePath > fileName = "test.mid" -> play :: String -> [String] -> MidiMusic.T -> IO ()+> play :: String -> [String] -> MidiMusic.T -> IO ExitCode > play cmd opts m = > do fileFromGeneralMIDIMusic fileName m > rawSystem cmd (opts ++ [fileName])-> return () > > playWin95, playWinNT,-> playLinux, playAlsa, playTimidity, playTimidityJack :: MidiMusic.T -> IO ()+> playLinux, playAlsa, playTimidity, playTimidityJack :: MidiMusic.T -> IO ExitCode > playWin95 = play "mplayer" [] > playWinNT = play "mplay32" [] > playLinux = play "playmidi" ["-rf"]@@ -132,10 +132,9 @@ {\small \begin{haskelllisting} -> playTest :: IO ()+> playTest :: IO ExitCode > playTest =-> do rawSystem "mplay32" [fileName]-> return ()+> rawSystem "mplay32" [fileName] \end{haskelllisting} }
src/Haskore/Interface/MIDI/Write.lhs view
@@ -398,7 +398,9 @@ > d = PerformanceBE.eventDur ev > (mec0, mec1) = MidiNote.toMIDIEvents note > in maybe (TimeList.consBody mec0)-> (\pcME -> TimeList.consBody pcME . TimeList.cons 0 mec0)+> (\pcME ->+> TimeList.consBody pcME .+> TimeList.cons NonNeg.zero mec0) > progChange > (TimeList.insert d mec1 mevs)
src/Haskore/Interface/MML.lhs view
@@ -9,7 +9,6 @@ > import qualified Haskore.Melody as Melody > import Haskore.Basic.Duration((%+)) -> import qualified Data.List as List > import Control.Monad.Trans.State (State, state, evalState, ) \end{haskelllisting}
src/Haskore/Performance/Fancy.lhs view
@@ -14,8 +14,8 @@ > import Haskore.Performance (eventDur, ) -> -- import qualified Data.EventList.Relative.TimeBody as TimeList-> import qualified Data.EventList.Relative.TimeTime as TimeListPad+> -- import qualified Data.EventList.Relative.TimeBody as TimeList+> -- import qualified Data.EventList.Relative.TimeTime as TimeListPad > import qualified Data.EventList.Relative.MixedTime as TimeListPad > import qualified Data.EventList.Relative.BodyTime as BodyTimeList
src/Test/CSound/Makefile view
@@ -1,2 +1,5 @@ %.wav: %.orc %.sco csound -W -b 1024 -d -m 0 -o $@ $^++play-%: %.orc %.sco+ OPCODEDIR=/usr/lib/csound/plugins csound -n -o dac $^