alga-0.2.2: Algorithmic automation for various DAWs

Safe HaskellNone
LanguageHaskell2010

Alga.Translation.Base

Synopsis

Documentation

type AlgaBackend = AutoMap -> IOSArrow XmlTree XmlTree Source #

ALGA backend is a function that takes AutoMap and returns arrow that patches XML configuration accordingly for given DAW.

type AutoMap = Map String AutoBatch Source #

Collection of automation parameters per track. Tracks are identified by names.

type AutoBatch = Map AutoType AutoTrack Source #

Collection of various aspects of automation track.

data AutoType Source #

Aspect of automation, it includes simple volume or stereo panorama controls as well as any arbitrary parameters supported by given instrument or effect.

Constructors

Volume

Volume control

Mute

“Mute” control

IGain

Input gain control

Pan

Stereo panorama control

InsertSlot Natural Natural

Index of insert slot/index of parameter

SendSlot Natural Natural

Index of send slot/index of parameter

SynthParam Natural

Synth parameter index

data AutoTrack Source #

Automation track is combination of control values and delta times between them.

Constructors

AutoTrack 

Fields

nullTrack :: AutoTrack -> Bool Source #

Check if given track is empty.

totalDur :: AutoTrack -> Double Source #

Calculate total duration of automation track.

topDefs :: HasEnv m => m [String] Source #

Generate collection of “top-level” definitions (i.e. definitions that are directly represent aspects of automation track, not auxiliary parts in other definitions).

patchAuto Source #

Arguments

:: (MonadIO m, HasEnv m) 
=> Natural

Seed for random number generator

-> Double

Duration as number of whole notes

-> Path Abs File

Path to file to patch

-> AlgaBackend

Backed (arrow that will patch XML)

-> m Int

Exit code

Patch XML document containing automation settings for given DAW.