The MidiPlayer application was developed to be a small tool for playing Midi files with DirectX DirectMusic API.

The app allows you to load and play general midi sequence files(.mid). It is designed to perform midi playback in one segment and offers additional features like using any midi port installed in your system, 3D sound environment, sound effects, etc.

The UI is a very compact and has the minimum base settings and controls. It lets you manage buffers and ports, play segments, control music parameters and obtain timing information.

Once a resource has been loaded in a segment, the performance dispatches the messages defined by a tool of an application; such tools are grouped in tool graphs which process specific segment messages. A tool can modify a message and pass it on, delete it, or send a new message.

Finally, the messages are delivered to the output tool, which converts the data to MIDI format before passing it to the synthesizer. Channel-specific MIDI messages are directed to the appropriate channel group on the synthesizer. The synthesizer creates sound waves and streams them to a device called a sink, which manages the distribution of data through buses to DirectSound buffers.

System requirementsDirectX 8.0 or higher