Skip to content

This is a simple midi file player, written to learn more about the file structure and the playback requirements.

License

Notifications You must be signed in to change notification settings

operatortwo/Midi_File

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Midi_File

This is a simple midi file player, written to learn more about the file structure and the playback requirements.

Privacy note: For convenience LastMidiFile and LastMidiOutput are stored in the App Data folder through MySettings.


The Main view

Small_Midi_File_Main

Realtime visualisation on keyboard

Midi_File_Keyboard


Eventlist by track

Midi_File_EventList

This is only a view, no editing is available


Tracks can be muted

Midi_File_Mute In this example, only bass and drums are played


Programming details

The Midi-File library contains all the parts for the file -reader and -player. The Test Midi_File application contains a reference to Midi_File and defines the User Interface.

The ReadMidiFile function of Midi_File does:

  • loading the file
  • do some checks
  • convert the file to the internal structure
  • convert Delta-Times to absolute time (in player ticks)

After StartPlayer() the player runs through the lists oft TrackEvents and raises OutShortMsg events. It's then up to the main application to send the Midi-messages to the Midi output port.

About

This is a simple midi file player, written to learn more about the file structure and the playback requirements.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published