Midi Multi Tool is intended to be a library that will provide various functions related to MIDI data. Instead of working on similar functions in several projects, parts of this work are brought together here.
The library is currently written for .Net Framework and the preferred application type is a WPF app
(.Net Framework)
Additional information on usage and internal details can be found in Wiki.
Basic support for reading and writing SMF in format 0 and 1
Shows events in a DataGrid. The events can be filtered by track, channel and event type.
Time can be displayed as Ticks or as Measure:Beat:Tick. Status can be displayed as Hex or Decimal.
The selected events can be copied to the Clipboard using right-click. From there, the tab-delimited text can be pasted into a text application or a spreadsheet.
Similar to EventLister. Allows changing single events in the list. Contains some code parts for converting, displaying and changing MidiEvents and MetaEvents.
Contains a TrackPlayer and a SequencePlayer.
The TrackPlayer allows the simultaneous playback of multiple tracks, for example the playback of a MIDI file in format 0 or 1.
The Sequence Player is designed to play single event lists (patterns) and fragments from tracks or event lists.
The well-known piano roll view. Currently only a view, no editing options yet.
Contains work related to displaying notes in a scalable and scrollable panel. These panels are then stacked vertically to display multiple tracks at once.
The library can also be used by a WinForms application, although there may be restrictions when using the controls.
For example, in a WPF application, EventLister's DataGridRowBackground property appears in the VisualStudio Properties window and can be edited there,
while in a WinForms application the EventLister control is hidden behind the ElementHost and the properties are only accessible via code.
EventLister1.DataGridRowBackground = Brushes.AliceBlue
