MIDI Editor

To open the editor window, select one or more MIDI files in the browser and click the "Edit" button on the toolbar (or double click the item). You can also edit any file without loading it in the browser by choosing "File/Open".

The "Show Lyrics" button switches to the lyrics page. Lyrics are displayed using the encoding specified in the "Encoding" popup menu and may be printed/copied. To return to the events page, click the "Event List" button.

The event list editor contain 9 columns: Measure, Track, Channel, Status, Second, Third, Data, Frame and MIDI Ticks.

The "Second" and "Third" columns display different data depending on the event type:

The "data" column contain SysEx raw data and is editable. Roland SysEx data checksum is automatically computed.

You can filter the displayed data by selecting/unselecting corresponding event types in the toolbar. These buttons are arranged in three rows: The first row for MIDI events, the second for channels and the third for meta events. You may use the "All/None" button to select/unselect all buttons in the same row. You may also option-click or command-click to either select only one or select all but one in a row.

The text search field allows to filter events which contain the search string in their data. Displayed tracks are also filterable with the "tracks" popup button.

You may copy, paste, modify, insert, duplicate and delete events with unlimited undo/redo support.

Pasting events:

The copied data is pasted at the selected row time/track. Pasted data maintain the original timing between events.

If no rows are selected:

Holding down the option key while pasting will bring the "Paste Options Dialog", allowing more control on pasting destination/behavior.

Take note that some meta events time (like time signatures) are alway forced to the beginning of a measure. So trying to paste a time signature to, say, 001:03:478 will not work.

Data is also copied as tabular text and can be pasted in applications supporting this format (text editors, spreadsheets).

Editing multiple events:

You can set the status/second to multiple events at the same time. The new "Status" is applied to the entire selection. The new "Second" is only applied to events with the same status.

Editing channel/track and value (third) on multiple selection can be done by choosing"Selection/Edit" (or by option-double clicking). The dialog will present the values of the first selected event. Only checked fields will be modified. The "third" value is applied on events of the same type of the first selected event.

Shifting events:

You can also move backward/forward a selection of events by choosing "Selection/Shift…".You'll be asked to choose between four options:

  1. Selected Events (default). The operation will be applied only on selected events.
  2. All Events. Every event starting from the first selected one will be shifted.
  3. Channel "X". Only events on the specified channel will be shifted. The channel number is the channel of the first selected event. Channel 0 is used for sysex/meta events.
  4. Track "X". Only events in the specified track will be shifted (the track number is the track of the first selected event).

Adding/Deleting events:

To delete events, just press the "Backward Delete" key on your keyboard or click the "Minus" button in the bottom left of the event list. To duplicate an event, select it and click the "Plus" button. If no event is selected when you click this button, a default C3 Note is inserted at the beginning of the song.

Adding tracks:

To add a new track, just set the track number of any event to a value greater than the current number of tracks. The "Add New Track" dialog will show up. Unused tracks (containing no events) will automatically be removed from the saved file.

Playback:

The player allows a preview of the MIDI file via Core MIDI or Apple DLS Synth. Playback starts from the currently selected event or, if no events are selected, from the current playhead position.

The "Speaker" button toggles the playback of note events while they are clicked.