Karya, built on Mon Jul 24 11:39:07 PDT 2017 (patch 33511aca01257b76b88de7c7a2763b7a965c084e)

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 Control Track) 

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.