Safe Haskell | Safe-Inferred |
---|
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
- data Config = Config {}
- d_control_track :: Config -> TrackTree.Track -> NoteDeriver -> NoteDeriver
- track_info :: Monoid d => TrackTree.Track -> ParseTitle.Type -> EvalTrack.TrackInfo d
- stash_signal :: BlockId -> TrackId -> Signal.Control -> Deriver ()
- render_of :: TrackTree.Track -> Deriver (Maybe (BlockId, TrackId, Maybe Track.RenderSource))
Documentation
Config | |
|
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
stash_signal :: BlockId -> TrackId -> Signal.Control -> Deriver () Source #
render_of :: TrackTree.Track -> Deriver (Maybe (BlockId, TrackId, Maybe Track.RenderSource)) Source #
Get render information if this track wants a TrackSignal.