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

Safe HaskellNone

Cmd.Load.Midi

Contents

Description

Convert a midi file to a block.

Synopsis

Documentation

convert :: MidiFile -> ([(Text, Track)], Skeleton.Skeleton, [Warn]) Source #

testing

data NoteTrack Source #

(note, pitch, controls)

Constructors

NoteTrack Track Track (Map Score.Control Track) 
Instances
Show NoteTrack # 
Instance details

Defined in Cmd.Load.Midi

Semigroup NoteTrack # 
Instance details

Defined in Cmd.Load.Midi

Monoid NoteTrack # 
Instance details

Defined in Cmd.Load.Midi

convert_tracks :: [(Text, [Midi])] -> ([(Text, Track)], Skeleton.Skeleton, [Warn]) Source #

Take flat MIDI msgs to a list of tracks where events don't overlap, and add pitch and control tracks.

split_track Source #

Arguments

:: [Midi] 
-> ([NoteTrack], [(RealTime.RealTime, Midi.Key)])

(tracks, notes stuck on)

For each note, assign to the lowest track which doesn't have an overlap.