Karya, built on 2018-05-31T02:46:59 (patch 0a1a35479c514820d77330ae8a978975ba22a47a)

Safe HaskellNone

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
Show Config # 
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.