Karya, built on 2023-08-29T07:47:28 (patch 7a412d5d6ba4968ca4155ef276a062ccdeb9109a)
Safe HaskellSafe-Inferred

Derive.Control

Contents

Description

Derivers for control tracks. That means tempo, control, and pitch.

Control and pitch tracks can have a Merger. If no merger is given, they are combined with get_default_merger. set will replace the signal. So two tracks named c will multiply, same as if the second were mul c. If you want to override c then set c will do that.

Tempo tracks don't support mergers because they are converted into a warp, which is then combined via composition. Pitch tracks normally replace each other because adding together absolute pitches is undefined. Relative pitches can be added or multiplied, and this is expressed via normal controls using transposition signals like Controls.chromatic.

Synopsis

Documentation

data Config Source #

Constructors

Config 

Fields

Instances

Instances details
Show Config Source # 
Instance details

Defined in Derive.Control

d_control_track :: Config -> TrackTree.Track -> NoteDeriver -> NoteDeriver Source #

Top level deriver for control tracks.

track_info :: Monoid d => TrackTree.Track -> ParseTitle.Type -> EvalTrack.TrackInfo d Source #

Make a TrackInfo for control tracks.

TrackSignal

render_of :: TrackTree.Track -> Deriver (Maybe (BlockId, TrackId, Maybe Track.RenderSource)) Source #

Get render information if this track wants a TrackSignal.