module Csound.Typed.Plugins.AmbiRow( ambiRow, ambiRowMp3 ) where import Csound.Dynamic import Csound.Typed.Types import Csound.Typed.GlobalState import qualified Csound.Typed.GlobalState.Elements as E(ambiRowPlugin, ambiRowMp3Plugin) ambiRow :: Arr1 Str -> Sig -> Sig -> D -> Sig2 ambiRow (Arr sFiles) kSpeed kIndex iFadeTime = toTuple $ fmap ($ 2) $ do addUdoPlugin E.ambiRowPlugin f sFiles <$> toGE kSpeed <*> toGE kIndex <*> toGE iFadeTime where f sFiles' kSpeed' kIndex' iFadeTime' = mopcs "AmbiRow" ([Ar, Ar], [Sr, Kr, Kr, Ir]) [inlineVar $ head sFiles', kSpeed', kIndex', iFadeTime'] ambiRowMp3 :: Arr1 Str -> Sig -> Sig -> D -> Sig2 ambiRowMp3 (Arr sFiles) kSpeed kIndex iFadeTime = toTuple $ fmap ($ 2) $ do addUdoPlugin E.ambiRowMp3Plugin f sFiles <$> toGE kSpeed <*> toGE kIndex <*> toGE iFadeTime where f sFiles' kSpeed' kIndex' iFadeTime' = mopcs "AmbiRowMp3" ([Ar, Ar], [Sr, Kr, Kr, Ir]) [inlineVar $ head sFiles', kSpeed', kIndex', iFadeTime']