midi-0.2.1: Handling of MIDI messages and files

Safe HaskellNone

Sound.MIDI.File.Save

Description

Save MIDI data to files.

The functions in this module allow Ts to be written into Standard MIDI files (*.mid) that can be read and played by music programs such as Cakewalk.

Synopsis

Documentation

toSeekableFileSource

Arguments

:: FilePath

file name

-> T 
-> IO () 

Directly write to a file. Since chunks lengths are not known before writing, we need to seek in a file. Thus you cannot write to pipes with this function.

toFileSource

Arguments

:: FilePath

file name

-> T 
-> IO () 

The function toFile is the main function for writing T values to an actual file.

toByteList :: T -> ByteListSource

Convert a MIDI file to a ByteList.

toByteString :: T -> ByteStringSource

Convert a MIDI file to a lazy ByteString.

toCompressedByteString :: T -> ByteStringSource

Convert a MIDI file to a lazy ByteString. It converts NoteOff p 64 to NoteOn p 0 and then uses the running MIDI status in order to compress the file.