csound-expression-dynamic 0.1.6 → 0.2.0
raw patch · 8 files changed
+36/−23 lines, 8 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Csound.Dynamic.Types.Exp: instance (GHC.Classes.Eq a, GHC.Classes.Eq b) => GHC.Classes.Eq (Csound.Dynamic.Types.Exp.Inline a b)
- Csound.Dynamic.Types.Exp: instance (GHC.Classes.Eq a, GHC.Classes.Eq b) => GHC.Classes.Eq (Csound.Dynamic.Types.Exp.PreInline a b)
- Csound.Dynamic.Types.Exp: instance (GHC.Classes.Ord a, GHC.Classes.Ord b) => GHC.Classes.Ord (Csound.Dynamic.Types.Exp.Inline a b)
- Csound.Dynamic.Types.Exp: instance (GHC.Classes.Ord a, GHC.Classes.Ord b) => GHC.Classes.Ord (Csound.Dynamic.Types.Exp.PreInline a b)
- Csound.Dynamic.Types.Exp: instance (GHC.Show.Show a, GHC.Show.Show b) => GHC.Show.Show (Csound.Dynamic.Types.Exp.Inline a b)
- Csound.Dynamic.Types.Exp: instance (GHC.Show.Show a, GHC.Show.Show b) => GHC.Show.Show (Csound.Dynamic.Types.Exp.PreInline a b)
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_0CondOp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_0Gen
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_0GenId
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_0Info
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_0InlineExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_0InstrId
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_0MainExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_0NumOp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_0OpcFixity
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_0PreInline
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_0Prim
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_0PrimOr
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_0Rate
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_0RatedExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_0Var
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_0VarType
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_10MainExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_11MainExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_12MainExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_13MainExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_14MainExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_15MainExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_16MainExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_17MainExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_18MainExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_19MainExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_1CondOp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_1GenId
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_1InlineExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_1InstrId
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_1MainExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_1NumOp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_1OpcFixity
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_1Prim
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_1Rate
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_1Var
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_1VarType
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_2CondOp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_2MainExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_2NumOp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_2OpcFixity
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_2Prim
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_2Rate
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_3CondOp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_3MainExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_3NumOp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_3Prim
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_3Rate
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_4CondOp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_4MainExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_4NumOp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_4Prim
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_4Rate
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_5CondOp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_5MainExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_5NumOp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_5Prim
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_5Rate
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_6CondOp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_6MainExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_6NumOp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_6Prim
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_6Rate
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_7CondOp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_7MainExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_7Rate
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_8CondOp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_8MainExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_9CondOp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Constructor Csound.Dynamic.Types.Exp.C1_9MainExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Datatype Csound.Dynamic.Types.Exp.D1CondOp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Datatype Csound.Dynamic.Types.Exp.D1Gen
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Datatype Csound.Dynamic.Types.Exp.D1GenId
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Datatype Csound.Dynamic.Types.Exp.D1Info
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Datatype Csound.Dynamic.Types.Exp.D1InlineExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Datatype Csound.Dynamic.Types.Exp.D1InstrId
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Datatype Csound.Dynamic.Types.Exp.D1MainExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Datatype Csound.Dynamic.Types.Exp.D1NumOp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Datatype Csound.Dynamic.Types.Exp.D1OpcFixity
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Datatype Csound.Dynamic.Types.Exp.D1PreInline
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Datatype Csound.Dynamic.Types.Exp.D1Prim
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Datatype Csound.Dynamic.Types.Exp.D1PrimOr
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Datatype Csound.Dynamic.Types.Exp.D1Rate
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Datatype Csound.Dynamic.Types.Exp.D1RatedExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Datatype Csound.Dynamic.Types.Exp.D1Var
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Datatype Csound.Dynamic.Types.Exp.D1VarType
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Selector Csound.Dynamic.Types.Exp.S1_0_0Gen
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Selector Csound.Dynamic.Types.Exp.S1_0_0Info
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Selector Csound.Dynamic.Types.Exp.S1_0_0InstrId
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Selector Csound.Dynamic.Types.Exp.S1_0_0PrimOr
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Selector Csound.Dynamic.Types.Exp.S1_0_0RatedExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Selector Csound.Dynamic.Types.Exp.S1_0_0Var
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Selector Csound.Dynamic.Types.Exp.S1_0_1Gen
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Selector Csound.Dynamic.Types.Exp.S1_0_1Info
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Selector Csound.Dynamic.Types.Exp.S1_0_1InstrId
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Selector Csound.Dynamic.Types.Exp.S1_0_1RatedExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Selector Csound.Dynamic.Types.Exp.S1_0_1Var
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Selector Csound.Dynamic.Types.Exp.S1_0_2Gen
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Selector Csound.Dynamic.Types.Exp.S1_0_2Info
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Selector Csound.Dynamic.Types.Exp.S1_0_2RatedExp
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Selector Csound.Dynamic.Types.Exp.S1_0_2Var
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Selector Csound.Dynamic.Types.Exp.S1_0_3Gen
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Selector Csound.Dynamic.Types.Exp.S1_1_0Var
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Selector Csound.Dynamic.Types.Exp.S1_1_1Var
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Selector Csound.Dynamic.Types.Exp.S1_6_0Prim
- Csound.Dynamic.Types.Exp: instance GHC.Generics.Selector Csound.Dynamic.Types.Exp.S1_6_1Prim
+ Csound.Dynamic.Types.CsdFile: Plugin :: String -> String -> Plugin
+ Csound.Dynamic.Types.CsdFile: [csdPlugins] :: Csd -> [Plugin]
+ Csound.Dynamic.Types.CsdFile: [pluginContent] :: Plugin -> String
+ Csound.Dynamic.Types.CsdFile: [pluginName] :: Plugin -> String
+ Csound.Dynamic.Types.CsdFile: data Plugin
+ Csound.Dynamic.Types.Exp: instance (GHC.Classes.Eq b, GHC.Classes.Eq a) => GHC.Classes.Eq (Csound.Dynamic.Types.Exp.Inline a b)
+ Csound.Dynamic.Types.Exp: instance (GHC.Classes.Eq b, GHC.Classes.Eq a) => GHC.Classes.Eq (Csound.Dynamic.Types.Exp.PreInline a b)
+ Csound.Dynamic.Types.Exp: instance (GHC.Classes.Ord b, GHC.Classes.Ord a) => GHC.Classes.Ord (Csound.Dynamic.Types.Exp.Inline a b)
+ Csound.Dynamic.Types.Exp: instance (GHC.Classes.Ord b, GHC.Classes.Ord a) => GHC.Classes.Ord (Csound.Dynamic.Types.Exp.PreInline a b)
+ Csound.Dynamic.Types.Exp: instance (GHC.Show.Show b, GHC.Show.Show a) => GHC.Show.Show (Csound.Dynamic.Types.Exp.Inline a b)
+ Csound.Dynamic.Types.Exp: instance (GHC.Show.Show b, GHC.Show.Show a) => GHC.Show.Show (Csound.Dynamic.Types.Exp.PreInline a b)
+ Csound.Dynamic.Types.Flags: AlsaSeq :: Rtmidi
- Csound.Dynamic.Build.Logic: ifBegin :: Monad m => E -> DepT m ()
+ Csound.Dynamic.Build.Logic: ifBegin :: Monad m => Rate -> E -> DepT m ()
- Csound.Dynamic.Build.Logic: when1 :: Monad m => E -> DepT m () -> DepT m ()
+ Csound.Dynamic.Build.Logic: when1 :: Monad m => Rate -> E -> DepT m () -> DepT m ()
- Csound.Dynamic.Build.Logic: whens :: Monad m => [(E, DepT m ())] -> DepT m () -> DepT m ()
+ Csound.Dynamic.Build.Logic: whens :: Monad m => Rate -> [(E, DepT m ())] -> DepT m () -> DepT m ()
- Csound.Dynamic.Types.CsdFile: Csd :: Flags -> Orc -> Sco -> Csd
+ Csound.Dynamic.Types.CsdFile: Csd :: Flags -> Orc -> Sco -> [Plugin] -> Csd
- Csound.Dynamic.Types.Exp: IfBegin :: (CondInfo a) -> MainExp a
+ Csound.Dynamic.Types.Exp: IfBegin :: Rate -> (CondInfo a) -> MainExp a
Files
- csound-expression-dynamic.cabal +1/−1
- src/Csound/Dynamic/Build/Logic.hs +9/−9
- src/Csound/Dynamic/Render.hs +1/−0
- src/Csound/Dynamic/Render/Instr.hs +2/−2
- src/Csound/Dynamic/Render/Pretty.hs +9/−4
- src/Csound/Dynamic/Types/CsdFile.hs +10/−4
- src/Csound/Dynamic/Types/Exp.hs +1/−1
- src/Csound/Dynamic/Types/Flags.hs +3/−2
csound-expression-dynamic.cabal view
@@ -1,5 +1,5 @@ Name: csound-expression-dynamic-Version: 0.1.6+Version: 0.2.0 Cabal-Version: >= 1.6 License: BSD3 License-file: LICENSE
src/Csound/Dynamic/Build/Logic.hs view
@@ -18,26 +18,26 @@ ------------------------------------------------------ -- imperative if-then-else -when1 :: Monad m => E -> DepT m () -> DepT m ()-when1 p body = do- ifBegin p+when1 :: Monad m => Rate -> E -> DepT m () -> DepT m ()+when1 rate p body = do+ ifBegin rate p body ifEnd -whens :: Monad m => [(E, DepT m ())] -> DepT m () -> DepT m ()-whens bodies el = case bodies of+whens :: Monad m => Rate -> [(E, DepT m ())] -> DepT m () -> DepT m ()+whens rate bodies el = case bodies of [] -> el a:as -> do- ifBegin (fst a)+ ifBegin rate (fst a) snd a elseIfs as elseBegin el foldl1 (>>) $ replicate (1 + length as) ifEnd- where elseIfs = mapM_ (\(p, body) -> elseBegin >> ifBegin p >> body)+ where elseIfs = mapM_ (\(p, body) -> elseBegin >> ifBegin rate p >> body) -ifBegin :: Monad m => E -> DepT m ()-ifBegin = withCond IfBegin+ifBegin :: Monad m => Rate -> E -> DepT m ()+ifBegin rate = withCond $ IfBegin rate elseBegin :: Monad m => DepT m () elseBegin = stmtOnlyT ElseBegin
src/Csound/Dynamic/Render.hs view
@@ -13,6 +13,7 @@ (renderFlags $ csdFlags a) (renderOrc $ csdOrc a) (renderSco $ csdSco a)+ (csdPlugins a) renderFlags :: Flags -> Doc renderFlags = P.pretty
src/Csound/Dynamic/Render/Instr.hs view
@@ -43,7 +43,7 @@ getFrameInfo :: RatedExp a -> FrameInfo getFrameInfo x = case ratedExpExp x of -- Imperative If-then-else- IfBegin _ -> StartFrame+ IfBegin _ _ -> StartFrame -- ElseIfBegin _ -> NextFrame ElseBegin -> NextFrame IfEnd -> StopFrame@@ -167,7 +167,7 @@ WriteVar v a -> WriteVar v $ rec1 (varRate v) a InitVar v a -> InitVar v $ rec1 Ir a -- rec1 (varRate v) a ExpPrim p -> ExpPrim p- IfBegin _ -> rec2 condRate expr+ IfBegin rootRate _ -> rec2 rootRate expr UntilBegin _ -> rec2 condRate expr -- ElseIfBegin _ -> rec2 condRate expr ElseBegin -> ElseBegin
src/Csound/Dynamic/Render/Pretty.hs view
@@ -27,13 +27,18 @@ func :: String -> Doc -> Doc func op a = text op <> parens a -ppCsdFile :: Doc -> Doc -> Doc -> Doc-ppCsdFile flags orc sco = +ppCsdFile :: Doc -> Doc -> Doc -> [Plugin] -> Doc+ppCsdFile flags orc sco plugins = tag "CsoundSynthesizer" $ vcatSep [ tag "CsOptions" flags, tag "CsInstruments" orc,- tag "CsScore" sco] + tag "CsScore" sco,+ ppPlugins plugins+ ] +ppPlugins :: [Plugin] -> Doc+ppPlugins plugins = vcatSep $ fmap (\(Plugin name body) -> tag name (text body)) plugins+ tag :: String -> Doc -> Doc tag name content = vcatSep [ char '<' <> text name <> char '>', @@ -125,7 +130,7 @@ InitVar v a -> tab $ ppOpc (ppVar v) "init" [a] ReadVar v -> tab $ res $= ppVar v - IfBegin a -> succTab $ text "if " <> ppCond a <> text " then"+ IfBegin _ a -> succTab $ text "if " <> ppCond a <> text " then" -- ElseIfBegin a -> left >> (succTab $ text "elseif " <> ppCond a <> text " then") ElseBegin -> left >> (succTab $ text "else") IfEnd -> left >> (tab $ text "endif")
src/Csound/Dynamic/Types/CsdFile.hs view
@@ -1,6 +1,6 @@ -- | The Csound file module Csound.Dynamic.Types.CsdFile( - Csd(..), Flags, Orc(..), Sco(..), Instr(..), InstrBody,+ Csd(..), Flags, Orc(..), Sco(..), Plugin(..), Instr(..), InstrBody, CsdEvent, csdEventStart, csdEventDur, csdEventContent, csdEventTotalDur, intInstr, alwaysOn ) where@@ -10,9 +10,10 @@ import Csound.Dynamic.Types.Flags data Csd = Csd- { csdFlags :: Flags- , csdOrc :: Orc- , csdSco :: Sco+ { csdFlags :: Flags+ , csdOrc :: Orc+ , csdSco :: Sco+ , csdPlugins :: [Plugin] } data Orc = Orc@@ -31,6 +32,11 @@ { scoTotalDur :: Maybe Double , scoGens :: [(Int, Gen)] , scoNotes :: [(InstrId, [CsdEvent])] }++data Plugin = Plugin+ { pluginName :: String+ , pluginContent :: String+ } ---------------------------------------------------------------- -- instruments
src/Csound/Dynamic/Types/Exp.hs view
@@ -154,7 +154,7 @@ | ReadVar Var | WriteVar Var a -- | Imperative If-then-else- | IfBegin (CondInfo a)+ | IfBegin Rate (CondInfo a) -- | ElseIfBegin (CondInfo a) -- It's expressed with nested if-else | ElseBegin | IfEnd
src/Csound/Dynamic/Types/Flags.hs view
@@ -194,7 +194,7 @@ , midiVelocityAmp = midiVelocityAmp a <|> midiVelocityAmp b , midiOutDevice = midiOutDevice a <|> midiOutDevice b } -data Rtmidi = PortMidi | AlsaMidi | CoreMidi | MmeMidi | WinmmeMidi | VirtualMidi | NoRtmidi+data Rtmidi = PortMidi | AlsaMidi | AlsaSeq | CoreMidi | MmeMidi | WinmmeMidi | VirtualMidi | NoRtmidi -- Display @@ -374,7 +374,7 @@ Jack name ins outs -> rt "jack" <+> jackFields name ins outs Mme -> rt "mme" Alsa -> rt "alsa"- CoreAudio -> rt "CoreAudio"+ CoreAudio -> rt "auhal" NoRtaudio -> rt "0" where rt = text . p3 "rtaudio"@@ -413,6 +413,7 @@ VirtualMidi -> "virtual" PortMidi -> "PortMidi" AlsaMidi -> "alsa"+ AlsaSeq -> "alsaseq" CoreMidi -> "coremidi" MmeMidi -> "mme" WinmmeMidi -> "winmme"